Skip to content

mne.preprocessing.interpolate_bads taking list of instances #9231

@agramfort

Description

@agramfort

the issue is the following:

we need to be able to concatenate raws or epochs with different sets of bads.

currently mne.concatenate_raws and mne.concatenate_epochs enforce (for good reasons)
that the list of bads are the same for all instances.

The question is how to simplify the life of users to it's easy to have such "concatenable" instances.

Currently some users interpolate all bads for all instances using interpolate_bads methods.
It works but I think it is not ideal. For me you need the big picture of all instances to make
the best decision. For example I think it's NOT a good idea to systematically interpolate a channel that
is bad for all runs, however interpolation certainly makes sense if one channel is bad for let's say 50%
of the runs.

Suggestion:

insts = mne.preprocessing.interpolate_bads([inst1, inst2, ...], good_fraction=0.5)

would just interpolate if a channel is good for at least 50% of the runs and otherwise the
channel would be marked as bad for all instances.

then all interpolate_bads method would use this new public function with [self] as parameter.

we'll need to be careful about inplace computation options.

thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions