How to MNI coordinates of an Atlas

Hi all,

I need to have the MNI coordinates of an atlas (e.g. Mindboggle). I can see the MNI values of each node/ROI in the MRI viewer, but where can I get the coordinates of whole areas at once?

Many thanks,
Vahab

Hi Vahab,

First, you would need to get the position of the vertices in one scout (in SCS coordinates):
http://neuroimage.usc.edu/brainstorm/Tutorials/ExploreAnatomy#On_the_hard_drive:_Surface

Then you can convert these SCS coordinates to MNI coordinates:
http://neuroimage.usc.edu/brainstorm/CoordinateSystems#Converting_between_coordinate_systems

First you need to load the MRI and cortex files in your Matlab workspace (or right-click > File > Export to Matlab).
Then the script would look like this:

% Get the vertex indices for the first scout of the Mindboggle atlas
iVertices = sCortex.Atlas(6).Scouts(1).Vertices;
% Get the SCS coordinates for the corresponding vertices
Vscs = sCortex.Vertices(iVertices,:);
% Convert to MNI coordinates
Vmni = cs_convert(sMri, 'scs', 'mni', Vscs);

Cheers,
Francois

1 Like

Dear Francois,

Thanks. That’s very strange, what I get with the code is different than what is shown in the viewer.

However, I could get the MRI coordinate similar to the viewer by,
newPosVox = cs_convert(sMri, ‘scs’, ‘voxel’, newPosScs);

Can I ask the where those values are updated in the code? I can track down the issue then.

Best regards,
Vahab

Hello,

The MRI viewer uses cs_convert to compute the coordinates in the different systems, including the MNI.
To convert from SCS to MNI, it just applies the transformation saved in sMRI.NCS.R / sMRI.NCS.T (rotation + translation).
You can check the code in cs_convert, it’s not too complicated. Make sure you don’t have any confusion between millimeters and meters (Brainstorm saves everything in meters).

Francois

Dear Francois,

Thanks, I get the points. You are right, I confused about the scales, i.e., millimeters and meters and rounding! :smiley:

Many thanks for clearing things up,
Vahab