ct数据中骨的等值面绘制程序的设计与实现课程设计-毕业论文.doc
《ct数据中骨的等值面绘制程序的设计与实现课程设计-毕业论文.doc》由会员分享,可在线阅读,更多相关《ct数据中骨的等值面绘制程序的设计与实现课程设计-毕业论文.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中南大学本科生毕业论文(设计)题 目 CT数据中骨的等值面绘制程序的设计与实现 学生姓名 指导教师 学 院 信息科学与工程学院 专业班级 计算机科学与技术1002班 完成时间 2014年2月 1目录目录I摘 要IIIABSTRACTIV第一章 绪论11.1课题的研究内容与意义11.1.1课题的研究内容11.1.2课题的研究意义11.2课题的研究现状21.2.1基于CT数据的特殊MC方法(SMC法)31.2.2用中点法简化线形插值41.2.3等值面顶点的矢量平滑51.2.4 MT算法简述51.2.5 MC算法的效率改进61.3本文的组织结构61.4本章小结6第二章 课题相关算法及开发工具介绍72
2、.1 Marching Cubes算法72.1.1 Marching Cubes算法介绍72.1.2 Marching Cubes算法基本原理72.1.3标准MC算法的计算过程92.2开发语言及工具介绍112.2.1开发语言C+介绍112.2.2界面开发语言C#介绍112.2.3编程工具VS2010介绍122.2.4开发工具VTK概述122.3本章小结13第三章 设计与实现143.1程序的总体设计143.1.1系统的需求分析143.1.2程序的总体设计思想143.2程序的实现163.2.1读取Dicom格式的CT图像功能的实现163.2.2实现提取等值面163.2.3视觉属性的设置163.2.
3、4界面的设计实现173.3本章小结18第四章 实验结果194.1等值面阈值不同时的绘制效果194.2漫反射光颜色参数不同时的绘制效果204.3镜面光系数不同时的绘制效果214.4实验结果总结21第五章 总结235.1 总结235.1.1 毕业设计所做的工作235.1.2 毕业设计的心得体会235.2展望24结束语26参考文献27摘 要在三维图像的可视化方法中,等值面绘制是对科学计算数据的常用绘制方法。它从数值特性接近的三维点集中构建出三维网格,同时利用GPU(Graphic Processing Unit,图像处理单元)加速,便于实时绘制。面绘制有原理简单,容易实现,显示直观等优点,是医学三维
4、图像可视化中的重要算法。本课题采用C+语言设计了基于VTK库的等值面绘制程序。该程序实现了CT数据中骨的等值面绘制,即用户可操作程序选择等值面参数,并能读取Dicom格式的CT图像,从而进行骨的三维显示。此外,为了方便用户使用,该程序有着简单易用的图形界面。本文首先概述了本课题的内容、意义和研究现状,并结合课题要求,介绍了面绘制方法中用到的关键技术和开发工具等。然后重点阐述了本课题的设计过程和实现过程,以及在实现过程中遇到的一些问题和解决办法,并进行了实验分析。最后,针对程序中出现的一些不足之处提出了一些改进方案。关键词 CT图像 等值面绘制 MC算法 VTK ABSTRACT Isosurf
5、ace rendering is a common rendering method for scientific computing data in computer graphics. It builds a three-dimensional triangular mesh from 3D point set that has closed numerical characteristics. The rendering of triangular meshes can be hardware-accelerated by modern graphics processing units
6、 (GPUs). Isosurface renderingissimple. Then it is easy to implement,visual displayand has other advantages. So it is an important algorithm of3D medicalimage visualization. This topic using C+ language designs isosurface rendering program that base on VTK. This programimplements isosurfacerendering
7、of bones in CT data. The user canoperate theprogram to set up isosurface parameters and rendering parameters. The CT image data of Dicom format can be read to achievesimple space manipulate. In addition, for the convenience of users, the program has a simple graphical user interface. This paper outl
8、ines the content, significance and status of this project. And it combines with the requirements of the subject to introduce the key technology and development tools used in the surface rendering method. And then, this paper focuses on the design and realization of the program, including giving a so
9、lution for appearing question during realizing program. At the end of this paper, some useful suggestions are given for the improvement of this program.Keywords CT image isosurface rendering MC algorithm VTK IVCT数据中骨的等值面绘制 第一章 绪论第一章 绪论1.1课题的研究内容与意义1.1.1课题的研究内容CT(Computed Tomography 计算机断层扫描技术)是指使用计算机
10、科学中相关的手段对被检测物体的截断层进行扫描而得到图像实施三维重建而得到三维断层图像的扫描方法,是医学中常用的成像方式【1】。CT影像能揭示人体组织器官的三维结构与形态,对于医学诊断具有重要的参考价值。而等值面绘制是计算机图形学中对科学计算数据的常用绘制方法,它从数值特性接近的三维点集中构建出三维网格,便于实时绘制。本课题拟针对CT数据中的骨,设计实现一个采用等值面绘制方法的三维骨形态显示程序。本课题的目标是运用已经学过的程序设计知识,结合计算机图形图像处理的现有技术,设计实现一个采用等值面绘制方法的三维骨形态显示程序。用户可以操作该程序选择等值面参数和绘制参数,可以读取Dicom格式的CT影
11、像数据进行骨的三维显示。本课题有助于锻炼我们的程序设计能力,尤其是对图形图像相结合的分析和编程能力,此外也可以拓展我们对医学影像处理的了解和认识。为了完成本课题,需要我们具有扎实的数据结构和程序设计基础,而且需要自主学习医学影像处理相关的基本知识,以及医学影像显示方面的编程方法。在设计和实现本课题程序的过程中要遵循一般的软件工程要求,具有比较规范的基础文档,具备比较完备代码注释,且进行了比较全面的系统测试。研究内容概括如下:(1)了解医学影像处理相关基本知识。(2)理解MC算法基本原理。(3)用一种编程语言结合VTK库实现等值面绘制程序。其中,程序的主要功能如下:(1)读取Dicom格式的CT
12、影像。(2)用户可以设置等值面参数。(3)等值面绘制。(4)骨的三维显示。1.1.2课题的研究意义计算机断层扫描(Computed Tomography,简称CT)技术及核磁共振成像(Magnetic Resonance Imaging,简称MRI)技术已普遍应用在病患的医疗领域中,然而,像这样一些医学设备只可提供物体内部的二维图像。医师需要凭借多年经验根据很多幅二维图像去预想病患部位的大小和形状,这无疑给医疗诊断带来了巨大困难【1】。随着科学技术的不断发展,社会的日益进步,医学诊断的精确性与直观程度的要求也愈来愈高。由于医学图像可视化的重要性日益显著,所以在诊疗科学、整容美形以及外科手术、射
13、线与化学治疗等技术中已经广泛应用【2】。1989年,美国国家图书馆根据专家的讨论和建议,首先提出了一项被称为可视人(Visible Human)的计划【3】,并委托科罗拉多大学医学院进一步研究。这项计划的内容就是建立一个完整的男女人体的拥有详尽剖解结构的数字化图像库。通过这项计划的实施,能够分析和重新建立出人体内部相应的器官和组织结构并将其三维显示出来,最终构建出具有实在感觉的可视化人体三维效果,同时可以对重建出的虚拟可视人体进行各种透明处理、解剖分析等设置,便于进一步理解人体各组织器官的解剖结构。这对医学教育及解剖分析起着非常重要的作用。不久前,一个令无数人为之激动的新闻在重庆市第三军医大学
14、公布:中国第一个数字化可视人体已经在该校实验建立完成,并且向海内外同时发布了这一系列“中国可视人”的数据集【3】,这一消息在海内外都引起了极大反响,这一成果也为我国给出了目前为止最为齐整、完备和详尽的一套人体结构的基本数据和图像资料,这一成果也向所有人宣布,中国已经发展为世界上除美国和韩国外,唯一具有本国可视化人体数据集的国家。1.2课题的研究现状移动立方体(Marching Cubes)方法是目前为止最为流行的一种等值面三角化算法之一【4】,用于从三维标量场提取一个多边形网格的等值面。它是基于基本立方体中剖分出来的体数据,随后在每个立方体中都进行标准的三角剖分。在传统方法中,MC算法是基于1
15、5个基本的三角剖分算法和由旋转、反射、共轭等运算得出的256个基本三角剖分算法的组合。它的运算简单高效,因为它的工作原理几乎是完全关于查找表的【5】。但是传统的MC算法中有很多缺点和需要改进的地方,许多学者对传统MC算法的优化进行了不懈的研究和创新。本文主要介绍了传统MC算法的基本原理以及计算过程,并对传统MC算法中的缺点进行了分析,列举并比较了其他几种改进和优化的MC算法,包括SMC算法,MT算法,以及中点法简化线性插值法,等值面顶点矢量平滑等方法。MC算法最主要有三个方面的问题:首先,由于移动立方体方法的原理所导致的局限性,所生成的三角面片仅仅能近似显示出了需要求的等值面;第二点就是在体元
16、的同一平面中,将两条相邻棱上的重合点采用线段随便地连接起来只能趋于相似地表示所求等值面;另外,在移动立方体求等值面的方法中,若是体元的一个平面上的标为1和标为0的角点各处于立方体对角线的两头,那末就可以出现2种不同的连接形式,即出现所谓“二义性”【6】。面对移动立方体算法的这些缺陷,我们可以从以下三个方面对移动立方体算法进行改善:(1)选择边界跟踪的方法确定边界上的立方体。经过学者们的多次实验证实,大致有九成以上的六面体都是在边界里或边界外,因为这样一些六面体并不是边界立方体,所以它们之间不存在等值面,如果只对剩下约占十分之一的边界立方体进行处理,就能简化算法的运算过程,从而显著提高算法的效率
17、。当开始选定边界立方体时,可以利用查找每层断面上的边界线与之相交的立方体表面的方法,即将所有的边界线顺次操作完就能够得到全部的边界立方体;(2)选择利用立方体棱边的中点作为三角面片顶点的方法,而不是采用三次插值计算的方法,能够节约大部分的运算时限。同时,考虑到两相邻断层间的距离较小,其最大误差只有立方体边的长度的一半,并且一些显示设备的分辨率比这个长度精度更小,因此该算法是可行的。(3)在知道的这几种各不相同的鉴别和避免二义性的办法中,渐进线法当之无愧的成为最为常用的办法之一。当发生二义性问题时,边界平面被双曲线中的两支切割成三个部分,容易得出的是,在双曲线中两条渐近线的重合点必定会与边界中处
18、于对顶线的两个焦点落在相同的一个部分内【7】。通过此法可以消除二义性。以下分别简单介绍几种MC算法的优化。1.2.1基于CT数据的特殊MC方法(SMC法)针对标准移动立方体算法的缺陷及计算机断层扫面技术图像的特点,另外有一种特殊的MC算法,对原有的算法进行了一些改进,称之为SMC算法【8】。(1) SMC算法的基本理论假设所有CT切片包含了一系列轮廓线P1,P2,Pn,对于体数据的每一个体素都定义了一个状态函数f(x,y,z): 公式(1.1)在通过这样的变换后,三维空间中的数据就会转化为三维场,每个体元顶点(x,y,z)的状态值根据这个点与这个点位于的平面上所有轮廓线之间的关联来判断,即在其
19、上、在其内或在其外。因为所有的体元都有八个角点,按照状态值可以将体元上各个角点标为0、-1或+1,且体元的各条边上的数值是线性变化的。所以容易得出,边界面通过的顶点状态值为0;假如体元上一条边的两个顶点分别为-1和+1,则可以得出等值边界面与该棱相交;假如某个棱的所有顶点都是同号的,显然有等值边界面与该棱不存在交点。当等值边界面与某条棱相交,则该棱的中点可以当作交点。(2) SMC算法的实现及结果SMC算法是在有序二值图像上进行的【9】。首先在内存中读入4张相邻的CT二值图像,按顺序记为CT1,CT2,CT3,CT4,其中CT2和CT3是需要构建三维的断层,而利用中心差分法计算各个顶点的法向时
20、将会用到CT1和CT2。然后计算这4张CT中各点的状态值,进行预处理后,可直接根据该点的灰度值:灰度0对应状态1,灰度128对应状态0,灰度255对应状态+1。再根据状态值,利用中心差分方法,可以算出CT2和CT3中各个点的法向。如果f(x,y,z)表示体素(x,y,z)的状态值,则这个点的法向可以通过以下三个式子来表示为: 公式(1.2) 只要得出这条边上两个端点法向的平均值,就可以得出这条边上中点的法向。接下来用上述的方法生成体元,并在体元内重新构建出三角面。通过这个结构,重建出的三角形通过双向链表的方式将数据存储在相应内存中,而且通过J顷序的顺序生成,就可以得到需要的三维几何图像【9】。
21、1.2.2用中点法简化线形插值在规范的移动立方体算法中,每一个内部包着等值面的立方体都十分有可能会有一个以上乃至更多的三角面片,如此一来就会使每一个三角片都非常小,乃至比像素更加微小,因此用中点代替顶点造成的更动对最后成像质量的影响不明显。选择中点法而不是两个端点能够躲开线形插值中的运算相重复的部分,进一步让计算变得简单【10】。每一次线形插值都得进行代数运算四次,想得出三个顶点就必须进行十二次运算。如果使用中点法代替顶点,确定顶点位置仅需要3次计算,进而能够明显减少计算量,显著提高运算速度。中点法保留等值面的拓扑结构而仅仅变化的是产生几何多边形等值面的端点的位置,所以使用中点法的最大误差小于
22、或等于半个立方体【11】。同理对于只有两个值的相应体数据(数据的值仅为0或1)来讲,如果所求等值面为相对大的值,则此近似误差就是最大的近似误差;如果范围在0到1,就没有近似误差。三角面片数量越多,相对误差越小,在三角面片极多的情况下,其近似误差是几乎可以忽略的。另外,中点法可以缩小立方体中的三角面片的数目,进而令各立方体内部或相邻立方体之间衔接的三角面片归只并成一个空间几何多边形。1.2.3等值面顶点的矢量平滑利用MC算法重建出的三维图像,其显示结果的可视性和清晰度常常并不能十分令人满意。由于体数据场中的各种噪声往往会对立方体单元内部的三角面片的位置和方向造成影响,严重的情况下,会招使三维显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ct 数据 等值 绘制 程序 设计 实现 课程设计 毕业论文
限制150内