[FieldTrip] Using Atlas ROIs in EEG Source Statistics (ft_sourcestatistics)

"Jörn M. Horschig" jm.horschig at donders.ru.nl
Wed Oct 9 09:15:54 CEST 2013


Hi Roey,

habe you tried the atlas that is shipped with FieldTrip? It can be found 
in fieldtrip/templates/atlas/AAL/

Best,
Jörn

On 10/8/2013 11:41 PM, Roey Schurr wrote:
> Dear fieldtrippers (Jan-Mathijs included),
>
> (This message seems long, but is actually quite simple)
>
> Having downloaded the latest fieldtrip version (20131008), we tried 
> rerunning the code and got the following error:
>
> ??? Reference to non-existent field 'coordsys'.
>
>      Error in ==> ft_volumelookup at 206
>            if strcmp(cfg.inputcoord, 'mni') &&
>  strcmp(atlas.coordsys, 'tal')
>
>      Error in ==> statistics_wrapper at 136
>              tmp = ft_volumelookup(tmpcfg, varargin{1});
>
>      Error in ==> ft_sourcestatistics at 107
>          [stat, cfg] = statistics_wrapper(cfg, varargin{:});
>
>
> Since the spm8 MNI atlas indeed has no "coordsys" field.
> Even if we bypass this problem (by setting "atlas.coordsys = 'mni' " 
> by hand, or by simply deleting that "if" line), we still get one of 
> two errors:
>
> * * * * * (1) * * * * *
> If we define "cfg.roi = AAL_names;" where AAL_names stores all 90 ROIs 
> the MNI atlas has to offer, we get an indices error:
>
>      ??? Subscript indices must either be real positive integers or
>      logicals.
>
>      Error in ==> statistics_wrapper at 213
>            tmp(i,:) = mean(dat(roi,:), 1);
>
>      Error in ==> ft_sourcestatistics at 107
>          [stat, cfg] = statistics_wrapper(cfg, varargin{:});
>
>
> * * * * * (2) * * * * *
> If we define "cfg.roi = AAL_names{1};" for example, we get a different 
> error:
>
>      ??? In an assignment  A(:) = B, the number of elements in A and
>      B must be the same.
>
>      Error in ==> clusterstat at 187
>          tmp(cfg.inside) = postailobs;
>
>      Error in ==> ft_statistics_montecarlo at 326
>        [stat, cfg] = clusterstat(cfg, statrand,
>        statobs,'issource',issource);
>
>      Error in ==> statistics_wrapper at 298
>          [stat, cfg] = statmethod(cfg, dat, design,
>          'issource',issource);
>
>      Error in ==> ft_sourcestatistics at 107
>          [stat, cfg] = statistics_wrapper(cfg, varargin{:});
>
> And in "cluserstat" appears this comment: "%this snippet is to support 
> correct clustering of N-dimensional data, not fully tested yet".
> Changing line 187 to: "tmp(cfg.inside) = postailobs(1);" (and line 211 
> to "tmp(cfg.inside) = negtailobs(1);") prevents this problem, but 
> misuses the variables vectors "postailobs" and "negtailobs"
>
>
> Any ideas on how to solve this atlas source statistics problem 
> (defining the coordsys field, performing statistics across all ROIs, 
> and using the postailobs/negtailobs vectors) would be greatly appreciated!
>
> Good night,
> Aia and Roey
>
>
> On Tue, Oct 8, 2013 at 9:43 AM, Roey Schurr <roeysc at gmail.com 
> <mailto:roeysc at gmail.com>> wrote:
>
>     Dear Jan-Mathijs,
>
>     Thank you so much for your kind and quick answer!
>     We do hope this will fix things up. We will check it asap.
>
>     Best regards,
>     Aia and Roey
>
>
>
>
>     On Tue, Oct 8, 2013 at 9:38 AM, jan-mathijs schoffelen
>     <jan.schoffelen at donders.ru.nl
>     <mailto:jan.schoffelen at donders.ru.nl>> wrote:
>
>         Dear Roey and Aia,
>
>         This indeed was our bad. We have fixed it in the current
>         version of FieldTrip.
>         The version will be available for download tonight (CET), but
>         you can get an instantaneous update of the code repository by
>         doing 'ft_version update' on the Matlab command line.
>         This will update the fieldtrip copy you are using to the
>         latest version. Note that if you want to keep a 'static'
>         version, you need to back up the version with a fixed date,
>         because all changes will be incorporated.
>
>         A little note to the following piece of code:
>
>>             % Load the Atlas
>>             templateDir = which('ft_defaults'); % use a known
>>             function (ft_defaults) to find FieldTrip's directory
>>             backslashIndices = find(templateDir=='\');
>>             templateDir(backslashIndices(end)+1:end) = [];      clear
>>             backslashIndices;
>>             cfg.atlas = [templateDir,
>>             'template\atlas\aal\ROI_MNI_V4.nii'];
>>
>
>         The same can be achieved with the fullfile function (which
>         deals with platform specific file-separators automatically):
>
>         templateDir=which('ft_defaults');
>         cfg.atlas = fullfile(templateDir,template,atlas,ROI_MNI_V4.nii');
>
>
>         Best,
>         Jan-Mathijs
>
>
>
>         On Oct 8, 2013, at 8:25 AM, Roey Schurr wrote:
>
>>         Hello again,
>>
>>         Sorry, it seems like the older version (with ft_volumelookup)
>>         is just our mistake.
>>         However the problem is still relevant, for the function
>>         volumelookup is still undefinded in our case.
>>
>>         Hopefully someone might know what we did wrong.
>>
>>         Thank you once again!
>>         Aia and Roey
>>
>>
>>         On Tue, Oct 8, 2013 at 12:54 AM, Roey Schurr
>>         <roeysc at gmail.com <mailto:roeysc at gmail.com>> wrote:
>>
>>             Hello all,
>>
>>             We are having some problems defining atlas-based ROIs
>>             using ft_sourcestatistics on two source structures
>>             obtained via ft_sourceanalysis (whose grid is later
>>             changed according to a precalculated MNI-warped grid).
>>
>>             It seems like the function "statistics_wrapper" has
>>             changed between "fieldtrip-20130822" and
>>             "fieldtrip-20131007": line 136 now calls "volumelookup"
>>             and not "ft_volumelookup", so we get the following error:
>>
>>                   ??? Undefined function or method 'volumelookup' for
>>             input
>>                   arguments of type 'struct'.
>>
>>                   Error in ==> statistics_wrapper at 136
>>                           tmp = volumelookup(tmpcfg, varargin{1});
>>
>>             Using the older fieldtrip vesion we get this error:
>>                 ??? Subscript indices must either be real positive
>>             integers or
>>                 logicals.
>>
>>                   Error in ==> statistics_wrapper at 213
>>             tmp(i,:) = mean(dat(roi,:), 1);
>>
>>                   Error in ==> ft_sourcestatistics at 107
>>                       [stat, cfg] = statistics_wrapper(cfg, varargin{:});
>>
>>             So it seems like we didn't define the ROIs correctly,
>>             however we are not sure why.
>>
>>             Any suggestions would be greatly appreciated!
>>             The relevant pieceof code is attached.
>>
>>             Thank you all,
>>             Aia and Roey
>>
>>
>>
>>             Relevant code
>>             ============
>>             % Convert sources units to mm, to fit the atlas's units
>>             sourceCondition1 = ft_convert_units(sourceCondition1, 'mm');
>>             sourceCondition2 = ft_convert_units(sourceCondition2, '
>>             design = [ ones(1,length(sourceCondition1.trial)),
>>             2*ones(1,length(sourceCondition2.trial)) ];
>>
>>             cfg = [];
>>             cfg.dim = sourceCondition1.dim;
>>             cfg.method = 'montecarlo';
>>             cfg.statistic = 'indepsamplesT';
>>             cfg.parameter = 'pow';
>>             cfg.correctm = 'cluster';
>>             cfg.numrandomization = 1000;
>>             cfg.alpha = 0.01;
>>             cfg.tail = 0;
>>             cfg.design(1,:) = design;
>>             cfg.ivar = 1;
>>
>>             % Load the Atlas
>>             templateDir = which('ft_defaults'); % use a known
>>             function (ft_defaults) to find FieldTrip's directory
>>             backslashIndices = find(templateDir=='\');
>>             templateDir(backslashIndices(end)+1:end) = [];      clear
>>             backslashIndices;
>>             cfg.atlas = [templateDir,
>>             'template\atlas\aal\ROI_MNI_V4.nii'];
>>
>>
>>             cfg.roi = AAL_names; % This is a cell array of the
>>             atlas's ROIs: "Precentral_L", "Precentral_R", etc/
>>
>>             cfg.avgoverroi   = 'yes';
>>             cfg.hemisphere   = 'both';
>>             cfg.inputcoord   = 'mni';
>>
>>             stat = ft_sourcestatistics(cfg, sourceCondition1,
>>             sourceCondition2);
>>
>>
>>         _______________________________________________
>>         fieldtrip mailing list
>>         fieldtrip at donders.ru.nl <mailto:fieldtrip at donders.ru.nl>
>>         http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>
>         Jan-Mathijs Schoffelen, MD PhD
>
>         Donders Institute for Brain, Cognition and Behaviour,
>         Centre for Cognitive Neuroimaging,
>         Radboud University Nijmegen, The Netherlands
>
>         Max Planck Institute for Psycholinguistics,
>         Nijmegen, The Netherlands
>
>         J.Schoffelen at donders.ru.nl <mailto:J.Schoffelen at donders.ru.nl>
>         Telephone: +31-24-3614793 <tel:%2B31-24-3614793>
>
>         http://www.hettaligebrein.nl
>
>
>         _______________________________________________
>         fieldtrip mailing list
>         fieldtrip at donders.ru.nl <mailto: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


-- 
Jörn M. Horschig
PhD Student
Donders Institute for Brain, Cognition and Behaviour
Centre for Cognitive Neuroimaging
Radboud University Nijmegen
Neuronal Oscillations Group
FieldTrip Development Team

P.O. Box 9101
NL-6500 HB Nijmegen
The Netherlands

Contact:
E-Mail: jm.horschig at donders.ru.nl
Tel:    +31-(0)24-36-68493
Web: http://www.ru.nl/donders

Visiting address:
Trigon, room 2.30
Kapittelweg 29
NL-6525 EN Nijmegen
The Netherlands

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20131009/d6463fea/attachment-0002.html>


More information about the fieldtrip mailing list