- 鉴于特殊的医学影像迅速切割计算
-
文章来源:中国切割机网
-
前言在体绘制中,切割是一个重要的交互操作,由于许多重要的、医生感兴趣的细节信息(如病变器官及其周围组织)在体数据内部,要对这部分进行观察,需要对体数据进行切割,除去其外部结构;另外,进行手术模拟也需要对体数据进行切割。目前的大多数交互式体切割算法中,用户都很难随意地对数据体进行切割,也正是由于这个原因,切割方法的研究受到了众人的关注。科研人员经过不懈的努力,提出了一些有效的方法来进行体数据切割。
(a)正交剖切维数据切割,文中将基于深度缓存的方法和基于切割几何体的方法与硬件加速结合起来,从而实现三维医学图像数据的切割。传统的体数据的切面显示技术都需要通过复杂的计算,以此来构造新的几何体表示切割后的三维对象,当修改或者重新进行切割操作时,需要恢复原始数据,并重新构造三维对象和切面纹理,然后将纹理映射到新构造的几何体上。本文在基于GPU加速的光线投射算法的基础上,通过判断体绘制数据与切割面在世界坐标系中的位置关系,直接跳过被切割掉的数据场部分,只对其有效部分进行重建。当修改或者重新进行切割操作时,本文方法不必进行数据的恢复、三维对象和切面纹理的构建等操作,从而大大提高了绘制系统的实时性能。
1体切割算法及实现实现立体切割的关键是判断图元是否在切割体的内部。
显示方式,包括正交剖切显示、任意斜面剖切显示以及任意曲面的剖切显示。在三维空间的剖面切割中,也可以用上述三种方式对数据场进行切割,并通过相同的方法来确定剖切面在世界坐标系中的位置。在通常使用的基于硬件加速体切割算法中,常使用深度缓存来完成该判断,即在执行体重建算法时对每个图元进行深度比较操作,根据需要来切除和保留图元。本文算法中通过判断体绘制数据与切割面在世界坐标系中的位置关系来决定图元的取舍,与使用深度缓存的方法相比更加简单易行,也更加精准。
空间平面的一般方程为Ax By Cz D0,其中x,y,z的系数就是该平面的一个法线向量n的坐标,即n(A,B,C)。另外当A、B、C、D中有0值存在时,平面会有一些特点。当D0时,方程变为Ax By Cz0,它表示一个通过原点的平面。当A0时,方程变为By Cz D0,法线向量n{0,B,C}垂直与X轴,方程表示一个平行于X轴的平面。同样,方程Ax Cz D0、Ax By D0分别表示一个平行于Y轴和Z轴的平面。当AB0时,方程变为Cz D0,法线向量n{0,0,C}同时垂直于X轴和Y轴,方程表示一个平行于XOY面的平面。同样,方程Ax D0、By D0分别表示平行于YOZ面和XOZ面的平面。而当A、B、C、D均不为0时,可将平面化为其截距式形式:x-DA y-DB z-DC1现调用图形API函数SetValue将A、B、C、D的值传入着色器,接着在着色器中进行数据场采样点和剖面位置关系的判断。根据判断出的采样点和剖面的空间位置关系,来决定是否保留该采样点。对于需保留的采样点,通过依赖纹理提取获取其RGBA值,并接着进行下一步的图像合成过程。对于需要剔除的点,将其颜色值和不透明度值都设置为零,这样该采样点就不会对终的图像结果有任何贡献,从而可以达到体切割的目的。
根据基于GPU的光线投射算法和切割算法的原理,本文对体切割算法作了实现。该过程主要包括三个主要步骤:外围程序的准备工作,顶点着色器的编写和像素着色器的编写(如图2)。
首先在外围程序中采用绘制到纹理技术,将颜色立方体的前、后表面分别绘制到一幅纹理中保存起来,以便在像素着色器中对其进行快速访问。通过调用CreateVolumeTexture创建一个三维纹理,并将其与三维数据场进行绑定,在像素着色器中,可以通过调用采样器来索引该三维纹理,以此来获取所需的数据。为了快速地将从数据场中获得的体素值转化为相应的灰度值或RGB颜色值,需要将传递函数表作为2D纹理载入显存。
顶点着色程序同基于GPU的光线投射算法的顶(b)任意斜面剖切(c)任意曲面剖切点着色程序基本一致。在程序的编写中,为了保持着色器输出的纹理坐标与先前的纹理坐标相一致,需对输出的纹理坐标做如下操作:Out.TexCoor.x(Out.Pos.x 1)/2;Out.TexCoor.y(Out.Pos.y 1)/2;Out.TexCoor.y1-Out.TexCoor.y;式中Out.TexCoor.x和Out.TexCoor.y是由顶点着色器输出的纹理坐标,Out.Pos.x和Out.Pos.y为由顶点着色器输出的顶点坐标。
像素着色器的编写为该程序的核心部分,光线投射算法中采样、插值、分类、合成运算、对体元的光照渲染以及对有效切割体的判断全在这部分程序中实现。在像素着色器中将由外围程序传进来的A、B、C、D的值代入不等式Ax By Cz D>0,判断该不等式的真假,若为真,则剔除该体素,否则保留它。实现该判断的伪代码如下,其中Wp内保存着当前体素的世界坐标值:tempA*Wp[0] B*Wp[1] C*Wp[2] Dif(temp>0)剔除该体素else保留该体素2实验结果及分析本文实验所用的数据为16位高分辨率CT图像的Dicom数据集,所用的硬件配置如下:CPU为Intel(R)Core(TM)2Quad2.4GHz,2.4GHz;内存为2.0GB;GPU为NVIDIAGeForce9800GX2(显存1.0GB)。实验中着色程序采用绘制语言HLSL编写,API采用DirectX9.0c,程序框架采用C 语言编写。
通过旋转颜色立方体,可以得到任意角度的重建效果图,切割后人头正、背面图,切割前人头左侧面图,切割后人头左、右侧面图,其中剖切平面方程为:x y z 0.10从图中尤其是切割后的人头背面图和人头左侧面图,可以清楚地看出脑颅内一些骨骼组织的精细纹理信息,所以说本文算法能够重建出质量较高的图像。
在其他的基于深度信息或是区域标识的体切割算法中,都需要耗费一段时间用来将切割后的数据重新装载到图形硬件中,而在本文算法中,只需一次装载纹理。当切割平面发生变化时程序会自动调用SetValue对着色器中的剖切平面进行更改,而不是对装载到显存的由体数据映射来的3D纹理进行更改。
对512×512×220的体数据,用本文算法进行切割的速度为4.35帧/秒,可以达到实时交互的要求。
3结论本文提出了一种基于GPU的快速体切割算法,通过切割算法和基于GPU的光线投射算法的结合,实现体数据的快速切割。该方法不同于以往基于深度模板信息的体切割,在定义好切割平面后,可从任意角度对保留下来的有效体数据的重建结果进行观察。
由于重建速度比较快,该算法可用于体数据内部结构的信息分析。在将来的工作中,可以对该方法作更为细致的研究,以此来获取更快捷的交互速度、更灵活的交互方式以及更高的图像质量。
佳值和图像分辨率、实体半径等密切相关。
3讨论与展望该模拟软件能够在计算机上快速地实现对标准体模的反投影滤波图像重建,使得星状伪影非常直观,加入滤波函数后,滤波效果非常明显。该软件的开发研究对于医学影像物理学的教学和科研是有意义的:(1)在医学物理学理论课和实验课的教学中,CT技术的原理是重点也是难点,该模拟软件可以直观地展示星状伪影及滤波效果,使学生更好地学习CT技术的原理。
(2)该模拟软件具有一定的科研应用价值,通过选择不同的投影算法、滤波函数,可以改善图像质量,也可尝试一些新的投影算法、滤波函数,这对CT技术的发展是有益的。
-
- 水切割机工作原理及应用领域 (9-13)
- 激光切割机使用注意事项 (9-13)
- 等离子切割机日常保养知识:延长寿命,保证效果! (9-13)
- 火焰切割机使用注意事项及安全指导 (8-22)
- 焊接机的日常保养知识与技巧 (8-22)
- 切割机的组成和工作原理 (8-22)
- 焊接机器人激光-电弧复合焊 (11-19)
- 2018年1-8月全国焊接钢管产量为3191.2万吨 同比增长9%.. (11-19)
-
- 深圳市莱雷科技简述-瓶装天然气替代乙炔切割新技术.. (12-19)
- 时代是中国焊接产业振兴的中流砥柱和旗帜.. (8-5)
- 大族粤铭应邀参加《第十五届中国口腔设备材料展览会暨技术交流会.. (6-19)