Skip to main content

NIPET: high-throughput Neuro-Image PET reconstruction

Docs Version Downloads Py-Versions DOI Licence Tests

NIPET is a Python sub-package of NiftyPET, offering high-throughput PET image reconstruction as well as image processing and analysis (nimpa: https://github.com/NiftyPET/NIMPA) for PET/MR imaging with high quantitative accuracy and precision. The software is written in CUDA C and embedded in Python C extensions.

The scientific aspects of this software are covered in two open-access publications:

Although, the two stand-alone and independent packages, nipet and nimpa, are dedicated to brain imaging, they can equally well be used for whole body imaging. Strong emphasis is put on the data, which are acquired using positron emission tomography (PET) and magnetic resonance (MR), especially the hybrid and simultaneous PET/MR scanners.

This software platform and Python name-space NiftyPET covers the entire processing pipeline, from the raw list-mode (LM) PET data through to the final image statistic of interest (e.g., regional SUV), including LM bootstrapping and multiple reconstructions to facilitate voxel-wise estimation of uncertainties.

In order to facilitate all the functionality, NiftyPET relies on third-party software for image conversion from DICOM to NIfTI (dcm2niix) and image registration (NiftyReg). The additional software is installed automatically to a user specified location.

Documentation with installation manual and tutorials: https://niftypet.readthedocs.io/

Quick Install

Note that installation prompts for setting the path to NiftyPET_tools and hardware attenuation maps. This can be avoided by setting the environment variables PATHTOOLS and HMUDIR, respectively. It’s also recommended (but not required) to use conda.

# optional (Linux syntax) to avoid prompts
export PATHTOOLS=$HOME/NiftyPET_tools
export HMUDIR=$HOME/mmr_hardwareumaps
# cross-platform install
conda install -c conda-forge python=3 \
  ipykernel numpy scipy scikit-image matplotlib ipywidgets dipy nibabel pydicom
pip install "nipet>=2"

External CMake Projects

The raw C/CUDA libraries may be included in external projects using cmake. Simply build the project and use find_package(NiftyPETnipet).

# print installation directory (after `pip install nipet`)...
python -c "from niftypet.nipet import cmake_prefix; print(cmake_prefix)"

# ... or build & install directly with cmake
mkdir build && cd build
cmake ../niftypet && cmake --build . && cmake --install . --prefix /my/install/dir

At this point any external project may include NIPET as follows (Once setting -DCMAKE_PREFIX_DIR=<installation prefix from above>):

cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
project(myproj)
find_package(NiftyPETnipet COMPONENTS mmr_auxe mmr_lmproc petprj nifty_scatter REQUIRED)
add_executable(myexe ...)
target_link_libraries(myexe PRIVATE
  NiftyPET::mmr_auxe NiftyPET::mmr_lmproc NiftyPET::petprj NiftyPET::nifty_scatter)

Licence

Licence DOI

Copyright 2018-21

Metadata

Release files for nipet 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nipet 2.2.0
File Size Uploaded Provenance
nipet-2.2.0.tar.gz 175.7 kB Without provenance Details

Release files / nipet-2.2.0.tar.gz

Download URL nipet-2.2.0.tar.gz
Size 175.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2670b309b359ea73f389822473ea7eb4c782710b0a0f218446b416251e011355
BLAKE2b-256 checksum
How to use checksums
e1d8d065b29836ddf016c2602aa8ea0e50e57614dde45a182e203fe7adb228d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Security for nipet 2.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page