[FieldTrip] across-subject analysis of source space data in a 2D triangulated cortical mesh

Brian Maniscalco bmaniscalco at gmail.com
Thu Jul 9 21:31:55 CEST 2015

Thanks Jan-Mathijs and Marieke for your input, as well as Tom Holroyd and
Ziad Saad from NIH for giving me additional pointers. Here is the solution
I've struck upon.

In short, I use one line of SUMA code to register the cortical surfaces as
described here:


In a little more detail:

I follow the MNE processing pipeline as described on


up to the step that generates an individual cortical mesh after
downsampling in the MNE suite. Following the folder and file naming
conventions in the tutorial, this mesh for an individual subject whose
identifier is e.g. "Subject01" is stored in a file

<Subject directory>/Subject01/bem/Subject01-oct-6-src.fif

>From here I cd to <Subject directory> and execute

@SUMA_Make_Spec_FS -fspath Subject01/bem -sid Subject01 -ld 20 -GIFTI

where -fspath specifies the location of the cortical surface to be
registered, -sid denotes the subject identifier, -GIFTI denotes the output
file format, and -ld 20 specifies a "linear depth" parameter that
determines the number of vertices contained in each hemisphere of the
registered cortical mesh. According to the help functionality of the AFNI
function CreateIcosahedron, the number of vertices in the registered mesh
is determined by Nvert = 2+10*ld^2. In this case setting ld=20 yields 4002
vertices in each hemisphere or 8004 in total, which is a close match to the
8196 vertices contained in the Subject01-oct-6-src.fif file in my
processing pipeline.

Executing this code creates a folder <Subject
directory>/Subject01/bem/SUMA/ which contains the output. The registered
surfaces are contained in files with the "std.ld" prefix, where ld is equal
to the ld value specified in the @SUMA_Make_Spec_FS function call. In my
case I use the output files std.20.lh.white.gii and std.20.rh.white.gii, by
analogy with the MNE tutorial which uses the lh.white and rh.white outputs
from Freesurfer.

>From here the workflow is identical to that described in the MNE tutorial,

sourcespace = ft_read_headshape('Subject01-oct-6-src.fif', 'format',

is now replaced by

sourcespace = ft_read_headshape({'std.20.lh.white.gii',
'std.20.rh.white.gii' }, 'format', 'gifti');

The cortical surface contained in "sourcespace" for this subject looks
identical to the original surface, but the locations of the vertices have
been re-defined such that, across subjects, each vertex corresponds to the
same cortical location. Due to this registration, normal across-subject
statistical analyses can be conducted on each vertex.


On Wed, Jul 1, 2015 at 3:09 AM, Schoffelen, J.M. (Jan Mathijs) <
jan.schoffelen at donders.ru.nl> wrote:

>  Hi Brian,
>  Nowadays I would indeed go for a surface-registered cortical mesh. It’s
> possible to register the cortical meshes to a template such that, across
> subjects, vertices can be directly compared because they’re in the same
> ‘surface location’. Actually, your question came up in a different post
> recently, and the answer I gave back then is also valid for your current
> question :o). Here’s the link , it’s about question b) in the thread:
> http://mailman.science.ru.nl/pipermail/fieldtrip/2015-June/009312.html  I
> haven’t heard back from Marieke van den Nieuwenhuijzen (who asked this
> question earlier) whether she has managed to solve the issue for her. It
> may be worthwile to check with her, or otherwise for the two of you to team
> up in order to solve it together. Once there’s a workable solution, it
> would be great to share this info on the fieldtrip wiki. Here’s some
> additional info that may be useful:
> http://brainvis.wustl.edu/wiki/index.php/Caret:Operations/Freesurfer_to_fs_LR
>  Best wishes,
> Jan-Mathijs
>  On Jul 1, 2015, at 3:25 AM, Brian Maniscalco <bmaniscalco at gmail.com>
> wrote:
>    Hi all,
>  I have been doing MNE source space analysis of single-subject MEG data,
> closely following the steps described here:
> http://www.fieldtriptoolbox.org/tutorial/minimumnormestimate
>  This pipeline yields source activations distributed across a 2D
> triangulated cortical mesh, as extracted from individual subject anatomical
> MRI via FreeSurfer. So in order to perform across-subject analyses, it is
> necessary to somehow normalize individual subject meshes into a
> standardized space.
> In principle it is possible to interpolate the 2D source data onto the
> subject's 3D anatomical MRI and then normalize this 3D source space data
> into a standardized anatomical template. However, the logic of
> interpolating 2D surface activations across an entire 3D volume seems
> questionable, and my initial attempts at doing just this have yielded
> results that look either nonsensical or not nearly as sharp and intuitive
> as the original 2D source visualization.
>  My question is: is there a reasonable way to normalize source space data
> computed on individual subject 2D meshes onto a standardized 2D mesh,
> rather than a standardized 3D volume? If there is no pre-existing template
> for such a 2D mesh, perhaps a makeshift one could be computed by averaging
> the geometries of the meshes of the individual subjects in this dataset?
> Or to pose the question more generally, what is the best way to conduct
> across-subject analysis on source space data given the kind of 2D mesh data
> produced by the processing pipeline for the MNE tutorial linked above?
>  thanks,
>  Brian
>  _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20150709/3bd6c935/attachment-0002.html>

More information about the fieldtrip mailing list