[FieldTrip] Functional connectivity analysis with powcorr_ortho

Ta Dinh, Son son.ta.dinh at tum.de
Thu Apr 13 14:57:45 CEST 2017


Dear FieldTrip list,

I am trying to do a functional connectivity analysis using the power envelope correlation introduced by Hipp et al. (Nat Neuroscience 2012) as implemented in the ft_connectivity_powcorr_ortho function. My data consists of 5 minutes of eyes-closed resting-state data and my schematic pipeline is as follows:


  1.  I use LCMV beamforming to source reconstruct my bandpassed and preprocessed data
  2.  Using the resulting spatial filter I get a projected time series for every voxel (virtual channel)
  3.  I do a frequency analysis on these time series
  4.  The results of this frequency analysis (the Fourier coefficients) are used for the connectivity analysis using powcorr_ortho

To check the results of this analysis, I plotted the results of a seed-based connectivity analysis with a voxel in the left visual cortex (-20, -80, 20) as seed. In the alpha band, I expect to see a strong local connectivity pattern in the occipital region extending partially into the contralateral hemisphere, similar to what Siems et al. NeuroImage 2016 find. However, I get a basically random connectivity pattern. When using this pipeline with the debiased weighted phase lag index, I get exactly what I am expecting.

I looked into the source code of the ft_connectivity_powcorr_ortho function and saw a few disconcerting comments (Fix-Me's and the like) and now I am wondering whether my pipeline is simply not suited to the connectivity analysis with powcorr_ortho as implemented in FieldTrip or if the function is simply not fully implemented yet. Has anyone used it successfully before?

I use the following FieldTrip (pseudo-) code:
%% LCMV source reconstruction
cfg = [];
cfg.method = 'lcmv';
cfg.keeptrials = 'yes';
cfg.elec = elec;
cfg.grid = lf; % regular grid of 1 cm resolution
cfg.headmodel = vol % standard_bem.mat
cfg.lcmv.keepfilter = 'yes';
cfg.lcmv.lambda = '5%';
cfg.lcmv.projectnoise = 'yes';
source = ft_sourceanalysis(cfg, tlock_data);
%% pseudo-code for the computation of the virtual channel time series
virtChan_data = tlock_data;
virtChan_data.label = [source.pos(:, 1), source.pos(:,2), source.pos(:,3)];
virtChan_data.trial = source.avg.filter * tlock_data.trial;
%% frequency analysis of the virtual channels
cfg = [];
cfg.method = 'mtmfft';
cfg.output = 'fourier';
cfg.keeptrials = 'yes';
cfg.foi = 10; % alpha band
cfg.taper = 'hanning' % I originally used 3 tapers but source code in ft_connectivity_powcorr_ortho implies that multitaper is not compatible
virtFreq = ft_freqanalysis(cfg, virtChan_data);
%% connectivity analysis
cfg = [];
cfg.method = 'powcorr_ortho';
conn = ft_connectivityanalysis(cfg,virtFreq);

Any suggestions and/or comments would be immensely helpful! Thanks in advance.

Best,
Son

Son Ta Dinh, M.Sc.
PhD student in Human Pain Research
Klinikum rechts der Isar
Technische Universität München
Munich, Germany
Phone: +49 89 4140 7664<tel:%2B49%2089%204140%207664>
http://www.painlabmunich.de/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20170413/d4871918/attachment-0001.html>


More information about the fieldtrip mailing list