[FieldTrip] unit problem when following example script: Create MNI-aligned grids in individual head-space BUG?
Ingrid Nieuwenhuis
inieuwenhuis at berkeley.edu
Thu Apr 11 20:30:31 CEST 2013
Hi all,
When I follow the code according to the example matlab script "Create
MNI-aligned grids in individual head-space" something goes all wrong
with the units.
I've followed the code (pasted below, from the wiki), but when I make
the figure with the template head model and dipole grid, it's wrong (see
attached ..._problem.png). The dipole grid is tiny in the bottom of the
head model. The black area is the dipole grid, not good.
template_grid =
xgrid: [1x41 double]
ygrid: [1x41 double]
zgrid: [1x41 double]
dim: [41 41 41]
pos: [68921x3 double]
unit: 'mm'
inside: [1x68910 double]
outside: [758 759 760 761 799 800 801 802 843 884 925]
cfg: [1x1 struct]
It's a problem with the units, because the template grid has 'mm' in the
unit field, but when I look in the xgrid, ygrid, zgrid and pos fields
the numbers are clearly cm not mm. However, when I multiply my xyzgrid
and pos field by 10, the grid is not tight (see attached
..._multiplied10.png). It looks like the unit problem messed up the
determination of what's inside and outside. As you can see in the
template_grid, there are only a few grid point outside, which is clearly
not correct (maybe inside/outside was determined on wrong units?).
So, it looks like a bug to me, or am I doing something wrong? I'm using
the newest FT version.
Thanks,
Ingrid
%%% CODE FROM WIKI %%%
template = ft_read_mri([cur_path_FT 'external', filesep,
'spm8', filesep,'templates', filesep,'T1.nii']);
template.coordsys = 'spm'; % so that FieldTrip knows how to interpret
the coordinate system
% segment the template brain and construct a volume conduction model
(i.e. head model): this is needed
% for the inside/outside detection of voxels.
cfg = [];
template_seg = ft_volumesegment(cfg, template);
cfg = [];
cfg.method = 'singleshell';
template_vol = ft_prepare_headmodel(cfg, template_seg);
% construct the dipole grid in the template brain coordinates
% the source units are in cm
% the negative inwardshift means an outward shift of the brain surface
for inside/outside detection
cfg = [];
cfg.grid.xgrid = -20:1:20;
cfg.grid.ygrid = -20:1:20;
cfg.grid.zgrid = -20:1:20;
cfg.grid.unit = 'cm';
cfg.grid.tight = 'yes';
cfg.inwardshift = -1.5;
cfg.vol = template_vol;
template_grid = ft_prepare_sourcemodel(cfg);
% make a figure with the template head model and dipole grid
figure
hold on
ft_plot_vol(template_vol);
ft_plot_mesh(template_grid);
--
Ingrid Nieuwenhuis PhD
Postdoctoral Fellow
Sleep and Neuroimaging Laboratory
Department of Psychology
University of California, Berkeley
California 94720-1650
Tolman Hall, room 5305
-------------- next part --------------
A non-text attachment was scrubbed...
Name: templatehead_dipolegrid_problem.png
Type: image/png
Size: 19636 bytes
Desc: not available
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20130411/f9215e52/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: templatehead_dipolegrid_multiplied10.png
Type: image/png
Size: 9051 bytes
Desc: not available
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20130411/f9215e52/attachment-0003.png>
More information about the fieldtrip
mailing list