首页 VTK的图像三维重建

VTK的图像三维重建

举报
开通vip

VTK的图像三维重建 佰息技术与僵息亿 l 引言 基于 VTK的医学图像三维重建 VTK Based 3 D Medical Image Reconstruction 刘志远 郑永果 LIU Zhi—yu,an ZHENG y0 一guo Abstract This paper researches and implements 3D reconstruction of medical images using VTK visualiza· tion toolkit.3D reconstruction of f...

VTK的图像三维重建
佰息技术与僵息亿 l 引言 基于 VTK的医学图像三维重建 VTK Based 3 D Medical Image Reconstruction 刘志远 郑永果 LIU Zhi—yu,an ZHENG y0 一guo Abstract This paper researches and implements 3D reconstruction of medical images using VTK visualiza· tion toolkit.3D reconstruction of foot CT images is implemented using Marching Cubes algorithm and ray tracing algorithm.We analyse the result of the two methods and give their characteristic and suitable fields for applica— tion. Keywords 3D Reconstruction VTK Marching cubes Ray Tracing 随着三维可视化技术发展,其技术成果被不断应用到各个领 域。在临床医学上,利用三维重建技术,可以将一系列二维断层 图像重建成三维形体,给医生提供一个直观、精确的模型⋯。利 用三维重建技术,医生可以准确的获得病变位置的大小、体积等 信息,并可以进行手术模拟,提高手术的成功率和完成质量 J。 因此,医学图像的三维重建技术无论在临床还是在理论研究领域 都具有重要的意义。目前比较常用的可视化工具主要有 Open. GL,ITK,VTK 等。本文在这里主要使用VTK库对脚部CT图像 进行三维重建。 2 基于 VTK的医学图像三维重建方法简介 医学图像的三维重建主要是指对 CT和 MRI数据进行处理, 方法主要有面绘制和体绘制两大类。面绘制技术首先 由三维空 间数据场构造出中间几何图元,然后由计算机图形学技术实现画 面绘制 。最常见的几何图元是平面多边形,三维表面抽取的常 用方法是从体数据 中抽取三维表面 ,最有代表性 的是 Marching Cubes(MC)方法。面绘制方法可以产生比较清晰的等值面图像, 而且可以利用图形硬件实现绘制功能,加快图形的生成和变换的 速度。体绘制则并不构造中间几何图元,直接由三维数据场产生 在屏幕上显示的二维数据。它对每一个体元赋以不同的颜色、透 明度属性,在观察平面上进行投影 ,生成二维图像 』。 VTK(Visualization Toolkit)是 Kitware公司开发的一个开放源 代码的自由软件 ,它基于OpenGL,主要用于3D图形学、图像处 理及可视化等领域,尤其是其三维重建功能(如面绘制、体绘制)。 VTK容纳了图像和可视化领域的多种算法,采用面向对象的编程 技术,可以直接用 C++,TCL,Java或 Python编写代码。VTK采 }山东科技大学信息科学与工程学院 266510 用的是流水线(Pipeline)机制,如图 1所示。各个模块形成了一 个流水线,各个模块对流水线中的数据进行操作。流水线由两种 基本对象组成,即过程对象和数据对象。数据对象就是数据集, 代表了流水线中的数据。过程对象是一个模块,或者是流水线中 的算法部分,提供了许多相应的类。 用VTK进行可视化应用是很方便的,首先,建立一个流水线 来处理数据;其次建立适当的目标图形来演示数据。建立流水线 (Pipeline)就是将数 据源 (Dataset)、过滤器 (Filter)和映射器 (Mapper)连接起来的过程。 数据源 /L+I过滤器 —.1 映射 卜 渲染 卜-+【 显示 图 1 可视化流水线 对于任何进行可视化的数据,都是通过演员(actor)在窗口中 表现出来的,因此,要在窗口中显示重构的三维 图形需要以下的 步骤:1)建立render window(渲染窗口);2)建立 actor(角色),vt— kActor类用来表示绘制场景中的一个实体,也就是绘制场景中的 演员。它通过 SetMapper()方法和几何数据联系起来;3)建立 renderer(渲染器),通过 vtkRenderer类将结果在窗口中显示出来。 3 系统实现 本文使用的数据源是人体足部 CT断层数据,数据集由250 张512x512的DICOM图片组成。程序中使用的VTK 5.0版本已 经内建了对 DICOM图像格式的支持,所以我们可以很方便的利 用 vtkDICOMImageReader类来实现对图像的读取。程序对 CT切 片数据进行处理,由切片数据重建骨骼和皮肤,采用的算法是基 于表面绘制的 MC(Marching Cubes)算法。 3.1 基于 VTK的面绘制 面绘制方法是将感兴趣的部分以等值面的方式进行抽取,通 过旋转和变换光照效果来生成高质量的三维图像。这种绘制方 法速度快,适合于实时性要求高的情况,其中最为常用的是 MC 循囊技术与任意.t: 方法(Marching Cubes)。该算法是将数据体中位于两个相邻面上 的8个相邻的体素构成一个立方体,然后逐个处理数据场中的立 方体,分类出与等值面相交的立方体,采用插值计算出等值面与 立方体边的交点,根据立方体每一顶点与等值面的相对位置将等 值面与立方体的交点按一定方式连接成等值面,从而作为等值面 在该立方体内的一个逼近表示。 3.1.1 重建流程 首先利用 vtkDICOMImageReader将位于 同一 目录下的 DI. COM格式的cT断层图片读入,然后利用 vtkMarchingCubes分别 针对骨骼和皮肤提取等值面,再利用 vtkPolyDataNormals对得到 的等值面进行处理,过滤掉过大的棱角以及不符合实际情况的三 角面片。然后由vtkPolyDataMapper将其映射为几何数据,并将其 属性赋给窗口中代表它的actor。图像显示的过程就是通过ten. deter和 render window将几何数据以一定的角度和色彩光照显示 出来的过程。程序中通过建立vtkLODActor对象,将其与 vtkPoly. DataMapper对象关联起来。将 actor加入到 vtkRenderer中,然后 通过 vtkRenderWindow进行显示 ,通过 vtkRenderWindowlnteractor 对用户的输入进行交互。 3.1.2 基于 Marching Cubes算法的面绘制的主要实现过程 (1)建立一个vtkDICOMImageReader读取对象,通过其SetDi. rectoryName方法设定 DICOM CT断层文件的 目录,调用 Update 方法将数据读入。 (2)分别对骨骼和皮肤建立 Marching Cubes算法对象 vtk. MarchingCubes。根据本文采用的数据源,将骨骼的灰度阈值设定 为1300,皮肤的灰度阚值设定为750。利用其SetValue方法设定 灰度阈值,进行表面抽取。 (3)分别对骨骼和皮肤建立 vtkPolyDataNormals对象和 vtk— PolyDataMapper对象。将 vtkMarchingCubes对象的输出通过流水 线和 vtkPolyDataNormals连接起来,再通过流水线将 vtkPolyDa. taNormals对象的输出和vtkPolyDataMapper连接起来并进行映射, 为输出做准备。 (4)分别建立代表骨骼和皮肤的角色vtkLODActor。 图 2 皮肤透明度为 100% (5)建立绘制者vtkRenderer和绘制窗口vtkRenderWindow。通 过 vtkRenderWindow的 AddRenderer方法将建立的 vtkRenderer对 象添加到绘制窗口中,再调用 Render方法进行绘制。 (6)建立 vtkRenderWindowlnteractor对象,通过其 SetRender- Window方法将vtkRenderWindow设定为交互的绘制窗口,这样用 户可以对绘制结果进行交互操作。 重建效果如图2、图3所示。 图 3 皮肤透明度为0 3.2 基于VTK的体绘制 体绘制技术利用光学的原理,对每一个体元赋以不同的颜 色、透明度属性,然后在给定的观察平面上生成二维图像。由于 三维数据场中不同类别的物质具有不同的密度,反映到 CT和 MRI图像上即是不同的组织有不同的灰度值,根据这一点我们可 以区分不同的物质,例如骨骼和皮肤,并对代表它们的体元赋以 不同的颜色信息,从而在投影的二维观察图像中可以直观的将它 们显示出来。体绘制算法中常用的算法是光线投射(ray—cast— ing)算法。光线投射算法首先要对三维数据场中的数据值进行分 类,并对每类数据赋予不同的颜色值和透明度值,然后从屏幕上 的每一个像素点根据设定的观察方向发出一条射线,这条射线穿 过三维数据场,沿这条射线选择 N个等距的采样点,每个采样点 的颜色值和透明度值根据临近的点作插值得到,然后将这条射线 上各采样点的颜色值和透明度值加以合成,即可得到发出该射线 像素点的颜色值。光线投射算法流程如图4所示: 3.2.1 重建流程 和面绘制类似,首先利用vtkDICOMImageReader将位于同一 目录下的DICOM格式的CT断层图片读入,然后根据骨骼和皮肤 的不同灰度值进行分类,用vtkPiecewiseFunction对骨骼和皮肤赋 予不同的不透明度值,用vtkColorTransferFunction对骨骼和皮肤赋 以不同的颜色。vtkFixedPointVolumeRayCastMapper对三维数据进 行光线投射算法的计算,从而获得二维投影中每个像素点的颜色 值,然后映射到vtkVolume代表的三维几何实体。通过 vtkVol- umeProperty对 vtkVolume对象进行属性设置。最后将 volume加 证息技术与僵息他 人到 vtkRenderer中,通过 vtkRenderWindow进行显示,通过 vt. kRenderWindowInteractor处理用户的交互操作。 图4 光线投射(体绘制)算法流程 3.2.2 基于光线投射算法的体绘制的主要实现过程 (1)建立一个 vtkDICOMImageReader读取对象,通过其 SetDi- rectoryName设定 DICOM CT断层文件目录,调用 Update方法将 数据读入。 (2)对骨骼和皮肤赋以不同的不透明度值。根据本文采用的 数据源,将骨骼的灰度阈值设定为 1300,皮肤的灰度阈值设定为 750。建立不透明度函数的对象 vtkPiecewiseFunction,通过其 Ad dPoint方法确定不透明函数的拐点以及其对应的不透明度,将骨 骼的不透明度设定为1.0(即完全不透明),将皮肤的不透明度设 定为(100.0一 RaySkinTransparency)/100,这里 RaySkinTranspar- ency被设定为 50。 (3)建立色彩传递函数对象vtkColorTransferFunction,通过其 AddRGBPoint方法对骨骼和皮肤赋以不同的颜色。我们把骨骼设 定为白色(1,1,1),把皮肤设定为红色(1,0,0)。 (4)建立 vtkFixedPointVolumeRayCastMapper对象对三维数据 进行体绘制运算。利用其GetOutput方法从 vtkDICOMImageRead. er读取对象中获得数据。 (5)建立vtkVolume对象,通过其 SetMapper方法利用流水线 获得 vtkFixedPointVolumeRayCastMapper的输出。 (6)建立绘制者vtkRenderer和绘制窗口vtkRenderWindow,通 过 vtkRenderer的AddVolume方法将 vtkVolume对象添加,利用 vt. kRenderWindow的 AddRenderer方法将建立的 vtkRenderer对象添 加到绘制窗口中,再调用 Render方法进行绘制。 (7)建立 vtkRenderWindowlnteractor对象,通过其 SetRende~ Window方法将 vtkRenderWindow设定为交互的绘制窗口,使用户 可以对绘制结果进行交互操作。 重建效果如图5、图6所示。 3.3 两种重建方法比较 通过对两种重建算法的原理分析和实现的效果比较,可以看 出,面绘制的结果是一个表面定位准确、表面拓扑结构正确的三 维模型,绘制到平面上应该是一个清晰的图像。而体绘制是由沿 观察视线上所有体元的积分效果,所以比较模糊。对中间存储或 内存的要求上,体绘制由于不生成中间几何图元,所以内存的需 求较面绘制要小,但由于每切换一个视角就要重新对所有的像素 点的颜色进行计算,所以运算时间较面绘制要长。就可视化效果 而言,面绘制技术能产生清晰的图像,但易丢失细节,主要问题在 于易造成边缘提取的不准确,主要应用前景为手术仿真、虚拟操 作。体绘制成像效果较为模糊,但能保留整体细节,主要缺点是 容易产生噪声重叠,目前 主要的应用领域为诊断和疗效判断领 域。 图 5 骨骼的光线投射算法重建 4 结论 图6 皮肤的光线投射算法重建 VTK(Visualization Toolkit)是一个可以用于三维可视化程序 构造和运行的函数库,它是在OpenGL的基础上,利用面向对象的 程序设计方法构建的,并封装了大量三维重建中常用的算法,对 用户进行二次开发提供了方便。VTK与具体硬件无关,具有良好 的移植性和可扩展性。本文就三维数据场可视化(下转第85页) 僵息技术与佰息亿 设定值为 SPg:MVt。此时调节系统处于平衡状态。 2.3.4 炉温高于设定值(降温调节过程) 温度调节器TIC的调节作用使得其输出MVt减小,而此时实 际检测的煤气流量还没有改变,其值为Fg。 在空气侧经高选、低选得到空气调节器的设定为 Spa=Bx(1 一 K2)xFg。 煤气侧经低选、高选得到煤气调节器的设定为 Spg=(1一 K3)xFa/B。 故随着煤气流量的减少,空气流量也减少 ,空气流量的减少 又导致煤气流量的减少。交叉制约开始,温度下降 ,直至新的平 衡。K2>K3可保证降温时煤气总比空气少一点,以避免燃烧不 充分。 2.3.5 系统设计中由于没有热值检测仪,故空燃比B只是理论 值,还有限幅系数K1、I(2、l<3、K4必需通过实践调整至最佳值,防 止在升温、降温或负荷发生变化时流量突变、温度变化不均匀、燃 烧不充分等。 2.4 炉压控制 2.4.1 加热炉分预热段 、加热段、均热段三段 ,在每段换向阀后 排烟管设置调节阀,三段共用排烟引风机,煤气侧两台、空气侧一 台,设计三段独立控制,以均热段为主,炉压控制参数为 ±15~ 30Pa。炉压的调节主要靠引风机的排烟量改变和换向阀后各段 烟管的调节阀开度来控制。正常生产时靠控制排烟管的调节阀 开度来保证炉压稳定,在开炉调试和供热负荷变化较大时先调节 引风机变频 ,再调节排烟管的调节阀开度来调整炉压。 2.5 安全连锁控制 加热炉温度高,燃料是易燃易爆的发生炉煤气,必须采取安 全保护 措施 《全国民用建筑工程设计技术措施》规划•建筑•景观全国民用建筑工程设计技术措施》规划•建筑•景观软件质量保证措施下载工地伤害及预防措施下载关于贯彻落实的具体措施 。本系统设有完善的安全联锁装置。在空气或煤气 压力在低压或突发断电事故发生时,控制系统可报警并快速启动 快切阀安全地切断煤气供应,同时对煤气总管和各段煤气实行氮 气隔断保护。自动停炉条件如下: a.煤气总管压力过低 ; b.仪表气源压力低 ; e.冷却水压力或流量过低; d.风机故障; C.电源故障; f紧急停炉。 3 控制系统的软件设计 控制系统软件采用了西门子公司当前应用广泛,性能先进的 软件。编程软件为 STEP7 V5.4,它融合三种编程语言(梯形逻辑 LAD、功能快图FBD、语句表STL),同时内置多种功能块,可任意 调用。组态监控软件为 WINCC6.0,具有人机对话 、通讯、显示 、存 储、打印等功能,主要用于数据、图形显示,设备状态监控,参数修 改,历史数据追忆,报表编制等。具体画面有a工艺控制流程画 面、b仪表检测参数画面、C参数修改画面、d运转状态与故障状态 监视、e报警画面、f实时趋势画面、g历史趋势画面等。 4 效果及结论 该系统投运前期由于入炉坯料变化大 ,没有燃气热值导致空 燃 比不好确定,操作不熟练影响了人炉操作和炉温控制,经过一 段时间的调整,现控制系统运行稳定,燃烧平稳 ,炉温控制精度 < l%,钢坯加热温度均匀稳定,钢坯加热温度控制为 1080~ 1150~C;基本杜绝了钢坯跑偏和过烧等加热缺陷的情况,为后道 轧制工序提供了合格钢坯。 参考文献 : [1] 温治.连续加热炉计算机控制技术综述[J].金属世界、 2004. [2] 刁君成.西门子 s7—400 PLC在加热炉燃烧控制中的应用. 山东金属学会 2008论文集. ‘ [3] 小型连轧机的工艺与电气控制.冶金_z-,_lk出版社. (收稿 日期:2008—12—12) (上接第61页)技术中的面绘制和体绘制技术进行了论述,并讨 论了如何利用 VTK可视化软件包进行可视化开发。VTK对于从 事可视化技术研究的人员具有重要的价值,并随着可视化技术的 不断发展,VTK会有更好的发展前景。 参考文献: [1] 祁俐娜,罗述谦.基于VTK的医学图像三维重建.北京生 物医学工程.2006年 2月. [2] [3] 杜俊俐,郭清宇,黄心汉.基于VTK的医学图像快速重建系 统.计算机应用.2007年6月. William J.Schroeder,Kenneth M. Martin,Lisa S. Avila. The VTK User’s Guide,Kitware Inc,1998. [4] 刘志健,王蓉,刘玉玲,余飞鸿.基于VTK的医学图像系统 研究.CT理论与应用研究.2006年5月第 l5卷第2期. [5] 黄姗姗,王博亮,闵小平.基于VTK的可视化技术的研究. 中国数字医学.2007年第8卷第 1期. [6] Schroeder SJ,Avila LS,Hoffman W.Visualizing with VTK. IEEE Trans.on Computer Graphics and Applications,2000, 20(5):20—27. [作者简介] 刘志远,男,1982年生,山东济南人,硕士研究 生,主要研究方向为图像处理和软件工程。 郑永果,男,教授,博士生导师,主要研究领域包括虚拟现实 与可视化技术、软件工程等。 (收稿 日期 :2008—11—04)
本文档为【VTK的图像三维重建】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_755221
暂无简介~
格式:pdf
大小:409KB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2012-07-13
浏览量:65