Spectrum interpolation#
Spectrum interpolation replaces amplitudes near target line-noise frequencies with amplitudes estimated from neighboring frequencies while retaining the original phase [1].
Usage#
from mne_denoise.spectrum_interpolation import SpectrumInterpolation
model = SpectrumInterpolation(line_freq=60.0, n_harmonics=2)
clean = model.fit_transform(raw)
Key points#
line_freq can be a scalar fundamental or an explicit target-frequency sequence. With a scalar, n_harmonics resolves targets below Nyquist.
bandwidth defines the target interval and neighbour_width defines the neighboring amplitude bands.
The functional API accepts (n_channels, n_times) arrays. The estimator also accepts (n_epochs, n_channels, n_times) and processes each record independently.
MNE Raw, Epochs, and Evoked inputs are copied; non-selected channels are preserved.
FFT resolution depends on segment length (sfreq / n_times), so short segments may provide few neighboring bins.
The operation changes amplitudes in the target bins, including any neural activity there; it is not a spatial artifact-subspace method.