mne_denoise.asr.process_asr#
- mne_denoise.asr.process_asr(X: ndarray, sfreq: float, state: ASRState, *, window_length: float = 0.5, window_overlap: float = 0.66, max_dims: float | int = 0.66, regularization: float = 1e-08, store_reconstruction_matrices: bool = False, max_mem_mb: int | None = 512, lookahead: float | None = None, stepsize: int | None = None, method: str | None = None) tuple[ndarray, dict[str, Any]][source]#
Apply a calibrated ASR model to continuous data.
- Parameters:
X (ndarray, shape (n_channels, n_times)) – Continuous data in the same channel order and units used for calibration.
sfreq (float) – Sampling frequency in Hz.
state (ASRState) – Fitted calibration state from
calibrate_asr().window_length (float) – Processing window length in seconds.
window_overlap (float) – Calibration threshold-window overlap. Processing follows the standard streaming ASR algorithm and uses
stepsizefor reconstruction-matrix updates.max_dims (float | int) – Maximum number of dimensions reconstructed per window. Floats in
[0, 1]are interpreted as a fraction of channels.regularization (float) – Relative eigenvalue floor for window covariances.
store_reconstruction_matrices (bool) – If True, store all window reconstruction matrices in diagnostics.
max_mem_mb (int | None) – Reserved memory limit for future chunking. Present for API stability.
lookahead (float | None) – Processing lookahead in seconds. If None, use
window_length / 2.stepsize (int | None) – Number of samples between reconstruction-matrix updates. If None, use
floor(sfreq * window_length / 2), matching the standard algorithm defaults.method ({'standard', 'riemannian'} | None) – Covariance geometry for processing. If
None, usestate.method.
- Returns:
X_clean (ndarray, shape (n_channels, n_times)) – Cleaned data.
diagnostics (dict) – Processing diagnostics.
Examples
Process a new array of task data using a previously calibrated ASR state:
>>> import numpy as np >>> from mne_denoise.asr import process_asr >>> rng = np.random.default_rng(42) >>> task_data = rng.standard_normal((10, 2000)) >>> # Assuming 'state' is an ASRState returned by calibrate_asr >>> cleaned_data, diagnostics = process_asr(task_data, sfreq=250.0, state=state) >>> print(f"Cleaned data shape: {cleaned_data.shape}") Cleaned data shape: (10, 2000)