braindecode.datautil.filterbank

braindecode.datautil.filterbank(raw, frequency_bands, drop_original_signals=True, order_by_frequency_band=False, **mne_filter_kwargs)

Applies multiple bandpass filters to the signals in raw. The raw will be modified in-place and number of channels in raw will be updated to len(frequency_bands) * len(raw.ch_names) (-len(raw.ch_names) if drop_original_signals).

Parameters
raw: mne.io.Raw

The raw signals to be filtered.

frequency_bands: list(tuple)

The frequency bands to be filtered for (e.g. [(4, 8), (8, 13)]).

drop_original_signals: bool

Whether to drop the original unfiltered signals

order_by_frequency_band: bool

If True will return channels odered by frequency bands, so if there are channels Cz, O1 and filterbank ranges [(4,8), (8,13)], returned channels will be [Cz_4-8, O1_4-8, Cz_8-13, O1_8-13]. If False, order will be [Cz_4-8, Cz_8-13, O1_4-8, O1_8-13].

mne_filter_kwargs: dict

Keyword arguments for filtering supported by mne.io.Raw.filter(). Please refer to mne for a detailed explanation.