
事费产点用
医学图像的提取关键技术浅议
学术论坛
邱客钼,付晓玲2
(1.南昌大学信息工程学院计算中心江西南昌
330000;2.南昌大学第二附属医院骨科江西南昌330000)
摘要:在如今的医院,PACS的使用和推广也成了趋势,医学影像在PACS上的存储和传输需要遵守DICOM协议,为了科研、教学和学术交流等的需要,我们需要将标准敏宇医学影像设备获取的DICOM数据转换成通用图像、媒体文件.本文提出了一个利用VC++中的VTK实现从 DICOM图像中提取BMP图像的方法。
关键词:三维重建VTKITK
中图分类号:TP391
文献标识码:A
文章编号:1007-9416(2011)10-0163-01
要讨论如何将DICOM图像接序列提取BMP图像,就首先得弄清楚这两种图像之间的异同点。
(1这两种文件都是属于图像型文件,既然是图像型信息,一些图像格式文件中必备的信息两者就一定都会有,比如大小、长宽高,像索、字节数等,在转换的过程中,这部分信息可以直接提取,尽量避免图像信息的丢失,不会造成图像失真。
(2)因为文件格式不一样,造成了两者的文件头也不一样,前者是DICM的文件头,除了表示文件类型之外,在文件头中还包含了病人姓名、年龄、医院名,成像时间、检查部位等信息,这些信息在本文所提出的方法中应能提取出来,毕竞这是医学图像中的重要信息,BMP图像类型的文件头是BM。
(3)BMP格式图像存储方式为自底向上,但DICOM格式是自顶向下,按照顺序存储的,也就是说两种图像是以对角线对称的。
上面分析了DICOM图像和BMP图像的异同之处,下面将浅议如果在VC++6.0的环境下,利用VTK实现DICOM图像向BMP图像的转换。
读取井显示DICOM图像
在VC++6.0开发环境下,基于VTK和ITK显示读取DICOM图像,可以通过以下步骤实现:
1.1建立工程
VTK是利用管道的编程风格,所以我们可以根据VTK中的管道模型分别定义vtkDICOMImageReader,vtkImageMapper vtkActor2D.vtkRenderer,vtkRenderWindow和 vtkRenderWindowInteractor的各个对象,将他们分别作为source, mapper,filter,renderer,renderer window和renderer window interactor,即将pipeline中的基本节点都建立好门]
1.2途径设置
将需要处理的DICOM文件的路径名或者在上一模块中得到的 BMP文件的路径名作为参数传给vtkDICOMImageReader对象,设置好需要读人的文件,把vtkDICOMImageReader的输出设置为 vtkImageMapper的输入,把vtkImageMapper设置为vtkActor2D的映射器。
1.3设置输入和输出,即输出BMP图像
在输出时要注意调整绘制窗口大小并设置背录色,并为ren-derer添加actor,为rendererwindow添加renderer和renderer windowinteractor,通过以上的流程即可读取并显示DICOM图像。 2、提取相关医疗信息
如果单独使用VTK来读取DICOM文件,会有局限性,因为在 VTK中提供一个vtkDICOMImageReader类,通过这个类可以直接提取信息,可惜的是能够列出的信息非常有限,只有十多项信息可以提取,而有一些很重要的数据信息,如;该数据元索的标签、值的
长度等其它信息则不能提取,只能显示值域的内容,这样就带来了一定的局限性,所以在这里我需要用到另外一个VC++6.0下的工其,就是ITK。
我使用ITK与VTK结合使用的方法来提取DICOM文件的医疗信息,VTK用于显示图形结果。在ITK中,已经提供了对图像文件读写的库一一GDCM库,直接使用它可以免去很多接口设置,非常方便。使用GDCMImagelO类来建立与GDCM库的连接,ITKImage Reader可以实现读取图像信息的功能,然后将读取到的数据输人进 ITKImageProcessing进行图像处理,处理之后,再进人ITKto VTKImageilter回到VTK中,显示图像,进行后续操作。
图1说明了VTK与ITK实现集成的基本流程。
ITK
Image Processing
ITK
Image Readerf
ITKtoVTK ImageFilter
VTK ImageFlip
图1ITK与VTK结合的流程
VTK Pipeline
在ITK中,提取DICOM图像文件的附加信息的方法是使用个遍历器来对DICOM图像的文件头进行遍历,扫描各个字节,根据上文中的分析,提取出每个字节的数据和意义,可以依次获得各数据元索的信息。具体方法如下13,
(1)读人DICOM图像后,用GetMetaDataDictionaryO方法从 ImgaelO对象中获得文件元数据路径(MetaDataDictionary)的指针,这样可以在下一步时使遍历器能够直接指向文件元数据。
(2初始化递历器,循环速历文件元元素,因为在DICOM文件中,特定的信息项都会表示特定的意思4,所以我们可以直接使用 GetLabelFromTag()和GetMetaDataObjectValue()方法获得值的描述和其实际值。
(3)输出,显示各个文件元元素的标签、值的描述和实际值。根据以上的步骤,可以将DICOM图像中的图像序列依次转换
为BMP格式输出,由于BMP格式具有兼容性高,通用性好等--系列
的特点,将更加适用于科研、教学中的传播。参考文献
[1]王青,王融清.绝虎军等.散乱数据点的增量快速雷面重建算法[JJ.软件学报.2000,11(9):1221-1227,
[2]吴松峻,彭复员.基于VTK的二维轮那线的三维可视化重建[J],计算机与现代化,2004,11(10):111113
[3]何斌.金杰,李玉兰,按照DICOM标准制定核医学图像文件格式[A].全国第八届核医学电子学学术会议论文集[C].海口:核医学电子学专业委员会,2000.4-8.
63