Skip to content

Repository files navigation

conda-forge version documentation license: Apache-2.0 codecov Binder

parallelproj - high-level python routines for tomographic reconstruction

parallelproj provides simple and fast high-level python routines for tomographic reconstruction that are python array API compatible meaning that they can be used with a variety of python array libraries (e.g. numpy, cupy, pytorch) and devices (CPU and CUDA GPUs).


If you are using parallelproj, we recommend to read and cite our publication

  • G. Schramm, K. Thielemans: "PARALLELPROJ - An open-source framework for fast calculation of projections in tomography", Front. Nucl. Med., Volume 3 - 2023, doi: 10.3389/fnume.2023.1324562, link to paper, link to arxiv version

Installation, Documentation & Examples (for users)

parallelproj is distributed through conda-forge (it cannot be installed with pip alone — its compiled backend is only on conda-forge, not on PyPI):

mamba create -n parallelproj -c conda-forge parallelproj

Full installation instructions, the API reference and the example gallery are in the official documentation on Read the Docs: https://parallelproj.readthedocs.io/en/stable/

You can also try the examples in your browser — no install — via Binder, or start from the minimal quickstart example.


Contributing & development

Contributions are welcome! Development uses pixi (pixi shell, pixi run test, pixi run docs). See CONTRIBUTING.md for the full development setup, coding conventions, testing/coverage and the pull-request workflow.

Note: this repository is the pure-Python front end. The compiled projection kernels live in the separate libparallelproj project (distributed as parallelproj-core on conda-forge), so changes to the C/CUDA Joseph projectors must be made there — editing this clone does not rebuild the backend.

About

code for parallel TOF and NONTOF projections

Resources

Contributing

Stars

59 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages