[FieldTrip] ft_freqanalysis() on entire continuous data followed by ft_redefinetrial() error - incorrect data format?

"Jörn M. Horschig" jm.horschig at donders.ru.nl
Thu Dec 12 09:33:50 CET 2013


Hi David,

try specifying cfg.keeptrials = 'yes' before computing the power spectrum.

Best,
Jörn

Drew Fegen wrote:
> Hello,
>
> Trying to do time-frequency analysis on some intracranial EEG data and 
> I would like to apply the time-frequency analysis to the entire 
> continuous data to avoid any boundary effects and padding issues. 
>  However, after I run the time-frequency analysis on the entire 
> continuous data and then try to define trials I get errors due to the 
> input data being in the incorrect format.
>
> The data are .edf files that were being imported incorrectly and being 
> parsed into short segments, thus I have been using 
> "cfg.continuous='yes' " in ft_preprocessing() and then using 
> ft_redefinetrial() to subsequently define trials.
>
> So I read the data in like this:
>
> cfg=[];
> cfg.reref='yes';
> cfg.dataset = 'data.edf';
> cfg.headerfile = 'data.edf';
> cfg.dataformat = 'edf';
> cfg.headerformat = 'edf';
> cfg.continuous = 'yes';
> cfg.demean='yes';
> data = ft_preprocessing(cfg);
>
>
> and the data looks like:
>
> >> data
>
> data =
>
>            hdr: [1x1 struct]
>          label: {101x1 cell}
>          time: {[1x535040 double]}
>          trial: {[101x535040 double]}
>          fsample: 512
>            sampleinfo: [1 535040]
>          cfg: [1x1 struct]
>
>
> Then my time-frequency analysis looks like this:
>
> cfg = [];
> cfg.method     = 'wavelet';
> cfg.width      = 7;
> cfg.output     = 'pow';
> cfg.foi        = 1:2:30;
> cfg.toi        = -0.5:0.05:1.5;
> cfg.channel      = 'all';
> TFRwave = ft_freqanalysis(cfg, data);
>
>
> and the output looks like this:
>
> >> TFRwave
>
> TFRwave =
>
>       label: {101x1 cell}
>         dimord: 'chan_freq_time'
>        freq: [1 3 5 7 9 11 13 15 17 19 21 23 25 27 29]
>          time: [1x41 double]
>        powspctrm: [101x15x41 double]
>          cumtapcnt: [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
>        cfg: [1x1 struct]
>
>
> then I define trials like this (which works fine in other processing 
> streams I have):
>
> [TFRwave_byTrial] = ft_redefinetrial(cfg, TFRwave)
>
>
> gives this error:
>
> the input is freq data with 101 channels, 15 frequencybins and 41 timebins
> ??? Error using ==> ft_checkdata>freq2raw at 1669
> this only works for dimord='rpt_chan_freq_time'
>
> Error in ==> ft_checkdata at 317
>         data = freq2raw(data);
>
> Error in ==> ft_redefinetrial at 104
> data = ft_checkdata(data, 'datatype', 'raw', 'feedback', cfg.feedback);
>
>
> So it seems like ft_redefinetrial() does not like the data in the 
> format "chan_freq_time" and instead wants the format 
> "rpt_chan_freq_time".  I tried changing the output format of the 
> time-frequency analysis by changing the "cfg.output" option to 
> 'powandcsc' and 'fourier', and I also tried converting the 
> time-frequency data using 
> "freqnew=ft_checkdata(data,'cmbrepresentation','full');" and 
> "freqnew=ft_checkdata(data,'cmbrepresentation','sparsewithpow');" but 
> could not get the data in a format that could be used by 
> ft_redefinetrial().
>
> Maybe I missed something in the documentation or mailing list?  Does 
> anyone have any thoughts or ideas?
>
> Thanks!
> David
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> 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




More information about the fieldtrip mailing list