mne_denoise.dss.iterative_dss_one#

mne_denoise.dss.iterative_dss_one(X_whitened: ndarray, denoiser: Callable[[ndarray], ndarray], *, w_init: ndarray | None = None, max_iter: int = 100, tol: float = 1e-06, alpha: float | Callable[[ndarray], float] | None = None, beta: float | Callable[[ndarray], float] | None = None, gamma: float | Callable[[ndarray, ndarray, int], float] | None = None, random_state: int | Generator | None = None, callback=None, verbose: bool | str | int | None = None) tuple[ndarray, ndarray, int, bool][source]#

Extract one DSS component by fixed-point iteration.

Parameters:
X_whitenedndarray, shape (n_features, n_times)

Whitened data matrix.

denoisercallable

Nonlinear source transformation.

w_initndarray, shape (n_features,), or None, default=None

Initial unit-vector estimate. None uses random initialization.

max_iterint, default=100

Maximum number of iterations.

tolfloat, default=1e-6

Sign-insensitive convergence tolerance.

alphafloat, callable, or None, default=None

Optional source-normalization factor.

betafloat, callable, or None, default=None

Optional Newton/fixed-point correction.

gammafloat, callable, or None, default=None

Optional relaxation factor.

random_stateint, numpy.random.Generator, or None, default=None

Random state for initialization.

callbackcallable or None, default=None

Synchronous progress callback receiving ProgressEvent objects.

verbosebool, str, int, or None, default=None

Logging level.

Returns:
wndarray, shape (n_features,)

Unit-norm spatial filter.

sourcendarray, shape (n_times,)

Extracted source.

n_iterint

Number of iterations performed.

convergedbool

Whether the tolerance was reached.

Notes

Convergence compares the absolute dot product of successive unit filters, so a sign flip is treated as no change. This follows the iterative DSS formulation [1].

References