转自
http://blog.chinaunix.net/uid-423637-id-357859.html
matlab代码:
%img是三维图像,将其转换为一个序列的二维dcm格式的图像
%读取analyze75的函数是 analyze75info和analyze75read 其中fpath是analyze75文件的路径,即hdr文件的路径。
clear all;clc
Info = analyze75info(fpath);
Img = analyze75read(Info);
Info = analyze75info(fpath);
Img = analyze75read(Info);
%得到三维图像的大小
[m_height,m_width,m_Thick]=size(Img);
ff=[];
%写入dicom 文件,其中ff为指定的文件夹
%写入dicom 文件,其中ff为指定的文件夹
for i=1 : m_Thick
ff1=[ff,int2str(i)];
ff1=[ff1,'.dcm'];
pp=Img1(1:m_height,1:m_width,i);
%imshow(pp);
dicomwrite(pp,ff1);
end
ff1=[ff,int2str(i)];
ff1=[ff1,'.dcm'];
pp=Img1(1:m_height,1:m_width,i);
%imshow(pp);
dicomwrite(pp,ff1);
end
%以上是横断面的图像,如果需要冠状面和矢状面的图像,可以用shiftdim将Img三维矩阵转化一下来完成,如下:
Img2=shiftdim(Img,1); %冠状面
Img3=shiftdim(Img,2); %矢状面
本文介绍如何使用MATLAB将Analyze75格式的三维医学图像转换为DICOM格式,并提供了实现这一转换的具体代码示例。文中还介绍了如何通过调整图像维度来获取冠状面和矢状面的图像。
2199

被折叠的 条评论
为什么被折叠?



