Option to remove bad segments from continuous ICA?

Hi all, is it possible to give an option to ignore bad segments in continuous ICA? I've seen some talk on this forum that the option is not included because of concerns about continuity, but as far as I'm aware ICA does not rely on continuity, as time points are shuffled during the fitting anyway.

I've attached an EEGLAB script illustrating this. I can't see an unexpected difference between ICA conducted on EEG data (in this case the sample data included with EEGLAB), and the same data randomly shuffled along the time axis.

icaTest.m (1.3 KB)


To go around this limitation of the interface in Brainstorm, you can do something similar to what you do in EEGLAB:

  • Import all the segments of data you want to use to compute your ICs (menu “Import MEG/EEG”)
  • In Process2, select all the imported blocks in the left list (FilesA) and your original continuous file in the right list (FilesB)
  • Run process Artifacts > ICA components


Thanks Francois,

Ideally I’d like to do more than I can in EEGLAB :slight_smile:
Namely, with long resting-state data to exclude arbitrarily long periods from all analyses.
What is the interface limitation?

We cannot handle non-continuous recording blocks unless they are saved in different files…