DISCLAIMER: This plugin is for academic purposes only and it is not recommended for use in clinical environment.
Prerequisite:
- Latest version and release of 3D Slicer (5.6.1)
The SlicerSPECTRecon module, when released to the extension manager, shall be installed automatically from View -> Extension manager -> Install Extensions or directly from in Slicer Home. However, it can also be downloaded or cloned from https://github.com/PyTomography/slicer_spect_recon.git.
In the case of download, the insallation proceeds as follows:
- Download the zip file (see image below) and extract it in a personal directory folder. It will contain, among other things, the folder SlicerSPECTRecon with the SlicerSPECTRecon.py file
- Open Slicer and click
, or alternatively Edit -> Application Settings.
- In Modules -> Additional module paths, add the path to the folder containing the module files.
- Restart Slicer to apply the changes.
In the case of cloning from GitHub, the installation proceeds as follows:
- In GitHub copy URL from "Clone with HTTPS" (see screenshot below)
- Open terminal in a personal directory folder and execute the line: (i.e. "git clone" plus the copied URL). This will download a folder called slicer_spect_recon, with all the necessary files for the module
- Open Slicer and click
, or alternatively Edit -> Application Settings.
- In Modules -> Additional module paths, add the path to the folder containing the module files (see screenshot below).
- Restart Slicer.
Once Slicer is restarted, the SlicerSPECTRecon module will be available from All Modules → Tomographic Reconstruction → SlicerSPECTRecon
In addition to the basic tutorial below, there is a comprehensive tutorial demonstrating how to use the extension on youtube at this link. The tutorial data can be obtained at the following link on zenodo. Below is a quick and complete tutorial for reconstruction of the Lu-177 multibed SPECT data found at that link:
- Import tutorial data downloaded from Zenodo into Slicer DICOM database
This module enables the reconstruction of SPECT projection data, supporting both patient and Simind datasets.
- Data Converters: Tools for converting projection data and attenuation maps from various formats into DICOM. The module currently supports conversion of the SIMIND data format. Once data has been converted, it will be saved to a DICOM file somewhere on the users computer, which then needs to be loaded via the Slicer DICOM image loader.
- SIMIND Data Converter: The output of a SIMIND simulation may include multiple energy windows: users specify how many energy windows they want to include in the DICOM file in the "Number of energy windows" section. Since DICOM data is stored in units of counts, and SIMIND data is output in counts/second/MBq (or in some cases counts/second/(MBq/mL)) users must specify a time per projection (second), and scale factor (MBq or MBq/mL) to multiply the SIMIND data by. The noiseless SIMIND data is then sampled according to a Poisson distribution with the given "Random Seed". Users need to select the header files for each window they want to provide (".h00" files); these files must be in the same directory as the data files (".a00" files). Finally, the user must provide a patient name to give to the generated data, and choose a location to save on the computer. To convert a SIMIND attenuation map into DICOM format, users must select the header files (".hct"); this file must be in the same directory as the data file ("ict"). The user then specifies the location on their computer where to save the resulting files.
- Input Data: Used to obtain photopeak projections from loaded DICOM data. Users can select multiple projection files corresponding to different bed positions of the same scan: the reconstructed object will automatically stitch the separate bed positions together.
- Users may also select multiple photopeaks for joint-multiple-photopeak reconstruction, whereby data from multiple photopeaks is used simultaenously in reconstruction; in this case, the user must provide the relative weighting for the calibration factors of each photopeak. For example, if the calibration factor for photopeak A is 11 CPS/MBq, and photopeak B is 10 CPS/MBq, then weights of 1.1 and 1.0 would suffice. In this case, the units of the reconstructed image would be in counts with respect to photopeak B. If the calibration factors are supplied directly as weights, then the units of the reconstructed image would be in MBq/s, and the user would need to scale the image by scan time per projection to get units of MBq.
- System Modeling: Used to build the system matrix that defines the particular SPECT system
- Attenuation Correction: Provided the CT/attenuation map corresponding to the projection data has been loaded into slicer, it can be selected here and used to enable attenuation correction.
- Collimator Detector Response Modeling: Users specify here the code (see here) that corresponds to the collimator used during acquisition. The intrinsic resolution of the scintillator crystals (in FHWM) can also be included.
- Scatter Correction: The module currently supports dual energy window and triple energy window scatter correction. Users select from the energy windows corresponding to the projection data loaded in in the "Input Data" section.
- Likelihood: This section allows users to choose their preferred likelihood function. It's currently fixed to the
PoissonLogLikelihood
option, but future releases might expand on other options.
- Reconstruction Algorithm: Used to select the reconstruction algorithm for reconstructing the projection data. Currently ordered subset expectation maximum (OSEM), block sequential regularized expectation maximum (BSREM), and ordered subset maximum a posterior one step late (OSMAPOSL) are supported.
- Regularized algorithms can include a regularizer from options such as
RelativeDifferencePenalty
,LogCosh
, andQuadratic
priors. Parameters for each prior are specified in the PyTomography documentation - Regularizers may also use an additional anatomical image for weighting the contribution from nearby voxels. The anatomical image will automatically be aligned with the SPECT reconstruction geometry.
- Regularized algorithms can include a regularizer from options such as
- Output: This section allows users to specify the name of the resulting volume created after reconstruction in 3D slicer.
- The module requires some basic knowledge of Slicer modules from the user, specifically DICOM import and data management.
- Currently, the software only supports dual head SPECT systems with parallel hole collimators (and has only been tested on Siemens Symbia and GE Discovery scanners).
- The module requires data to be in the DICOM format (but has a converter for other formats). Currently the only supported format for conversion to DICOM is SIMIND.