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].

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

ToMoBAR in action

What ToMoBAR can do:#

  • 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() 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.

See more on ToMoBAR’s API in API reference.