Error in defining volume scout with MNI coordinates

Dear Brainstormers,

I am doing a volume source estimation using min-norm and want to define an ROI based on a few MNI coordinates. I generate BEM surfaces, compute head model in MRI volume as the source space, and compute sources using free dipole orientations, using these codes (if helpful):
% Process: Generate BEM surfaces
bst_process('CallProcess', 'process_generate_bem', , , ...
'subjectname', SubjectNames(i), ...
'nscalp', 1922, ...
'nouter', 1922, ...
'ninner', 1922, ...
'thickness', 4);

% Process: Compute head model
bst_process('CallProcess', 'process_headmodel', sFilesAvg(1), , ...
'sourcespace', 2, ... % MRI volume
'eeg', 3, ... % OpenMEEG BEM
'openmeeg', struct(...
'BemSelect', [0, 0, 1], ...
'BemCond', [1, 0.0125, 1], ...
'BemNames', {{'Scalp', 'Skull', 'Brain'}}, ...
'BemFiles', {{}}, ...
'isAdjoint', 0, ...
'isAdaptative', 1, ...
'isSplit', 0, ...
'SplitLength', 4000));

% Process: Compute sources [2016]
sAvgSrc = bst_process('CallProcess', 'process_inverse_2016', sFilesAvg, , ...
'output', 1, ... % Kernel only: shared
'inverse', struct(...
'Comment', 'sLORETA: EEG', ...
'InverseMethod', 'minnorm', ...
'InverseMeasure', 'sloreta', ...
'SourceOrient', {{'free'}}, ...
'Loose', 0.2, ...
'UseDepth', 0, ...
'WeightExp', 0.5, ...
'WeightLimit', 10, ...
'NoiseMethod', 'median', ...
'NoiseReg', 0.1, ...
'SnrMethod', 'fixed', ...
'SnrRms', 1e-06, ...
'SnrFixed', 3, ...
'ComputeKernel', 0, ...
'DataTypes', {{'EEG'}}));

Once I get the sources,I open the figure showing cortical activations on 3D MRI and using Scouts panel in BS GUI I define new volume scouts using MNI coordinates.
The size of the sources matrix I see in imaging-kernel turns out to be 13478. Now my problem is that for certain MNI coordinates, it falls in error saying it cannot create such scout because it goes beyond the size of the vertices. I thought maybe it falls out of the brain, but I see it doesn't. Like, it can define [-52 11 41] which is close to the brain border, but cannot generate [-3 27 -9], which lies somewhere at the center of the brain.

Bellow is a picture of the error I get in interface:
1

I appreciate any help in advance.
Maryam

Hi Maryam,

Sorry for the late reply.
What you do seems correct, and I checked but could not reproduce this error.

I think that the error is coming from the fact that the function that creates the scout is not selecting a point (using MNI coordinates) from the correct grid of points. You should make sure the atlas selected is a volume atlas creating when the same source file was opened.

If you still get this error from time-to-time, it means that the other coordinates (the scouts for which you don’t get errors) are probably wrong too. It should be fixed.
If you’re comfortable with Matlab code, open function panel_scout.m, place a breakpoint line 3126 (click on the left of the line in the margin) and then create a new scout using corrdinates that do not work. Then you can follow what is happening by executing the code step by step (button “step over”). If it doesn’t go in section the volume (isVolumeAtlas=1), there is something wrong.

Cheers,
Francois

Hi Francois,

Thanks for the reply. I tried again with the same coordinates in a volume atlas, and now I’m not getting the errors as before.
Also, I checked the panel_scout too and realized that ‘isVolumeAtlas’ is 1, so seems like everything is working.
Now just a few more questions, can 3D display of the brain (cortical activation -> display on MRI (3D)) show a real 3D image of the grid, I mean not just with 3 perpendicular surfaces?
Also, in Anatomy section we have two cortices (each with one different size of the grid), sometimes in either cortices it doesn’t show volume scouts on it anymore as it says:

‘BST> Cannot display volume atlas: No volume sources loaded in this figure.’

Can I also show my scouts inside the transparent grid of the cortex?

Best,
Maryam

can 3D display of the brain (cortical activation -> display on MRI (3D)) show a real 3D image of the grid, I mean not just with 3 perpendicular surfaces?

Right-click on the head model file > Check source grid

Also, in Anatomy section we have two cortices (each with one different size of the grid), sometimes in either cortices it doesn’t show volume scouts on it anymore as it says:
‘BST> Cannot display volume atlas: No volume sources loaded in this figure.’

Volume scouts are not attached to a cortex surface, the indices of sources they represent are not related to the list of vertices of the surface. They are related with a volume source grid, which was created when computing the forward model (= headmodel file). You must load and display one specific source file with the same volume grid to be able to visualize the volume scouts.
Does it make sense?

Can I also show my scouts inside the transparent grid of the cortex?

I'm not sure what you expect to display. Can you give a precise description of what you would like to see (maybe some screen captures would help)

Hi Francois,

Thanks for the instructions.
I realized if I open a source activation file in 3D and then display the cortex file in anatomy section, I get what I want. Actually, it looks some thing like the following picture, where I see the transparent volume grid in addition to surfaces and activations.


Now, is there anyway I could make such a picture using script? I mean surfaces with the grid, for example for showing some specific scouts have been significantly activated in a group of subjects?

Thank you for all the help.

Everything can be done from scripts, but the difficult part is to know which view angle you want, and where to position the MRI slices.

You have many examples for displaying sources, surfaces and volumes in tutorial_introduction.m, the script that reproduces the introduction tutorials:


Read the help in the header of the various view_*.m functions for additional parameters (force instance to force reusing an existing figure instead of creating a new one).

1 Like