[Eeglablist] A tentative issue in coherence calculation in EEGLAB for epoched data
Iman Mohammad-Rezazadeh
irezazadeh at ucdavis.edu
Mon Jul 20 10:09:53 PDT 2015
Hi EEGLABERs,
I have been looking into 'newcrossf' function and the way it calculates coherence for epoched data. Basically, it uses the 'timefreq' function to calculate the time/frequency decomposition the data. 'timefreq' function treats the epoched data as a continuous one:
X = reshape(X, g.frame, g.trials);
[alltfX freqs timesout] = timefreq(X, g.srate, spectraloptions{:});
Y = reshape(Y, g.frame, g.trials);
[alltfY] = timefreq(Y, g.srate, spectraloptions{:});
and calculates the its spectrum using the whole data which is now concatenated version of all trials. So, for each of channel's pair (X and Y , for example) the spectrum is calculated as described above and then the joint time-freq decomposition is calculated for coherence value.
coherres = sum(alltfX .* conj(alltfY), 3) ./ sqrt( sum(abs(alltfX).^2,3) .* sum(abs(alltfY).^2,3) );
However, similar to the ERSP concept, each trial/epoch might be different than others [because of perturbations in subjects' mental status, mental fatigue, etc] and thus I think it is more appropriate to calculate the coherence for each trial first and then make the average across trials.
Any thoughts?
Iman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20150720/6263587d/attachment.html>
More information about the eeglablist
mailing list