论文摘要
三维可视化技术是医学图像领域的一个研究热点,它涉及计算机图形学、数字图像处理、生物医学等背景知识,是多学科交叉的研究领域。医学图像所用的数据一般较大,而随着CT、MRI等医疗设备的更新换代,所产生的医学图像数据分辨率将更高。对于这样庞大的数据,现有的基于CPU计算平台的可视化算法均难以达到实时交互显示的效果,而早期的GPGPU(基于GPU的通用计算)加速的可视化算法虽然能够显著提升绘制速度,但存在着GPU硬件架构不适用于通用计算,编程困难,以及纹理限制无法加载较大规模的医学图像数据等不足,因此并没有很好的解决三维可视化实时交互的问题。CUDA(统一计算设备)是NVIDIA推出的GPU通用计算产品,它的编程更简单,功能更强大,架构体系也更加适用于GPU通用计算,而基于CUDA实现的三维可视化算法较好地解决了传统GPU加速存在的缺陷,达到了很高的实时交互速度以及不错的绘制质量。本文研究和总结了CUDA的体系架构模型,并围绕着CUDA应用于三维医学图像体绘制技术展开了深入的研究,其中重点研究了光线投射法与错切变形法在CUDA上的实现。另一方面,针对切片间距过大时导致的绘制图像出现条纹现象的问题,常见的插值方法比如线性插值、最近邻插值的改善作用十分有限,本文研究如何使用径向基函数进行切片层间插值以抑制条纹现象。本文的主要内容有:1.实现了一种基于径向基函数的切片层间插值方法。该方法使用Multiquadric函数作为径向基函数,并沿着垂直于切片层的方向,取相邻连续的原始样点,构造插值函数,再由此函数得到插值切片,最后构成新的三维体数据。实验结果表明,径向基函数插值对绘制图像的效果改善很显著,条纹现象得到了有效抑制。2.研究和实现了基于CUDA的光线投射算法。该方法将CPU与GPU进行协同工作,并将光线采样这一高度并行的过程交由GPU来处理。体数据被绑定在CUDA的纹理存储器中,通过特定的算法确定光线在体数据中的采样位置,而对采样点的三次线性插值以及灰度到RGBA的映射均由纹理存储器的滤波功能自行完成。整个过程在CUDA体系架构下变得方便迅捷。3.改进并实现了基于CUDA的错切变形算法。针对CUDA的架构体系,对原始的错切变形算法做了改进,将算法中两次二维采样过程缩减为一次,详细推导了坐标系间变换的公式;考虑到CUDA线程非同步的问题,摒弃了原始算法采用的查找表的方法,并使用纹理存储器进行线性插值,充分利用了CUDA提供的资源。实验结果显示,在多线程并发执行下,绘制速度非常快,完全能够进行实时交互,绘制质量也很不错。