MNE has a couple of methods to automatically select noise-related components from ICA decomposition, based on correlation and thresholding. For EEG, I’m using both EOG and ECG methods to remove up to 2 components for EOG, and up to one component for ECG.
I recently learn about MARA, which is basically an algo to select noise-related components from EEG signal based on a machine learning model trained on 1290 labeled datasets. (What kind of algo, what kind of label, how reliable it is… I don’t know, I haven’t looked in-depth yet). It looks nice as it targets not only EOG/ECG-related components but potentially other noise-related components.
Question: Does anyone has some experience with MARA or other similar algorithms to select noise-related components from ICA decomposition of EEG signals? What do you think about it?
I feel a bit restricted by the rejection performed with the methods
ica.find_bad_eXg, do you know of any other approach/pipeline that removes reliably noise components from signal?
MARA’s approach using a trained model on a labeled dataset seems very interesting to me, but it’s in Matlab. Do you know of a similar project in Python?