基于VTK的超声血管三维重建

2017-06-23 13:49:15郭灿柱杨涌元庄哲民杨金耀
中国医疗器械信息 2017年9期
关键词:三维重建绘制可视化

郭灿柱杨涌元庄哲民杨金耀

1 汕头大学电子信息工程系 (汕头 515063)

2 汕头市超声仪器研究所有限公司 (汕头 515041)

基于VTK的超声血管三维重建

郭灿柱1杨涌元1庄哲民1杨金耀2

1 汕头大学电子信息工程系 (汕头 515063)

2 汕头市超声仪器研究所有限公司 (汕头 515041)

基于计算机数字图像处理、计算机图形学、虚拟现实和计算机网络等技术的医学图像处理与三维重建技术,已逐渐成为了一门具有特色的交叉学科。VTK(The Visualization Toolkit)是一个开源的、跨平台、可自由获取、支持并行处理的图形应用函数库。利用VTK 强大的可视化功能对血管的超声医学影像进行三维重构,显示血管的内部切面,为医生提供更为直观的、精确的器官内部信息,协助医生观察体血管内部病灶,可以达到比较理想的效果。文章介绍了VTK的基本构成、可视化流程,以及基于C++语言在Microsoft Visual Studio 2010环境下实现血管重建。

三维重构 VTK 超声血管 可视化

研究表明,人类通过视觉获取的信息占总获取信息的80%以上,是人类获取外部信息的重要方式。视觉信息比文字、数字等信息更加直观,信息量更为丰富。因此,通过图形图像等方式将数据进行可视化,有助于人们理解数据[1]。

近年来,计算机图形图像等技术不断发展,并逐步渗入到医学领域,开创了数字医疗的新时代。基于计算机数字图像处理、计算机图形学、虚拟现实和计算机网络等技术的医学图像处理与三维重建技术,已逐渐成为了一门具有特色的交叉学科[2]。其中,VTK(The Visualization Toolkit)作为具有强大的三维图形图像处理功能,良好的体系结构、高度的灵活性及可移植性,且开放式的免费软件,目前在美国、西欧等各高校、研究所的数字医疗领域已经得到广泛的应用[3]。

1.VTK的概述与原理介绍

1.1 VTK的概述

VTK是美国Kitware公司推出的一个开放源码的自由的软件系统,可以应用于图像处理、计算机图形学、科学计算可视化,目前最新版本为7.1.0.[4]。VTK完全采用面向对象的设计思想来设计与开发,支持Windows,Unix与Linux等多种平台,支持C,C++,Java,Tcl/Tk以及Python等编程语言[5]。VTK将众多常用的图形操作、图像处理算法封装成不同的类,非常易于理解和调用。相对于Matlab与Open GL库,VTK具有应用灵活、重建效果逼真、重建速度较快等优点,同时还可以对图像进行缩放、旋转、平移、组织提取等多种操作[6]。与此同时,VTK具有很好的流和高速缓存能力,同时支持多线程处理,这些都使得VTK成为医学图像可视化开发的一个较好的选择[7]。

VTK是在三维函数库OpenGL基础上采用面向对象的设计方法发展起来的,主要由两部分组成,一个是利用C++语言编写的核心层,一个是按照一定规则生成的支持脚本语言的解释层。这种结构的可以用C++编写有效算法,保持解释性语言代码的特点,也可以用其他自己熟悉的工具进行开发。

VTK最初设计的目的是为了医疗领域的应用,它支持一系列可视化算法和许多高级建模技术,并且己经集成了许多的可视化算法,像MC算法、光线投射法等。自从开发以来受到广泛重视和应用,并不断得到完善,已成为可视化领域最负盛名的软件开发包[2]。

1.2 VTK的原理

VTK中数据处理的两个部分:可视化管线和渲染引擎,可视化管线主要负责数据获取或者创建以及数据处理,本文主要是对由医学院提供的超声血管图片进行数据的读取,然后将数据写入文件或者传递至渲染引擎中进行显示。渲染引擎对数据进行了一个可视的表达[7]。可视化管线的主要作用是把几何数据(如立方体的顶点坐标)转换成图形数据和负责构建几何体,VTK使用数据流的方式把几何体数据转换成图形数据,主要有两个基本类和数据转换相关,它们是vtkDataObject和vtkProcessObject类。数据对象表达各种类型的数据,vtkDataObject可以被看作是一个二进制大块(blob)数据,结构化的数据可以被认为是一个数据集(dataset)(vtkDataSet类)。

