DICOM文件的matlab读取

DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,是医学图像和相关信息的国际标准(ISO 12052)。它定义了质量能满足临床需要的可用于数据交换的医学图像格式。
DICOM被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。在数以万计的在用医学成像设备中,DICOM是部署最为广泛的医疗信息标准之一。当前大约有百亿级符合DICOM标准的医学图像用于临床使用。
下面是matlab读取dicom文件程序,并且实现了对dicom图片的最大投影,最小投影,合成图实现:

clear all;
clc;
close all;
file_path='C:\Users\26594\Desktop\DICOM格式数据的自编程序显示和处理实验\DICOM6_mri_脑俯视\'; %图像文件夹路径
img_path_list=dir(strcat(file_path,'*.dcm'));%获取该文件夹中所有dcm格式的图像
img_num=length(img_path_list);%获取图像总数量
imagename=img_path_list(1).name;%图像名
imagemax=dicominfo(strcat(file_path,imagename));  %读取图像
imweigth=imagemax.Rows;     %DICOM水平像素数量
imhigh=imagemax.Columns;    %DICOM垂直像素数量
imagemax1=dicomread(strcat(file_path,imagename));  %读取图像
I=imagemax1;
%I=zeros(imweigth,imhigh);
for j=1:img_num;  %逐一读取图像
    imagename=img_path_list(j).name;%图像名
    imagemax=dicomread(strcat(file_path,imagename));  %读取图像
    j
    for m=1:imweigth
        for n=1:imhigh
            %I(m,n)=imfuse(imagemax(m,n),I(m,n)); %投影图像对应点取两幅图像合成值
            I(m,n)=max(imagemax(m,n),I(m,n)); %投影图像对应点取两幅图像最大值
            %I(m,n)=min(imagemax(m,n),I(m,n)); %投影图像对应点取两幅图像最小值
        end
    end
end

% for j=2:img_num;  %逐一读取图像
%     imagename=img_path_list(j).name;%图像名
%     imagemax=dicomread(strcat(file_path,imagename));  %读取图像
%     j
%             I=imfuse(imagemax,I); %投影图像对应点取两幅图像合成值
%             %I(m,n)=max(imagemax(m,n),I(m,n)); %投影图像对应点取两幅图像最大值
%             %I(m,n)=min(imagemax(m,n),I(m,n)); %投影图像对应点取两幅图像最小值
% 
% end
% I=rgb2gray(I);
% m=max(max(I));
imshow(I,[]); %显示并保存投影图像

你可能感兴趣的:(图像处理)