mantidimaging.core.operations.remove_all_stripe.remove_all_stripe module#
- class mantidimaging.core.operations.remove_all_stripe.remove_all_stripe.RemoveAllStripesFilter[source]#
Bases:
BaseFilter
Stripe and ring artifact removal. Remove all types of stripe artifacts by combining algorithm 6, 5, and 3 in Vo et al., Optics Express 28396 (2018).
Source: algotom/algotom
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(snr: QDoubleSpinBox, la_size: QSpinBox, sm_size: QSpinBox, dim: QSpinBox)[source]#
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.
- static filter_func(images: ImageStack, snr=3, la_size=61, sm_size=21, dim=1, progress=None)[source]#
- Parameters:
snr – The ratio used to segment between useful information and noise. Greater is less sensitive.
la_size – The window size of the median filter to remove large stripes.
sm_size – The window size of the median filter to remove small-to-medium stripes.
dim – Whether to perform the median on 1D or 2D view of the data.
- Returns:
Remove all types of stripe artifacts.
- filter_name = 'Remove all stripes'#
- static group_name() FilterGroup [source]#
- link_histograms = True#
- operate_on_sinograms = True#
- static register_gui(form, on_change, view)[source]#
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.
- Parameters:
view –
form – the layout to create input widgets in
on_change – the filter view action to be bound to all created inputs
- Returns:
the widgets bound as kwargs which are needed to call execute_wrapper