Purpose: To develop and evaluate a new DRR algorithm on GPU and compare it's accuracy and efficiency to two other commonly used DRR algorithms. Methods: We developed a new fixed grid algorithm optimized for GPU. This new algorithm first rotates and re‐samples CT data layer by layer and then traces rays through voxel slabs perpendicular to the projection axis. We also implemented the fixed stride algorithm and Siddon's incremental algorithm on GPU. We compared the accuracy of each algorithm to a ground truth that was generated by sampling 1024 evenly spaced ray paths per pixel using Siddon's incremental algorithm. We then computed the relative error for 36 equally spaced projections in a full rotation about the SI axis for 5 different voxel resolutions (ranging from 512 to 32 cubed). We compared the efficiency of each algorithm by simulating 360 projections, one per degree, of a clinically sized phantom (512×512×128) in a full rotation about the SI axis. Both tests simulated common CBCT geometry with a 40.0×30.0 cm, 1024×768 pixel detector. XCAT phantoms were used in all tests. Results: We found that all three DRR algorithms attain small error as a function of decreasing voxel size ranging from 10% at 16.0 mm/voxel to less than 0.2% at 1.0 mm/voxel. We also found the average projection time for the fixed grid algorithm is 21.8 ms/projection, 40% faster than Siddon's incremental algorithm which had an average projection time of 36.5 ms. The fixed stride algorithm is 18% faster than Siddon's incremental algorithm with an average projection time of 28.7 ms. Conclusion: By specifically designing a DRR algorithm for GPU, we were able to improve the computation efficiency without losing accuracy. This work will be useful for computational tasks requiring frequent rendering of DRR projections.
ASJC Scopus subject areas
- Radiology Nuclear Medicine and imaging