
Why?
PyTomography is an open-source, GPU-accelerated python library which provides both extensive system modeling for SPECT/PET systems as well as associated reconstruction algorithms for quantitative imaging. It aims at creating a central platform for the development, validation, and deployment of novel tomographic reconstruction algorithms. For those familiar with python programming, it is simple to install and use, and there are a variety of tutorials available to assist in learning the software.
Where to find it?
The source code can be found on github (https://github.com/qurit/PyTomography). Documentation, installation instructions, and tutorials can be found at https://pytomography.readthedocs.io/en/latest/
Sample Results
Coronal slices of activity concentration (colored) and Hounsfield Unit values (greyscale) reconstructed using the OSEM, BSREM, and KEM algorithms. Data corresponds to the first time point of patient 4 from the ``Lu-177 DOTATATE Anonymized Patient Datasets: Multi-Time Point Lu-177 SPECT/CT Scans'' dataset (https://deepblue.lib.umich.edu/data/concern/data_sets/dn39x173n?locale=…)
Introduction
While the development of new reconstruction techniques remains an active field of research it can often be difficult to share and disseminate one’s findings. Additionally, while manufacturers of tomographic modalities such as Single Photon Emission Computed Tomography (SPECT) and Positron Emission Tomography (PET) cameras provide their own internal reconstruction algorithms, users cannot access all the implementation details; this limits reproducibility in scientific studies focused on assessing reconstruction algorithms. These issues can be solved by moving to an open-source paradigm for medical image reconstruction. Here, the imaging community can easily contribute to the implementation of novel reconstruction and correction algorithms in a way that is open and transparent. Such a framework will allow for the standardization needed to produce comparable results, improving the reliability, validity, and reproducibility of findings. This can ultimately help accelerate the development and translation of new diagnostic imaging capabilities into clinical practice.
PyTomography provides GPU-accelerated implementation of a variety of reconstruction algorithms for fast implementation and to promote research comparing reconstruction algorithms in different imaging domains. In addition, it provides features for assisting in the reconstruction of clinical DICOM data, such as (i) creation/alignment of attenuation maps from CT data (ii) stitching reconstructions from multiple bed positions. The list of available features is kept up to date on the readthedocs home page (https://pytomography.readthedocs.io/en/latest/).
How to cite PyTomography
If you are incorporating PyTomography in one of your projects, please cite our publication:
L. Polson, R. Fedrigo, C. Li, M. Sabouri, O. Dzikunu, S. Ahamed, N. Karakatsanis, S. Kurkowska, P. Sheikhzadeh, P. Esquinas, A. Rahmim*, C. Uribe*
PyTomography: A Python Library for Medical Image Reconstruction
SoftwareX, vol. 29, pp. 109020, 2025
3D Slicer Extension for SPECT Image Reconstruction
We have also introduced SlicerSPECTRecon, to enable SPECT image reconstruction on 3D slicer using PyTomography.
GitHub (within hashtagPyTomography project)
Paper (in Journal of Open Source Software); please cite this paper if you use our SlicerSPECTRecon extension.
YouTube video on how to use SlicerSPECTRecon on 3D Slicer (including tutorial data)