论文部分内容阅读
锥束CT重建与CT图像可视化技术是医学辅助诊断技术中的两项重要技术。前者利用CT平板探测器所获得的二维投影求得三维物体的密度分布,从而为现代医学提供丰富的解剖学信息;后者将这个三维物体的剖面信息转变为具有直观立体效果的图像,从而辅助医生进行病灶定位,放疗规划等医疗诊断。在一个完整的CT系统中,二者都是不可或缺的。近年来,随着锥束CT系统中硬件扫描速度及精度的提高,实际生产中的效率瓶颈也由硬件设备的扫描速度转变为CT成像及绘制速度中。在诸如放射治疗监控,手术影像导航等对图像质量及成像速度方面均要求较高的场合,尽管各类精确锥束CT重建、可视化算法已为高质量CT软件的诞生铺平了道路,然而若非借助价格昂贵的专业图形显卡或图形工作站,现有加速方法往往难以满足其实时显示的需求,而商家往往也只能通过质量与效率的折中方法达到实时目的,这极大的限制了CT技术的广泛应用。因此,在保证质量的前提下,研究普通PC平台下的快速锥束CT重建与CT图像可视化加速方法具有重要的意义。图形处理芯片(GPU)并行计算能力与可编程性的飞速发展使得其于理论上成为兼顾效率与质量的可行方案。其中,基于GPU的CT重建及可视化方法逐渐成为研究热点。与传统的方法相比,此类方法利用了GPU本身的硬件特性,借助图形学高级绘制语言完成重建绘制,绘制速度快,成本低,但受到编程模型和硬件资源的限制,其往往实现复杂,灵活性较差,因此很少被用于实际系统中。2006年末,Nvidia公司推出了具有统一渲染结构的Geforce8系列GPU并引入了统一计算设备框架(CUDA),这使得GPU可最大程度的发挥其并行特性,而其用于通用计算(GPGPU)也更为高效灵活。本文研究了Geforce8系列显卡架构下的CUDA技术,首先将其应用于图像插值处理技术中的双三次B样条插值方法中,以测试GPU性能,并为后续锥束CT重建及可视化提供快速高质量的插值方法。随后就医学图像的CT重建与可视化算法给出CUDA框架下的并行设计,提出两种快速重建及绘制方法,并于普通PC平台下实现。1.基于CUDA的双三次B样条插值方法B样条插值算法中控制网格的计算及插值点与控制网格的卷积求和都在CUDA框架下的GPU上完成。首先将二者分别分解为符合CUDA编程模型的单指令多数据(SIMD)模式,并就CUDA设计的原则,针对GPU上不同存储器的特性分配线程,以供GPU并行计算。最后给出插值结果并对基于各个存储器模式下B样条插值算法性能的分析。实验表明,基于CUDA框架完成的B样条插值方法明显高于传统CPU插值方法,且该方法具有很好的易用性和扩展性。2.基于CUDA的快速锥束CT重建采用了目前实际系统中的主流算法:FDK算法,通过将其并行改造,于CUDA框架下完成重建过程。由于制约CT重建效率的关键在于后投影部分,故详细讨论了这一部分的并行设计方案,并对线程分配进行优化,于GPU上实现。该并行方案可大致分为两个步骤:一是循环将投影数据从CPU映射到GPU的纹理中,用以完成GPU上的插值运算。二是以重建数据规模为并行线程网格大小,网格中的每一线程完成每一体素后投影的计算及不同扫描角度下结果的累加,最后重建出三维物体的片层密度值。考虑到GPU本身存储空间有限,在此算法中,一个执行于GPU端的kernel仅用于完成一个角度下整个3维数据场的重建,而角度迭代的总次数交由CPU端控制。实验表明,基于CUDA框架完成的快速CT重建方法效率明显的高于普通CPU下的重建方法,在普通PC平台下,该算法对分辨率为256*256*256的高质量CT实时重建是十分有效的,而对于分辨率为512*512*512的体数据规模,重建已近乎实时交互,而其性能也有极大可能通过采用价格低廉且具备128个流处理器的GTX 8800显卡得到迅速提升,从而使得匹配于目前快速硬件扫描系统中的CT流式工作计划成为可能。且由于重建时间短,而CUDA编程较为灵活,此法可扩展至种精确的CT重建迭代算法中。3.基于CUDA与openGL交互的体绘制采用了绘制质量较高的光线投射算法,以显示绘制结果的像平面为一个并行网格,网格中每一线程用于计算一条光线上的投射结果。利用CUDA进行线程优化设计,同时将视点位置,旋转参数等放置于openGL中,并通过CUDA与openGL的交互性能实现当前视点设置下的光线投射算法,以便于交互显示。整个光线投射过程于GPU上实现。实验结果表明,对于规模为512*512*512的临床数据,CUDA框架可实现灵活的实时绘制方式,并就phong光照模型下的绘制达到实时显示的效果。同时,即使对于更为细密的采样间隔及分辨率较高的实时显示,CUDA也可胜任。这使得更为精确的体绘制算法及传递函数设计于CUDA上实现成为可能。而同时,由于CUDA可与openGL等图形API进行交互,用户可通过设置openGL参数设置视点,并通过openGL的各个显示参数以较好的观察角度对三维模型进行实时观察,达到更为友好的界面显示效果。