mne_denoise.dss.denoisers.GaussDenoiser#

class mne_denoise.dss.denoisers.GaussDenoiser(a: float = 1.0)[source]#

Gaussian nonlinearity (FastICA ‘gauss’).

Implements:

$s_{new} = s \cdot \exp(-a s^2 / 2)$

This nonlinearity is robust and works well for super-Gaussian distributions but is also capable of separating sub-Gaussian sources depending on the sign of kurtosis. It corresponds to the derivative of the Gaussian function.

Parameters:

a (float) – Parameter ‘a_1’ in FastICA literature. Default 1.0.

Examples

>>> # Use for robust ICA
>>> from mne_denoise.dss.denoisers import GaussDenoiser, beta_gauss
>>> denoiser = GaussDenoiser()
>>> dss = IterativeDSS(denoiser=denoiser, beta=beta_gauss)

References

Särelä & Valpola (2005). Section 4.2.2 “BETTER ESTIMATE FOR THE SIGNAL VARIANCE”

__init__(a: float = 1.0) None[source]#

Methods

__init__([a])

denoise(source)

Apply Gaussian nonlinearity.