Skip to content

QBioImaging/QBI_radon

Repository files navigation

Open In Colab

📦 QBI_radon

QBI_radon is a Python library that provides an efficient, GPU-accelerated, and differentiable implementation of the Radon transform using PyTorch ≥ 2.0.

QBI_radon provides GPU-accelerated forward and backward projection operations for tomography, making it ideal for computed tomography (CT) research and development.

The Radon transform maps an image to its Radon space representation — a key operation in solving CT reconstruction problems. This GPU-accelerated library is designed to help researchers and developers obtain fast and accurate tomographic reconstructions, and seamlessly combine deep learning and model-based approaches in a unified PyTorch framework.


🚀 Key Features

  • Differentiable Forward & Back Projections
    All transformations are fully compatible with PyTorch’s autograd system, allowing gradient computation via .backward().

  • Batch Processing & GPU Acceleration
    Designed for speed — supports batched operations and runs efficiently on GPUs. Faster than skimage's Radon transform.

  • 🔁 Transparent PyTorch API
    Seamless integration with PyTorch pipelines. Compatible with Nvidia AMP for mixed-precision training and inference.

  • 🧩 Cross-Platform Support
    Built entirely on PyTorch ≥ 2.0, ensuring compatibility across major operating systems — Windows, Ubuntu, macOS, and more.


🧠 Applications

  • Deep learning for CT image reconstruction
  • Model-based & hybrid inverse problems
  • Differentiable physics-based layers in neural networks
  • GPU-accelerated Filtered Backprojection

🔧 Implemented Operations

  • Parallel Beam Projections

Additional projection geometries and advanced features are under development. Stay tuned!


📦 Installation

pip install QBI-radon

📊 Benchmarking

We benchmarked QBI_radon against the widely used skimage implementation of the Radon transform on a NVIDIA GeForce RTX 4070 SUPER with the following settings:

Benchmarking Results

👉 QBI_radon is > 25× faster than the CPU-based skimage implementation in both forward and backward projections.

🚀 Google Colab

You can try the library from your browser using Google Colab, you can find an example notebook here.

📚 Citation

If you are using QBI_radon in your research, please cite the following:

DOI

@software{Trinh_QBioImaging_QBI_radon_2025,
author = {Trinh, Minh-Nhat and Teresa, M Correia},
doi = {https://doi.org/10.5281/zenodo.16416059},
month = jul,
title = {{QBioImaging/QBI\_radon}},
url = {https://github.com/QBioImaging/QBI_radon},
version = {v1.7},
year = {2025}
}

📝 Acknowledgements

This study received Portuguese national funds from FCT—Foundation for Science and Technology through projects UIDB/04326/2020 (DOI:https://doi.org/10.54499/UIDB/04326/2020), UIDP/04326/2020 (DOI:https://doi.org/10.54499/UIDP/04326/2020) and LA/P/0101/2020 (DOI:https://doi.org/10.54499/LA/P/0101/2020). This Project received funding from ‘la Caixa’ Foundation and FCT, I P under the Project code LCF/PR/HR22/00533, European Union’s Horizon 2020 research and innovation program under the Marie Skłodowska-Curie OPTIMAR grant with agreement no 867450 (DOI:https://doi.org/10.3030/867450), European Union’s Horizon Europe Programme IMAGINE under grant agreement no. 101094250 (DOI:https://doi.org/10.3030/101094250), and NVIDIA GPU hardware grant.

About

Implement Radon transformation by torch

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •