基于GPU并行计算的X射线动态显微CT的快速重构
【摘要】:近年来,随着第三代同步辐射装置的广泛使用,X射线成像线站的光子通量密度得到了极大的改善,为实现X射线动态显微CT成像提供了条件,X射线动态显微CT成像技术趋向于更高的空间分辨率和更快的时间分辨率。上海光源成像组基于长工作距离显微镜透镜系统和互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor,简称CMOS)数字高速相机开发了快速X射线成像探测器,利用这个探测器可实现时间分辨率25Hz的X射线动态显微CT成像。一天用户实验产生的CT数据量大约500套,上海光源X射线成像线站的X射线动态显微CT用户实验在短时间内将会产生海量的投影数据。当前成像线站采用基于CPU重构程序进行CT重构,由于CPU重构程序是串行计算,重构耗时较长。因此,图像重构速度远比原始投影数据的产生速度要慢,实验原始数据将大量积压,如何实现快速显微CT重构是当前X射线动态显微CT实现广泛应用所面临的挑战。图形处理器(Graphics Processing Unit,简称GPU)因其多核架构、可大规模并行化特点在高性能计算领域得到广泛流行,将其用于CT重构可实现X射线动态显微CT的快速重构。本文采用CUDA编程标准,将滤波反投影(Filtered Back Projection,FBP)CT重构算法的反投影运算实现了并行化,并在NVDIA RTX2080的GPU上成功实现了CT重构的并行计算。论文取得的结果如下。1)基于GPU并行计算实现了FBP重构算法的加速,相比于CPU串行运算的CT重构算法,GPU并行重构算法在重构时间上提高了近200倍,将一套CT数据(800帧)的重构时间由原来的分钟级减少到了秒级,显著提升了海量CT实验数据的图像重构效率。2)发现在GPU并行运算和CPU串行运算的CT重构中采用图像反相算法对微弱信号有一定的放大作用。CT重构过程中,对于样品中细致微小的结构,重构结果信号比较微弱,重构图像的灰度值较小。借助图像反相算法,对于原本灰度值较小的像素点在一定程度上可以得到放大,进而达到增强微弱信号的目的。经过实验验证,采用图像反相算法可以提高重构切片的衬度,三维重构图像明暗变化更大,细节信息更明显。3)研究了反投影重构过程中的星状伪影现象。基于GPU并行计算重构分别选择不同的滤波器处理了同一套投影数据,对比了不同滤波器的性能差异,实验结果发现,采用Hamming滤波器滤波器处理得到的三维CT重构结果伪影较少,图像重构质量较好。4)设计了动态显微CT实验并搭建了10 Hz时间分辨率的动态显微CT实验平台对基于GPU并行计算和Hamming滤波器的CT重构算法进行了验证。实验结果证明,50套黄粉虫体内气泡CT数据完成重构总共耗时5.93 min,而基于CPU串行重构耗时20.4 h。通过选取不同时间点的气泡CT重构数据,在时间维度上观察到气泡的动态变化过程,并对运动气泡做了定量化分析,经过计算,通过计算,黄粉虫体内的气泡半径为0.624 mm,气泡平均运动速度为1.08 mm/s。5)在对CT重构加速的同时,结合相位恢复算法,获得了样品的相位信息,从而准确获取了样品的三维结构信息。实验结果证明,通过相位恢复算法提高了CT重构结果的图像衬度,可以明显区分开来黄粉虫的组织结构,图像局部区域的像素值非常接近,通过普通的图像分割算法就可以将内部组织结构进行提取和划分,这对后期图像信息的分析有着重要价值。综上所述,本文基于GPU并行计算对FBP算法中的反投影过程做了并行程序的开发,并结合了图像反相算法、滤波函数以及相位恢复算法对图像的重构质量做了进一步的优化。最后通过设计动态显微CT实验和搭建快速成像实验平台对研究内容做了实验验证。实验结果证明,本文实现了动态显微CT的快速重构,图像重构质量得到了一定程度的提高,有效缓解了上海光源X射线动态显微CT实验用户面临的原始实验数据大量积压的问题。