基于面绘制的心脏三维数据可视化方法研究

2017-09-15 11:05李龙威
黑龙江八一农垦大学学报 2017年4期
关键词:等值立方体顶点

李龙威

(黑龙江八一农垦大学信息技术学院,大庆 163319)

基于面绘制的心脏三维数据可视化方法研究

李龙威

(黑龙江八一农垦大学信息技术学院,大庆 163319)

针对目前体绘制方法存在着绘制速度慢,计算开销大,交互时间长等问题,提出了基于面绘制,结合VC 6.0下OpenGL图形库开发运行环境进行的心脏三维数据可视化方法研究,并针对生成的三维模型进行任意点或面的剖分,实现心脏内部某一指定位置的定位观察。通过实践,研究使用的方法能够有效地解决心脏三维数据的可视化问题,同时,可在三维空间内任意对心脏模型进行剖分,创建的三维图像清晰的显示了心脏内部结构,实现了心脏任意位置的三维定位观察。

三维数据;可视化;面绘制;OpenGL;心脏

目前,对医学影像数据的三维可视化研究是科学计算可视化技术领域的一个重要分支[1-2],是辅助诊断和辅助治疗的重要手段,近年来已成为研究和应用的热点[3]。随着CT,MRI技术的应用,心脏成像和可视化技术在心脏类疾病诊断中发挥着越来越重要的作用[4]。但是,由于目前医学影像数据集的数据量大,使得心脏数据三维可视化技术面临巨大的挑战。

现有的三维可视化绘制方法可以归纳为两种:表面绘制(Surface Rendering)和体绘制(Volume Rendering)[5]。在这两种方法中,体绘制是将三维空间的不同类别个体的数目所得到的数据直接转换生成最终的立体图像,不必生成中间由点、线构成的几何图元,并最终以计算屏幕上每一个像素的光强度值来实现三维绘制。由于体绘制在计算中需要对所有数据进行大量的处理和运算,大大增加了体绘制的计算开销,导致了图像绘制速度比较慢,从而很难达到实时交互的效果;而面绘制的宗旨是通过对一系列二维图像处理、还原物体的三维模型,并以表面的方式显示出来。由于面绘制的数据量较小,因此运行速度较快,更适合实时交互。同时,从交互性能和算法效率的角度来讲,基于现有的硬件平台,三维可视化的绘制方法中面绘制要远优于体绘制[6]。目前,关于面绘制方法的研究较多,例如:宫法明等[7]提出的基于DMC算法的医学三维重建模方法,利用插值位置取代,连接等值点生成多边形网,实现三维模型的重建;吴健等[8]提出的基于面绘制实现了医学图像的可视化;刘宏等[9]提出了有理函数插值方法,实现了序列图像高精度面绘制;车武军等[10]应用势函数及光线投射原理实现了体数据的面绘制等等。然而在这些关于面绘制方法的研究中,大多只集中于表面绘制效果的研究,很少有基于面绘制方法来实现体数据的内部数据绘制,更没有关于模型内部任意位置剖分的研究。

因此,基于人体心脏的三维体数据,在VC6.0和OpenGL图形库开发环境中,运用面绘制的方法生成三维心脏模型,实现三维空间内心脏模型的交互式旋转、缩放等功能,并对心脏三维模型实现了任意位置的剖分,将心脏内部结构或病变体更清晰、全面地展示给人们,提高了医疗诊断的准确性和正确性。

1 面绘制理论

医学图像数据本质上是一个多媒体的数据库,是搜集离散数据的数据场,其中每个像素的值为fi,j,k= f(xi,yj,zk),(i=1∶Nx,j=1∶Ny,k=1∶Nz)。在医学图像领域,将相邻层上每四个像素组成的立方体被称为立方体体元(cube),每个立方体体元上需要由八个顶点构成,并设定临界值,这个设定的临界值将满足{(x,y,z)|f(x,y,z)=c0}的点集合。假设,其中一个顶点的函数值为f≥c0,则该顶点位于等值面之内(+)。若f≤c0,则该顶点位于等值面之外(-),如图1所示。

图1 立方体体元Fig.1Cube vexel

基于面绘制的物体三维可视化,其根本在于在目标区域内,根据已有的灰度级别,通过构造等值面,绘制出于灰度级别相对应的组织或器官的三维几何模型[11]。其基本思想是将数据体中所有等于给定数据值的数据点查找出来,定义为一个或多个曲面,被称之为等值面。等值面的构造是从体数据中恢复物体三维描述的常用方法之一。20世纪80年代,W.Lorensen等[12]提出的Marching Cubes算法算是面绘制方法中最为经典的一种。该算法的基本思想是“体元遍历→得到等值面→拼接拟合等值面”。首先,在立方体体元中以扫描线的形式进行处理,并在体元的12条边线上根据已知八个顶点的数据值与给定数据值的关系寻找近似的等值点,根据顶点的+或-情况,通过运算得到体元与等值面相交情况可达256种,其中对称相交方式可以将256种情况缩减到15种。

