[FieldTrip] Source localization
Casper van Heck
caspervanheck at gmail.com
Mon Jan 21 12:18:58 CET 2013
Everyone,
While the whole script is way too convoluted to put up here, but luckily
the relevant steps are quite simple
Input is simply raw data, read with ft_preprocessing, which is passed
through functions as shown in my previous email.
After passing the data to ft_sourcegrandaverage (only using
cfg.outputfile), where the data is fed as a cell array (which seems to work
properly), I go over to a source-comparison script. This script works as
follows:
First I create a pre-post contrast as shown in the beamformer tutorial.
Next, I read some MRI-data using ft_read_mri from a standard folder, and
reslice this data:
*mri = ft_read_mri(strcat(h.subject,'Subject01.mri'));
*
*mri = ft_volumereslice([], mri);*
Then:
*[data] = ft_sourceinterpolate(cfg, data, mri);
*
where cfg contains:
*cfg.parameter: 'avg.pow'*
*cfg.downsample: 4*
and I add the anatomy:
*data.anatomy = mri.anatomy; clear mri*
And finally, I call ft_sourceplot using these options:
cfg.*parameter: 'avg.pow'*
*cfg.downsample: 4*
with one of these three methods:
1) *cfg.method = 'surface';*
* cfg.surffile = 'surface_l4_both.mat';*
* cfg.surfdownsample = 4;*
* cfg.projmethod = 'nearest';*
2) *cfg.method = 'ortho';*
3) *cfg.method = 'slice';*
* cfg.nslices = 20;*
Which leads to the errors shown earlier. At this point, disp(data) yields:
*K>> disp(data)*
* avg: [1x1 struct]*
* pos: [16777216x3 double]*
* dim: [256 256 256]*
* inside: [1x16777216 double]*
* outside: [1x0 double]*
* coordsys: 'ctf'*
* unit: 'mm'*
* cfg: [1x1 struct]*
* anatomy: [256x256x256 double]*
*
*
I'm guessing it has something to do with the 'inside' and 'outside'
elements, so my 'standard head model'. I think I made this using the
following code:
*mri = ft_read_mri(strcat(h.subject,'Subject01.mri')); % load 'standard'
anatomical model
*
*
*
*% segment the template brain and construct a volume conduction model (i.e.
head model)*
*cfg = [];*
*cfg.output = {'brain' 'scalp' 'skull'};*
*cfg.downsample = 2;*
*t_seg = ft_volumesegment(cfg, mri);*
* *
*% create head model*
*cfg = [];*
*cfg.method = 'singlesphere';*
*cfg.hdmfile = strcat(h.subject,'Subject01.hdm');*
*cfg.elec = ft_read_sens('standard_1020.elc');*
*t_vol = ft_prepare_headmodel(cfg, t_seg);*
*clear template_seg*
*
*
*% construct the dipole grid in the template brain coordinates*
*cfg = [];*
*cfg.normalize = 'no'; % no normalization, since we're comparing two
conditions THAT'S RIGHT I DID PAY ATTENTION*
*cfg.vol = t_vol;*
*t_grid = ft_prepare_sourcemodel(cfg);*
*
*
After which I use this on all subjects, using this (note that I store all
data in a single massive structure, to make saving to disk and selecting
data etc. easier):
*source{subj}.(datasets{d}) = sourceanalysis(data, t_vol, t_grid);*
*
*
Anyone seeing anything obviously stupid?
Sincerely,
Casper
On Fri, Jan 18, 2013 at 4:43 PM, <Lilla.Magyari at mpi.nl> wrote:
> Hi Casper,
>
> I think it is really difficult to figure only from the error message what
> the problem is. I think it would be also useful to see the inputs (cfg,
> and your data) of ft_sourceplot. Could you just send me how your cfg and
> your data-structure looks like? (I mean that you do not need to send the
> actual data, just the screen output of disp(data) and disp(cfg)).
>
> Best,
> Lilla
>
>
> > Dear Fieldtrippers,
> >
> > I've asked this question earlier, but either it got lost due to technical
> > reasons, or the people who actually understand what's happening here were
> > on vacation, so here it is again:
> >
> > I've been trying to do a source analysis on a dataset with two
> conditions,
> > mostly following the tutorials and examples from the Fieldtrip site, and
> > come upon a problem; it won't plot. While the source analysis is not an
> > essential component of the analysis of this dataset (it's more along the
> > lines of "let's see if I can do this"), and I don't expect any result
> > other
> > than something like "there might be a source in the left hemisphere", I'd
> > still would like to found out why it's not working.
> >
> > Essentially, I create a standard headmodel cause I don't have individual
> > MRI's from the "Subject1.mri"-example, using ft_volumesegment,
> > ft_prepare_headmodel and ft_prepare_sourcemodel, and try to get Fieldtrip
> > to find sources based on individual EEG-datasets using ft_freqanalysis
> > (with cfg.method = 'mtmfft') and ft_sourceanalysis.
> > After that, I use ft_sourcegrandaverage to produce, well, a grand average
> > source, and feed this via ft_sourceinterpolate to ft_sourceplot.
> >
> > Now, ft_sourceplot has three plotting possibilities: slice, ortho, and
> > surface. Initially I tried to get the ortho-option to work, but this gave
> > the following error:
> > *Attempted to access dim(3); index out of bounds because numel(dim)=2.*
> > *Error in ==> cornerpoints at 11
> > *
> > *Error in ==> ft_plot_slice at 157
> > *
> >
> > So, I tried the surf-option, which gave me this:
> > *Undefined function or variable "val".*
> > *Error in ==> ft_sourceplot at 1174
> > *
> >
> > And finally, I tried the slice-option, which gave one of two errors
> (which
> > seems to be based on how many slices I requested):
> > *Out of memory*
> > Which is pretty damn impressive since I've got 8GB of RAM and a pagefile
> > topping of at 40GB
> > Or, the mildly disconcerting:
> > *Matlab has encountered an internal error and has to close*
> > Which seems to have been caused by a so-called *"Segmentation violation"
> > *
> >
> > Can anyone offer any insight in these errors? I think I'm doing something
> > wrong pretty early on, but have no idea what it is.
> >
> > Sincerely,
> >
> > Casper van Heck
> >
> >
> > On Fri, Dec 21, 2012 at 1:43 PM, Casper van Heck
> > <caspervanheck at gmail.com>wrote:
> >
> >> Dear Fieldtrippers,
> >>
> >> I've been trying to do a source analysis on a dataset with two
> >> conditions,
> >> mostly following the tutorials and examples from the Fieldtrip site, and
> >> come upon a problem; it won't plot. While the source analysis is not an
> >> essential component of the analysis of this dataset (it's more along the
> >> lines of "let's see if I can do this"), and I don't expect any result
> >> other
> >> than something like "there might be a source in the left hemisphere",
> >> I'd
> >> still would like to found out why it's not working.
> >>
> >> Essentially, I create a standard headmodel cause I don't have individual
> >> MRI's from the "Subject1.mri"-example, using ft_volumesegment,
> >> ft_prepare_headmodel and ft_prepare_sourcemodel, and try to get
> >> Fieldtrip
> >> to find sources based on individual EEG-datasets using ft_freqanalysis
> >> (with cfg.method = 'mtmfft') and ft_sourceanalysis.
> >> After that, I use ft_sourcegrandaverage to produce, well, a grand
> >> average
> >> source, and feed this via ft_sourceinterpolate to ft_sourceplot.
> >>
> >> Now, ft_sourceplot has three plotting possibilities: slice, ortho, and
> >> surface. Initially I tried to get the ortho-option to work, but this
> >> gave
> >> the following error:
> >> *Attempted to access dim(3); index out of bounds because numel(dim)=2.*
> >> *Error in ==> cornerpoints at 11
> >> *
> >> *Error in ==> ft_plot_slice at 157
> >> *
> >>
> >> So, I tried the surf-option, which gave me this:
> >> *Undefined function or variable "val".*
> >> *Error in ==> ft_sourceplot at 1174
> >> *
> >>
> >> And finally, I tried the slice-option, which gave one of two errors
> >> (which
> >> seems to be based on how many slices I requested):
> >> *Out of memory*
> >> Which is pretty damn impressive since I've got 8GB of RAM and a pagefile
> >> topping of at 40GB
> >> Or, the mildly disconcerting:
> >> *Matlab has encountered an internal error and has to close*
> >> Which seems to have been caused by a so-called *"Segmentation violation"
> >> *
> >>
> >> Can anyone offer any insight in these errors? I think I'm doing
> >> something
> >> wrong pretty early on, but have no idea what it is.
> >>
> >> Sincerely,
> >>
> >> Casper van Heck
> >>
> > _______________________________________________
> > 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/20130121/70900c53/attachment-0002.html>
More information about the fieldtrip
mailing list