mne_denoise.dss.denoisers.LineNoiseBias#

class mne_denoise.dss.denoisers.LineNoiseBias(freq: float, sfreq: float, *, method: str = 'fft', n_harmonics: int | None = None, bandwidth: float = 1.0, order: int = 4, nfft: int = 1024, overlap: float = 0.5)[source]#

A bias LinearDenoiser for line noise isolation (Notch/IIR or FFT/Harmonic).

Isolates power at a specific frequency (e.g., 50/60 Hz) and potentially its harmonics. Supports two methods:

  1. 'fft': Use FFT masking to isolate exact frequency bins (ZapLine style). Best for sharp line noise with harmonics.

  2. 'iir': Use a narrow bandpass (notch) filter. Simpler, but affects broader band.

Parameters:
  • freq (float) – Line frequency in Hz.

  • sfreq (float) – Sampling frequency in Hz.

  • method ({'fft', 'iir'}) – Method to use. Default ‘fft’.

  • n_harmonics (int, optional) – Number of harmonics (for ‘fft’ method). If None, all up to Nyquist.

  • bandwidth (float, optional) – Bandwidth in Hz (for ‘iir’ method). Default 1.0.

  • order (int, optional) – Filter order (for ‘iir’ method). Default 4.

  • nfft (int, optional) – FFT window size (for ‘fft’ method). Default 1024.

  • overlap (float, optional) – Overlap fraction (for ‘fft’ method). Default 0.5.

Examples

>>> bias = LineNoiseBias(freq=50, sfreq=1000, method="fft")
>>> biased = bias.apply(data)
__init__(freq: float, sfreq: float, *, method: str = 'fft', n_harmonics: int | None = None, bandwidth: float = 1.0, order: int = 4, nfft: int = 1024, overlap: float = 0.5) None[source]#

Methods

__init__(freq, sfreq, *[, method, ...])

apply(data)

Apply the selected bias.