Remove stripes by sorting

Remove stripes by sorting#

Description

This stripe removal algorithm is developed by Dr. Nghia Vo and is a part of the module httomolibgpu.prep.stripe for data correction. This filter works in the sinogram space to minimise stripes leading to Ring Artifacts in the reconstruction. See more about the filter in the original publication [12]. Also more information about the method can be found on the author’s software Sarepy.

Where and how to use it:

Stripe removal method is used for data pre-processing, i.e., before the reconstruction to remove the stripes present in the data. If the stripes are not removed, this will lead to ring artefacts in the reconstruction and further problems with quantification and segmentation.

What are the adjustable parameters:

The important parameter here is size which is responsible for the size of the median filter where sorting is performed.

Practical example:

In this example we demonstrate how to apply the stripe removal algorithm to the normalised projection data.

Warning

As with any pre-processing tool, one needs to be careful in applying stripe removal algorithm to data. Sub-optimal parameters can potentially lead to other artifacts introduced in the reconstruction.

../../_images/data_stripes_added_sino.png

Fig. 19 Input (sinogram view) with the stripes added#

../../_images/data_stripes_added_proj.png

Fig. 20 Input (projection view) with the stripes added#

../../_images/remove_stripe_based_sorting_sino.png

Fig. 21 After applying remove stripes by sorting (sinogram)#

../../_images/remove_stripe_based_sorting_proj.png

Fig. 22 After applying remove stripes by sorting (projection)#

../../_images/remove_stripe_based_sorting_res_sino.png

Fig. 23 Sinogram view of absolute residual between input and output#

../../_images/remove_stripe_based_sorting_res_proj.png

Fig. 24 Projection view of absolute residual between input and output#