Cleaning with Matlab (EEGLAB) and Source localization with Brainstorm


I recently discovered Brainstorm after having already cleaned (filtering & ICA) a fair amount of my data with Matlab (with EEGLAB toolbox).

I now would like to perform source localization, and Brainstorm appears useful do to so.
So to save time and avoid reprocessing in Brainstorm the data I have already processed in Matlab, I would like to import the cleaned data to Brainstorm and then run the source localization. I have read on other posts that it was possible.

However, I was wondering if it was a correct way to do things, scientifically speaking?
By that I mean performing half of my analysis on a software and the other half on an other one.

I hope the question is clear enough.

Thank you for your help,


There is no problem with the logic of performing half of your analysis with one software and the other with another program.

However, there are two things related with the import of EEGLAB files in Brainstorm that you need to be aware of:

  1. For estimating sources with a minimum norm approach, you need a noise covariance matrix, which you can't estimate from averaged files. If you import the individual trials, compute the noise covariance from their concatenated baselines, and average and them in Brainstorm, it should be OK. If you want to compute the noise covariance from resting state recordings, you need to process the files with exactly the same filters as the experimental data.

  2. The ICA mixing matrix are supposed to be kept in the Brainstorm channel file, and then applied on the forward model... This is not possible when importing files that have been cleaned with ICA in EEGLAB first. What the impact is on the source location accuracy, maybe not much, but we have not studied this, I can't confirm that this is a correct approach.

If you doubt, you can try with one subject or one run to re-do the entire pre-processing in Brainstorm, and compare the sources obtained with the mixed pre-processing pipeline vs. everything done in Brainstorm.
You'd find less flexibility for ICA cleaning, but maybe better frequency filters... a lot of small differences might impact the final results.

1 Like

Okay, thank you very much for this very clear and complete answer.
I am indeed currently in the process of compairing both ways (100% Brainstorm and half eeglab-half Brainstorm).

Thanks again!