Skip to content

Addition of a non-projection-based method of removing EOG and ECG artifacts. #11028

@wmvanvliet

Description

@wmvanvliet

Describe the new feature or enhancement

The current SSP and ICA methods of removing EOG and ECG artifacts are really effective, but they do completely zap out 2 or even 3 ranks of data. With many-channel MEG and EEG recordings, that's usually fine, but since MNE-Python is getting used more and more for EEG analysis, also low channel count EEG analysis, perhaps it would be nice to provide an alternative method that is more conservative.

In the past, I've played around with regression-based approaches (regress out the EOG channels from the data), which do work pretty well, but recently @rkobler developed the SGEYESUB algorithm that may be superior.

Do others agree this is worth adding to MNE-Python?

Describe your proposed implementation

Implement mne.preprocessing.sgeyesub following the reference implementation. It needs epochs of blinks and saccades, which are usually recorded in a dedicated segment of the experiment where the participant is following on-screen directions for blinking and moving their eyes. If you don't have such a segment in your experiment, mne.preprocessing.make_eog_epochs could be a decent substitute.

Describe possible alternatives

We could decide SSP/ICA is good enough and if people want other algorithms, they can make their own extension packages. Alternatively, we could merge in mne_sandbox.preprocessing.eog_regression instead.

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