[FieldTrip] ft_connectivityanalysis for one long trial
Julien Catanese
catanese.julien at gmail.com
Thu Feb 13 23:18:30 CET 2014
It works fine if I artificially slice the data into trials.
(nb: MATLAB's mscohere() works fine without chopping into trials, so I was
guessing it was also possible with the fieldtrip functions, but apparently
not, sorry about that, not a big deal).
Julien C
On Wed, Jan 22, 2014 at 1:22 PM, Julien Catanese
<catanese.julien at gmail.com>wrote:
>
> Hi dear FieldTrip community,
>
> I'm trying to get the coherence spectrum between 2 LFP signals (based on
> the tutorial: "Analysis of sensor- and source-level connectivity").
>
> This is sleep data, so I have only one long "trial" generated with
> ft_redefinetrial().
>
> I can run ft_freqanalysis() without problems, but both for 'mtmconvol' and
> 'mtmfft' the next step, ft_connectivityanalysis(), fails:
>
> 1/ using 'mtmconvol': the cohspctrum consists of all '1' (the same
> happens when using 'fourier' instead of 'powandcsd')
> 2/ using 'mtmfft': "Error using ft_connectivityplot (line 99) the data
> should have a dimord of chan_chan_freq or chancmb_freq"
>
> How can I get a coherence spectrum for this data? Do I have to
> artificially chop it up into say, 2-second "fake trials"?
>
> notice that MATLAB's mscohere() works fine on the same data (so data are
> ok).
>
>
>
> More details below:
>
> 1/ using mtmconvol :
>
> %% starting point: loaded data
> data =
> hdr: [1x1 struct]
> label: {'LFP1' 'LFP2'}
> time: {[1x200000 double]}
> trial: {[2x200000 double]}
> fsample: 2000
> cfg: [1x1 struct]
> sampleinfo: [1 200000]
>
> %% make one long trial
> cfg = [];
> cfg.trl = [1 200000 0];
> data_faketrl = ft_redefinetrial(cfg,data);
>
> %% do frequqency anlaysis
> cfg = [];
> cfg.output = 'powandcsd';
> cfg.method = 'mtmconvol';
> cfg.taper = 'hanning';
> cfg.foi = 1:1:150;
> cfg.t_ftimwin = ones(size(cfg.foi)).*2; % 2-second window
> cfg.toi = 0:1:10;
> cfg.keeptrials = 'yes';
> cfg.channel = {'LFP1', 'LFP2'};
> cfg.channelcmb = {'LFP1', 'LFP2'};
>
> >> freq = ft_freqanalysis(cfg, data_faketrl)
>
> freq =
> label: {'LFP1' 'LFP2'}
> dimord: 'rpt_chan_freq_time'
> freq: [1x150 double]
> time: [0 1 2 3 4 5 6 7 8 9 10]
> powspctrm: [4-D double]
> labelcmb: {'LFP1' 'LFP2'}
> crsspctrm: [4-D double]
> cumtapcnt: [1x150 double]
> cfg: [1x1 struct]
>
> %% coherence spectrum has all ones
> cfg = [];
> cfg.method = 'coh';
> coh = ft_connectivityanalysis(cfg, freq);
>
> coh =
>
> labelcmb: {'LFP1' 'LFP2'}
> dimord: 'chan_freq_time'
> cohspctrm: [1x150x11 double]
> freq: [1x150 double]
> time: [0 1 2 3 4 5 6 7 8 9 10]
> dof: 150
> cfg: [1x1 struct]
>
> % coh.cohspctrm(:,:,2:end) is all ones --> fail
>
> 2/ using mtmfft:
> %%
> cfg = [];
> cfg.output = 'powandcsd'
> cfg.method = 'mtmfft';
> cfg.taper = 'hanning';
> cfg.foi = 1:1:150;
> cfg.channel = {'LFP1', 'LFP2'};
> cfg.channelcmb = {'LFP1', 'LFP2'};
>
> >> freq = ft_freqanalysis(cfg, data_faketrl)
>
> freq =
>
> label: {'LFP1' 'LFP2'}
> dimord: 'rpt_chan_freq'
> freq: [1x150 double]
> powspctrm: [1x2x150 double]
> labelcmb: {'LFP1' 'LFP2'}
> crsspctrm: [1x1x150 double]
> cumsumcnt: 200000
> cumtapcnt: 1
> cfg: [1x1 struct]
>
> %% coherence spectrum fails:
> cfg = [];
> cfg.parameter = 'cohspctrm';
> cfg.channelcmb = {'LFP1', 'LFP2'};
>
> >> ft_connectivityplot(cfg, coh);
>
> Error using ft_connectivityplot (line 99)
> the data should have a dimord of chan_chan_freq or chancmb_freq
>
> coh =
> labelcmb: {'LFP1' 'LFP2'}
> dimord: 'chan_freq'
> cohspctrm: [1x150 double]
> freq: [1x150 double]
> dof: 1
> cfg: [1x1 struct]
>
> >> unique([coh.cohspctrm(:)])
>
> ans =
>
> 1.000000000000000
> 1.000000000000000
> 1.000000000000000
> 1.000000000000000
> 1.000000000000000
>
>
> Thanks for your help,
>
> Julien C
>
> --
>
> *Dr. Julien Catanese*
>
> *VanderMeerLab post-doc. University of Waterloo, Ontario, Canada. *
> *cell : +1 (519) 781 7575 <%2B1%20%28519%29%20781%207575>*
> *tel lab : +1 (519) 888 4567 ext 31354
> <%2B1%20%28519%29%20888%204567%20ext%2031354>*
>
--
*Dr. Julien Catanese*
*VanderMeerLab post-doc. University of Waterloo, Ontario, Canada.*
*cell : +1 (519) 781 7575*
*tel lab : +1 (519) 888 4567 ext 31354*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20140213/2458b23b/attachment-0001.html>
More information about the fieldtrip
mailing list