在已知等值面(三角形等值面)的情况下,只需得到顶点的空间坐标和三角形的法向量,便可显示出等值面片,并利用线性插值方法可计算出等值面与立方体边的交点的空间坐标。

公式(1),(2)和(3)中c0为等值面阈值。公式(1)中相交的两个端点为v1(i,j,k),v2(i+1,j,k),公式(2)中相交的两个端点为v1(i,j,k)v2(i,j+1,k),公式(3)中相交的两个端点为v1(i,j,k)v2(i,j,k+1)。

对于等值面上的每一点的梯度矢量的方向可以代表等值面在该点处的法向。即

通过计算立方体体元顶点的梯度值,与计算线性差值得到的三角形顶点的法向量相计算,便可得到三角形的法向量。通过法向量与立方体交点所形成的三角形面片,进行光照渲染,最终形成了表面模型。

体元顶点的梯度用中心差分法计算如下:

2 心脏数据三维可视化及切面

基于Marching Cubes算法,将实验中所有的人体心脏MRI组织切片数据读取进来,提取所有的立方体体元。然后分别处理每一个Cube,得到等值面(即三角形),计算表面法向量,根据三角形顶点和法向量使用OpenGL绘制出心脏三维模型,并且对生成的三维模型进行旋转、缩放等交互式操作以及任意位置切面剖分。

2.1 心脏数据三维可视化

所使用的实验数据均由487张469×325像素的人心脏MRI组织切片数据所组成的。借鉴W. Lorensen等人的Marching Cubes算法,整体实现过程可以描述为:随机读取两张切片,每两张切片可形成一层;将每层相对应的四个点绘制成一个立方体体元;按照先左右,后前后的顺序处理隶属于相同层的体元。部分MRI组织切片数据如图2所示:

图2 部分人体心脏MRI切片数据Fig.2The part of cardiac magnetic resonance imaging slices

在OpenGL中进行运用MC算法,实现心脏数据三维可视化的过程如下:

