[FieldTrip] Cluster-Statistics on wPLI data

Mathis Kaiser mathis.kaiser at charite.de
Mon Jun 1 17:20:08 CEST 2015


Dear Fieldtrip Users,

I am a first-year PhD student and have been lurking here for a long time 
(finding lots of useful answers), it's about time I ask my first question:

I am trying to compare connectivity in source space (~25 subjects, 
between two conditions, ~600 virtual channels on a 1.5cm grid) using 
ft_freqstatistics with a cluster-based permutation test (see code below).

The original input datasets have the dimensions: chan x chan x freq. I 
tried restructuring them to chancmb x freq (see 
http://mailman.science.ru.nl/pipermail/fieldtrip/2014-February/007620.html) 
before doing ft_freqstatistics, but the function then takes forever 
appending the (admittedly big) datasets.

I then tried feeding them to ft_freqstatistics without restructuring, 
which didn't throw any errors. However, I noticed that the resulting 
clusters consist of adjacent cells in the chan x chan matrix, which 
doesn't make much sense since channels in adjacent cells are not 
necessarily spatially adjacent. I suspect that ft_freqstatistic assumes 
the 3-D input to contain a temporal dimension and therefore tries to 
build temporally adjacent clusters. Could any of the fieldtrip 
developers comment on this?
Does anyone in the FT-community have any advice on how to statistically 
evaluate connectivity data using the permutation approach?

Thanks for any input, best wishes,
Mathis Kaiser

> %% tfr and wpli per subject
>
> cfg = [];
> cfg.keeptrials = 'yes';
> cfg.output = 'fourier';
> cfg.foi = 2:20;
> cfg.method = 'mtmfft';
> cfg.taper = 'hanning';
>
> tfr4conn_ill = ft_freqanalysis(cfg, virt_ill);
> tfr4conn_noill = ft_freqanalysis(cfg, virt_noill);
>
> cfg = [];
> cfg.method = 'wpli_debiased';
>
> wpli_tfr_ill = ft_connectivityanalysis(cfg, tfr4conn_ill);
> wpli_tfr_noill = ft_connectivityanalysis(cfg, tfr4conn_noill);
###
> % (I then load all individual datasets into two cell arrays - 
> all_wpli_ill and all_wpli_noill):
> >> display(all_wpli_ill{1})
>                   label: {638x1 cell}
>                  dimord: 'chan_chan_freq'
>     wpli_debiasedspctrm: [638x638x10 double]
>                    freq: [1x10 double]
>                    elec: [1x1 struct]
>                     cfg: [1x1 struct]
>
###
>
> %% statistics
>
> cfg = [];
> cfg.parameter = 'wpli_debiasedspctrm';
> cfg.statistic = 'depsamplesT';
> cfg.method = 'montecarlo';
> cfg.correctm = 'cluster';
> cfg.frequency = [10 10];
> cfg.neighbours = []; % no spatial clustering
> cfg.numrandomization = 1000;
> cfg.correcttail = 'alpha';
> nSub = length(subj);
> cfg.design(1,1:2*nSub) = [ones(1,nSub) 2*ones(1,nSub)];
> cfg.design(2,1:2*nSub) = [1:nSub 1:nSub];
> cfg.ivar = 1;
> cfg.uvar = 2;
>
> stat = ft_freqstatistics(cfg, all_wpli_ill{:}, all_wpli_noill{:});
###
> >> display(stat)
>
> stat =
>
>                    prob: [638x638 double]
>             posclusters: [1x4662 struct]
>     posclusterslabelmat: [638x638 double]
>         posdistribution: [1x1000 double]
>             negclusters: [1x12943 struct]
>     negclusterslabelmat: [638x638 double]
>         negdistribution: [1x1000 double]
>                 cirange: [638x638 double]
>                    mask: [638x638 logical]
>                    stat: [638x638 double]
>                     ref: [638x638 double]
>                  dimord: 'chan_chan'
>                   label: {638x1 cell}
>                    freq: 9.9602
>                     cfg: [1x1 struct]
>




More information about the fieldtrip mailing list