Skip to main content

Library for creation of point spread functions

Project description

SPECT Point Spread Function Toolbox

This toolbox provides functionality for developing and fitting PSF models to SPECT point source data; the developed PSF models can be loaded into PyTomography for general PSF modeling.

Installation

  1. Clone this repository and navigate to the directory you cloned into.
  2. If using anaconda (recommended) then activate the conda environment you want to install the repository in.
  3. Use the command python -m pip install -e . to install the current main branch.

Usage

See the documentation and in particular the associated tutorials for demonstration on how to use the library.

Contributing

If you wish to contribute, please see follow the contributing guidelines file. Contributions might include fixing bugs highlighted in the issues, as well as adding new features, such as new operators that accelerate the computational time of PSF modeling.

License

The package is distributing under the MIT license. More details can be found in the LICENSE.

Testing

There is an automated testing script to test the functionality of the library in the tests folder. It requires the pytest package is ran using pytest test_functionality.py.

Context

Gamma cameras used in SPECT imaging have finite resolution: infinitesmal point sources of radioactivity show up as finite "point spread functions" (PSF) on the camera. Sample PSFs from point sources at various distances from a camera can be seen on the left hand side of the figure below.

The PSF consists of three main components: (i) the geometric component (GC) which depends on the shape and spacing of the collimator bores, (ii) the septal penetration component (SPC) which results from photons that travel through the collimator material without being attenuated, and (iii) the septal scatter component (SSC), which consists of photons that scatter within the collimator material and subsequently get detected in the scintillator. When the thickness of the SPECT collimator is large and the diameter of the collimator bores is small relative to the energy of the detected radiation, the PSF is dominated by the GC and can be reasonably approximated using a distance dependent Gaussian function. When the energy of the photons is large relative to the collimator parameters, the PSF contains significant contributions from SPC and SSC and it can no longer be approximated using simple Gaussian functions. The tails and dim background present in the PSF plots in the figure below correspond to the SPC and SSC. For more information, see chapter 16 of the greatest book of all time

The figure below shows axial slices of reconstructed Monte Carlo Ac225 SPECT data. The images highlighted as "PSF Model" correspond to application of a PSF operator developed in the library on a point source. The images highlighted as "New" are obtainable via reconstruction with PyTomography using the PSF operators obtained in this library; they require comprehensive PSF modeling.

ac225

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spectpsftoolbox-0.1.2.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spectpsftoolbox-0.1.2-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file spectpsftoolbox-0.1.2.tar.gz.

File metadata

  • Download URL: spectpsftoolbox-0.1.2.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for spectpsftoolbox-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3e044732587f779a5d012d82592e1a4d2fdfff0486ddc930890f6b8fba0d6757
MD5 6c7c90e72cb020e4ae344f70f2493f55
BLAKE2b-256 0de56fd541c607e1c08a2cc88b31cd92ac293d3b3a77b6330627d8588bf5b6a2

See more details on using hashes here.

File details

Details for the file spectpsftoolbox-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for spectpsftoolbox-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7a69a0e0fc2ca12ac149dc8820651a96b0cbbba1abafd52d44faa78d3b125125
MD5 8992a9f9d01f665b051190c51fb80291
BLAKE2b-256 026af17512dc21e4561514828fc0063a0716d817781c4c04f7eb57a026877356

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page