{

(1){建立基于OpenGL的图形编程环境;

(2)读入切片序列生成数据;

(3)参考Marching Cubes算法,选取数据场所有顶点属性的信息和三角面的顶点坐标;

(4)在OnDraw函数对应用程序窗口的客户区进行绘图时调用OpenGL函数设置图形的属性及参数;

(5)在OpenGL下使用多边形绘制方法(glDrawElements),绘制出三角形面片的等值面。

}

运用MC算法进行人心脏三维数据的可视化,通过鼠标实现交互式旋转、缩放等操作,将人心脏三维数据直观地再现成三维图像,医生可以从多角度,任意位置对心脏进行观察。实验结果如图3所示。

图3 人体心脏三维数据可视化效果Fig.3Heart of three-dimensional data visualization

2.2 心脏切面

在贾延延等[13]的研究中,利用VTK中已有的vtkImageReslice类实现标准切片显示,利用vtk-PlaneWidget类和光线投射算法来实现标准切面及心脏剩余部分的显示。但是,这种方法基于VTK技术和体绘制方法,切分操作会受到一定因素的限制,同时重绘速度相对较慢。

为了更好地解决对心脏内部的定位观察问题,研究通过定义裁剪平面,实现任意位置对生成的三维心脏模型进行剖分处理,对切分后的心脏剩余部分进行三维显示。这样医生可以更加清晰、方便地对心脏内部某部位进行观察,准确、直观地定位病灶,达到良好的观察效果。

研究通过交互式鼠标点击来确定切平面的大小及位置,如图4所示。

图4 心脏数据切面Fig.4Heart data section

切除后剩余部分的心脏剖面内部细节及结构特征可清晰地展现出来。该部分实现的算法如下:

(1)获取鼠标点的三维坐标,将其存储在数组中;

(2)根据数组中的点创建切平面;

(3)在OpenGL中利用glClipPlane来实现裁剪效果;

(4)设置切面颜色;

(5)将裁切后的心脏剩余部分模型及切面进行显示。

根据上述算法设计并实现了心脏切片数据的横断、冠状,矢状等位置的标准切面图,同时实现了心脏三维任意切面以及任意角度的虚拟展示,图5为三维心脏数据的标准切片图。

图5 人体三维心脏标准数据切片图Fig.5Heart of three-dimensional data standard section

3 实验结果与分析

实验开发平台为Microsoft Visual C++6.0结合OpenGL,所使用实验数据为469×325×487的人体心脏MRI组织切片数据。计算机配置为Pentium(R)4 CPU 3.00 GHz,1.00 GB内存,操作系统平台为Windows XP。图6为面绘制方法得到的实验效果图。

图6 虚拟心脏三维重建效果图Fig.6Sketch of virtual heart three-dimensional reconstruction

从图4可以得出,MC面绘制方法得到了对心脏表面数据进行了较好的三维重建,图形效果好,能够准确地反映出人心脏三维形态,并且渲染的图形较为平滑,可细致地表示原始数据。

4 结论

根据MC算法原理,在使用面绘制算法的基础上,保证了运行速度又结合心脏数据的特点。通过提取人体心脏切片数据,处理每一个切面并计算表面法向量,实现对人体心脏三维模型重建;使用Microsoft Visual C++6.0与OpenGL开发环境进行多边形绘制,增强了整体绘制效果。经实践表明研究方法实现了对人体心脏三维可视化的实时绘制,直观展示了人体心脏全貌,并设计实现了心脏任意方位的切面显示,更有效的辅助医学诊断,为今后的医疗数据三维重建提供了重要的参考。

[1]LEVOY M.Display of surface from volume data[J].IEEE Computer Graphics and Application,1988(3):29-37.

[2]王军.科学计算可视化及其在医学上的应用[J].医学信息,1998,11(12):16-17.

[3]边琼芳.基于面绘制技术的医学影像立体显示[J].电脑知识与技术,2009(3):685-687.

[4]刘金明,刘桂阳.基于GPU光线投射算法的心脏体数据可视化[J].黑龙江八一农垦大学学报,2013,25(6):78-81.

[5]李晓飞,李鹏飞.基于SIFT的伪造图像盲检测算法[J].长春大学学报,2014,24(10):1354-1357.

[6]胡战利,桂建保,周颖,等.基于面绘制与体绘制的CT可视化实现方法[J].微计算机信息,2009,25(12):107-108.

[7]宫法明,赵兴龙.基于MC算法的医学建模方法与研究[J].微计算机应用,2010,31(4):6-10.

[8]吴健,徐靖,租海涛,等.基于面绘制的医学可视化研究[J].计算机科学,2009,36(4):56-57.

[9]刘宏,闵曙辉.序列图像的高精度面绘制方法[J].中国传媒大学学报:自然科学版,2010,17(3):28-32.

[10]车武军,杨勋年,陈凌钧,等.一种体数据面绘制算法[J].计算机辅助设计与图形学学报,2001,13(8):757-761.

[11]姜赟.基于面绘制的图像三维可视化算法研究[D].成都:电子科技大学,2007.

[12]Lorensen W E,Cline H E.Rarching cubes:a high resolution 3D surface construction algorithm[J].Computer Graphics,1987,21(4):163-169.

[13]贾延延,杨飞,左旺孟,等.基于VTK的虚拟心脏切面交互式可视化方法[J].哈尔滨工业大学学报,2010,42(5):770-774.

Visualization Method Research of 3D Cardiac Data Based on the Surface Rendering

Li Longwei
(College of Information and Technology,Heilongjiang Bayi Agricultural University,Daqing 163319)

In this research,the 3D visualization method based on surface rendering and VC6.0 under the environment of OpenGL graphics library was proposed,which could be used to solve the problem of slow rendering,high computational cost and long interaction time in volume rendering.It could realize the generated three-dimensional model of arbitrary division,and achieve a position within the heart of the observation.Through the practice,the method which used in this study could effectively solve the visualization of the 3D data of the heart,at the same time,in any 3D space of the heart model could be divided to create a 3D image clearly showed the internal structure of the heart to achieve the arbitrary heart position of the three-dimensional positioning observation.

3D date;visualization;surface rendering;openGL;heart

TN911.73

A

1002-2090(2017)04-0105-04

10.3969/j.issn.1002-2090.2017.04.024

2016-03-15

李龙威(1988-),女,助教,英国伦敦艺术大学毕业,现主要从事计算机多媒体方面的研究工作。

猜你喜欢
等值立方体顶点
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
过非等腰锐角三角形顶点和垂心的圆的性质及应用(上)
异步电动机等值负载研究
内克尔立方体里的瓢虫
基于共同题非等组设计的等值结果评价标准研究综述
图形前线
立方体星交会对接和空间飞行演示
折纸
测验等值:新一轮高考改革的技术问题
电网多区域多端口参数等值方法及其应用