MatLab读写dicom 像素操作


  使用Matlab读写Dicom比较简单。

一、读DICOM图像

  主要涉及到两个函数:dicominfo和dicomread

       (1)metadata = dicominfo(filename)

    主要用于读取dicom的头文件

         获取某个tag直接使用metadata.方法即可,例如metadata.SeriesInstanceUID。

         需要修改tag也简单,例如:metadata.SeriesInstanceUID = '1.3.12.2.1107.5.1.4.73336.3000002109301112409880041433001';

      (2)img= dicomread(filename)

    用于读取dicom像素信息,img直接为二维矩阵,使用imshow可以直接显示图像

二、写DICOM图像

      主要涉及到的函数为:dicomwrite

      dicomwrite(img,newfilename,metadata);

      如果需要修改dicom图像的像素信息,只需要修改img中的值即可,img(i,j) = 0;  

    filename=fullfile('E:\\***\\IMG-0001-00484.dcm');
    info = dicominfo(filename);
    img = dicomread(filename);
    info.SeriesInstanceUID = '1.3.12.2.1107.5.1.4.73336.3000002109301112409880041433001';
    for i = 1:512
        for j = 1:512
            if(i>240 && i < 320)
                z = 1;
            else
                img(i,j) = 0;                 
            end
        end
    end    
    newfilename = 'E:\\***\\IMG-0001-00161.dcm'
    dicomwrite(img,newfilename,info);