Dynamic PET is designed for voxelwise analysis of reconstructed dynamic positron emission tomography (PET) scans, and also supports regional analysis.
Dynamic PET provides a command line interface (CLI) for easy image processing and also a Python API with greater flexibility.
Methods implemented in the CLI include:
- Denoising
- Reference tissue-based modeling
- Standardized Uptake Value Ratio (SUVR)
- Logan Reference Tissue Model (LRTM)
- Simplified Reference Tissue Model (SRTM)
Several implementations of estimating SRTM parameters are available:
- Nonlinear optimization, as described by Lammertsma and Hume, Neuroimage (1996)
- Two-step SRTM (SRTM2), as described by Wu and Carson, J Cereb Blood Flow Metab (2002)
- Linear Regression with Spatial Constraint (LRSC), as described by Zhou et al., Neuroimage (2003)
Dynamic PET requires Python 3.11+ and the following modules:
numpy
and scipy
for vector and matrix operations,
nibabel
for neuroimaging data I/O and simple manipulations, and
click
for the CLI.
You can install Dynamic PET via pip after cloning the repository:
git clone https://github.com/bilgelm/dynamicpet.git
pip install -e dynamicpet
Please see the Usage for details on the CLI.
CLI usage is illustrated below on a dynamic PET dataset available on OpenNeuro.
First, download the NRM2018 PET Grand Challenge Dataset.
You will then need to create a binary mask that is in the same space as the PET image that defines the reference region. The full path to this binary mask will be referred to as REFMASK
. Generally, the reference region is defined on a structural MRI and then mapped onto the PET via image registration and transformation.
After installing Dynamic PET as described above, execute:
kineticmodel PET --model SRTMZhou2003 --refmask <REFMASK> --outputdir <OUTPUTDIR> --fwhm 5
where
PET=<OPENNEURODATA>/ds001705-download/sub-000101/ses-baseline/pet/sub-000101_ses-baseline_pet.nii
Before running these commands, replace
<OPENNEURODATA>
with the path to the directory where you downloaded the data from OpenNeuro and
<OUTPUTDIR>
with path to the directory where you'd like to save the parametric images.
Warning
Aside from SUVR
and SRTMZhou2003
, the remaining kinetic model
implementations are very time consuming and are not recommended for imaging data.
Future plans for expanding the scope of Dynamic PET include:
- more kinetic models and implementations
- support for surface (i.e., vertex-wise) analysis
- parallel processing
Contributions are very welcome. To learn more, see the Contributor Guide.
Distributed under the terms of the MIT license, Dynamic PET is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.
This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.