Automatic EEG quality check & ICA for blink removal in 19-channel dry EEG

  • MNE version: e.g. 1.11.0
  • operating system: e.g. Ubuntu 24.04.1 LTS

Hello MNE forum,

I am currently preprocessing resting-state EEG data recorded from patients with Parkinson’s disease.

Each subject performed a 2-minute resting-state recording. At this stage, I have loaded all raw data and would like to check whether the recordings were properly acquired and whether the EEG data are usable (i.e., not severely corrupted by artifacts or technical problems).

My main concern is that:

  • I am not an EEG expert,

  • Visually inspecting every subject’s data is difficult,

  • And it is hard to apply consistent criteria across all participants.

So I would like to ask:

Is there an automatic pipeline in MNE to assess EEG data quality?

For example:

  • Detecting bad channels automatically

  • Identifying excessively noisy recordings

  • Checking whether the data are suitable for further analysis

If possible, I would like to combine:

  • Visual inspection

  • An automated quality assessment method

Do you have any recommendations for a good and robust approach?

2. ICA for blink removal in 19-channel dry EEG

My second question concerns eye-blink artifact removal.

This dataset contains 19-channel dry EEG only. We did not record dedicated EOG channels.

In previous BCI experiments, I always placed additional electrodes near the eyes to explicitly model and remove EOG activity.

In this case:

  • Is it appropriate to apply ICA for blink removal without EOG channels?

  • Is ICA reliable with only 19 channels?

  • Are there recommended best practices in MNE for this scenario?

Any advice or references would be greatly appreciated.

Thank you very much in advance!

1 Like

Hi! Welcome to the forum.

I’d really recommend checking out mne-report first. It generates a single HTML file that lets you scroll through Power Spectral Density (PSD) plots and sensor layouts for all subjects in one go—it’s perfect for spotting ‘severely corrupted’ data quickly.

For the actual cleaning, autoreject world work. It automatically calculates thresholds to find bad epochs and interpolate bad channels, which solves your problem of applying consistent criteria across your whole group.

typical question for a newer like me :rofl: mark and wait for excellent answer