NlMeansDenoising

giant.image_processing.denoising:

class giant.image_processing.denoising.NlMeansDenoising(options=None)[source]

Implements image denoising using Non-local Means Denoising algorithm.

See http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ for details.

Noise is expected to be gaussian white noise.

This can be fairly effective at removing noise without introducing artifacts, however it can tend to get rid of dim point sources as noise.

Parameters:

options (NlMeansDenoisingOptions | None) – the options to configure the class with

filter_strength: float = 3.0

higher values leads to more denoising but more loss of detail.

norm_type: int = 4

The type of norm used for the weight calculation.

Must be NORM_L1 or NORM_L2

property options_dict: Dict

Determine the options input to the dataclass.

This property method will ignore all internal properties and functions

property original_options: OptionsT

Get the original configuration options.

Returns:

OptionsT: The original options used during initialization.

Warning

Modifying the returned object will affect reset behavior.

search_window_size: int = 21

The size in pixels of the window that is used to computed weighted average for a given pixel.

Should be odd.

Higher numbers makes the denoising slower.

template_window_size: int = 7

The size in pixels of the tempalte patch that is used to compute weights.

Should be odd.

allowed_dtypes: list[DTypeLike] = [<class 'numpy.uint8'>, <class 'numpy.uint16'>]

The allowed datatype.

Summary of Methods

apply_options

Update the options as attributes of the object class

comparison_dictionary

Compares each attribute of self to other and stores the result in a dict mapping the attribute to the comparison result.

local_vars

this is used to overwrite options in variables only used in __init__

override_options

This method is used for special cases when certain options should be overwritten

reset_settings

Resets the class to the state it was originally initialized with.