Bipolar VEOG and HEOG blink artefact removal

Hi, is there a recommended method for dealing with bipolar VEOG and HEOG channels to remove eye blinks? Should I average the channels first before using ica.find_bads_eog after mne.preprocessing.create_eog_epochs or are these methods ‘clever’ enough to operate on the 4 channels by default?

I have 4 EOG channels, 2 VEOG and 2 HEOG the peaks are opposing bipolar so would seem to cancel each other out if a difference is taken. My colleague uses EEGLAB and has taken the difference first before using ICA for blink detection. Is this necessary for MNE?

Below is a butterfly plot of the typical data, 32 EEG channels, 4 EOG channels. This specific subject identified 3 blink components with ICA at a threshold of 2.0.

Thanks in advance.

Hello,

the way this is usually treated is that you combine the channels by subtraction, such that:

VEOG = VEOG_lower - VEOG_upper
HEOG = HEOG_left - HEOG_right

You would roughly do something like the following:

veog_ch_name = 'VEOG'  # the new channel that will be created

mne.set_bipolar_reference(
    inst=raw,
    anode='VEOG_lower',
    cathode='VEOG_upper',
    ch_name=veog_ch_name,
    drop_refs=True,  # drop anode and cathode from the data
    copy=False  # modify in-place
)

If not both input channels were already of type eog, you need to set the type of the created channel accordingly, too:

raw.set_channel_types({veog_ch_name: 'eog'})
2 Likes