VTK读DICOM头文件中医学信息

来源:互联网 发布:金山软件占市场 编辑:程序博客网 时间:2024/06/08 10:32

DICOM是医学图像和相关信息的国际标准(ISO 12052), 它定义了质量能满足临床需要的可用于数据交换的医学图像格式。DICOM被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。

VTK提供了2中读取DICOM数据的方式:vtkDICOMImageReader和vtkVolume16Reader。这两者的区别为:如果使用vtkVolume16Reader读数据,则投文件中信息会丢失。vtkDICOMImageReader的缺点为如果diocm的压缩方式等有变化,则不能读出,但通过SLICER, ITK-SNAP等软件可以顺利打开。其具体机制还需要进一步学习。

(1)vtkDICOMImageReader读DICOM
可以读单张图片或者读序列图片

vtkDICOMImageReader*reader = vtkDICOMImageReader::New();reader->SetFileName("E:/memo/Datas/dicom/brain/tutorial/dcm/dcm/dcm_01.dcm");//读单张切片reader->SetDirectoryName("E:/memo/Datas/dicom/brain/tutorial/dcm/dcm");//读序列切片reader->Update();

(2)vtkVolume16Reader读DICOM

 vtkVolume16Reader *reader = vtkVolume16Reader::New();//dcm中头文件信息会丢失 reader->SetDataDimensions(256, 256); //设置长和宽 reader->SetImageRange(1, 3);//设置切片张数 reader->SetFilePrefix("E:/memo/Datas/dicom/brain/tutorial/dicom/dcm/dcm_");//设置读取数据的前缀 reader->SetFilePattern("%s%02d.dcm");//文件命名方式 reader->Update();  

vtkVolume16Reader读DICOM数据,对数据命名必须有序,否则读数据失败。

这里写图片描述

0 0