About ToMoBAR#

The general concept:#

ToMoBAR is a Python library (Matlab is not currently supported) of direct and model-based regularised iterative reconstruction algorithms with a plug-and-play capability. ToMoBAR offers you a selection of various data models and regularisers resulting in complex objectives for tomographic reconstruction. ToMoBAR uses ASTRA-Toolbox [VanAarle2015], for projection-backprojection parallel-beam geometry routines, which is a common geometry for X-ray synchrotron imaging [SX2022].

Where it is used:#

ToMoBAR is currently used in production at Diamond Light Source, which is the United Kingdom’s national synchrotron science facility. ToMoBAR is exposed through the HTTomolibGPU library which is the backend for the HTTomo’s framework for big-data processing and reconstruction.

What can ToMoBAR do:#

ToMoBAR can operate in GPU device-to-device fashion on CuPy arrays therefore ensuring a better computational efficiency. With the GPU device controlling API reference exposed it can also support multi-GPU parallel computing [CT2020] .

  • Reconstruct parallel-beam projection data in 2D and 3D using GPU-accelerated routines from ASTRA-toolbox [VanAarle2015].

  • Employ fast GPU-accelerated direct methods, such as FBP method in tomobar.methodsDIR and CuPy accelerated Fourier reconstruction FOURIER_INV() [NIKITIN2017] in tomobar.methodsDIR_CuPy.

  • Use advanced model-based regularised iterative schemes such as FISTA and ADMM proximal splitting algorithms in tomobar.methodsIR or even faster implementations with CuPy in tomobar.methodsIR_CuPy.

  • The FISTA algorithm [BT2009], [Xu2016] offers various modifications: convergence acceleration with ordered-subsets, different data fidelities: PWLS, Huber, Group-Huber [PM2015], Students’t [KAZ1_2017], and SWLS [HOA2017] to deal with noise and various imaging artefacts, such as, rings, streaks.

  • Combine FISTA and ADMM methods with regularisers from the CCPi-Regularisation Toolkit [KAZ2019]. It is possible to construct different combinations of the objective function.

ToMoBAR in action

See more on ToMoBAR’s API in API reference.