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:
'fft': Use FFT masking to isolate exact frequency bins (ZapLine style). Best for sharp line noise with harmonics.'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.