论文部分内容阅读
医学图像的三维重建及可视化技术是计算机技术在生物医学工程领域中的重要应用。它利用医学影像作为原始数据,涉及数字图象处理、计算机图形学以及医学领域的相关知识,为现代医学提供具有真实感的三维立体影像。在保证绘制质量和速度的前提下,现有的三维可视化方法大多需要借助价格昂贵的专业图形加速卡或图形工作站,因此研究普通PC平台上的实时的三维重建及可视化技术具有重要的意义。图形处理芯片(GPU)并行计算能力和可编程性的快速发展使GPU用于通用计算(GPGPU)逐渐成为研究热点,其中基于GPU的三维可视化方法使普通PC上医学图像实时绘制成为可能。与传统的绘制方法相比较,此类方法充分利用了GPU的硬件特点,借助高级绘制语言完成重建和显示,绘制速度快、成本低。但受编程模型和硬件资源的限制,其往往实现复杂,稳定性差,很少被用于实际应用系统。2006年末,Nvidia公司推出了具有统一渲染架构的GeForce 8系列GPU,该系列GPU全面支持DirectX10,并引入了统一计算设备架构(CUDA)的概念,使得GPGPU的实现更加高效和简单。本文将讨论GeForce 8架构下的GPGPU技术,在其基础上对医学图像面绘制和体绘制方法进行研究,提出两种新的快速重建算法,并在普通PC平台上给出实时绘制结果。1.基于几何着色器的快速面绘制面显示的全部流程在Shader Model 4.0绘制管线上完成,主要分为两步:一是基于几何着色器的Marching Cubes(MC)重建算法,该方法用三维纹理作为数据载体,利用了几何着色器的数据批处理能力加速运算,每次几何着色运算在一个立方体中提取等值面并输出三角形带;第二步是在片段着色器上采用Phong光照模型对生成三角形渲染显示。面绘制采用高级绘制语言GLSL,建模和显示过程均在GPU上完成,对CPU的依赖低。实验表明,本方法可在通用PC平台上对大规模体数据集完成快速建模和显示。2.基于CUDA的并行体绘制算法首先将传统的光线投射法(Ray Casting)改造成可在GPU上并行处理的单指令多数据流(SIMD)模式,而后根据CUDA的设计原则对数据存储和线程分配进行优化,其中临时双层共享存储器设计用以在采样过程中加速数据的读写速度,基于图像空间的多线程分配原则用以充分发挥GPU的并行计算能力。该算法指定投影空间发出光线,分配的每一个线程用来完成一条光线方向上的计算,耗时的三线性插值和图像合成运算均通过并行计算完成,节省了运算时间。整个过程使用GeForce 8平台上的并行编程工具CUDA完成,运算过程无需与CPU进行通讯,对于512×512×400规模的人体CT数据可实时显示。