可视化流程的原理如图1所示。

源数据是读入或生成的需要处理的原始数据。数据对象表示了VTK中不同的类型的数据,包括结构化点集,线性化网格,非结构化网格,多边形数据[7]。

VTK通过过滤器来操作和变换数据。过滤器实际上就是各种算法的封装好的代码,对数据对象进行相应的处理分析,可以接受一个或者多个对象的输入以及输出[7]。

当源数据完成以上流程后,用户只需要按顺序调用指定的渲染类,就可以将结果渲染到指定窗口[8]。其中,类似MFC中的CObject基类,VTKObject是VTK的基类,它为可视化流程提供基本方法,VTKSource是VTKObject的派生类,它为整个可视化流程的开始定义具体的行为和接口。VTKFlier是VTKSource的派生类,它对数据进行可视化处理,使得数据可以直接用特定算法进行处理。VTKMapper是VTKObject的另一个派生类,它将经VTKFilter处理后的应用数据映射为几何数据,为原始数据与图像数据之间定义接口。这样,多种类型的Sources,Filters和Mappers就连接了起来[2]。

2.VTK三维重建的实现

利用VTK对医学图像进行三维重建的常用方法有面绘制和体绘制。面绘制中多数采用的是移动立方体算法,该算法容易实现,目前得到广泛的应用[9]。

图1. 可视化流程的原理

移动立方体法中,在读入数据后,建立vtkMarching Cubes类对象,设置阈值、灰度值,进行表面抽取。接着创建vtkPolyDataNormals类对象和vtkPolyDataMapper类对象,将vtkMarchingCubes对象的输出作为vtkPolyDataNormals对象的输入,并将vtkPolyDataNormals对象的输出作为vtkPolyDataMapper对象的输入。然后再创建一个代表此次处理结果的角色vtkLODActor类对象,将它与vtkPolyData Mapper对象关联起来。至此面绘制的数据处理完成。再建立绘制者vtkRenderer和绘制窗口vtkRenderWindow,将vtkLODActor对象加入到vtkRenderer后,再将vtkRenderer对象加入vtkRenderWindow。最后为了具有交互效果,建立vtkRenderWindowInteractor对象,将vtkRenderWindow设置为交互绘制窗口。至此面绘制的移动立方体法重建完成[2]。

光线投射法是目前体绘制中常采用的算法,包含有多种光学模型,一般是光吸收还有光发射模型[9]。它的基本原理是从投影图像平面(通常为平面)的每个像素沿着视线方向发射一条穿过体数据的射线,然后在射线上按照一定的步长进行等距离采样,对每个采样点采用插值技术来计算体素值,根据颜色传输函数和不透明度传输函数来获取相应的颜色值和不透明度,最后利用光线吸收模型将颜色值进行累加直至光线穿过体数据,即可得到当前平面像素的渲染颜色,生成最终的显示图像[1]。对于光线投影法,在读入数据后,建立不透明度函数的对象vtkPiecewiseFunction用以设置不透明函数的拐点以及其对应的不透明度;建立色彩传递函数对象vtkColorTransferFunction设置不同组织的不同颜色;建立vtkFixedPointVolumeRayCastMapper对三维数据进行光线投射算法的计算;建立vtkVolume对象读入上一步的计算结果。至此体绘制的数据处理完成。接下来的窗口绘制及交互,同面绘制步骤一样。至此体绘制的光线投影法重建完成[2]。

图2. 原始的超声血管医学影像

图3. 重建结果

2.1 VTK的数据读取

使用VTK可以读取DICOM,BMP等多种标准数据格式,医学影像信息学邻域的国际通用标准是DICOM,本文的数据源是附医院提供的JPEG格式的图片[10]。原始数据图像如图2。

2.2 三维模型的重建结果

根据VTK的可视化管线流程对数据进行读取,结合ITK,利用VTK提供的对应的类进行三维重建,理想的重建结果如图3[11]。

