- class mantidimaging.core.operations.remove_stripe_filtering.remove_stripe_filtering.RemoveStripeFilteringFilter¶
Stripe and ring artifact removal. Combination of algorithm 2 and algorithm 3 in Vo et al., Optics Express 28396 (2018). Removing stripes using the filtering and sorting technique.
Intended to be used on: Sinograms
When: If stripes artifacts are present that have not been removed with outliers + flat-fielding the projections
Caution: Horizontal stripes caused by changes in image intensity (pixel values) should be fixed by ROI Normalisation instead!
- static execute_wrapper(sigma: QSpinBox, size: QSpinBox, window_dim: QSpinBox, filtering_dim: QSpinBox)¶
Should construct a partial call to _filter_func using values taken from the widgets passed to this function as kwargs. :param kwargs: widgets which contain values required for _filter_func. :return: a partial call to _filter_func using parameters taken from the input widgets.
- classmethod filter_func(images: ImageStack, sigma=3, size=21, window_dim=1, filtering_dim=1, progress=None)¶
sigma – The sigma of the Gaussian window used to separate the low-pass and high-pass components of the intensity profile of each column.
size – The window size of the median filter to remove large stripes.
window_dim – Whether to perform the median on 1D or 2D view of the data.
filtering_dim – Whether to use a 1D or 2D low-pass filter. This uses different Sarepy methods.
The ImageStack object with the stripes removed using the filtering and sorting technique.
- filter_name = 'Remove stripes with filtering'¶
- static group_name() mantidimaging.core.operations.base_filter.FilterGroup ¶
- operate_on_sinograms = True¶
- static register_gui(form, on_change, view)¶
Adds any required input widgets to the given form and returns references to them.
The return values should be in a dict which can be unpacked as kwargs for a call to the operations execute_wrapper.
form – the layout to create input widgets in
on_change – the filter view action to be bound to all created inputs
the widgets bound as kwargs which are needed to call execute_wrapper