[FieldTrip] PLV, wPLI: Discripancy using powandcsd and fourier

Akshay Ravindran akshay.s.ravindran at gmail.com
Sun Aug 2 23:35:15 CEST 2020


Good Evening,

I tried estimating the functional connectivity using different phase-based
measures like PLV and wPLI_debiased. I tried testing the two measures using*
cfg.output* set to either *'fourier' or* *'powandcsd' *as I have seen
people implementing PLV with both. However, I am getting quite varying
results using either of these on an EEG data saved in .set file loaded and
run using the commands shown at the end of this question.

Even though I think *'fourier'* is the right way to implement these, to
test for the validity of it, I tested this on the artificial data created
using the *ft_connectivitysimulation function* ( 3 channel, 200 Hz Fs, the
same number of trials as EEG, default noise covariance and params as in the
example). In this case however, I am getting the very same results using
either output (off-diagonal elements are the same in either; diagonal
elements are NAN in using powandcsd whereas 1 while using Fourier).

*My question is mainly the following*
*1) Am I missing something while testing on EEG data? If not,  why is there
a discrepancy found while testing on EEG but not on the simulated data? *
*2) Is there any recommended instance of using 'powandcsd ' over 'fourier'
in any of the connectivity measures?*


% EEG sampled at 200 Hz, 60 channels with events. The epoching is fine as
the ERP was validated after epoching.
data              = ft_connectivitysimulation(cfg);
cfg = [];
cfg.channel = ['all'];
cfg.dataset                 = 'Dataset_Epochs.set';
cfg.trialfun                = 'ft_trialfun_general'; % this is the default
cfg.trialdef.eventtype      = 'trigger';
cfg.trialdef.eventvalue     = 'Onset';
cfg.trialdef.prestim        = 0.2; % in seconds
cfg.trialdef.poststim       = 0.6; % in seconds
cfg = ft_definetrial(cfg);
data= ft_preprocessing(cfg);


cfg           = [];
cfg.pad       = 'nextpow2';
cfg.method    = 'mtmfft';
cfg.taper     = 'hanning';
cfg.output    = 'fourier';; % Tried replacing this with powandcsd and both
yielded different results
cfg.keeptrials  = 'yes'
cfg.tapsmofrq = 1;
spectral_decomp          = ft_freqanalysis(cfg, data);
% Compute the functional connectivity using PLV
cfg            = [];
cfg.method    = 'plv'
fc  = ft_connectivityanalysis(cfg, spectral_decomp);


To further test if it is something with the particular dataset, I also
tried on separate continuous EEG data  which was segmented in fieldtrip.
However this yielded similar quite varying results when using either output
 % cfg.dataset                 = 'Dataset_RS.set';
 % [data] = ft_preprocessing(cfg)
%cfg = [];
%cfg.length  = 6;
%cfg.overlap = 0;
%data_segmented = ft_redefinetrial(cfg, data);

 Thanks,

-- 
Regards,

ASR
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20200802/4a8cea75/attachment.htm>


More information about the fieldtrip mailing list