把img映象文件转化为dcm格式文件

上一篇说到用matlab和spm软件将医学图片dcm格式转为img格式,想到反过来该怎么做,见有人做过就刚好转一下学习。跟用软件不同的是这里是用matlab编程获得,就是把三维的img图像分离出多个二维的dcm图像,因为img图像本身就是由dcm图像叠在一起的。

转自
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);
%得到三维图像的大小
[m_height,m_width,m_Thick]=size(Img);
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
 
%以上是横断面的图像,如果需要冠状面和矢状面的图像,可以用shiftdim将Img三维矩阵转化一下来完成,如下:
Img2=shiftdim(Img,1);    %冠状面
Img3=shiftdim(Img,2);    %矢状面


猜你喜欢

转载自blog.csdn.net/forever0_0love/article/details/80438291