FISTA 3D (ToMoBAR)

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 (when subsets_number > 5) the range of iterations between 10 and 20 is a good choice normally.

../../../_images/lprec_recon_pad_noisy_data.jpg

Fig. 47 Log-Polar 3D (ToMoBAR) reconstruction is extremely noisy as the data is undersampled with a rapid exposure to the X-ray beam.#

../../../_images/fistaos_recon_iter6.jpg

Fig. 48 FISTA-OS reconstruction with iterations=6 and using Total Variation denoising (PD) as regularisation, regularisation_parameter = 7.0e-07. See the improved resolution and the absence of noise.#

../../../_images/fistaos_recon_iter15.jpg

Fig. 49 FISTA-OS reconstruction with iterations=15 provides even crispier resolution without significant noise amplification due to regularisation.#

  • regularisation_parameter is probably the second most important parameter after iterations. When one increases the value of regularisation_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.

../../../_images/fistaos_recon_iter10_regul_high.jpg

Fig. 50 FISTA-OS reconstruction with iterations=10 and increased value of regularisation_parameter = 5.0e-06. See how the dynamic range has been reduced further by smoothing out smaller features.#

../../../_images/fistaos_recon_iter10_regul_high_nonneg.jpg

Fig. 51 Same as left but nonnegativity = True. See how the reconstruction looks like a segmented image now.#

  • regularisation_iterations defines how many inner iterations for regularisation performed on every step of the outer (FISTA) algorithm. This can depend on regularisation_type and subsets_number. The general rule is when subsets_number is smaller then regularisation_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 set subsets_number to 1, therefore enabling a classical FISTA algorithm. For the classical FISTA one needs to run significantly more outer iterations, in the range between 200-500.

  • nonnegativity. By setting this parameter to True imposes positivity constraint on the solution. In certain situations, when reconstructions require segmentation, one can try enabling it.