when using a 14-channel EPOC X EEG device with a 128Hz sampling rate, one is confronted with the problems of conflicts between the ICLabel filtering requirements and the sampling rate

Hello, I am a freshman, so some of my questions may seem stupid or easy to you, but they are difficult for me.

First question: I use the EPOC X - 14 Channel Wireless EEG Headset to collect EEG signals, which include [‘AF3’,‘F7’, ‘F3’, ‘FC5’,‘T7’, ‘P7’, ‘O1’, ‘O2’, ‘P8’, ‘T8’,‘FC6’, ‘F4’, ‘F8’,‘AF4’] with a sampling rate of 128Hz. When trying to use ICLabel, I get a runtime warning that I need to filter (1, 100). However, with a 128Hz sampling rate, this isn’t possible. If I insist on doing it, will the data be incorrect?

Second question: If I can’t use ICLabel, is there another method that can replace it? I don’t want to use ica.find_bads_eog because it requires defining some channels as EOG. I want a method like ICLabel that can select automatically.

Third question: My preprocessing steps are as follows:

  1. raw.set_montage(‘standard_1020’)
  2. raw.notch_filter(freqs=[48, 52])
    raw.notch_filter(freqs=[58, 62])
    raw.filter(0.5, 50, fir_design=‘firwin’)
  3. raw.resample(sfreq=128, npad=“auto”)
  4. tmin, tmax = 5, 375
    raw.crop(tmin, tmax, include_tmax=False).load_data()
  5. raw.set_eeg_reference(ref_channels=‘average’, projection=False)
  6. ica

Are there any mistakes?

There is no “correct” or “incorrect”. But the results of ICLABEL will be less accurate, and you will definitely need to screen the outcomes for whether or not they make sense. Use this website to learn about IC labelling: SCCN: Independent Component Labeling

Use this tutorial to learn how to get mne to provice IC information for you: Repairing artifacts with ICA — MNE 1.9.0 documentation

You have an EEG headset with a low sampling rate and only medium to low coverage (number of channels distributed over the scalp). Finding a fully automatic method that is robust enough with this will be hard. I recommend to double check your outputs (see links above).

I would pass the data without upper frequency cutoff into ICLabel, because it will make it harder for ICLabel to figure out muscle artifacts. And I would lowpass filter with 1Hz, as recommended, not 0.5Hz.

Regarding filtering your data, please make sure to read this section and the cited references, and understand this aspect of ICA: Repairing artifacts with ICA — MNE 1.9.0 documentation

And I would not do a double notch filter like you are doing there. If it’s data from Europe, filter for freqs around 50 (and harmonics), if it’s from the US, then 60 and harmonics. But don’t do both. → and look at the PSD of your data before you make a decision.