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
iterationsis 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_parameteris 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_iterationsdefines how many inner iterations for regularisation performed on every step of the outer (FISTA) algorithm. This can depend onregularisation_typeandsubsets_number. The general rule is whensubsets_numberis smaller thenregularisation_iterationsshould be increased.subsets_numberusually 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_numberto 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 toTrueimposes positivity constraint on the solution. In certain situations, when reconstructions require segmentation, one can try enabling it.