mne_denoise.dss.denoisers.AverageBias#

class mne_denoise.dss.denoisers.AverageBias(axis: str = 'epochs', weights: ndarray | None = None)[source]#

Bias function for finding repeatable components via averaging.

Maximizes the reproducibility of patterns across trials (epochs) or datasets (subjects). This LinearDenoiser covers: - Trial averaging (axis=’epochs’): for evoked response enhancement - Dataset averaging (axis=’datasets’): for group-level repeatability (JDSS)

Parameters:
  • axis (str) – Dimension to average over: - ‘epochs’ (default): Average across trials. Input shape: (n_channels, n_times, n_epochs) - ‘datasets’: Average across datasets/subjects. Input shape: (n_datasets, n_channels, n_times)

  • weights (array-like, optional) – Weights for averaging. If None, uniform weighting.

Examples

>>> from mne_denoise.dss.denoisers import AverageBias
>>> # For evoked response enhancement (like old TrialAverageBias)
>>> epochs_data = np.random.randn(64, 100, 50)  # channels x times x trials
>>> bias = AverageBias(axis="epochs")
>>> biased = bias.apply(epochs_data)
>>> # For group-level repeatability (like old JDSS)
>>> group_data = np.random.randn(10, 64, 100)  # subjects x channels x times
>>> bias = AverageBias(axis="datasets")
>>> biased = bias.apply(group_data)

References

Särelä & Valpola (2005). Section 4.1.4 “DENOISING OF QUASIPERIODIC SIGNALS” de Cheveigné & Parra (2014). Joint denoising source separation.

__init__(axis: str = 'epochs', weights: ndarray | None = None) None[source]#

Methods

__init__([axis, weights])

apply(data)

Apply averaging bias.