[FieldTrip] Interpolate, normalise and sourcegrandaverage with MNE

Sara Aurtenetxe s.aurtenetxe at bcbl.eu
Thu Oct 1 16:48:09 CEST 2015


Dear Jan Mathijs, 

Thank you very much for your quick and detailed answer!

As suggested, I post-processed the surface of one of my subjects based on the recipe on the link.
The process resulted into a bunch of files (e.g. .L.164k_fs_L.topo.gii, .L.white_mni.164k_fs_LR.coord.gii, .L.def_sphere.164k_fs_L.coord.gii), 
but at this point I am not sure about how to proceed. So I have now several questions:

- Do you know which are the files containing the registered data for the creation of the meshes?
  How should I create them given the current format? most are .gii files. 
- Once creating the meshes, should I follow with the creation of the volume conduction model 
  and analysis of the functional data as described in the tutorial? http://www.fieldtriptoolbox.org/tutorial/minimumnormestimate

Apologize for all these specific questions but it is being a little bit confusing to me. 
So if anyone has experienced the same and/or have any suggestion, any comment would be very welcomed. 

Thanks a lot in advance, 

Best,

Sara
  






----- Original Message -----
From: "Schoffelen, J.M. (Jan Mathijs)" <jan.schoffelen at donders.ru.nl>
To: "FieldTrip discussion list" <fieldtrip at science.ru.nl>
Sent: Wednesday, September 30, 2015 9:33:03 AM
Subject: Re: [FieldTrip] Interpolate, normalise and sourcegrandaverage with MNE

Hi Sara,

I think that in this case there is no absolutely ‘correct’ approach, although some approaches may make more sense than others.
At this point in time it is indeed not well documented how to proceed from individual subject results source-reconstructed onto an individual cortically constrained mesh to a group analysis.
In the past, we have been working with a procedure where the surface data were interpolated onto a 3D-grid so that we could use volumetric normalization techniques in order to get the subjects into a common space to allow for group statistics. So, here the order of the steps would be to call ft_sourceinterpolate, followed by ft_volumenormalise, or to interpolate the functional data directly onto a MNI-warped grid (http://www.fieldtriptoolbox.org/example/create_single-subject_grids_in_individual_head_space_that_are_all_aligned_in_mni_space).
In the code you pasted in your e-mail message, there is also reference to ft_volumerealign, but I am not sure I understand why this is a required step at this point in the pipeline.

All the above being said, nowadays I would advocate a slightly different approach, which bypasses the volumetric interpolation, where per subject I would use cortical meshes that is surface-registered to a template mesh, which as a consequence allows for direct comparison of source locations across subjects. The way to achieve this would be to post-process the surfaces that come out of the freesurfer pipeline according to the recipe described on http://brainvis.wustl.edu/wiki/index.php/Caret:Operations/Freesurfer_to_fs_LR. After this registration step, the low-resolution (i.e. in this case the 8196-vertex) meshes can be created.

Best wishes,
Jan-Mathijs




Jan-Mathijs Schoffelen, MD PhD, Senior researcher

Max Planck Institute for Psycholinguistics
Donders Centre for Cognitive Neuroimaging

E-mail: j.schoffelen at donders.ru.nl
Telephone: +31-24-3614793

http://www.fieldtriptoolbox.org
http://www.hettaligebrein.nl



On Sep 29, 2015, at 5:27 PM, Sara Aurtenetxe <s.aurtenetxe at bcbl.eu> wrote:

> Dear all, 
> 
> I am working on the source analysis of ERF data from ElektaNeuromag system, with individual T1s, using minimum-norm estimate as described in the following tutorial:
> http://www.fieldtriptoolbox.org/tutorial/minimumnormestimate
> I am exactly following the suggested steps, and so got the source estimation for each of my subjects (bellow the output for one subject), which i can nicely plot with the ft_plot_mesh function:
> 
> sourceest = 
> 
>      time: [1x1401 double]
>    inside: [8196x1 logical]
>       pos: [8196x3 double]
>    method: 'average'
>       avg: [1x1 struct]
>       cfg: [1x1 struct] 
> 
> Now, prior to a ft_sourcegrandaverage and ft_sourcestatistics, 
> I am trying to normalise (ft_volumenormalise) and interpolate (ft_sourceinterpolate) the functional and anatomical data. 
> 
> However, I am struggling in this two last steps. 
> Since I did not find a clear pipeline/tutorial about the exact approach (am I missing something?) 
> and after trying several options (bellow I copy the code I am using), it is not clear to me:
> 
> - which is the exact input data for each of these last two functions, and
> - in which order they should be called.
> 
> Now, I would highly appreciate if anyone could give me any cue about which the correct approach is.
> 
> Thank you in advance, 
> 
> All the best,
> 
> Sara
> 
> 
> 
> %%%%%%%%%%%%
> 
> % Inverse solution
> cfg        = [];
> cfg.method = 'mne';
> cfg.grid   = leadfield;
> cfg.vol    = vol;
> cfg.mne.prewhiten = 'yes';
> cfg.mne.lambda    = 3;
> cfg.mne.scalesourcecov = 'yes';
> cfg.senstype = 'MEG';
> 
> sourceest  = ft_sourceanalysis(cfg,erf);
> 
> % read T1 volume - coords in scanner space
> mri = ft_read_mri('s01.nii');
> mri.coordsys = 'neuromag';
> 
> % read headshape - Neuromag coords
> hsf = 's01.fif';
> [headshape] = ft_read_headshape(hsf);
> 
> % align T1 with head posiiton in MEG
> cfg = [];
> cfg.method = 'headshape';
> cfg.parameter      = 'anatomy';
> cfg.headshape.headshape = headshape;
> cfg.headshape.interactive = 'no';
> 
> mri_real = ft_volumerealign(cfg,mri);
> 
> % normalize the realinged individual MRI to SPM template
> cfg = [];
> cfg.spmversion  = 'spm8';
> % cfg.template='T1.nii'; % when enabling this field, an incoming error message indicates that the template is not in the spm coordinate system. 
>                          % However, is the one used by default in this function (as mentioned in the reference) so it is confusing to me
> 
> norm_mri = ft_volumenormalise(cfg,mri_real);
> 
> % interpolate Source with MEG-aligned T1
> cfg            = [];
> cfg.parameter = 'all';
> cfg.downsample = 2;
> 
> source_int  = ft_sourceinterpolate(cfg, sourceest,norm_mri);
> 
> %%%%%%%%%%%%%%
> 
> 
> _______________________________________________
> 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




More information about the fieldtrip mailing list