# Bipolar VEOG and HEOG blink artefact removal

**URL:** <https://mne.discourse.group/t/bipolar-veog-and-heog-blink-artefact-removal/3637>\
**Category:** Support & Discussions\
**Tags:** preprocessing, eeg\
**Created:** [September 1, 2021, 9:16pm UTC](https://mne.discourse.group/t/bipolar-veog-and-heog-blink-artefact-removal/3637 "2021-09-01T21:16:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mugwuffin](https://avatars.discourse-cdn.com/v4/letter/m/3e96dc/32.png) [@mugwuffin](https://mne.discourse.group/u/mugwuffin)\
**Post date:** [September 1, 2021, 9:16pm UTC](https://mne.discourse.group/t/bipolar-veog-and-heog-blink-artefact-removal/3637/1 "2021-09-01T21:16:24Z")

</div>

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.

 ![image](https://global.discourse-cdn.com/free1/uploads/mne/original/1X/49954657995954c9b938d2afac0035e7c8202bb0.jpeg)

---

<div class="post-metadata">

**Author:** ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)\
**Post date:** [September 2, 2021, 1:52pm UTC](https://mne.discourse.group/t/bipolar-veog-and-heog-blink-artefact-removal/3637/2 "2021-09-02T13:52:03Z")

</div>

Hello,

> [@mugwuffin](#):
>
> I have 4 EOG channels, 2 VEOG and 2 HEOG

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

```python
VEOG = VEOG_lower - VEOG_upper
HEOG = HEOG_left - HEOG_right

```

You would roughly do something like the following:

```python
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:

```python
raw.set_channel_types({veog_ch_name: 'eog'})

```
