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,[]); %显示并保存投影图像