放射科的CT大多数是5 mm,有时需要插值成1 mm,这里是医工所的曹老师写的代码,在此做个记录,学习一下。
clear;clc;
%程序功能:读取dicom文件,并将其插值为1mm
folderPath = 'Y180521\';
outFolderPath = 'out\';
folderInfo = dir(folderPath);
fileNum = size(folderInfo,1)-2;
outFileNum = 0;
fileIndex = [];
instanceNumber = [];
for i = 1:fileNum
%读取相邻两张图片
fileName = folderInfo(i+2).name;
filePath = strcat(folderPath, fileName);
% ImgB = dicomread(filePath); % 这里似乎不需要,只需要头文件信息
ImgInfoB = dicominfo(filePath);%存储信息
% disp(ImgInfoB.InstanceNumber);
instanceNumber(end+1,1) = ImgInfoB.InstanceNumber; % end+1后的,1可省略
end
startInstanceNumber = min(instanceNumber); % 细心,注意设置起始number
for i = 0:(fileNum-2)
%读取相邻两张图片
fileIndexB = find(instanceNumber == (startInstanceNumber + i));
fileNameB = folderInfo(fileIndexB+2).name;
filePathB = strcat(folderPath, fileNameB);
ImgB = dicomread(filePathB);
ImgInfoB = dicominfo(filePathB);%存储信息
fileIndexT = find(instanceNumber == (startInstanceNumbe

最低0.47元/天 解锁文章
1万+





