| Literature DB >> 27140167 |
Daniël M Pelt1, Dogˇa Gürsoy2, Willem Jan Palenstijn1, Jan Sijbers3, Francesco De Carlo2, Kees Joost Batenburg1.
Abstract
The processing of tomographic synchrotron data requires advanced and efficient software to be able to produce accurate results in reasonable time. In this paper, the integration of two software toolboxes, TomoPy and the ASTRA toolbox, which, together, provide a powerful framework for processing tomographic data, is presented. The integration combines the advantages of both toolboxes, such as the user-friendliness and CPU-efficient methods of TomoPy and the flexibility and optimized GPU-based reconstruction methods of the ASTRA toolbox. It is shown that both toolboxes can be easily installed and used together, requiring only minor changes to existing TomoPy scripts. Furthermore, it is shown that the efficient GPU-based reconstruction methods of the ASTRA toolbox can significantly decrease the time needed to reconstruct large datasets, and that advanced reconstruction methods can improve reconstruction quality compared with TomoPy's standard reconstruction method.Entities:
Keywords: ASTRA toolbox; TomoPy; tomography
Year: 2016 PMID: 27140167 PMCID: PMC5315009 DOI: 10.1107/S1600577516005658
Source DB: PubMed Journal: J Synchrotron Radiat ISSN: 0909-0495 Impact factor: 2.616
List of tomographic reconstruction methods included in TomoPy and ASTRA for two-dimensional parallel-beam geometries
For more information about the FP, BP, FBP, ART, SIRT and SART methods, we refer to Kak & Slaney (2001 ▸ ▸). For the Gridrec, MLEM, OSEM, PML and CGLS methods, we refer to Dowd et al. (1999 ▸), Dempster et al. (1977 ▸), Hudson & Larkin (1994 ▸), Chang et al. (2004 ▸) and Hansen (1998 ▸), respectively.
| TomoPy | ASTRA | |||||
|---|---|---|---|---|---|---|
| Method | CPU | GPU | Method | CPU | GPU | |
| ART | × | ART | × | |||
| BART | × | BP | × | × | ||
| Gridrec | × | CGLS | × | × | ||
| MLEM | × | FP | × | × | ||
| OSEM | × | FBP | × | × | ||
| PML | × | MLEM | × | |||
| OSPML | × | SART | × | × | ||
| SIRT | × | SIRT | × | × | ||
Figure 1Schematic overview of the workflow of processing a dataset with the integrated TomoPy and ASTRA framework. Note that the reconstruction step can be performed by either TomoPy or the ASTRA toolbox.
List of common options that are used when reconstructing with the ASTRA toolbox through TomoPy
| Option | Description | Example values |
|---|---|---|
|
| Which reconstruction method to use |
|
|
| Which projection kernel to use |
|
|
| Number of iterations to use in iterative method |
|
|
| Python dictionary with extra method-specific options |
|
|
| List of GPU indices to use for reconstruction |
|
Figure 2Computation time per slice of reconstructing with the gridrec method computed with TomoPy, the FBP method computed with the ASTRA toolbox, and 100 iterations of the SIRT method computed with both, for 1024 projections and a detector width of 1200 pixels. Results are shown for using a single CPU core, 8 CPU cores, a single GPU, and 4 GPUs.
Figure 3Reconstructions of a single slice of a sample in a high-pressure diamond anvil cell which blocks 86 of the 359 projections over 180°, with 2560 detector pixels per projection. Reconstructions are computed with (a) gridrec (TomoPy), (b) and (c) SIRT with a nonnegativity constraint (ASTRA), and (d) TV-minimization using FISTA (ASTRA plugin). In (a), (c) and (d), a ring-removal pre-processing step (Münch et al., 2009 ▸) was applied using TomoPy. A line profile of the center, indicated in (a) by a dotted line, is shown for each reconstruction, as well as a cropped pixel section of the upper left part of the sample.