mne.decoding.TemporalFilter#

class mne.decoding.TemporalFilter(l_freq=None, h_freq=None, sfreq=1.0, filter_length='auto', l_trans_bandwidth='auto', h_trans_bandwidth='auto', n_jobs=None, method='fir', iir_params=None, fir_window='hamming', fir_design='firwin', *, verbose=None)[source]#

Estimator to filter data array along the last dimension.

Applies a zero-phase low-pass, high-pass, band-pass, or band-stop filter to the channels.

l_freq and h_freq are the frequencies below which and above which, respectively, to filter out of the data. Thus the uses are:

  • l_freq < h_freq: band-pass filter

  • l_freq > h_freq: band-stop filter

  • l_freq is not None, h_freq is None: low-pass filter

  • l_freq is None, h_freq is not None: high-pass filter

See mne.filter.filter_data().

Parameters:
l_freqfloat | None

Low cut-off frequency in Hz. If None the data are only low-passed.

h_freqfloat | None

High cut-off frequency in Hz. If None the data are only high-passed.

sfreqfloat, default 1.0

Sampling frequency in Hz.

filter_lengthstr | int, default ‘auto’

Length of the FIR filter to use (if applicable):

  • int: specified length in samples.

  • ‘auto’ (default in 0.14): the filter length is chosen based on the size of the transition regions (7 times the reciprocal of the shortest transition band).

  • str: (default in 0.13 is “10s”) a human-readable time in units of “s” or “ms” (e.g., “10s” or “5500ms”) will be converted to that number of samples if phase="zero", or the shortest power-of-two length at least that duration for phase="zero-double".

l_trans_bandwidthfloat | str

Width of the transition band at the low cut-off frequency in Hz (high pass or cutoff 1 in bandpass). Can be “auto” (default in 0.14) to use a multiple of l_freq:

min(max(l_freq * 0.25, 2), l_freq)

Only used for method='fir'.

h_trans_bandwidthfloat | str

Width of the transition band at the high cut-off frequency in Hz (low pass or cutoff 2 in bandpass). Can be “auto” (default in 0.14) to use a multiple of h_freq:

min(max(h_freq * 0.25, 2.), info['sfreq'] / 2. - h_freq)

Only used for method='fir'.

n_jobsint | str, default 1

Number of jobs to run in parallel. Can be ‘cuda’ if cupy is installed properly and method=’fir’.

methodstr, default ‘fir’

‘fir’ will use overlap-add FIR filtering, ‘iir’ will use IIR forward-backward filtering (via filtfilt).

iir_paramsdict | None, default None

Dictionary of parameters to use for IIR filtering. See mne.filter.construct_iir_filter for details. If iir_params is None and method=”iir”, 4th order Butterworth will be used.

fir_windowstr, default ‘hamming’

The window to use in FIR design, can be “hamming”, “hann”, or “blackman”.

fir_designstr

Can be “firwin” (default) to use scipy.signal.firwin(), or “firwin2” to use scipy.signal.firwin2(). “firwin” uses a time-domain design technique that generally gives improved attenuation using fewer samples than “firwin2”.

New in v0.15.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Methods

fit(X[, y])

Do nothing (for scikit-learn compatibility purposes).

fit_transform(X[, y])

Fit to data, then transform it.

set_output(*[, transform])

Set output container.

transform(X)

Filter data along the last dimension.

fit(X, y=None)[source]#

Do nothing (for scikit-learn compatibility purposes).

Parameters:
Xarray, shape (n_epochs, n_channels, n_times) or or shape (n_channels, n_times)

The data to be filtered over the last dimension. The channels dimension can be zero when passing a 2D array.

yNone

Not used, for scikit-learn compatibility issues.

Returns:
selfinstance of TemporalFilter

The modified instance.

fit_transform(X, y=None, **fit_params)[source]#

Fit to data, then transform it.

Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.

Parameters:
Xarray_like of shape (n_samples, n_features)

Input samples.

yarray_like of shape (n_samples,) or (n_samples, n_outputs), default=None

Target values (None for unsupervised transformations).

**fit_paramsdict

Additional fit parameters.

Returns:
X_newndarray array of shape (n_samples, n_features_new)

Transformed array.

set_output(*, transform=None)[source]#

Set output container.

See Introducing the set_output API for an example on how to use the API.

Parameters:
transform{“default”, “pandas”, “polars”}, default=None

Configure output of transform and fit_transform.

  • “default”: Default output format of a transformer

  • “pandas”: DataFrame output

  • “polars”: Polars output

  • None: Transform configuration is unchanged

New in v1.4: “polars” option was added.

Returns:
selfestimator instance

Estimator instance.

transform(X)[source]#

Filter data along the last dimension.

Parameters:
Xarray, shape (n_epochs, n_channels, n_times) or shape (n_channels, n_times)

The data to be filtered over the last dimension. The channels dimension can be zero when passing a 2D array.

Returns:
Xarray

The data after filtering.