mne-bids-pipeline icon indicating copy to clipboard operation
mne-bids-pipeline copied to clipboard

ENH: support for filtering / processing other types of signals (not data channels)

Open dengemann opened this issue 4 years ago • 4 comments

with @tomdamelio we want to filter EDA channels in the 02 preprocessing script for example. Naturally, the EDA (coded as misc channel) should be forwarded to the epoching later. What is the cleanest way of doing that? Thoughts:

  1. allow passing picks (e.g. 'all') to .filter in 02 script; -> challenge: make sure similar picking logic is supported for subsequent steps
  2. declare misc channels as data channels in config; -> drawback: you then filter all of the misc channels there are many different ones.

cc @agramfort @hoechenberger

dengemann avatar May 11 '21 14:05 dengemann

@dengemann Interesting issue! I think an easy solution would be adding a config option to allow for passing picks in addition to the data channels (which will always be filtered anyway). We could go even farther and add a setting for specifying EDA channels specifically – we already have something ~similar for EOG (of course with different intentions, but still), so why not add specific support for more channel types? Would you need specific filter settings too?

hoechenberger avatar May 11 '21 14:05 hoechenberger

I would complexify the API of the filtering parameters

filter_freq = (None, 40) or filter_freq = dict(eeg=(None, 40), misc=(2, 40))

agramfort avatar May 11 '21 15:05 agramfort

I think pick by type would be good… at that point we could allow for passing callables

dengemann avatar May 11 '21 16:05 dengemann

I would complexify the API of the filtering parameters filter_freq = (None, 40) or filter_freq = dict(eeg=(None, 40), misc=(2, 40))

I think I misunderstood it before. Yes, that could make sense! We will just need to see where else down-stream we'll need picks support.

dengemann avatar May 11 '21 18:05 dengemann