基于VTK MFC的DICOM文件读取可视化系统实现毕业论文
2021-03-18 21:28:40
摘 要
目的:以医疗影像DICOM文件数据为背景,以MFC软件开发平台和VTK强大的图像显示能力为框架,搭建DICOM文件读取可视化系统平台。
方法:本文研究了DICOM 3.0标准, 提出了正确解读DICOM 医学图像的方法; 深入VTK内部机制, 解决了VTK 和DICOMM 医学图像读取模块间的数据接口问题。基 于 DICOM 格 式 序 列 图像,使用可视化工具包 (visualization toolkit ) 和 MFC类库,以面向对像的方法在VS2010 环境中开发医学图像处理系统 。
结论:该软件实现了对 DICOM 格式序列图像的读取、文件基本信息显示、窗宽窗位的调节功能、为进一步开发医学三维图形系统打下了基础。
关键词:DICOM; VTK; MFC
Abstract
Objective: Based on the medical image, DICOM file data, the MFC software development platform and the powerful image display ability of VTK as the framework, build the DICOM file reading visualization system platform.
Methods: This paper studied the DICOM 3 standard, put forward the method of correctly interpreting DICOM medical images, deep into the internal mechanism of VTK, and solved the data interface problem between VTK and DICOM medical image reading module. DICOM format image sequence based on using the Visualization Toolkit (Visualization Toolkit) and MFC library by using the object-oriented method to develop a medical image processing system in VS2010 environment.
Conclusion: the software realizes the adjustment of DICOM format sequence images, the display of basic file information, the window width and window position, and lays the foundation for further development of 3D medical graphics system.
Key Words: DICOM;VTK; MFC
目录
摘要 II
Abstract III
第1章 绪论 1
1.1研究背景和意义 1
1.2研究内容与结构框架 2
2相关理论说明 4
2.1 MFC编程概述 4
2.1.1 基础理论 4
2.1.2应用程序框架分析 4
2.1.3 MFC 类库介绍 5
2.2 VTK库框架 5
2.2.1 VTK的基本简介 5
2.2.2 VTK的可视化管线 5
2.2.3 VTK的数据结构 7
2.2.4 VTK对DICOM文件的读取 7
2.2.5 VTK图像处理 8
2.3. DICOM 文件概念 9
2.3.1 DICOM 文件构成 9
3系统需求分析和设计 10
3.1系统需求概述 10
3.1.1系统设计目标 10
3.1.2系统环境集成 10
3.2系统总体设计 11
3.2.1文件读取模块设计 11
3.2.2四视图显示模块设计 12
3.2.3 文件信息浏览模块设计 12
3.3 系统建模过程 12
3.3.1 通过VS2010与CMake生成空的MFC对话框应用程序框架 12
3.3.2 设计用户界面,添加树控件 13
3.3.3 实现VTK图像可视化控件 13
3.3.4 完善CvtkDialogDlg类 18
3.3.5 文件的管理设计 20
3.3.6 文件信息浏览设计 21
3.4 本章小结 21
4系统运行和验证 22
4.1 系统显示界面 22
4.2系统运行结果测试 23
4.2.1 文件信息读取模块 23
4.2.2 四视图显示模块 25
4.2.3 信息显示模块 26
4.3 本章总结 27
5 总结与展望 28
参考文献 29
附录A 系统部分代码 31
附A1:树控件消息实现代码 31
附A2:可视化管线实现代码 32
附A3: 文件读取代码 33
致谢 34
第1章 绪论
1.1研究背景和意义
在如今这个社会,可视化技术在计算机所涉及到的各个领域得到了广泛的使用,比如航空航天,气象预报,医学图像处理以及石油勘探等方面。可视化技术的目的在于它能够化繁为简,将抽象的信息转变成人们容易明白的表达方式。它把海量的复杂的数据以及结果以图形图像的方式展现给人们,其目的就在于挖掘出隐藏于抽象数据中的特征、模式、异常结构以及相互关系,将之直观的呈现给观众,以方便用户更好的理解和使用。
科学技术在不断的发展,人们的生活水准也在不断的提高,因而人们对于医学技术的标准也相应提高,不在满足于以前医生们的“望闻问切”,不单单满足与医生的经验,而渴求于一种更为直观的理论表现方式。因此医学影像技术就显得至关重要。医学影像技术的历史最早能够追溯到1985年。1985年,X射线最早被伦琴发现。当人身体被X射线射中之时,因为人各种各样的组织以及器官在厚度、密度等方面存在着较大的差异,因而X射线在透射人体过后,其强度就会发生了改变,更为重要的一点是它还连带了人体的一些相关信息,再通过其它的方式来完成采集、转换与显示的工作,这样就把X射线的强度的分布转化为强度不一的可视光,这样便形成了肉眼可见的X射线影像。X射线的发现,带动了一些医疗设备的出现。
再之后,X射影不断有新的突破又出现了干版摄影、数字成像阶段,再到后来1997年诞生的直接数字化射线成像技术(Digital Radiograph,DR),和X-CT等技术[1]。
虽然以上的技术给人们展示了可视化的多种多样的方式,极大改变了医生对于病理的检查以及确诊的方式,不足的一点在于这些成像技术显示给医生的仅仅是二维的切片图形,无法真实,准确地展示三维图形。因而医生对于人体器官以及组织的理解只能依赖于常年的临床经验以及烂熟于心的人体解剖知识,并根据 这些进行病变位置的判读以及病灶的形状,大小的估计。但是这些对医生的临床经验要求非常之高,在加上人体器官的构造之复杂以及形态的多样性,因而仅依靠医生的主观判断是不够的,轻则误诊,重则产生医疗事故。从而给治疗增加了不少的难度。
为了精准的判读病情,在1980s年代末期诞生了医疗图像的立体可视化技术[2]。此项技术 目的在于在电脑上进行二维断层图像(获取于超声MR、CT医疗设备)的三维重建。图形在经过重新构建之后拥有逼真的三维效果,可以更好的展示人体的各种各样的组织,器官的形态以及内部的构造,力求给医生一种更为清晰的感觉,医生再凭借自己丰富的实战经验,为病患的治疗方案以及手术的实施打下更为坚实的基础。把此项技术与当前热门的虚拟现实进行结合,医生便能够很好的开展手术,或者进行模拟,以此加大手术过程的成功率[3]。由上可知,对于图像的处理以及可视化的研究还是十分有必要的,有着十分广阔的应用前景。但是在图片存档及通信系统(picture archiving and communications system,PACS)以及医院管理信息系统(hospital management information system,HIS)的飞速发展之下,当务之急是要处理不同的数字化设备的格式的统一问题以及数据传输的标准问题[4]。因此,DICOM标准应运而生。DICOM文件与其他图像格式所不同的地方在于:它包含了许许多多的有用的与医疗相关的信息,而在这一点上,其它的图像格式是没有的。因为这个原因,DICOM便顺理成章的发展成了医疗领域的专用格式。正所谓事物是具有两面性的,DICOM格式也如此,因为包含了许许多多的医疗信息,使得它的文件格式变得十分复杂。所以,对于获取并展示DICOM医疗图像的难度相比其它类型的图形要困难的多[5]。更为棘手的是常用的图形读取软件都不能够很好的获取DICOM图像。而对于一些医疗机构,他们则是选择通过利用同设备配套的软件来完成此文件的读取与显示工作。但是这一类的软件也存在一个显著的问题:那就是读取数据的兼容性 不尽如人意,不是那么理想。本文以医疗影像DICOM文件数据为背景,深入研究DICOM 3.0标准,利用MFC(Microsoft foundation classes)程序来进行框架的设计,集合VTK强大的图像展示能力, 并将MFC和VTK进行深度的集成,以期利用它们所提供给用户的一个灵活、友好、实用的交互界面,完成搭建DICOM文件读取可视化系统平台的工作。
1.2研究内容与结构框架
本论文着重对DICOM医疗图像文件的读取和显示进行了研究,并较好的实现了医疗文件的简单处理和可视化。