Artefact removal with ICA - separate or concatenated runs?

Dear MNE people,

I have a question about good practices for preprocessing. I’m using ICA to remove ECG and EOG artifacts, from 10 experimental fif files and 4 resting-state files.

I am wondering whether I need to run and remove ICA components for each fif file, or if I could concatenate them all and do it only once on the concatenated runs (which would save me looots of time! ). Any advices, theoretical/empirical reasons to do one way or the other?

Thanks a lot in advance!



A couple of questions before we can answer:

  • How long are each of the runs and at which sampling frequency?
  • Are they all measured on the same subject?
  • Are they all measured during the same session?


So, yes, all 10 runs come from the same subject, same session. Each run is 6-7min long, with a sampling frequency at 1000 Hz. And I have MEG + EEG data, so 380 channels (each file is ~600 Mo).
For the 4 resting-state runs, they are ~3 min long.

I would put them all in the same head position (if not done already) and run ICA with a big decimation
on the concatenated raw files


In the BIDS-Pipeline, we preprocess them separately, then concatenate, and create epochs and run ICA on those. This allows us to reject segments (epochs) where we have non-stereotyped artifacts in the data before running ICA. Otherwise, be sure to run annotate_amplitude() on the raw data to mark such segments as bad.

1 Like

Great, thanks a lot for your inputs! Concatenating after realigning runs and downsampling works great. Doing ICA on epochs has the drawback of having to re-run artefact removal if you need to re-epoch your data for any reason.