CTorch让CT重建在PyTorch中实现自动微分,支持多种扫描几何和算法。
CTorch: PyTorch-Compatible GPU-Accelerated Auto-Differentiable Projector Toolbox for Computed Tomography
- 基于CUDA与PyTorch封装,支持2D/3D多种锥束扫描几何
- 提供4种投影算法,兼顾精度与计算效率
- 适合做深度学习驱动的CT重建与仿真研究
本文提出CTorch,一个兼容PyTorch、GPU加速且支持自动微分的投影工具箱,可处理多种断层扫描几何。支持2D扇形束、3D圆形锥束及3D非圆形锥束几何,每种几何允许视图级配置以适应实际扫描变化。探测器模型可选平面或曲面,适配不同临床设备。集成四种投影算法:体素驱动、射线驱动、距离驱动(DD)和可分离投影足迹(SF),用户可根据需求权衡精度与效率。所有投影器基于CUDA C实现并编译为可调用的Python函数,封装为PyTorch模块,直接使用PyTorch张量,无缝融入自动微分框架。该设计使CTorch成为高效灵活的CT成像研究工具,适用于高精度模拟、高效迭代重建及深度学习辅助重建。
原文摘要 · Abstract (English)
This work introduces CTorch, a PyTorch-compatible, GPU-accelerated, and auto-differentiable projector toolbox designed to handle various CT geometries with configurable projector algorithms. CTorch provides flexible scanner geometry definition, supporting 2D fan-beam, 3D circular cone-beam, and 3D non-circular cone-beam geometries. Each geometry allows view-specific definitions to accommodate variations during scanning. Both flat- and curved-detector models may be specified to accommodate various clinical devices. CTorch implements four projector algorithms: voxel-driven, ray-driven, distance-driven (DD), and separable footprint (SF), allowing users to balance accuracy and computational efficiency based on their needs. All the projectors are primarily built using CUDA C for GPU acceleration, then compiled as Python-callable functions, and wrapped as PyTorch network module. This design allows direct use of PyTorch tensors, enabling seamless integration into PyTorch's auto-differentiation framework. These features make CTorch an flexible and efficient tool for CT imaging research, with potential applications in accurate CT simulations, efficient iterative reconstruction, and advanced deep-learning-based CT reconstruction.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。