[FieldTrip] freesurfer surfaces

Gio Piantoni g.piantoni at nin.knaw.nl
Wed Sep 5 10:20:41 CEST 2012


Dear Fieldtrip developers,

I'd like to run source reconstruction on the cortical sheets obtained
from Freesurfer and average them using the "sphere" approach of
Freesurfer. I have these steps in mind:

1) create a 3-layer BEM ('outer_skin' 'inner_skull'  'brain' from the
bem/watershed folder, which I think might be better than 'outer_skin'
'outer_skull' 'inner_skull' as in
http://fieldtrip.fcdonders.nl/development/replicate_functionality_of_mne_software
)
2) create a forward model from a subset of points in "?h.smoothwm"
(for computational purposes)
3) do source reconstruction on this subset of dipoles
4) source interpolate to the high resolution of ?h.smoothwm
5) project all the locations onto the ?h.sphere
6) interpolate to the points to the ?h.sphere of fsaverage
7) do 2-D statistics on the values of the ?h.sphere of fsaverage (and
plot them using ?h.inflated of fsaverage)

I was wondering if anybody has tried something similar and if there
are steps I should be careful about. There was a discussion in
January/February about doing statistics on cortical sheets:
http://mailman.science.ru.nl/pipermail/fieldtrip/2012-January/004749.html
http://mailman.science.ru.nl/pipermail/fieldtrip/2012-February/004766.html

Does anybody have suggestions about these steps? I promise I'll make a
tutorial out of this, if it works out ;)

A practical point I get stuck in is at steps 3) and 4). The
interpolation from a subset of 2-D points to another subset of 2-D
points gives a bit of nonsensical results. Code:

%-get freesurfer surface
bnd = ft_read_headshape('lh.smoothwm');
% get it from https://skydrive.live.com/redir?resid=6D9DCA0F726A645C!7000
% or any freesurfer surface you have

%-downsample
bnd_down = bnd;
P.faces = bnd_down.tri;
P.vertices = bnd_down.pnt;
P = reducepatch(P, 0.05);
bnd_down.tri = P.faces;
bnd_down.pnt = P.vertices;

%-create source
source.pos = bnd_down.pnt;
source.inside = true(size(source.pos,1),1);
source.pow = bnd_down.pnt(:,3); % "fake" source reconstruction

figure
ft_plot_mesh(bnd_down, 'edgecolor', 'none', 'vertexcolor', source.pow)
% the rainbow brain
view(90, 0); camlight

%-sourceinterpolate
cfg = [];
cfg.parameter = 'pow';
ana = [];
ana.pnt = bnd_down.pnt;
ana.orig = bnd;
souinterp = ft_sourceinterpolate(cfg, source, ana);

figure
ft_plot_mesh(souinterp, 'edgecolor', 'none', 'vertexcolor',
souinterp.pow) % the Arlecchino brain
view(90, 0); camlight

Should I file a bugzilla report for this? I haven't done it as I'm not
even sure this is the correct input format.
Thanks for any suggestion.

Best wishes,

Gio

-- 
Giovanni Piantoni, MSc
Dept. Sleep & Cognition
Netherlands Institute for Neuroscience
Meibergdreef 47
1105 BA Amsterdam (NL)
www.gpiantoni.com



More information about the fieldtrip mailing list