Installation¶
parallelproj is a pure Python package for PET image reconstruction.
It relies on two lower-level dependencies:
libparallelproj – a compiled C++/CUDA library providing the core projector implementations
parallelproj-core – a minimal Python interface to
libparallelproj
Both libparallelproj and parallelproj-core are available on conda-forge and are documented at libparallelproj.readthedocs.io.
Note
We strongly recommend installing parallelproj from conda-forge, which automatically pulls in the correct pre-compiled libparallelproj variant (CPU or CUDA) for your system.
Tip
You can get miniforge (a minimal conda installer configured for conda-forge) here. We recommend installing into a dedicated virtual environment.
Default install (auto CUDA detection)¶
The following commands create a new environment named parallelproj and install the package along with all required compiled libraries.
$ mamba create -n parallelproj -c conda-forge parallelproj
$ conda create -n parallelproj -c conda-forge parallelproj
After creation, activate the environment:
$ mamba activate parallelproj
$ conda activate parallelproj
Tip
To use parallelproj with PyTorch or CuPy, add them as extra dependencies directly in the environment creation call, e.g.:
$ mamba create -n parallelproj -c conda-forge parallelproj pytorch
$ mamba create -n parallelproj -c conda-forge parallelproj cupy
Force a specific CUDA build¶
If you need a particular CUDA toolkit version of libparallelproj, you can pin it explicitly when creating the environment.
Replace cuda129 below with the CUDA version matching your system (e.g. cuda129, cuda13).
$ mamba create -n parallelproj-cuda129 -c conda-forge cuda-version=12.9 parallelproj
$ conda create -n parallelproj-cuda129 -c conda-forge cuda-version=13.0 parallelproj
Force a CPU-only build¶
To explicitly install the CPU-only variant of libparallelproj (e.g. on a machine without a GPU):
$ mamba create -n parallelproj-cpu -c conda-forge parallelproj "libparallelproj=*=cpu*"
$ conda create -n parallelproj-cpu -c conda-forge parallelproj "libparallelproj=*=cpu*"
Verifying the installation¶
To check whether the installed parallelproj-core (backend) package was compiled with CUDA support, run the following in Python:
import parallelproj_core
print(parallelproj_core.cuda_enabled) # 1 = CUDA enabled, 0 = CPU only