Vertex mapping for fsaverage

Hi there,

Sorry if this question has already been answered. If so, please point me to the appropriate thread.

I am doing some group stats analysis on my dSPM .stc maps after morping to the fsaverage space. When I load the morphes .stc maps into Matlab I have 10242 vertices per hemisphere, but the structure that is generated by mne_read_stc_file does not indicate (for each vertex) which is the corresponding vertex on the fsaverage anatomical surface. This information must be somewhere, however, as I can view the .stc maps on the fsaverage brain in mne_analyze.

I'd like to get access to this mapping to help me interpret the results. Is there a way to access this information?

Thanks,
Tim.

Hi Tim,

let's say you do:

[stc] = mne_read_stc_file(filename)

stc.vertices is not what you want?

it contains the indices of the vertices where the stc.data is defined.

Alex

Hi Tim,

There is vertices field inside stc structure if you open it in Matlab.
Just add 1 to it, it will correspond to vertices on fsaverage brain.

stc = mne_read_stc_file(stcfile);
fsAverageVertices=1+squeeze(stc.vertices(:,1));

Regards

Sheraz

Hi Tim,

One word of caution, if you do your analysis in matlab add 1 as in matlab
index start from 1, in C or python, index start from 0, so you dont need
to add 1.

Sheraz

Thanks for your prompt replies.

The problem that I'm encountering is knowing which vertices on the fsaverage anatomical surface correspond to the 10242 vertices in the functional .stc data. Mne_analyze reports an anatomical vertex number based on the fsaverage surface from 1 to ~125,000, while the functional data has only 10242 vertices.

Example: If I load the .stc file into mne_analyze on the fsaverage brain, then see some activation, I want to go back now and know to which of the 10242 time courses it relates.

So what I'm looking for is the mapping between the 10242 functional vertices in my .stc file and the anatomical vertices on the fsaverage surface.

I hope this makes my question more clear.

Best,
Tim.

Hi Tim,

Thanks for your prompt replies.

The problem that I'm encountering is knowing which vertices on the fsaverage anatomical surface correspond to the 10242 vertices in the functional .stc data. Mne_analyze reports an anatomical vertex number based on the fsaverage surface from 1 to ~125,000, while the functional data has only 10242 vertices.

Example: If I load the .stc file into mne_analyze on the fsaverage brain, then see some activation, I want to go back now and know to which of the 10242 time courses it relates.

So what I'm looking for is the mapping between the 10242 functional vertices in my .stc file and the anatomical vertices on the fsaverage surface.

I hope this makes my question more clear.

When you have morphed the data to fsaverage with the standard settings, the output stc files contain 10242 vertices, which is a sparse sample of the about 125000 vertices in an fsaverage hemisphere. Because of the way that the fsaverage surfaces have been constructed, these 10242 vertices are also the first 10242 vertices in the fsaverage tessellation. Generally, the vertex numbers do not bear any spatial information with them as such. This is particularly true with the fsaverage brain. Forexample, vertices 1,2, and 3 are nowhere near vertex 0 on the cortical surface. The vertex closest to vertex 0 is far down the line in the vertex list.

I hope this helps,
Matti