Skip to content

CERN/TIGRE

Documentation Status

All Contributors

TIGRE: Tomographic Iterative GPU-based Reconstruction Toolbox

TIGRE is an open-source toolbox for fast and accurate 3D tomographic reconstruction for any geometry. Its focus is on iterative algorithms for improved image quality that have all been optimized to run on GPUs (including multi-GPUs) for improved speed. It combines the higher level abstraction of MATLAB or Python with the performance of CUDA at a lower level in order to make it both fast and easy to use.

TIGRE is free to download and distribute: use it, modify it, add to it, share it. Our aim is to provide a wide range of easy-to-use algorithms for the tomographic community "off the shelf". We would like to build a stronger bridge between algorithm developers and imaging researchers/clinicians by encouraging and supporting contributions from both sides into TIGRE.

TIGRE remains under development as we are still adding new features (e.g., motion compensation). If you have any request for a specific application, do not hesitate to contact us or open a discussion thread!

TIGRE features

TIGRE is a GPU-based CT reconstruction software repository that contains a wide variety of iterative algorithms.

  • MATLAB and Python libraries for high-performance x-ray absorption tomographic reconstruction.

  • State-of-the-art implementations of projection and backprojection operations on GPUs (including multi-GPUs), with a simple interface using higher level languages to facilitate the development of new methods.

  • Flexible CT geometry: Cone Beam, Parallel Beam, Digital Tomosynthesis, C-arm CT, and any other geometry. Geometric parameters are defined per projection, not per scan.

  • A wide range of reconstruction algorithms for CT.

    • Filtered backprojection (FBP,FDK) and variations (different filters, Parker weights, ...)

    • Iterative algorithms

      • Gradient-based algorithms (SART, OS-SART, SIRT, ASD-POCS, OS-ASD-POCS, B-ASD-POCS-β, PCSD, AwPCSD, Aw-ASD-POCS) with multiple tuning parameters (Nesterov acceleration, initialization, parameter reduction, ...)

      • Krylov subspace algorithms (CGLS, LSQR, hybrid LSQR, LSMR, IRN-TV-CGLS, hybrid-fLSQR-TV, AB/BA-GMRES)

      • Statistical reconstruction (MLEM)

      • Variational methods (FISTA, SART-TV)

  • TV denoising for 3D images.

  • Basic image loading functionality.

  • A variety of plotting functions.

  • Image quality metrics.

  • Nikon and Varian and Phillips (DICOM) scanner data loaders.

Installation

MATLAB and Python builds are both fully supported.

Advanced, not required to run TIGRE, will change the source code. Only do if performance is critical.

FAQ

For answers to frequently asked questions click here.

If you have new question not answered in the FAQ, please contact us, join the Slack group or open a discussion thread.

Gallery

To see a gallery of images of different CT modalities reconstructed using TIGRE click here.

Further Reading

If you want more information on TIGRE and its algorithms, click here.

Contact

Contact the authors directly at:

[email protected] or [email protected]

for any questions/comments or if you want to be added to the mailing list or the Slack team.

The Slack team is a good place for chatting about development and questions about TIGRE. Please send an email to the authors and you will receive an invitation.

Licensing

The creation of TIGRE was supported by the University of Bath and CERN. It is released under the BSD License, meaning you can use and modify the software freely. However, you must cite the original authors. For more information read the license file or the BSD License Definition.

If you use TIGRE, please reference the following papers:

TIGRE: A MATLAB-GPU toolbox for CBCT image reconstruction Ander Biguri, Manjit Dosanjh, Steven Hancock and Manuchehr Soleimani Biomedical Physics & Engineering Express, Volume 2, Number 5 Read the article (open access)

And especially if you use images bigger than 5123 or multiple GPUs

Arbitrarily large iterative tomographic reconstruction on multiple GPUs using the TIGRE toolbox Ander Biguri, Reuben Lindroos, Robert Bryll, Hossein Towsyfyan, Hans Deyhle, Ibrahim El khalil Harrane, Richard Boardman, Mark Mavrogordato, Manjit Dosanjh, Steven Hancock, Thomas Blumensath Journal of Parallel and Distributed Computing Read the article, Preprint

Contributors

Biguri
Biguri

💻 💡 🤔 🚧 🔬 👀
yliu88au
yliu88au

💻 🐛
Reuben Lindroos
Reuben Lindroos

💻 🐛 🎨 🤔
genusn
genusn

💻 🐛
Yi DU
Yi DU

💻 🐛 🔬
tsadakane
tsadakane

💻 🎨 🤔 🐛
S. Co1
S. Co1

💻 🎨 🔧
Daveelvt
Daveelvt

💻 🔬
phernst
phernst

🐛 💻
malena-sabate
malena-sabate

🔬 💻
Emilien Valat
Emilien Valat

🔬 💻
zez666
zez666

🐛 💻