Difference in dSPM Implementations 2009, 2016 and 2018

Hi all,

I'm not sure if this has been discussed here before. Is there a difference in the dSPM implementations 2009, 2016 and 2018 listed in Brainstorm?

We ran the same dataset (with the same noise cov) through the 3 implementations and got similar patterns but very different dSPM values (see max values below). I have attached a screenshot of the three source maps below.

  1. dSPM Source 2009 - Max value: 15
  2. dSPM Source 2016 - Max value: 6
  3. dSPM Source 2018 - Max value: 1.2

Thanks so much!

Indeed, the conventions used to normalize the dSPM values changed a few times in the past years. None of these values are wrong, but the conventions used behind are different. See the news feeds and the current documentation:

Averaging dSPM values is tricky, and so far we were not keeping track properly of the effective number of averages needed to weight correctly various dSPM values. The dSPM implementation itself should not change anymore, but we are these days finishing a clearer interface around it. We will be more explicit in showing that the new values you obtain (1.2) need to be multiplied by sqrt(nAvg) to obtain a proper dSPM values. The pull request for this change is currently under review on GitHub:

We apologize for these inconsistencies, this is not an easy question to address in the context of a generic platform like Brainstorm. We hope this will stay stable in the future.
If you think this needs better online online documentation (the section in the source estimation tutorial), please share your suggestions.