基于gpu的三维医学图像混合可视化系统的制作方法

文档序号:8283117阅读:376来源:国知局
基于gpu的三维医学图像混合可视化系统的制作方法
【技术领域】
[0001]一种关于计算机领域中的三维图像技术方面的领域。
【背景技术】
[0002]从20世纪70年代末开始,许多数据场可视化绘制方法被提出并成功地应用于医学领域。目前许多医学图像处理系统,例如三维放射治疗计划系统、虚拟人体系统、计算机辅助手术导航系统、医学影像工作站等,都包含了三维图像的显示部分,但各个部分都是单独重新构造的。一些已经开发的专用体视化系统,由于其不具有医学图像三维显示的所有功能,同时又缺乏一定的开放性与扩充性,很难作为二次开发的工具。
[0003]三维数据场的可视化方法主要有面绘制和体绘制两类]。面绘制可以有效地绘制三维物体的表面,但缺乏内部信息的表达;体绘制以体素作为基本单元,直接由体数据生成最终的图像,也称直接体绘制,其能够表示对象体的内部信息,但是计算量很大,尽管采用了许多种加速算法,仍然不能在普通PC机上实现中等规模体数据(比如医学三维数据)的实时动态显示。近年来,在游戏和娱乐市场的巨大推动下,PC图形硬件方面的技术不断进步,性能不断提高,许多原来只有在高档图形工作站的三维纹理映射硬件才具有的三维纹理映射功能,在为普通PC机配备的中高等显卡上也已具备。用三维纹理映射功能来进行体数据的直接体绘制,可以在达到同等效果的前提下,大大提高绘制速度。在医学领域的实用系统中,这两种显示方法都很有必要,将两种绘制结果混合显示可以充分发挥各自的优势,丰富图像信息。Kreeger[ 2 ]等采用硬件三维纹理映射与Z2Buffer实现了混合场景的绘制,虽然可以进行快速的渲染,但由于采用了 Pre2Shaded技术,从而导致结果图像质量不高。新一代图形处理器的可编程渲染器改变了以往GPU固定管道线的绘制方式,使得程序员能够干预图像生成过程。

【发明内容】

