class RemoveAllRings[source]
detect_stripe(listdata, snr)[source]

Algorithm 4 in the paper. To locate stripe positions.

Parameters
  • listdata (1D normalized array.) –

  • snr (Ratio (>1.0) used to detect stripe locations.) –

Returns

listmask

Return type

1D binary mask.

pre_process()[source]

This method is called immediately after base_pre_process().

process_frames(data)[source]

Apply algorithm 6, 5, and 3 in the paper to removal all types of stripes

remove_large_stripe(matindex, sinogram, snr, size)[source]

Algorithm 5 in the paper. To remove large stripes.

Parameters
  • sinogram (2D array.) –

  • snr (Ratio (>1.0) used to detect stripe locations.) –

  • size (Window size of the median filter.) –

Returns

sinogram

Return type

stripe-removed sinogram.

remove_stripe_based_sorting(matindex, sinogram, size)[source]

Algorithm 3 in the paper. To remove partial and full stripes.

remove_unresponsive_and_fluctuating_stripe(sinogram, snr, size)[source]

Algorithm 6 in the paper. To remove unresponsive and fluctuating stripes.

Parameters
  • sinogram (2D array.) –

  • snr (Ratio (>1.0) used to detect stripe locations.) –

  • size (Window size of the median filter.) –

Returns

sinogram

Return type

stripe-removed sinogram.

setup()[source]

This method is first to be called after the plugin has been created. It determines input/output datasets and plugin specific dataset information such as the pattern (e.g. sinogram/projection).