Functional connectivity and group analysis

Hello Brainstorm community,

I am analyzing MEG resting-state data in Brainstorm and would like to ask your feedback on the correctness of my analysis pipeline.
In brief, my workflow is as follows: I import the subject data and set the fiducials on the individual anatomy (since I do not have digitized head points), then perform preprocessing on the RAW files and import them into the database. I create the head model using overlapping spheres, compute data covariance and noise covariance from the recordings, and reconstruct the sources using LCMV (regularization = mean eigenvalue, constrained to the cortical surface).
Next, I import the Schaefer atlas (400 ROIs, 7 networks); Brainstorm requires MNI normalization to import the atlas, which I then apply. At this stage, I extract the ROI time series using PCA and compute functional connectivity (via the Hilbert transform) separately for each frequency band. My goal is to obtain a connectivity matrix for each subject and frequency band, and only at the end perform the group average.
Is this pipeline methodologically correct, or would it be preferable to project the sources onto the default anatomy (15,002 vertices) and then extract the time series and compute connectivity at the group analysis level?

Thank you very much for any feedback or suggestions.

At this point you may want to double-check the position of the MEG sensors with respect to the anatomy, as the headmodel computation relies on it.

Sounds good

Please note that his will give you the anatomical parcellation (this atlas for the MRI volume, not an atlas for the cortex). Since you are using the cortex as source space ("constrained to the cortical surface"), what is needed is the surface version of the Schaefer atlas, which is computed during the MRI segmentation. Thus, there is no need to import this anatomical parcellation.

Both approaches should lead to similar results. One advantage working with ROIs is that if surface Schaefer atlas is computed for each single subject, these ROI are accurate and specific for that anatomy.

Can you elaborate in how the surface Schaefer atlas is obtained for each subject?

Thanks for clarifying. The first thing I check is the helmet. So far, it has always been aligned, never intersecting the scalp, but in some subjects it may be a bit farther away. In those cases, I can also notice it from the weak signals and the ICA components.

Thanks for the explanation, I see the difference! Is there a way to properly load the surface version of the atlas in Brainstorm?

So far, what I have done is: subject anatomy → Add MNI parcellation → Schaefer 2018, and then I selected the parcellation of interest from the available options.

This surface atlas must be computed when the MRI is segmented.
Since you can use them in the Scout tab, it means that the surface Schaefer atlases are already computed and imported.

Check these posts:

Importing the volume Schaefer 2018 anatomical parcellation (with Add MNI parcellation) does not give the surface Schaefer atlas. If you have it, it is likely it is already computed and imported.

When I compute the sources and open the Cortex in the Scouts tab, I only see the default scouts and the Schaefer atlas isn’t listed. However, if I import the atlas from the subject’s anatomy and then click on "Create surfaces", the Schaefer atlas appears among the Scouts.

Might one alternative be to compute unconstrained sources instead? Based on the links you shared, it seems that the only other option would be to use mri_surf2surf.

Thanks for the explanation

This confirms that the surface Schaefer altas was not computed during the MRI segmentation. Otherwise, it would have been imported.

If you use the option (in the Scout tab) Atlas > From subject anatomy > ANATOMICAL_PARCELLATION, it will create a surface scout atlas.

However, this is not recommended. Check the first image in the other post, to see how bad it can go: Atlas image look different in template vs volume

It's not about the orientation of the sources (constrained or unconstrained) but about the space (cortical surface or brain volume).

If sources have their positions on the cortex (surface sources), and you want to aggregate in Scouts, you need surface scouts, computed during the MRI segmentation.

If sources have their position on 3D grid that comprises the brain volume (volume sources), and you want to aggregate in Scouts, you need volume scouts. These volume scouts can be obtained from the anatomical parcellation.
https://neuroimage.usc.edu/brainstorm/Tutorials/TutVolSource#Volume_atlases


  1. The most accurate surface Schaefer atlas is the one obtained during the MRI segmentation

  2. An alternative approach is to project the surface Schaefer scout atlas from the Default anatomy to the Subject anatomy. The Subject anatomy must be MNI normalized. This is not a good as the point 1.

  3. Another way, that is not recommended, is to project the anatomical Schaefer parcellation, this is done by creating a scout atlas from the subject anatomy. This implies a projection from 3D anatomical parcellation to 2D scouts.