sLORETA Poor Performance

Hello,
I am analyzing the performance of the sLORETA under different scenarios.
It performed very well with one source even when increasing the Noise, However, With two different sources activate at the same time, (even with low noise) it is performing very poorly. Does anyone know what is the reason for that? Based on the other papers/journals that I have read, sLORETA should perform pretty good in estimating the sources (With only drawback of having the low resolution). Why is it missing a source in this case? is it a computational problem?
Current Density Map Can estimate properly but Sloreta CANT

Here is the specification of my experiment as well as attachments:
- I have used BESA SIMULATOR to simulate the data
- Both Sources are Exactly Same: This Means (SAME STARTING AND ENDING POINT, SAME SHAPE, SAME FREQUENCY, SAME AMPLITUDE, ) ONLY different locations
- Noise is 0.21 MicroVolt (Around 15-20dB SNR im guessing)
- No Pre-Processing , Only setting channel location + Average Referencing

image

image

@John_Mosher @Sylvain?

1 Like

It would be helpful to remove the threshold so that all activity can be seen.
Perhaps the activity it’s there just below the arbitrary threshold.
-Rey

1 Like

Hello Rey
Thank you for your suggestion, I was wondering if you know how we can remove the threshold?
thanks

@unes1111 Set the amplitude threshold slider to 0% in the Surface tab.

@rey Wow you’re still reading the posts on this forum, good to know! :slight_smile:

1 Like

@Francois Can’t claim I read every post but I’m still here to help if help is needed. Just ask.
@unes1111 The sLORETA should work pretty well, as it has zero localization bias, but if you want something better, something that gives you an actual current density estimate (i.e., not just some arbitrary unit “activity”) AND has also zero-localization bias, I highly recommend eLORETA for distributed non-sparse solutions. That could be added to BrainStorm but it requires an extra iterative optimization for each leadfield matrix and regularization parameter (for time-dependent SNR, probably just take the mean regularization parameter to avoid too much computation).

1 Like

Thank you @rey and @Francois for your answers.
I will definitely check eLORETA and try to find the computation for it. Considering that for the inverse problem we need the lead field matrix as well as ways to show the result (on the surface) it is a bit difficult for me to go beyond what Brainstorm is offering, I easily get lost on when / where to add lead filed matrix how to demonstrate the result etc…
I am researching on the inverse problem as the topic of my Master Thesis in engineering. In order to be able to develop a new novel approach, I am first trying to understand where current novel solutions like sLORETA or eLoreta fail or even where sLORETA performs better than simple psedu inverse of Leadfield matrix (as Source =L+ M). Sofar based on the adjustment of thresholding that you just mentioned, both current density map and sLORETA are performing quite well. And this includes different High and Low SNRs, one or many sources. Surprisingly even simple psedu inverse problem is performing good and similar to mentioned methods. Through another discussion topic, Dr. @Sylvain told me that the simple inverse is non-unique and non-stable, but on the computational side, I have not seen any failure in of the inverse methods. Any suggestion on under what kind of condition I should see the failure of the current methods?

Note: I am using BESA Simulator to simulate my data since I still have not found the perfect (MATLAB function) that I can add in brainstorm and use that to simulate data (simple sine cosine is very very unrealistic).

As always thank you for the great discussion platform
With warm regards
Younes

1 Like

@unes1111 chapter 3 in https://tel.archives-ouvertes.fr/tel-00880483/document is a good ref.

Also you have eLORETA implemented in Fieldtrip

and MNE-Python


you also have lots of methods which are non-linear such as (TF-)MxNE [Gramfort et al. 2012, Gramfort et al. 2013 and Strohmeier et al. 2016] or Champagne by the group of Sri Nagarajan.

Hope this helps
Alex

1 Like

Hello Alex
Thanks for the links
Do you know if there is an easy way to use the constructed head and source model from Brainstorm in field trips or python?

My problem with the field trip is that once it gets to tutorials about source modeling its all for Linux or Mac so I am not able to use it in windows. I basically get stuck at Source model: Volumetric processing in FreeSurfer.

My issue is on how to use let the source /head model built on Brainstorm in field trips or etc.
Let say I want to try the python code you sent. Where are the inputs? is the anyway I can just put the Data (EEG) and liedfiled matrix (observed from brainstorm code) and plug it in the python code to perform inverse problem?

Do you know if there is an easy way to use the constructed head and source model from Brainstorm in field trips or python?

There are existing processes that call FieldTrip functions, like ft_sourceanalysis, which use Brainstorm functions that convert Brainstorm structures into FieldTrip structures. Look at the corresponding code for information on how to do this:

We don’t provide anything similar for MNE-Python, but this is a goal for the next few months.

1 Like

@unes1111 I would suggest two things (1) lower the Data Options Amplitude slider (under the Surface Tab) to zero, so that we can see the entire signal distribution, and (2) in addition to sLORETA, please also run dSPM, which should give a similar looking result.

1 Like