mantidimaging.core.operations.nan_removal.nan_removal module#

class mantidimaging.core.operations.nan_removal.nan_removal.NaNRemovalFilter[source]#

Bases: BaseFilter

Replaces the NaNs with a specified value or the median of neighbouring pixels.

Intended to be used on: Projections

When: To remove NaNs before reconstruction.

Note that the median method cannot remove continuous blocks of NaNs.

MODES = ['Constant', 'Median']#
static compute_constant_function(i: int, array: ndarray, params: dict)[source]#
static compute_median_function(i: int, array: ndarray, params: dict)[source]#
static execute_wrapper(mode_field=None, replace_value_field=None)[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(data, replace_value=None, mode_value='Constant', progress=None) ImageStack[source]#
Parameters:
  • data – The input data.

  • mode_value – Values to replace NaNs with. One of [“Constant”, “Median”]

  • replace_value – In constant mode, the value to replace NaNs with.

  • progress – The optional Progress object.

Returns:

The ImageStack object with the NaNs replaced.

filter_name = 'NaN Removal'#
static register_gui(form: QFormLayout, on_change: Callable, view: BaseMainWindowView) dict[str, QWidget][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

mantidimaging.core.operations.nan_removal.nan_removal.enable_correct_fields_only(mode_field, replace_value_field)[source]#