通常,我们对CT图像进行处理后,需要存储为dicom图像来与原始图像进行对比,这个时候就需要用到matlab进行dicom图像的写入了,方法很简单,如下:
data_path = 'X:\raw_dicom\'; % 原始dicom路径
data_sub = dir(data_path);
uid = dicomuid; % 生成随机id
for ii = 1:size(img_data,3) % img_data, 待写入的处理后的数据
Path = [data_path,data_sub(ii+2).name];
img_info = dicominfo(Path);
img_info.SeriesInstanceUID = uid; % 细节!!为了能够与原始图像进行对比,需将处理的数据id进行更换,否则使用小蚂蚁打开两个dicom会被识别为同一个,进而无法对比
img_info.InstanceNumber = ii;
img_info.AcquisitionNumber = ii;
save_path = ['X:\dicom\', num2str(ii),'.dcm'];
dicomwrite(int16(img_data(:,:,ii)), save_path, img_info);
end
是不是很方便~