Extracting values from Schaefer Atlas after projecting to default ICBM152 template

Dear Brainstorm community,

I am hoping to extract the values from the Schaefer atlas for individual subjects for whom I've imported their individual anatomies and projected to the default anatomy.

I first imported the MRIs of each individual, and then ran CAT12 segmentation on each subject. This provides for each subject the Schaefer atlas based on their own anatomy. However, I want a single output file as provided by "Extract Values" which has the values of all my participants. When adding all the source result files to the "Process" section, when attempting to extract the values, the Schaefer atlas is only available from individual participants (e.g. Schaefer atlas 100 parcs - subject001).

I thus decided to ran CAT12 segmentation of the ICBM152 template anatomy, and project all source files to the default anatomy space. When trying to extract the values, the Schaefer atlas of the default anatomy is now available. However, looking at the projected individual result files, the activity is scattered across the cortex, and does not resemble the original source files at all.

I should note that I went back to the ICBM152 template (without running CAT12 segmentation), projected my source files again, and they looked fine. But this of course does not provide the Schaefer atlas.

I was wondering how can I go about extracting values from each participant based on their Schaefer atlas so it resembles the "Extract" output. The only solution I can think about right now is running the extract value process for each subject (thus using their own Schaefer atlas parcellation), and then combining them into a .mat file afterwards.

Hope this makes sense.

Best,
Paul

I am hoping to extract the values from the Schaefer atlas for individual subjects for whom I've imported their individual anatomies and projected to the default anatomy.
I thus decided to ran CAT12 segmentation of the ICBM152 template anatomy, and project all source files to the default anatomy space.

If working with ROIs, a simpler and more accurate solution is to extract the scouts time series at the individual level, and work with these time series directly for your group analysis without any projetion.

However, looking at the projected individual result files, the activity is scattered across the cortex, and does not resemble the original source files at all.

This is not normal, it should look similar, there is maybe a manipulation error here. If you want to fix this (but not if you completely gave up on this solution), please post some screen captures and detailed instructions to reproduce your results.

The only solution I can think about right now is running the extract value process for each subject (thus using their own Schaefer atlas parcellation), and then combining them into a .mat file afterwards.

Indeed. For that, you could use the processes Standardize > Concatenate signals, or Extract > Extract values.

Thank you Francois for your assistance!

Just another question with regards to the atlases. For each participant's Schaefer atlas, I would like to merge the scouts that belong to each network, so I can reduce the 100 parcel atlas down to 34 (17 networks x 2 for each hemisphere) for each participant. Would there be a way to script this process? Or would I have to manually for each subject, use the Scouts tab and merge the parcels I want. Apologizes in advance if this is discussed in the tutorials.

Best,
Paul

There is always a way to script everything, but you need to know how to manipulate structures with Matlab.

The atlases are saved in the cortex surface. Load the tess_cortex_...mat file, edit the structure (merge the fields Vertices and delete the elements you don't want).

Look at the code of function panel_scout.m > JointScouts() for inspiration:

Hi Francois,

thank you for your help. I was able to script the merging of scouts.

On a related note to scripting, I have four separate MNI regions of interest, and their corresponding coordinates. I would like to create these four scouts across all my subjects in Brainstorm. I'm assuming there's a way to script this as well? If so, would you be able to refer me to the function which does so? I could not seem to find it.

Thank you in advance.
Paul

No, there is no easy solution for scripting this. One reason is the difficulty to define the spatial extent of the scouts.
If you want to create scouts with only one vertex, you can use the code in function panel_scout.m > CreateScoutMni:

Hi Francois,

I am in the process of manually adding my scouts of interest. However, for some subjects, I have running into the following error.


** Error: The MNI coordinates are not available for this subject.


All subjects' anatomicals were created using CAT12 as found within Brainstorm.

Any suggestions as to how to resolve this?

Thank you,
Paul

Compute the MNI transformation for these subjects.
https://neuroimage.usc.edu/brainstorm/CoordinateSystems#MNI_coordinates
https://neuroimage.usc.edu/brainstorm/Tutorials/ImportAnatomy#MNI_transformation