Dependencies#
ToMoBAR relies on several dependencies which we list bellow in the order of priority. In general, we would recommend installing 1,2 and 4 packages.
1. ASTRA-toolbox is the most critical dependency as ToMoBAR heavily relies on the GPU-accelerated projection/backprojection routines of the toolbox. With the package installed, one can perform Direct reconstruction and Basic iterative reconstruction, however the regularisation will not be available for Regularised iterative reconstruction.
For Python installation, see this conda page.
$ conda install astra-toolbox::astra-toolbox
2. CCPi-Regularisation-Toolkit [KAZ2019] provides CPU and GPU regularisers (2D/3D) to enable Regularised iterative reconstruction in ToMoBAR. Once installed, one will have an access to more than 10 plug-and-play regularisers to compliment ToMoBAR’s iterative reconstruction algorithms.
For Python installation, see this conda-ccpi and this conda-httomo pages. Either of them should work:
$ conda install ccpi::ccpi-regulariser # linux/windows
$ conda install httomo::ccpi-regulariser # linux
$ conda install httomo::ccpi-regularisation-cupy # all OS / CuPy modules only
3. Wavelet toolbox pypwt or pycudwt is required if the soft/hard thresholding of Wavelets coefficients is added to the regularisers above. In some cases it can be beneficial for the reconstruction quality.
For Python installation one can try pip install pycudwt or:
$ conda install httomo::pypwt # linux only
4. TomoPhantom is optional but can be helpful for generating synthethic tomographic data and play with Synthethic data reconstruction. Also most of the Demos in ToMoBAR presented by using TomoPhantom.
For Python installation see the installation guide.
$ conda install httomo::tomophantom # linux/windows
5. CuPy dependency is optional to be able to use algorithms operating on CuPy array kept on the GPU device instead of Numpy arrays. It is a work in progress to fully support the feature in ToMoBAR, however, many main reconstruction methods such as direct and basic were already ported. FISTA ordered-subsets with some regularisres has been exposed and offers up to several times acceleration compared to the version in
tomobar.methodsIR
. We have plans to continue developing and supporting this new capability as it offers promising efficiency for GPU computations.For Python installation see the conda-cupy page.
$ conda install conda-forge::cupy # linux/windows
6. CuPy-enabled CCPi-Regularisation-Toolkit is required when (5) is satisfied. This extension doesn’t depend on (2) and can co-exist with (2) installation or standalone. Note, however, it is also WIP and not all regularisers
tomobar.regularisersCuPy
have been ported.
$ conda install httomo::ccpi-regularisation-cupy # all OS supported