[FieldTrip] ft_freqanalysis() on entire continuous data followed by ft_redefinetrial() error - incorrect data format?
Drew Fegen
dfegen at gmail.com
Wed Dec 11 19:13:40 CET 2013
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20131211/60afeccb/attachment-0001.html>
More information about the fieldtrip
mailing list