Initialising Scanner Data (pept.scanners)#

Convert data from different PET / PEPT scanner geometries and data formats into the common base classes.

The PEPT base classes PointData, LineData, and VoxelData are abstractions over the type of data that may be encountered in the context of PEPT (e.g. LoRs are LineData, trajectory points are PointData). Once the raw data is transformed into the common formats, any tracking, analysis or visualisation algorithm in the pept package can be used interchangeably.

The pept.scanners subpackage provides modules for transforming the raw data from different PET / PEPT scanner geometries (parallel screens, modular cameras, etc.) and data formats (binary, ASCII, etc.) into the common base classes.

If you’d like to integrate another scanner geometry or raw data format into this package, you can check out the pept.scanners.parallel_screens function as an example. This usually only involves writing a single function by hand; then all functionality from LineData will be available to your new data format, for free.

pept.scanners.adac_forte(filepath[, ...])

Initialise PEPT lines of response (LoRs) from a binary file outputted by the ADAC Forte parallel screen detector list mode (common file extension ".da01").

pept.scanners.parallel_screens(...[, ...])

Initialise PEPT LoRs for parallel screens PET/PEPT detectors from an input CSV file or array.


Compute the geometric efficiency of a parallel screens PEPT detector at different 3D coordinates using Antonio Guida's formula [R71bb6ad21a70-1].

pept.scanners.modular_camera(data_file[, ...])

Initialise PEPT LoRs from the modular camera DAQ.