mne_denoise.dss.WienerMaskDenoiser#

class mne_denoise.dss.WienerMaskDenoiser(window_samples: int = 50, noise_percentile: float = 25.0, *, min_gain: float = 0.01, noise_variance: float | None = None)[source]#

Local-variance Wiener mask for iterative DSS.

The local variance is estimated from moving averages of the source and its square. A percentile of that variance, or noise_variance, sets the noise floor; the soft gain is signal_variance / (signal_variance + noise_variance) and is bounded below by min_gain.

Parameters:
window_samplesint, default=50

Window length for local statistics; values below 3 are set to 3.

noise_percentilefloat, default=25.0

Percentile used for the estimated noise floor.

min_gainfloat, default=0.01

Lower bound on the mask gain.

noise_variancefloat or None, default=None

Fixed noise variance. If None, estimate it from the local-variance percentile.

denoise(source: ndarray) ndarray[source]#

Apply Wiener mask denoising.

Parameters:
sourcendarray, shape (n_times,) or (n_times, n_epochs)

Source time series.

Returns:
denoisedndarray, same shape as input

Wiener-masked source.