I am currently working on an EEG dataset with 5 EEG channels, 2 EOG channels, and 1 ECG channel collected from over 100 participants. I have some questions about preprocessing these signals:
For removing artifacts, one of the methods I tried was by using ICA and manually labeling the bad components. But this is very time-consuming.
Since there are very few EEG channels, is there a function in mne-python to compute ICA by MAICA (Moving-average ICA)?
In an effort to automate artifact removal, I tried using MNEβs find_bads_ecg and find_bads_eog. But it does not work well with the default threshold. I could find a suitable threshold after a lot of trial and error. Is there a way to formulate/automate how the threshold should be set for the best results?
Are there any other methods to automate the artifact removal process using the EOG and ECG signals?
What parameters should be considered while choosing the value for the notch filter and the bandpass filter, and how to determine/calculate them?
Re 1. No, MNE does not include that kind of ICA. You have very few channels for ICA anyway, and unless MAICA takes care of that (I have never heard of MAICA so I cannot tell), you should use other algorithms that are not based on ICA.
Re 4., are you sure you need a notch filter? Usually, filtering out line noise is only useful for visualizing the continuous data, but unless your analysis requires the frequency band of the line noise (either 50 or 60Hz), you donβt need to filter it out. If you need that frequency band, you could try things like mne.filter.notch_filter() with method="spectrum_fit", ZapLine, or CleanLine (which are available e.g. here).