下面代码是我在做肺气道树的分割,对dicom进行重排的代码
在博客中,还有区域生长法等等图像分割的方法
%----------------
%提取dicom信息,重排并且另存为矩阵
%----------------
clear,clc;
lsName=‘C:\Users\z7641\Desktop\009’;%列出文件中的所有文件d
d = ls(lsName);
d(1,:)=[];
d(1,:)=[];
d(242,:)=[];%去除非dicom文件
m = length(d);%获取文件数
[group, element] = dicomlookup(‘InstanceNumber’);%查看文件编号
sdata(m) = struct(‘imagename’,’’,‘instance’,0);%创建m行2列空的数据命名为imagename和instance
for i = 1:m
image_name = d(i,:);
metadata = dicominfo(strcat(lsName,image_name));%逐个读取文件信息
position = metadata.(dicomlookup(group, element));%读取文件instancenumber到position
sdata(i) = struct(‘imagename’,d(i,:),‘instance’,position);%逐个将文件名和position赋到sdata中的imagename列与instance列
end
[unused, order] = sort([sdata(😃.instance],‘ascend’);%将sdata中的instance列按升序排序
sorted = sdata(order).’;%将order