PyTomography: A Python Library for Medical Image Reconstruction
Luke Polson1,2, Roberto Fedrigo1,2, Chenguang Li1,2, Maziar Sabouri1,2, Obed Dzikunu2,3, Shadab Ahamed1,2, Nicolas Karakatsanis4, Arman Rahmim1,2,3,5,∗, Carlos Uribe2,5,6,∗
1Department of Physics & Astronomy, University of British Columbia, Vancouver, Canada
2Department of Integrative Oncology, BC Cancer Research Institute, Vancouver, Canada
3School of Biomedical Engineering, University of British Columbia, Vancouver, BC, Canada
4Department of Radiology, Weill Cornell Medical College, Cornell University, New York, NY, U.S.A.
5Department of Radiology, University of British Columbia, Vancouver, Canada
6Molecular Imaging and Therapy Department, BC Cancer, Vancouver Canada
∗Contributed equally to this work (co-last authors)
Version typeset May 1, 2024
L. Polson. email: [email protected]
Abstract
Background: There is an absence of open-source libraries in emission tomography that (i) use modern and popular backend code to encourage community contributions and (ii) offer support for the multitude of reconstruction algorithms available in recent literature, such as those that employ artificial intelligence.
Purpose: To create and evaluate a GPU-accelerated, open-source, and user-friendly image reconstruction library, designed to serve as a central platform for the development, validation, and deployment of various tomographic reconstruction algorithms.
Methods: PyTomography was developed using Python and inherits the GPU-accelerated functionality of PyTorch and parallelproj for fast computations. Its flexible and modular design decouples the system matrix from reconstruction algorithms, simplifying the process of integrating new imaging modalities using various python tools.
Results: Example use cases demonstrate the software capabilities in parallel hole SPECT and listmode PET imaging. Use of the OSEM, BSREM, KEM, and DIPRecon reconstruction algorithms are explored. System matrices incorporating breathing-motion correction are explored in SPECT imaging. PyTomography is validated against alternative vendor/open source software for OSEM based reconstruction.
Conclusions: We have developed and publicly shared PyTomography, a highly optimized and user-friendly software for medical image reconstruction, with a class hierarchy that fosters the development of novel imaging applications.
Contents
I. Introduction
Medical imaging forms a cornerstone in modern healthcare by providing visual and quantitative information about internal body structures and functions. It enables early detection1, accurate diagnosis, and precise treatment planning for a wide range of medical conditions2, 3, 4, contributing to improved patient outcomes and enhanced medical decision-making. Reconstruction algorithms are routinely used to generate 3D images that can be used for both research and clinical decision making 5.
While the development and validation of reconstruction techniques remains an active field of research6, 7, 8, 9, it can often be difficult to share and disseminate one’s findings. Additionally, while manufacturers of tomographic imaging equipment such as Single Photon Emission Computed Tomography (SPECT) and Positron Emission Tomography (PET) cameras provide their own internal reconstruction software, users cannot access all implementation details; this limits reproducibility in scientific studies. These issues could be solved by moving to an open source paradigm for medical image reconstruction. Here, the imaging community could openly collaborate in the development of reconstruction techniques. Adoption of a singular open-source framework, as opposed to private frameworks developed independently by various research groups, would strengthen the ability to develop, share, and compare findings. This could ultimately help accelerate the development and translation of new diagnostic imaging capabilities into clinical practice.
A few tools have already been developed to try and address some of these issues. STIR 10 and CASToR 11 are two C/C++ based open source and collaborative image reconstruction frameworks that support a variety of reconstruction algorithms for SPECT and PET. NiftyPET 12 is a python library which employs GPU-accelerated code written in CUDA C for PET reconstruction. QSPECT13 and TIRIUS support use of the ordered subset expectation maximum (OSEM) algorithm for SPECT and PET reconstruction respectively. Other libraries, such as TomoPy 14 and the ASTRA toolbox 15, support a variety of GPU-accelerated image tomographic reconstruction algorithms, although they lack extensive SPECT/PET system modeling. Web links to all these tools, as well as a list of other available tools for image reconstruction, can be found on the NMMItools webpage of the Society of Nuclear Medicine and Molecular Imaging (SNMMI). The unique purpose of this research is to build upon recent efforts in GPU-accelerated reconstruction16, 17, 18, 19 and AI-based reconstruction7, 8, 9 to establish an open source medical image reconstruction programming framework written in a popular programming language that facilitates collaboration. Valuable past efforts have focused on CUDA programming to accelerate reconstruction times in SPECT16 and PET 16, 17 reconstruction through the use of multi-threading. However, potential contributors to an open-source framework may be unfamiliar with CUDA; any tool that prioritizes community contributions should employ familiar backend code. In Python, the library NumPy is widely known, but it lacks direct GPU acceleration support. PyTorch, however, emerges as a suitable alternative since it maintains a similar interface to NumPy while also facilitating GPU acceleration and direct interface with neural networks. Some potential contributors may wish to provide contributions using GPU-accelerated functionality offered by other libraries, such as CuPy; an optimal framework should thus also permit the ability to incorporate alternative implementations for particular tasks.
To this end, the python library PyTomography has been developed with the following priorities: (i) implementation of standard and traditional imaging modalities and reconstruction algorithms, (ii) implementation and dissemination of recent research developments, such as the deep image prior8, and (iii) encouragement of community involvement via extensive documentation and user-friendly tutorials. While the present focus of PyTomography is the development and validation of reconstruction algorithms for SPECT/PET, implementation of other imaging modalities and reconstruction algorithms can be added using the building blocks provided.
Overall, the aim of this study is to introduce the community to the PyTomography package, demonstrate its current capabilities and flexibility, and to encourage community involvement in the continuation of its development. To demonstrate the versatility of the software, example applications will be explored in (i) SPECT reconstruction using PyTorch based rotate+sum projectors, and (ii) listmode (LM) time of flight (TOF) PET reconstruction using Joseph’s projectors from the python library parallelproj19. In what follows, we elaborate on our methods and results for PyTomography, which is made publicly available to download; relevant links can be found in section VI..
II. Materials and Methods
II.A. Mathematical Description
A brief overview of the mathematical paradigm of medical imaging is presented in order to motivate the software architecture. The mathematical conventions used in this paper are as follows. Vectors are represented by lower case letters, while linear operators are represented by upper case letters. The product of two vectors and division of two vectors are inferred to be point-wise operations. Components of a vector are given by , and components of linear operators are given by .
II.A.1. Projectors
In the paradigm of tomographic medical imaging, there are two main vector spaces: the “projection” space consisting of measured projection data and the “object” space consisting of 3D objects . Since measured and reconstructed data is digitized, and are assumed here to be finite dimensional vector spaces. In SPECT imaging, for example, consists of a set of 2D pixelated images acquired by counting photons emitted by radiopharmaceuticals, and represents the voxelized spatial distribution of radioactivity concentration in the object being imaged.
Certain imaging systems can be characterized by a system matrix , which corresponds to a linear operator map** from object space to projection space. Its components represent a contribution of voxel to detector element . In SPECT/PET, analytical modeling of the data expectation can be achieved via where represents scatters and randoms. In CT, analytical modeling is achieved via where denotes the rate of emissions from the transmission source to a particular measurement. The operation of on an object vector is known as forward projection (FP), while the operation of on a projection vector is known as back projection (BP).
Efficient implementation of FP and BP depends on the particular imaging modality; this typically involves decomposing into a sequence of less computationally burdensome operations. In general, FP can be decomposed into the following sequence: (i) linear endomorphisms map** from , (ii) operators map**s from , and (iii) linear endomorphisms map** from given by . BP is given by the transpose of this operation sequence. In PyTomography, operators which map to the same vector space are defined as transforms, while operators that map between different vector spaces are defined as projectors. Example implementations available in PyTomography are listed below:
-
•
Parallel Collimator SPECT: Modeling of primary detections in this imaging modality can be approximated using the “rotate+sum” technique16, whereby (i) consists of rotations and attenuation/collimator detector response modeling, (ii) consists of summation along an axis, and (iii) consists of adjustments for a camera with a finite field of view. System modeling is approximated using the following system matrix:
(1) where designates the projection angle, (transform) implements a rotation, (transform) implements a translation that accounts for non-central projections, (transform) implements the adjustment for photon attenuation, (transform) implements depth-dependent collimator blurring, (projector) is summation along the axis, and (transform) applies a mask in projection space that accounts for a finite field of view, is a unit vector of length with 1 in component , and is the outer product.
-
•
LM PET: Modeling in this modality can be approximated when (i) consists of object-space resolution modeling, (ii) consists of ray tracing between all detected lines of response (LOR), and (iii) consists of normalization/attenuation correction for each LOR. In this case, the system matrix can be written as
(2) where (transform) is used for object-space resolution modeling, (projector) is used to compute line integrals, (transform) adjusts for detector normalization, and (transform) adjusts for attenuation effects. Due to cancellation in certain reconstruction algorithms, and need not always be included (though they are required for computing the sensitivity factor).
PyTomography can be used to construct projectors that extend projection space; such functionality is necessary, for example, when modeling multiple photopeaks in SPECT or when using motion correction. In such situations, the extended projection space has dimensionality where is the original dimensionality of projection space, and represents the number of photopeaks or time gates during acquisition. Mathematically, these projectors can be written as
(3) |
where are object-to-object space transforms, are a sequence of system matrices, are a sequence of projection-to-projection space transforms, is a basis vector of length with a value of in component and is an outer product. This can be utilized in the following examples:
-
•
Periodic Motion Correction: represent spatial transformation operators corresponding to time gate , represent system matrices for each motion transform (attenuation modeling may depend on object deformation), and . This maps to an extended projection space where is the number of different time gates (e.g. during a breathing cycle).
-
•
Multiple SPECT Photopeaks: In this scenario, are scaling factors that adjust for detector sensitivities and branching ratios, are identity map**s, and represents the system matrix corresponding to a particular photopeak. The extended projection space has dimensions where is the number of different photopeaks.
II.A.2. Likelihoods
A likelihood function provides the likelihood of observing data given expectation . Since is approximated via analytical models depending on and , it follows that , where the ellipsis “” contains additional parameters such as a scatter estimate ; the ellipsis will assumed implicitly for the remainder of this paper. Many iterative reconstruction algorithms seek to maximize the likelihood function via gradient ascent using the gradient . Likelihood functions for different modalities are shown in Table 1.
Likelihood | ||
---|---|---|
SPECT/PET | ||
CT | ||
Weighted MSE |
II.A.3. Reconstruction Algorithms
An image reconstruction algorithm uses measured data (i.e. projections) to estimate a corresponding object that would produce projections given a system matrix . Statistical algorithms find the image estimate which maximizes a likelihood function characterizing the imaging system. This can be expressed as
(4) |
where the ellipsis “”includes all additional hyperparameters required for the algorithm; the ellipsis will be assumed implicit for the remainder of this paper. The main algorithms in PyTomography are preconditioned gradient ascent (PGA) algorithms; these algorithms aim to maximimize the likelihood via iterative updates that take the form
(5) |
where is the subiteration index, is the object estimate of subiteration , specifies a subset of data used in subiteration , is a system matrix projecting only to the current subset, is a preconditioner factor that depends on the object estimate, is a prior function used to regularize the algorithm, and is a scaling factor for the prior function (scaled by the fraction of subset data ). These algorithms partition the data into approximately equal subsets; a single iteration of an algorithm is defined as the number of subiterations where all subsets have been used once. Various PGA algorithms available in PyTomography are shown in Table 2; they are characterized by their preconditioner factor. Additional reconstruction techniques can be developed using these algorithms. The kernel expectation maximum (KEM), for example, corresponds to (i) reconstructing a coefficient image using where is a kernel transform and (ii) obtaining the image estimate via .
Algorithm | Preconditioner factor |
---|---|
OSEM20 | and |
OSMAPOSL21 | |
BSREM22 |
Certain algorithm names in the literature correspond to specific realizations of the generic algorithms in Table 2 with particular likelihoods in Table 1. The OS-SART algorithm, for example, corresponds to the use of OSEM with the weighted MSE likelihood (with weights ).
Prior functions used in reconstruction often take the form
(6) |
where provides a weighting factor between the locations voxel and voxel and characterizes a weighting factor between the observed image values at voxel and voxel . When is non-zero only for neighbouring voxels, the prior is known as a nearest neighbour prior; various nearest neighbour priors implemented in PyTomography are shown in Table 3.
Prior | |
---|---|
Quadratic | |
Log-cosh | |
Relative difference penalty (RDP) 24 |
While the weighting factor is typically proportional to inverse Euclidean distance, it is also possible to allow it to depend on an additional anatomical image whereby Since anatomical information is used, this is commonly referred to as an anatomical prior (AP); variations of this technique have recently become popular in clinical practice due to enhanced lesion quantitation and detectability in bone SPECT/CT6. In this paper, use of an AP refers to using only the 8 most similar neighbours based on absolute differences of HU values in a CT scan or attenuation map.
PyTomography also offers support for the Deep Image Prior Reconstruction (DIPRecon) algorithm. Details regarding the implementation of this algorithm can be found in Algorithm 2 of Gong et. al8. The purpose of this reconstruction technique is to use anatomical images (CT/MR) to enhance functional images (SPECT/PET) through a sequence of neural network overfitting and mixing with OSEM updates. This reconstruction algorithm requires the use of an anatomical image and a neural network architecture that can be trained to predict a reconstructed functional image given as input. This paper explores the use of DIPRecon on an ultra-high resolution PET/MR brain phantom.
II.B. Software Architecture
The key points of the last section are that (i) medical imaging consists of many different modalities that each require unique implementations for system modeling and (ii) tomographic reconstruction algorithms are modality agnostic. PyTomography has been carefully designed to permit arbitrary implementations of system modeling that can interface with the available reconstruction algorithms. The components of PyTomography, designed to facilitate the architecture described, are listed below.
-
1.
Data. The standard data type used to represent images and raw projection data is the tensor class of PyTorch.
-
2.
Metadata. Metadata classes contain all auxiliary information needed for image reconstruction pertaining to a particular imaging system, such as voxel size, spatial dimensions, and information pertaining to the raw data of a particular modality.
-
3.
Transforms. Transform classes are used as utilities to model various features of the imaging process, such as attenuation and image blurring in SPECT. They are commonly used as components in a system matrix. Specifically, transforms are defined by the mathematical property that they are linear endomorphisms.
-
4.
Projectors. Unlike transforms, projectors are mathematical operators that map between different vector spaces. The system matrix, which maps from object space to projection space and represents a model of the imaging system, is an example of a projector. While the input/output datatype to projectors is the PyTorch tensor class, internal code can utilize functionality from other libraries.
-
5.
Likelihoods. Likelihoods specify the likelihood function that characterizes the acquired data. Likelihoods are initialized using a system matrix , projection data , and any additional dependencies; once initialized they act as functions of an image estimate .
-
6.
Algorithms. Algorithms are used for image reconstruction, and are designed to interface with all imaging modalities. Statistical iterative algorithms require as input a likelihood instance, and may take as optional arguments prior functions and callbacks.
A visual representation of the software library along with sample code representing a SPECT reconstruction use case is shown in Figure 1. Metadata is first obtained via the raw vendor data stored in the path represented by the variable “file_NM”. The metadata is used as input to a “SPECTSystemMatrix” class, which also takes as input attenuation, PSF, and field of view cutoff transforms (creation of transforms not shown). The generated system matrix is used to build a likelihood instance, which also takes in as input the photopeak (creation not shown) and scatter as an additive term (creation not shown). The likelihood is then used to initialize an OSEM class for reconstruction; a reconstructed object is subsequently obtained using 4 iterations and 8 subset.
![Refer to caption](extracted/2309.01977v3/figure1.png)
II.C. Examples
Multiple examples are explored to highlight the capabilities of PyTomography. At present, reconstruction of parallel collimator SPECT and LM PET data is demonstrated, but it should be emphasized that these are purely intended as example use cases for particular imaging modalities. All computations were performed using a Microsoft Azure virtual machine (Standard NC6s v3) with a 6 CPUs (Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz), 112 GB of RAM, and a TeslaV100 GPU. Python scripts and notebooks used to obtain these results can be found at https://github.com/qurit/PyTomography_paper_code.
II.C.1. Monte Carlo SPECT
Two use cases are explored for reconstruction of Monte Carlo generated SPECT image data from the SIMIND Monte Carlo simulation program26. The system matrices used in each case correspond to equation 1, with each employing attenuation modeling and PSF modeling. The triple energy window technique27 is used for scatter correction.
The first use case features reconstructions of digital phantom data representing a 177Lu-PSMA-617 SPECT scan 38.6 minutes post injection. The digital phantom used for simulation was created using the extended-cardiac torso (XCAT) phantom28, where organ concentrations were obtained using a physiologically-based pharmacokinetic PBPK model29; the model includes major relevant physiological and molecular events and consists of 112 coupled ordinary differential equations. Relevant SIMIND acquisition parameters included 120 projections, a radial distance of , pixel spacing of , and dimensions of 128x384. Reconstructions were performed for 120 iterations. Organ masks were obtained using bilinear downsampling from ground truth phantoms; voxels with greater than 50% organ volume were included in the mask. Images were reconstructed using each of the OSEM, BSREM, and KEM algorithms; relevant hyperparameters are shown in Table 4. A Callback class was created to track the RCs for each organ of interest at each iteration.
Algorithm | OSEM | BSREM | KEM |
---|---|---|---|
Subsets | 8 | 8 | 8 |
Neighbourhood Size | - | ||
Nearest Neighbours | - | 8 | 40 |
Kernel | - | - | Eq. 5 of Vuohijoki et. al. 6 |
Prior | - | RDP-AP | - |
The second use case explores reconstruction of an XCAT phantom similar to the previous example with the following modifications: (i) dynamic breathing was simulated (ii) a lesion with activity MBq was inserted in the liver. The purpose of this use case is to demonstrate the capabilities of MC reconstruction algorithms in PyTomography and examine the impact on the RCs of the lesion. 4 static time points (representative of 4 different amplitudes throughout the breathing cycle) were simulated via the XCAT software corresponding to different periods of the breathing phase. SPECT acquisition in SIMIND was acquired for each of the 4 phases; parameters included 120 projections, a radial distance of , pixel spacing of , and dimensions of 128x256. Motion correction transforms aligning each phase to a reference phase were obtained via a B-Spline fit on the ground truth attenuation maps using the SimpleITK toolkit 30; motion transforms were converted into displacement vector fields for use in PyTomography. Reconstructed images were obtained using (i) no MC, (ii) separate reconstructions of each time-gate followed by MC and averaging post-reconstruction (iii) MC during reconstruction through use of the modified system matrix given by Equation 3. In each case, images were reconstructed using OSEM with a varying number of iterations and 8 subsets.
II.C.2. Clinical SPECT
This example highlights SPECT reconstruction on publicly available data from the Deep Blue data repository31 that was used for the SNMMI 177Lu dosimetry challenge32, 33. Patients received radiopharmaceutical therapy with 177Lu-DOTATATE for neuroendocrine tumours (4 cycles of 7.4 GBq/cycle administered every 8 weeks); scans were taken at 4 different time points in the week following a therapeutic dose. Images consisted of 120 projections of shape with resolution . The system matrix employed attenuation, PSF, and finite FOV modeling. Reconstructions using OSEM, BSREM, and KEM were performed for 50 iterations each; the TEW technique was used to correct for scatter in all cases.
II.C.3. Monte Carlo PET
This example demonstrates (i) the capabilities of LM TOF PET reconstruction on data generated by the GATE Monte Carlo simulation program and (ii) the DIP Recon technique. The simulated scanner consisted of rings of 338 mm radius with 32.25 mm ring spacing, and a TOF coincidence resolution of 550 ps. For simplicity, data acquisition in the simulation ignored dead-time effects and only considered true primary coincidence events; coincidences due to phantom-scatter and randoms were ignored. The digital phantom used in simulation corresponded to an ultra-high resolution 18F-FDG PET/ T1-weighted MRI brain image34; the full simulated dataset was representative of a 3 min scan and consisted of million coincidence events. Data was reconstructed using a matrix size with voxel spacing of mm. The normalization was obtained via simulation of a thin cylindrical shell of radius mm that extended along the axial FOV of the scanner; normalization computation is available in PyTomography for basic polygonal PET geometries. Reconstruction was performed with normalization correction in 3 different ways:
-
1.
The full dataset (556 million events) was reconstructed using OSEM (4it, 20ss) using the EM algorithm
-
2.
6.3% of the data set (35 million events) was reconstructed using OSEM (80it, 1ss) using the EM algorithm, representative of a low-count scenario.
-
3.
6.3% of the dataset (35 million events) was reconstructed using the DIPRecon algorithm. The prior image used was the corresponding T1-weighted MRI image; the initial network prediction was obtained via fitting to the previous low count reconstruction. The neural network was a UNet35 with similar architecture to the original DIP paper 8; more information on the network structure and reconstruction hyperparameters can be found in the publicly available code.
III. Results
The time required for reconstruction in the first SPECT use case was 412.8 s (3.44 s/iteration) for OSEM, 434.8 s (3.62 s/iteration) for BSREM, and 601.8 s (5.02 s/iteration) for KEM; sample reconstructions with corresponding RC curves are shown for each algorithm in Figure 2. BSREM clearly produced the least noisy images, and had the best RCs for the lungs, liver, kidneys, and bladder. KEM produced an image estimate with an intermediate level of noise, and had the best recovery coefficient for the salivary glands. OSEM yielded the noisiest images, and had the worst recovery coefficients in all regions except the salivary glands. Despite the high performance of BSREM, it was unable to accurately predict the regions of low uptake within the liver visible in the ground truth.
![Refer to caption](extracted/2309.01977v3/figure2.jpg)
Sample reconstructions and RC curves for the SPECT motion correction use case are shown in Figure 3. The lesions appear sharper when motion correction is used; motion correction applied during reconstruction via Equation 3 produced lesions of higher uptake than when correction was applied post-reconstruction. This is quantitatively observed in the RC curves of Figure 3, where motion correction applied during reconstruction tends to produce the highest RCs throughout all iterations. After 100 iterations, the RCs were larger when MC was used during reconstruction than when it was used post reconstruction ().
![Refer to caption](extracted/2309.01977v3/figure3.jpg)
The time required to reconstruct the clinical SPECT patient data was 464.7s (9.29 s/iteration) for OSEM, 453.1s (9.06 s/iteration) for BSREM, and 1825s (36.50 s/iteration) for KEM. Central coronal slices are shown in Figure 4; the patient had a region of high uptake value in the liver, indicative of a liver lesion. BSREM and KEM appear to confine activity within the boundary of the kidneys, with BSREM exhibiting slightly more of this behaviour. In addition, OSEM produced the most observed noise in the liver. A common artifact of both BSREM and KEM, however, is the noise in the liver lesion; use of anatomical nearest neighbours may cause the lesion activity noise profile to resemble the CT noise profile. The mean predicted counts in the kidneys were 1.98 (OSEM), 2.07 (BSREM), and 2.02 (KEM); these relative proportions are consistent with the RCs of Figure 2, suggesting that BSREM may yield the most accurate recovery coefficients for the kidneys.
![Refer to caption](extracted/2309.01977v3/figure4.jpg)
Reconstructing the LM TOF PET GATE output data required multiple steps. While initial processing of the ROOT listmode data is time consuming, PyTomography can save this data in an accessible format for reuse.
-
•
Opening the ROOT list mode data ( 50 GB) of the normalization scan and computation of the normalization factor (approximately 50 minutes). When the normalization factor is saved, it requires approximately 5 s to read.
-
•
Opening the ROOT list mode data ( 74 GB) of the phantom scan (approximately 1 hour). When saved in an accessible format, reading requires approximately 5 s.
-
•
Initial configuration of the system matrix ( s).
-
•
Reconstruction of the PET listmode data. The high count scenario using OSEM (4it 20ss) required 185.6 s (46.4 s per iteration), the low count scenario using OSEM (80it 1ss) required 201.0 (2.5 s per iteration), and the low count scenario using DIPRecon required 3135.6 s (31.3 s per iteration)
Corresponding phantom reconstructions are shown in Figure 5; bias and noise in grey and white matter is shown as a function of iteration number in Figure 6. Due to finite resolution of the imaging system causing activity “leakage”, activity quantification in the grey matter region was consistently underestimated while activity quantification in the white matter region was consistently overestimated. The DIPRecon on the low count data had similar noise levels in grey matter to OSEM on the high count data, demonstrated both qualitatively and quantitatively in each Figures 5 and 6 respectively.
![Refer to caption](extracted/2309.01977v3/figure5.jpg)
![Refer to caption](extracted/2309.01977v3/figure6.jpg)
IV. Discussion
This technical report presented the software architecture of PyTomography, and showed use cases on both SPECT and PET data. The short times required for reconstruction using this tool can enable researchers to perform extensive studies on phantom and patient data that may include multiple patients, noise realizations, and reconstruction algorithms. Validation of PyTomography against alternative reconstruction libraries is shown in the appendix.
Example applications in 177Lu-SPECT imaging, which are relevant for currently FDA approved radiopharmaceutical therapies, explored the use of the OSEM, BSREM, and KEM, reconstruction algorithms. It should be emphasized that the purpose of this technical report was not to rank the different algorithms, but rather to demonstrate the capabilities of the software library. While some evidence was shown to favour BSREM over OSEM and KEM for kidney and liver dosimetry based on better recovery coefficients (Figure 2), a truly comprehensive study that aims to quantitatively compare algorithms should involve (i) multiple XCAT activity and anatomical configurations, (ii) inclusion of patient motion, (iii) effect of misalignment between SPECT and CT images, (iv) different hyperparameters in each reconstruction algorithm and (iv) should seek to use real patient data to validate any phantom studies. In addition, recovery coefficients alone are not sufficient to rank algorithms. Studies should also consider source-to-background ratios as well as error analysis based on intra- and inter-patient variabilities, and clinical task performance. While the presented software framework enables such studies to be performed, it is out of scope for this publication.
While the RDP-AP prior was featured heavily in this study, the framework of PyTomography is designed to foster the development and validation of other novel prior functions as well. In addition, while KEM was featured using anatomically-based basis functions, the library permits use of any external image for construction of the basis functions. Different priors and basis functions may also have significant implications for (i) quantitative PET/SPECT imaging in dosimetry, and (ii) qualitative observer based studies in lesion detection and classification.
The motion correction example considered a simplified case of 4 discrete phases where motion correction transforms were obtained using ground truth attenuation maps. In practice, however, breathing motion is continuous, and motion correction transforms will need to be derived using alternative source of data. The scope of this technical report is merely to demonstrate that PyTomography contains the functionality for incorporating motion correction.
Example applications in 18F-FDG PET imaging demonstrated the capabilities of LM reconstruction using the OSEM and DIPRecon algorithms. As demonstrated qualitatively in Figure 5 and quantitatively in Figure 6, reconstruction of the low count data using DIPRecon was able to reduce noise in the grey matter regions while preserving cortical structures. Once again, the purpose of this paper is merely to demonstrate the capabilities of PET LM reconstruction and use of the DIPRecon algorithm provided in the software library; extensive research on the validity of the DIPRecon method should seek to explore, for example, the effects of different neural network architectures, hyperparameters, and misalignment between the PET/MRI images.
While this paper has demonstrated implementations for parallel collimator SPECT and LM TOF PET, there exist many other modalities not presently included in the software, including (but not limited to) diverging/converging/pinhole SPECT, sinogram-based PET reconstruction, and various forms of computed tomography (CT) and magnetic resonance (MR) imaging. As displayed in Figure 1, projectors for different imaging modalities can be implemented using a variety of python based tools: it is hoped that the structure and flexibility of PyTomography will encourage contributions from various research groups interested in particular imaging systems. Since the library is open source, newly developed functionality can be easily tested and verified by many independent research groups with their own data. The immediate goals for future development in PyTomography at the time of publication include:
-
1.
Fast PSF modeling for high energy SPECT isotopes, such as 131I and 225Ac.
-
2.
Incorporation of scatter and random estimation in PET reconstruction.
-
3.
Sinogram-based PET reconstructions.
-
4.
Development of a 3D Slicer36 extension.
In summary, we hope that we have made a compelling case for the benefit that this tool can bring to the medical imaging community. It can be used as a framework for studies that require fast reconstruction times, such as those that explore a wide range of reconstruction hyperparameters. It is well validated and may be used for accurate and reproducible quantitative imaging in both PET and SPECT; we particularly envision applications in the field of theranostics. A variety of developments will assist PyTomography in reaching the full potential of precision medicine. We thus highly encourage and welcome open-source contributions to assist in the items listed above; those who wish to contribute are encouraged to read the developers’ guide on the documentation website.
V. Conclusion
This work describes the python library PyTomography and highlights specific use cases in SPECT and PET imaging. The software architecture facilitates the development of different imaging modalities that can all interface with the same reconstruction algorithms. The purpose of PyTomography is to create a well-documented and computationally-efficient library for medical image reconstruction, where novel system modeling and reconstruction techniques are implemented, shared, and explored by experts in the community.
VI. Appendix
VI.A. Relevant Links
Links to the various webpages of PyTomography are contained in Table 5: GitHub contains the source code, Readthedocs contains all relevant documentation, PyPI is the host of the built source files, and Discourse is a community forum for users and contributors.
Website | Link |
---|---|
Github | https://github.com/qurit/PyTomography |
Readthedocs | https://pytomography.readthedocs.io/en/latest/ |
PyPI | https://pypi.org/project/pytomography/ |
Discourse | https://pytomography.discourse.group/ |
VI.B. Validation of PyTomography
This section contains two examples used to validate PyTomography against other reconstruction software:
-
1.
Monte Carlo SPECT Validation With STIR: Radioactivity concentrations in a digital phantom were selected to correspond to a 24-hour post injection prostate cancer patient (1700 MBq total activity) imaged via the prostate-specific membrane antigen (PSMA)-targeting radiopharmaceutical, 177Lu-PSMA-617. Simulated data was reconstructed with OSEM (2 iterations, 8 subsets) using (i) STIR and (ii) PyTomography. Coronal slices and 1D profiles of reconstructions are shown in Figure 7 and are nearly identical. The image noise, quantified by the standard deviation of predicted counts in the liver, was 0.789 counts (STIR) and 0.793 counts (PyTomography). The mean predicted counts in the kidneys were 1.764 (STIR) and 1.761 (PyTomography). The reconstruction time in PyTomography (5.4 s) was significantly faster than the time required in STIR (51542.2 s), owing to the speed-up factor of GPU implementation.
-
2.
Clinical SPECT Validation With Vendor: A Jaszczak phantom was filled with Lu-177 and scanned at 180 projections ( with a resolution of ) using a Siemens Symbia T Series SPECT/CT scanner with Medium Energy collimators. Reconstruction was performed with OSEM (4 iterations, 10 subsets) using (i) the manufacturer scanner software and (ii) PyTomography. Reconstructions and corresponding 1 dimensional profiles are shown in Figure 8; they appear similar. 3D slicer was used to obtain sample segmentations of the hot and cold regions; the mean source-to-background ratios were 20.97 (vendor) and 21.76 (PyTomography). The image noise, quantified by the standard deviation of predicted counts in the cold region, were 0.217 counts (vendor) and 0.178 counts (PyTomography).
-
3.
Monte Carlo PET Validation With CASToR: The ultra-high resolution 18F-FDG PET/ T1-weighted MRI brain image34 used in the PET example (556 million events) was reconstructed using LM TOF OSEM (2 iterations, 21 subsets) with both PyTomography and CASToR. Resulting reconstructions are shown in Figure 9. The mean activity ratio in grey to white matter was 2.05 (PyTomography) and 2.03 (CASToR). The noise in the image was estimated as the standard deviation of counts in white matter divided by the mean activity in white matter; the values were 0.329 (PyTomography) and 0.321 (CASToR). Apart from processing the ROOT files and building the sensitivity image, the time required for reconstruction in PyTomography was 14 s to build the system matrix and required 59 s per iteration for reconstruction. CASToR reconstruction was ran on a separate HP Z8 Computer Desktop with 2 Intel Xeon Gold 6136 CPUs at 3.00 GHz with a total of 48 CPU cores. The reconstruction was performed with 24 CPU cores and reconstruction required approximately 455 s per full iteration.
The images shown in this section are displayed using the “nipy_spectral” colormap of matplotlib because it has significant contrast. Since this colormap is neither perceptually uniform nor monotonically increasing in lightness, images in this section should be viewed in color.
![Refer to caption](extracted/2309.01977v3/figure7.jpg)
![Refer to caption](extracted/2309.01977v3/figure8.jpg)
![Refer to caption](extracted/2309.01977v3/figure9.jpg)
Acknowledgements
This work was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) CGS D Award 569711, NSERC Discovery Grants RGPIN-2019-06467 and RGPIN-2021-02965, as well as computational resources and services provided by Microsoft AI for Health.
References
- 1 J. Mendes and N. Matela, Breast Cancer Risk Assessment: A Review on Mammography-Based Approaches, Journal of Imaging 7, 98 (2021).
- 2 L. Emmett, K. Willowson, J. Violet, J. Shin, A. Blanksby, and J. Lee, Lutetium 177 PSMA radionuclide therapy for men with prostate cancer: a review of the current literature and discussion of practical aspects of therapy, Journal of Medical Radiation Sciences 64, 52–60 (2017).
- 3 T.-C. Yen, G. C. Pereira, M. Traughber, and R. F. Muzic, The Role of Imaging in Radiation Therapy Planning: Past, Present, and Future, BioMed Research International 2014, 231090 (2014).
- 4 A. M. Owrangi, P. B. Greer, and C. K. Glide-Hurst, MRI-only treatment planning: benefits and challenges, Physics in Medicine & Biology 63, 05TR01 (2018).
- 5 J. Qi and R. M. Leahy, Iterative reconstruction techniques in emission computed tomography, Physics in Medicine & Biology 51, R541 (2006).
- 6 H. E. Vuohijoki, C. J. Constable, and A. O. Sohlberg, Anatomically guided reconstruction improves lesion quantitation and detectability in bone SPECT/CT, Nuclear Medicine Communications 44 (2023).
- 7 Z. Yu, M. A. Rahman, T. Schindler, R. Laforest, and A. K. Jha, A physics and learning-based transmission-less attenuation compensation method for SPECT, Proc. SPIE Int. Soc. Opt. Eng. 11595, 10.1117/12.2582350 (2021).
- 8 K. Gong, C. Catana, J. Qi, and Q. Li, PET Image Reconstruction Using Deep Image Prior, IEEE Transactions on Medical Imaging 38, 1655–1665 (2019).
- 9 C. Chrysostomou, L. Koutsantonis, C. Lemesios, and C. N. Papanicolas, SPECT Angle Interpolation Based on Deep Learning Methodologies, in 2020 IEEE Nuclear Science Symposium and Medical Imaging Conference (NSS/MIC), pages 1–4, 2020.
- 10 K. Thielemans, S. Mustafovic, and C. Tsoumpas, STIR: Software for Tomographic Image Reconstruction Release 2, in 2006 IEEE Nuclear Science Symposium Conference Record, volume 4, pages 2174–2176, 2006.
- 11 T. Merlin, S. Stute, D. Benoit, J. Bert, T. Carlier, C. Comtat, M. Filipovic, F. Lamare, and D. Visvikis, CASToR: a generic data organization and processing code framework for multi-modal and multi-dimensional tomographic reconstruction, Physics in Medicine & Biology 63, 185005 (2018).
- 12 P. J. Markiewicz, M. J. Ehrhardt, K. Erlandsson, P. J. Noonan, A. Barnes, J. M. Schott, D. Atkinson, S. R. Arridge, B. F. Hutton, and S. Ourselin, NiftyPET: a High-throughput Software Platform for High Quantitative Accuracy and Precision PET Imaging and Analysis, Neuroinformatics 16, 95–115 (2018), ID: Markiewicz2018.
- 13 G. K. Loudos, P. Papadimitroulas, P. Zotos, I. Tsougos, and P. Georgoulias, Development and evaluation of QSPECT open-source software for the iterative reconstruction of SPECT images, Nuclear Medicine Communications 31, 558–566 (2010).
- 14 D. Gürsoy, F. De Carlo, X. Xiao, and C. Jacobsen, TomoPy: a framework for the analysis of synchrotron tomographic data, Journal of Synchrotron Radiation 21, 1188–1193 (2014).
- 15 W. van Aarle, W. J. Palenstijn, J. De Beenhouwer, T. Altantzis, S. Bals, K. J. Batenburg, and J. Sijbers, The ASTRA Toolbox: A platform for advanced algorithm development in electron tomography, Ultramicroscopy 157, 35–47 (2015).
- 16 S. Pedemonte, A. Bousse, K. Erlandsson, M. Modat, S. Arridge, B. F. Hutton, and S. Ourselin, GPU accelerated rotation-based emission tomography reconstruction, in IEEE Nuclear Science Symposuim & Medical Imaging Conference, pages 2657–2661, 2010.
- 17 M. Belzunce, C. Verrastro, E. Venialgo, and I. Cohen, CUDA Parallel Implementation of Image Reconstruction Algorithm for Positron Emission Tomography, The Open Medical Imaging Journal 6, 108–118 (2012).
- 18 S. Ha, S. Matej, M. Ispiryan, and K. Mueller, GPU-Accelerated Forward and Back-Projections With Spatially Varying Kernels for 3D DIRECT TOF PET Reconstruction, IEEE Transactions on Nuclear Science 60, 166–173 (2013).
- 19 G. Schramm, PARALLELPROJ – An open-source framework for fast calculation of projections in tomography, 2022.
- 20 H. Hudson and R. Larkin, Accelerated image reconstruction using ordered subsets of projection data, IEEE Transactions on Medical Imaging 13, 601–609 (1994).
- 21 P. Green, Bayesian reconstructions from emission tomography data using a modified EM algorithm, IEEE Transactions on Medical Imaging 9, 84–93 (1990).
- 22 S. Ahn and J. Fessler, Globally convergent image reconstruction for emission tomography using relaxed ordered subsets algorithms, IEEE Transactions on Medical Imaging 22, 613–626 (2003).
- 23 J. Nuyts, D. Beque, P. Dupont, and L. Mortelmans, A concave prior penalizing relative differences for maximum-a-posteriori reconstruction in emission tomography, IEEE Transactions on Nuclear Science 49, 56–60 (2002).
- 24 M. Ljungberg and S.-E. Strand, A Monte Carlo program for the simulation of scintillation camera characteristics, Computer Methods and Programs in Biomedicine 29, 257–272 (1989).
- 25 K. Ogawa, Y. Harata, T. Ichihara, A. Kubo, and S. Hashimoto, A practical method for position-dependent Compton-scatter correction in single photon emission CT, IEEE Transactions on Medical Imaging 10, 408–412 (1991).
- 26 W. P. Segars, G. Sturgeon, S. Mendonca, J. Grimes, and B. M. W. Tsui, 4D XCAT phantom for multimodality imaging research, Medical Physics 37, 4902–4915 (2010).
- 27 A. Fele-Paranj, B. Saboury, C. Uribe, and A. Rahmim, Physiologically based radiopharmacokinetic (PBRPK) modeling to simulate and analyze radiopharmaceutical therapies: studies of non-linearities, multi-bolus injections, and albumin binding, EJNMMI Radiopharmacy and Chemistry 9, 6 (2024).
- 28 R. Beare, B. Lowekamp, and Z. Yaniv, Image Segmentation, Registration and Characterization in R with SimpleITK, Journal of Statistical Software 86, 1–35 (2018).
- 29 Y. Dewaraja and B. J. Van, Lu-177 DOTATATE Anonymized Patient Datasets: Lu-177 SPECT Projection Data and CT-based Attenuation Coefficient Maps, Data set, 2021.
- 30 C. Uribe and et al., An International Study of Factors Affecting Variability of Dosimetry Calculations, Part 1: Design and Early Results of the SNMMI Dosimetry Challenge, Journal of Nuclear Medicine 62, 36S–47S (2021).
- 31 J. Brosch-Lenz, S. Ke, H. Wang, E. Frey, Y. K. Dewaraja, J. Sunderland, and C. Uribe, An International Study of Factors Affecting Variability of Dosimetry Calculations, Part 2: Overall Variabilities in Absorbed Dose, Journal of Nuclear Medicine 64, 1109–1116 (2023).
- 32 M. A. Belzunce and A. J. Reader, Technical Note: Ultra high-resolution radiotracer-specific digital pet brain phantoms based on the BigBrain atlas, Medical Physics 47, 3356–3362 (2020).
- 33 O. Ronneberger, P. Fischer, and T. Brox, U-Net: Convolutional Networks for Biomedical Image Segmentation, in Medical Image Computing and Computer-Assisted Intervention – MICCAI 2015, edited by N. Navab, J. Hornegger, W. M. Wells, and A. F. Frangi, pages 234–241, Cham, 2015, Springer International Publishing.
- 34 S. Pieper, M. Halle, and R. Kikinis, 3D Slicer, in 2004 2nd IEEE International Symposium on Biomedical Imaging: Nano to Macro (IEEE Cat No. 04EX821), pages 632–635 Vol. 1, 2004.
- 1 J. Mendes and N. Matela, Breast Cancer Risk Assessment: A Review on Mammography-Based Approaches, Journal of Imaging 7, 98 (2021).
- 2 L. Emmett, K. Willowson, J. Violet, J. Shin, A. Blanksby, and J. Lee, Lutetium 177 PSMA radionuclide therapy for men with prostate cancer: a review of the current literature and discussion of practical aspects of therapy, Journal of Medical Radiation Sciences 64, 52–60 (2017).
- 3 T.-C. Yen, G. C. Pereira, M. Traughber, and R. F. Muzic, The Role of Imaging in Radiation Therapy Planning: Past, Present, and Future, BioMed Research International 2014, 231090 (2014).
- 4 A. M. Owrangi, P. B. Greer, and C. K. Glide-Hurst, MRI-only treatment planning: benefits and challenges, Physics in Medicine & Biology 63, 05TR01 (2018).
- 5 J. Qi and R. M. Leahy, Iterative reconstruction techniques in emission computed tomography, Physics in Medicine & Biology 51, R541 (2006).
- 6 H. E. Vuohijoki, C. J. Constable, and A. O. Sohlberg, Anatomically guided reconstruction improves lesion quantitation and detectability in bone SPECT/CT, Nuclear Medicine Communications 44 (2023).
- 7 Z. Yu, M. A. Rahman, T. Schindler, R. Laforest, and A. K. Jha, A physics and learning-based transmission-less attenuation compensation method for SPECT, Proc. SPIE Int. Soc. Opt. Eng. 11595, 10.1117/12.2582350 (2021).
- 8 K. Gong, C. Catana, J. Qi, and Q. Li, PET Image Reconstruction Using Deep Image Prior, IEEE Transactions on Medical Imaging 38, 1655–1665 (2019).
- 9 C. Chrysostomou, L. Koutsantonis, C. Lemesios, and C. N. Papanicolas, SPECT Angle Interpolation Based on Deep Learning Methodologies, in 2020 IEEE Nuclear Science Symposium and Medical Imaging Conference (NSS/MIC), pages 1–4, 2020.
- 10 K. Thielemans, S. Mustafovic, and C. Tsoumpas, STIR: Software for Tomographic Image Reconstruction Release 2, in 2006 IEEE Nuclear Science Symposium Conference Record, volume 4, pages 2174–2176, 2006.
- 11 T. Merlin, S. Stute, D. Benoit, J. Bert, T. Carlier, C. Comtat, M. Filipovic, F. Lamare, and D. Visvikis, CASToR: a generic data organization and processing code framework for multi-modal and multi-dimensional tomographic reconstruction, Physics in Medicine & Biology 63, 185005 (2018).
- 12 P. J. Markiewicz, M. J. Ehrhardt, K. Erlandsson, P. J. Noonan, A. Barnes, J. M. Schott, D. Atkinson, S. R. Arridge, B. F. Hutton, and S. Ourselin, NiftyPET: a High-throughput Software Platform for High Quantitative Accuracy and Precision PET Imaging and Analysis, Neuroinformatics 16, 95–115 (2018), ID: Markiewicz2018.
- 13 G. K. Loudos, P. Papadimitroulas, P. Zotos, I. Tsougos, and P. Georgoulias, Development and evaluation of QSPECT open-source software for the iterative reconstruction of SPECT images, Nuclear Medicine Communications 31, 558–566 (2010).
- 14 D. Gürsoy, F. De Carlo, X. Xiao, and C. Jacobsen, TomoPy: a framework for the analysis of synchrotron tomographic data, Journal of Synchrotron Radiation 21, 1188–1193 (2014).
- 15 W. van Aarle, W. J. Palenstijn, J. De Beenhouwer, T. Altantzis, S. Bals, K. J. Batenburg, and J. Sijbers, The ASTRA Toolbox: A platform for advanced algorithm development in electron tomography, Ultramicroscopy 157, 35–47 (2015).
- 16 S. Pedemonte, A. Bousse, K. Erlandsson, M. Modat, S. Arridge, B. F. Hutton, and S. Ourselin, GPU accelerated rotation-based emission tomography reconstruction, in IEEE Nuclear Science Symposuim & Medical Imaging Conference, pages 2657–2661, 2010.
- 17 M. Belzunce, C. Verrastro, E. Venialgo, and I. Cohen, CUDA Parallel Implementation of Image Reconstruction Algorithm for Positron Emission Tomography, The Open Medical Imaging Journal 6, 108–118 (2012).
- 18 S. Ha, S. Matej, M. Ispiryan, and K. Mueller, GPU-Accelerated Forward and Back-Projections With Spatially Varying Kernels for 3D DIRECT TOF PET Reconstruction, IEEE Transactions on Nuclear Science 60, 166–173 (2013).
- 19 G. Schramm, PARALLELPROJ – An open-source framework for fast calculation of projections in tomography, 2022.
- 20 H. Hudson and R. Larkin, Accelerated image reconstruction using ordered subsets of projection data, IEEE Transactions on Medical Imaging 13, 601–609 (1994).
- 21 P. Green, Bayesian reconstructions from emission tomography data using a modified EM algorithm, IEEE Transactions on Medical Imaging 9, 84–93 (1990).
- 22 S. Ahn and J. Fessler, Globally convergent image reconstruction for emission tomography using relaxed ordered subsets algorithms, IEEE Transactions on Medical Imaging 22, 613–626 (2003).
- 23 G. Wang and J. Qi, PET Image Reconstruction Using Kernel Method, IEEE Transactions on Medical Imaging 34, 61–71 (2015).
- 24 J. Nuyts, D. Beque, P. Dupont, and L. Mortelmans, A concave prior penalizing relative differences for maximum-a-posteriori reconstruction in emission tomography, IEEE Transactions on Nuclear Science 49, 56–60 (2002).
- 25 J. Bowsher, H. Yuan, L. Hedlund, T. Turkington, G. Akabani, A. Badea, W. Kurylo, C. Wheeler, G. Cofer, M. Dewhirst, and G. Johnson, Utilizing MRI information to estimate F18-FDG distributions in rat flank tumors, in IEEE Symposium Conference Record Nuclear Science 2004., volume 4, pages 2488–2492 Vol. 4, 2004.
- 26 M. Ljungberg and S.-E. Strand, A Monte Carlo program for the simulation of scintillation camera characteristics, Computer Methods and Programs in Biomedicine 29, 257–272 (1989).
- 27 K. Ogawa, Y. Harata, T. Ichihara, A. Kubo, and S. Hashimoto, A practical method for position-dependent Compton-scatter correction in single photon emission CT, IEEE Transactions on Medical Imaging 10, 408–412 (1991).
- 28 W. P. Segars, G. Sturgeon, S. Mendonca, J. Grimes, and B. M. W. Tsui, 4D XCAT phantom for multimodality imaging research, Medical Physics 37, 4902–4915 (2010).
- 29 A. Fele-Paranj, B. Saboury, C. Uribe, and A. Rahmim, Physiologically based radiopharmacokinetic (PBRPK) modeling to simulate and analyze radiopharmaceutical therapies: studies of non-linearities, multi-bolus injections, and albumin binding, EJNMMI Radiopharmacy and Chemistry 9, 6 (2024).
- 30 R. Beare, B. Lowekamp, and Z. Yaniv, Image Segmentation, Registration and Characterization in R with SimpleITK, Journal of Statistical Software 86, 1–35 (2018).
- 31 Y. Dewaraja and B. J. Van, Lu-177 DOTATATE Anonymized Patient Datasets: Lu-177 SPECT Projection Data and CT-based Attenuation Coefficient Maps, Data set, 2021.
- 32 C. Uribe and et al., An International Study of Factors Affecting Variability of Dosimetry Calculations, Part 1: Design and Early Results of the SNMMI Dosimetry Challenge, Journal of Nuclear Medicine 62, 36S–47S (2021).
- 33 J. Brosch-Lenz, S. Ke, H. Wang, E. Frey, Y. K. Dewaraja, J. Sunderland, and C. Uribe, An International Study of Factors Affecting Variability of Dosimetry Calculations, Part 2: Overall Variabilities in Absorbed Dose, Journal of Nuclear Medicine 64, 1109–1116 (2023).
- 34 M. A. Belzunce and A. J. Reader, Technical Note: Ultra high-resolution radiotracer-specific digital pet brain phantoms based on the BigBrain atlas, Medical Physics 47, 3356–3362 (2020).
- 35 O. Ronneberger, P. Fischer, and T. Brox, U-Net: Convolutional Networks for Biomedical Image Segmentation, in Medical Image Computing and Computer-Assisted Intervention – MICCAI 2015, edited by N. Navab, J. Hornegger, W. M. Wells, and A. F. Frangi, pages 234–241, Cham, 2015, Springer International Publishing.
- 36 S. Pieper, M. Halle, and R. Kikinis, 3D Slicer, in 2004 2nd IEEE International Symposium on Biomedical Imaging: Nano to Macro (IEEE Cat No. 04EX821), pages 632–635 Vol. 1, 2004.