FISTA 3D (ToMoBAR)#
Description
FISTA stands for A Fast Iterative Shrinkage-Thresholding Algorithm [2]. One of the major benefits of FISTA is the ability to build complex optimisation functionals that can handle a variety of problematic data. For instance, the amplification of the noise in iterations which is common for classical iterative methods, such as, CGLS 3D (ToMoBAR) and SIRT 3D (ToMoBAR), can be resolved by using regularisation. There are many different types of regularisation that can be used, see some are listed here [4].
Where and how to use it:
When the data is highly inaccurate, noisy, incomplete, or limited-angle data. Due to added regularisation, the quality of FISTA reconstruction is expected to be better than other classical methods, such as, CGLS 3D (ToMoBAR) or SIRT 3D (ToMoBAR).
What are the adjustable parameters:
The number of
iterations
is an important parameter as one would like to achieve a trade-off between the resolution and SNR. For FISTA-OS method (whensubsets_number > 5
) the range of iterations between 10 and 20 is a good choice normally.
![]() Fig. 47 Log-Polar 3D (ToMoBAR) reconstruction is extremely noisy as the data is undersampled with a rapid exposure to the X-ray beam.# |
![]() Fig. 48 FISTA-OS reconstruction with |
![]() Fig. 49 FISTA-OS reconstruction with |
regularisation_parameter
is probably the second most important parameter afteriterations
. When one increases the value ofregularisation_parameter
, one can expect the image to be smoother. The type of smoothing usually depends on the regularisation type, and for Total-Variation is the piecewise-constant smoothness.
![]() Fig. 50 FISTA-OS reconstruction with |
![]() Fig. 51 Same as left but |
regularisation_iterations
defines how many inner iterations for regularisation performed on every step of the outer (FISTA) algorithm. This can depend onregularisation_type
andsubsets_number
. The general rule is whensubsets_number
is smaller thenregularisation_iterations
should be increased.subsets_number
usually helps with the faster convergence of the reconstruction algorithm. However, higher values can lead to divergence. It is recommended to keep that value between 4 and 8. In the case of the incorrect reconstruction, one can setsubsets_number
to 1, therefore enabling a classical FISTA algorithm. For the classical FISTA one needs to run significantly more outeriterations
, in the range between 200-500.nonnegativity
. By setting this parameter toTrue
imposes positivity constraint on the solution. In certain situations, when reconstructions require segmentation, one can try enabling it.