锥束CT重建FDK算法的两级并行计算研究
计算机断层成像技术(Computed Tomography, CT)广泛应用于人体组织成像、工业无损检测等领域。由于在空间分辨率、扫描速度以及射线利用效率等方面的优势,三维锥束CT逐渐得到了广泛的应用。但是三维图像重建运算量大,在很多情况下,重建所需时间难以满足实际应用的需求,采用并行处理技术是解决这一问题的有效途径。
随着微处理器技术和高性能网络技术的飞速发展,与价格昂贵的专用并行计算机相比,采用普通PC和工作站组成的集群系统具有高性价比、高可用性以及可扩展性,因此得到了广泛的应用。本文在一个以SMP (Symmetric Multiprocessor,对称多处理器)计算机为节点构成的SMP集群系统上,将MPI和Pthreads两种模型相结合,通过节点之间的消息传递和节点之间的共享内存,实现了FDK算法图像重建的两级并行。
1 FDK算法
FDK算法是1984年由Feldkamp等人提出的,是三维锥束重建方法中最经典、最常用的一种。FDK算法的提出基于单圆扫描轨迹。算法的思想来源于二维的扇束扫描,把很扁的锥束或者是锥束的中间一层看成扇束的特殊情况——倾斜的重建平面,利用数学近似对偏离中心平面的锥束投影数据进行修正,从而对物体进行重建。具体的重建公式为
FDK算法中的修正是在重建时进行反投影的过程中,把每个角度的投影数据都乘以这个角度的锥束投影平面和中心平面所成的角的余弦。这种修正虽不是在理论上的精确修正,但在锥角比较小的情况下可以取得比较好的重建效果;随着锥角的增大其他平面与中心平面的夹角越来越大,近似程度也越大,出现的伪影越严重。不过,从实际使用情况来看,FDK算法还是目前实际使用中重建小物体效率最高的一类算法,在锥角比较小的情况下能够获得比较好的重建质量,是目前在商用锥束CT系统中应用最为广泛的算法[1]。
2 并行编程模型
2.1 SMP集群和并行编程模型
目前广泛使用的并行程序设计模型主要有两种:共享存储程序设计模型和消息传递程序设计模型。前者能够直接对应共享存储的体系结构,如SMP系统;后者可以直接对应分布式存储体系结构如机群系统,但在SMP系统中也可以实现。
对称多处理器SMP系统的每个处理器都有自己的高速缓存,通过高速总线或者交叉开关和共享存储器相连,每个处理器可以同等的访问共享存储器、I/O设备和操作系统服务。SMP具有单一系统映象(SSI,Single System Image)、低通信延迟和共享总线带宽等特点,是典型的共享存储结构。集群系统的每个节点都可以是一个PC、工作站或者SMP,节点之间通过商品化的互连网络相连,节点之间可以通过消息传递的模式来传递数据,属于松耦合结构。综合来看,SMP集群系统属于NUMA(Nonuniform Memory Access,非一致性内存访问)结构。
相关文章
- 2024-07-26望远镜跟踪架结构形式及测量原理浅析
- 2023-11-29高精度刀具测量仪的视觉系统研究与设计
- 2024-07-15结构振动复合控制信号的重构及实验研究
- 2024-07-16望远镜数码摄影联接支架的结构设计
- 2024-01-26相干梯度敏感干涉测量技术及在静态断裂力学实验中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。