3.小结

医学图像提供了丰富的人体生理解剖结构的几何信息,应用现代生物图像处理技术,可以使基于医学图像的解剖真实建模成为可能[12]。本文将VTK可视化工具包应用到超声医学影像的重建上,能有效实现超声血管图像的超声三维重建,为计算机辅助诊断提供有效的参考[13]。

[1] 张晓东, 罗火灵. VTK图形图像开发进阶[M]. 北京:机械工业工程出版社, 2015.

[2] 洪涛, 潘志方, 林立本, 等. VTK医学图像三维重建应用及实现[J]. 计算机系统应用, 2011,20(4):127-129.

[3] 祁俐娜, 罗述谦. 基于VTK的医学图像三维重建[J]. 北京生物医学工程, 2006,25(2):1-5.

[4] 郭圣文. 利用VTK与ITK的集成实现医学图像可视化[J]. 计算机工程与应用, 2006,42(30):183-184.

[5] 张翔, 肖小玲, 张爱华. 基于VTK库的人脑三维可视化面绘制[J]. 长江大学学报, 2006,3(1):75-76.

[6] 王树秀, 雷声, 常发亮. 利用VTK实现DICOM医学图像三维重建[J]. 信息技术与信息化, 2008,33(5):115-116.

[7] 谭显峰, 董超, 黄斌. 基于VTK和MFC的管道建模及可视化实现[J]. 现代计算机, 2016,33(7):84-87.

[8] 余伟巍, 席平, 何飞. 利用VTK和MFC的医学模型重建方法研究与实现[J]. 工程图学学报, 2009,30(4):125-130.

[9] Max N. Optical models for direct volume rendering[J]. IEEE Transactions on Visualization and Computer Graphics, 1995,1 (2):99-108.

[10] National Electrical Manufacturers Association. 2009.Digital imaging and communications in medicine (DICOM), Part 1:Introduction and Overview[OL]. [2017-1]. ftp:// medical. nema. org/medical/dicom/2009/09_01pu. pdf.

[11] 王志巧, 黄华. 基于ITK和VTK方法的超声血管图像三维重建[J]. 中国组织工程研究与临床康复, 2009,13(48):9476-9478.

[12] 白洋, 彭承琳, 郭兴明. 医学体数据可视化的研究和实现[J]. 北京生物医学工程, 2005,24(3):183-186.

[13] 姜兴岳, 耿道颖. 计算机辅助诊断在医学影像学中的应用[J]. 中华现代影像杂志, 2005,9(2):823-824.

3D Reconstruction of Ultrasound Blood Vessel Images Based on VTK
GUO Can-zhu1YANG Yong-yuan1ZHUANG Zhe-min1YANG Jin-yao2

1 Department of Electronics, Shantou University (Shantou 515063)

2 Shantou Institute of Ultrasonic Instruments Co., Ltd (Shantou 515041)

The technology of medical image processing and 3D reconstruction based on computer digital image processing, computer graphics, virtual reality and computer network has gradually become an interdisciplinary subject.VTK, an graphics application library, which is open source, cross platform, and free to access. 3D reconstruction of ultrasound blood vessel images based on VTK can do great help to the doctor with more detail of the inside of the organic. This paper introduces the basic constitution and visualization process of VTK. Furthermore, the reconstruction method of ultrasound blood vessel images based on C++ is realized under the environment of Microsoft Visual Studio 2010.

3D reconstruction, VTK, ultrasound blood vessel, visualization

1006-6586(2017)09-0012-03

R814.4

A

2017-04-12

郭灿柱,杨涌元,汕头大学电子工程系研究生;庄哲民,汕头大学电子工程系教授;杨金耀,汕头市超声仪器研究所有限公司教授级工程师。

猜你喜欢
三维重建绘制可视化
Art on coffee cups
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三维可视化
基于Mimics的CT三维重建应用分析
软件(2020年3期)2020-04-20 00:56:34
“融评”:党媒评论的可视化创新
传媒评论(2019年4期)2019-07-13 05:49:14
放学后
童话世界(2018年17期)2018-07-30 01:52:02
基于关系图的无人机影像三维重建
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
多排螺旋CT三维重建在颌面部美容中的应用