[0004]新一代图形处理器的标志是提供了图形硬件的可编程能力,即集成了对三角形顶点进行几何变换和光照计算的点元渲染器(V ertex shader)和对像素进行着色的片元渲染器(F ragm en t shader或P ixel shader)。可编程渲染器并没有完全替代传统处理器中的顶点管道和像素管道的固定处理单元。
[0005]为了利用现代图形处理器的可编程性,图形程序员需要编写在图形处理器上运行的程序,这种程序称为着色程序(Shader)。图形处理器通过通用的3D A P I (DirectX50 penGL )向图形程序员提供可编程能力。为了与面绘制部分保持一致,本文采用OpenGL接口实现着色程序。
[0006]在体积绘制中最重要和最大的工作量就是采样和插值计算。由于体积数据本身就是一种采样后得到的离散数据,这个过程也称为重采样。为了绘制出一幅高质量的体积图像,这些重采样点的对应数值需要仔细地计算。把体积数据作为三维纹理,可以利用图形硬件的纹理插值功能,快速得到重采样点的数值。
[0007]三维数据场的分类是指将传输函数作用于体数据,给体数据各点赋颜色值和不透明值。分类是整个可视化算法中非常重要的一步,只有对三维数据值进行正确的分类,才能经过后续处理得出合理的图像。分类方法主要有插值前分类和插值后分类[7 ]。在基于三维纹理的直接体绘制中,如果采用插值前分类方法,作为三维纹理的是已经对体数据分类好的颜色值和不透明度值,不仅需要4倍的存储空间(R,G,B,A四个通道,即体数据大小3 4),而且采样时插值的对象是颜色值和不透明度值,而不是原始的体数据值,会降低最终的图像质量[7 ]。插值后分类需要把原始的体数据作为三维纹理,这样采样的对象就是原始体数据,采样点分类后再参与图像合成。
[0008]插值后分类需要在提取纹理之后再对其作用传输函数,得到与之对应的RGBA值,这在原始的固定图形渲染管道中是无法实现的,因为程序员无法在纹理采样后插入一个步骤再送入帧缓存参与融合,本文使用的Gefo rce 6800图形卡已经具有可编程功能,利用可编程功能可以很方便地实现插值后分类方法。
[0009]图形卡的片元处理器具有纹理提取指令,插值后分类可以用纹理依赖提取实现,纹理依赖提取示意图如图3所示。即将第I个纹理的值作为下一个纹理的坐标来提取纹理,因此可以把三维体数据纹理作为第I个纹理,传输函数以第2个一维纹理(一维传输函数)或二维纹理(二维传输函数)的方式表示,传输函数以二维纹理方式表示。这样提取到的第I个纹理的值是纹理插值后的值,以这个值去提取第2个纹理相当于作用传输函数进行分类,从而实现了插值后分类。用GL SL写P ixelshader,其代码是vec4 index = tex tu re3D (m y3DTex tu re, gl_ TexCoo rd[0 ])。
[0010]gl- F ragCo 1 r= tex tu re2D (Dependen tTex tu2 re, index, x, index.y) °
[0011]传输函数一直以来都是直接体绘制的重要问题。它主要映射了纹理标量值到RGBA的颜色形式,是决定某些重要结构和细节显示的关键。通过修改依赖纹理可以实现传输函数的实时交互修改。
[0012]一、表面提取;
表面绘制就是将数据场中感兴趣的部分提取出来并以面片的方式表达,常用的是等值面。提取等值面的方法分为两类:(I)切片级重建方法,即先在一系列切片上生成等值线,然后连接等值线得到等值面;(2)体素级重建方法,即直接从体数据中抽取等值面。第I类方法由于在切片上生成等值线方法很多,所以灵活性好,但是等值线对应和拼接以及对分叉情况的处理都比较困难。第2类方法中最有代表性的是文献[8 ]提出的M arch ing Cubes 算法。
[0013]二、组织管理;
组织表面可采用多种方法提取,从一个体数据中可提取出若干组织,所以对这些组织的管理并按照其相对坐标正确显示显得非常重要。场景图提供了一种很好的数据管理方式。场景图是指一种数据结构,场景图是有向无环图,由各个节点连接而成。场景图的节点分为组节点和叶子节点,组节点为整个场景图的骨架,而叶子节点则包含了形体对象、属性等具体信息。整个场景图只有一个根节点,代表整个体数据,而提取出的各个组织作为其子节点。如果某些组织作为一个整体,可以把这些组织挂在同一个组节点下,在把该组节点作为一个子节点放入根节点下。基于场景图的这些特点,本文设计的可视化系统应用场景图进行组织管理。
[0014]三、面绘制和体绘制的结合;
面绘制可以简洁地反映复杂物体的三维结构,但是面绘制技术绘制的是从体数据中提取的表面,不能全面表达三维体数据中所包含的信息;体绘制直接从体数据中计算得到最后图像,但是基于体绘制方法绘制等值面需要有表面的法向量信息,将体元的灰度梯度存储在三维纹理数据中的RGB分量中,灰度值存储在A Ipha分量中,然后利用硬件支持的A Ipha test功能来显示等值面,这种方法非常有效,但是需要比单纯存储灰度值多出3倍的显存空间消耗。本文采用面绘制方法绘制等值面,采用体绘制方法表达体数据的其他信息,利用GPU的可编程特性将两种图像混合显示,这样不需要在三维纹理数据中存储梯度值,只需要存储灰度值,节约了显存空间,而且能够同时显示表面和内部信息。这种面绘制和体绘制相结合的绘制方法,可以有效地保留面绘制和体绘制的优势。
[0015]基于三维纹理映射体绘制的基本原理是应用显卡的A Ipha混合技术,对代理几何面采样数据进行从后向前(或从前向后)的融合,从而近似实现直接体绘制算法中的积分函数。而面绘制方法则是采用三角面片逼近等值面,利用显卡的固定渲染管道进行表面渲染。由于这两种绘制方法在绘制时候的OpenGL状态参数不一样,直接进行混合绘制可能会导致只有一种绘制结果正确显示或者没有图像绘制到屏幕,本文应用显卡的Render2to2tex tu re功能和GPU的可编程特性解决这个问题。Render2to2tex tu re功能利用Render to target扩展实现,就是把绘制结果输出到纹理单元,从而可以作为片元渲染器的输入纹理,再次参与运算。
【主权项】
1.基于GPU的三维医学图像混合可视化系统其特征是基于GPU的直接体绘制,基于三维纹理映射的体绘制,插值后分类。
2.根据权利要求1表面绘制就是将数据场中感兴趣的部分提取出来并以面片的方式表达,常用的是等值面。
3.根据权利要求2提取等值面的方法分为两类:(I)切片级重建方法,即先在一系列切片上生成等值线,然后连接等值线得到等值面;(2)体素级重建方法,即直接从体数据中抽取等值面。
4.根据权利要求3则由于在切片上生成等值线方法很多,所以灵活性好,但是等值线对应和拼接以及对分叉情况的处理都比较困难。
5.根据权利要求3则最是March ing Cubes算法。
【专利摘要】实现了一个基于GPU的医学图像混合可视化系统,该系统采用三维纹理映射的方法实现直接体绘制,利用GPU的可编程特性完成体绘制方法中的插值后分类算法和传输函数的传递及实时修改,采用OpenGL技术实现表面的绘制,并基于场景图结构实现对表面数据的管理。面绘制和体绘制部分都采用OpenGL实现,运用OpenGL的融合机制,系统实现了面绘制和体绘制的混合显示。本系统大大提高了体绘制的速度,有效地保留了面绘制和体绘制的优势,在保证绘制速度的基础上丰富了图像信息。
【IPC分类】G06T15-00
【公开号】CN104599311
【申请号】CN201310528014
【发明人】不公告发明人
【申请人】镇江华扬信息科技有限公司
【公开日】2015年5月6日
【申请日】2013年10月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1