Skip to content

Dynamic positron emission tomography (PET) analysis

License

Notifications You must be signed in to change notification settings

bilgelm/dynamicpet

Repository files navigation

Dynamic PET Dynamic PET logo

Read the documentation at https://bilgelm.github.io/dynamicpet Tests Codecov

pre-commit Black

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
    • HighlY constrained backPRojection method constraining the backprojections to Local Regions of interest (HYPR-LR)
    • Nonlocal EStimation of multispectral MAgnitudes (NESMA)
  • 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:

Requirements

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.

Installation

You can install Dynamic PET via pip after cloning the repository:

git clone https://github.com/bilgelm/dynamicpet.git
pip install -e dynamicpet

Usage

Please see the Usage for details on the CLI.

Example

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

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

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, Dynamic PET is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

About

Dynamic positron emission tomography (PET) analysis

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages