mantidimaging.core.operations.remove_dead_stripe.remove_dead_stripe module

class mantidimaging.core.operations.remove_dead_stripe.remove_dead_stripe.RemoveDeadStripesFilter[source]

Bases: mantidimaging.core.operations.base_filter.BaseFilter

Stripe and ring artifact removal. Algorithm 6 in Vo et al., Optics Express 28396 (2018). Remove unresponsive or fluctuating stripes by: locating stripes, correction by interpolation.


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: PyQt5.QtWidgets.QDoubleSpinBox, size: PyQt5.QtWidgets.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:, snr=3, size=61, cores=None, chunksize=None, progress=None)[source]

Executes the filter algorithm on a given set of image data with the given parameters.

  • data – the image data to apply the filter to

  • kwargs – any additional arguments which the specific filter uses


the image data after applying the filter

filter_name = 'Remove dead stripes'
static group_name() mantidimaging.core.operations.base_filter.FilterGroup[source]
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.

  • view

  • 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