<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Dear Stefan, 
<div class=""><br class="">
</div>
<div class="">Indeed it can be challenging if you’re pressed for RAM to do some of the larger computations. Specifically, as you describe, the wpli computation is inefficient since the current code requires the single observation cross-spectra. Historically,
 the modular design of ft_connectivityanalysis kind of required for the lower-level connectivity metric computation machinery to receive the bivariate data (crossspctra) in their input. In the early development of the function (starting off from coherence),
 this restriction was not problematic per se.  For the coherence computation one can easily (and early) drop the observation dimension, so the memory requirements are relatively low. I am fine with adjusting ft_connectivity_wpli in such a way that it also can
 take fourier data in the input, and that - after a check - the conjugate multiplication will be done only within the function. If that is in place, we can adjust ft_connectivityanalysis to allow the fourierspectra in the input. I’d be happy to guide you through
 the process of making the changes. Can I suggest you to start this as a pull request on github?</div>
<div class=""><br class="">
</div>
<div class="">Best wishes and keep up the good work,</div>
<div class=""><br class="">
</div>
<div class="">Jan-Mathijs</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div>
<blockquote type="cite" class="">
<div class="">On 5 Oct 2021, at 10:34, Stefan Dvoretskii via fieldtrip <<a href="mailto:fieldtrip@science.ru.nl" class="">fieldtrip@science.ru.nl</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Dear
 Fieldtrip community, </span></div>
<div class=""><br class="">
</div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">my
 name is Stefan Dvoretskii and I am working in the PainLabMunich on a pain-related data preprocessing pipeline for EEG. Currently, I am analyzing connectivity in resting-state EEG data. In this e-mail, I would like to suggest an alternative, more memory-efficient
 algorithm for the dwPLI computation.</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">During
 the analysis, we have faced memory problems when trying to compute the debiased weight phase lag index (dwPLI) on source-level data. We tried to compute a connectivity matrix from band passed ‘virtual channel data’ (2020 voxels x 500 samples x 299 trials)
 after spatial filtering with this code:</span></div>
<br class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">[Snippet
 1]</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">fois
 = 8:0.5:13; </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">% Alpha band with a
 freq. resolution of 0.5</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">connMatrix
 = zeros(2020,2020,length(fois));</span></div>
<p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> </span></p>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(0,0,255);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">for</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">
 idx = 1:length(fois)</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 Fourier components</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    cfg
 = [];</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    cfg.method
 = </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'mtmfft'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">;</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    Cfg.output
 = </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'fourier'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">;</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    cfg.keeptrials
 = </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'yes'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">;</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    cfg.foi
 = fois(idx);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    cfg.tapsmofrq
 = 1;</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    virtFreq
 = ft_reqanalysis(cfg,virtChan_data);</span></div>
<p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> </span></p>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 Connectivity</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    cfg
 = [];</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    cfg.method
 = </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'wpli_debiased'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">;</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    source_conn
 = ft_connectiviyanalysis(cfg,virtFreq);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    connMatrix(:,:,idx)
 = source_conn.([</span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'wpli_debiased'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">,</span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'spctrm'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">]);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(0,0,255);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">end</span></div>
<br class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Matlab
 was just being killed by the system attempting to take too much memory, without any error message. By debugging, I figured that in our case the problem was a check of the data in the function ft_connectivityanalysis (line 251):</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">data
 = ft_checkdata(data,</span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'datatype'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">,{</span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'freqmvar'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">
</span><span style="font-size:11pt;font-family:"Courier New";color:rgb(160,32,240);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">'freq'</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">});</span></div>
<br class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">The
 cross-spectral density was computed resulting in an array of 2020*2020*300 complex positions for one recording, totaling to 10GB of working memory. It was too much for the current working machine.</span></div>
<br class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">I
 have addressed this memory problem by creating a function combining the ft_connectivityanalysis() and ft_connectivity_wpli() that avoids the memory-costly precomputation of the CSD and computes the cross-spectrum from the Fourier spectrum. It processes one
 frequency of interest at a go [Snippet 2]:</span></div>
<br class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">[Snippet
 2]</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%%
 Compute dwPLI using only Fourier spectrum to save space</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 input: </span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
       - data: virtual channels frequency decomposition for one frequency of interest (e.g. 8.5 Hz). Output of ft_frequencyanalysis; includes Tapers x Channels Fourier spectrum as a field.</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(0,0,255);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">function</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">
 connMatrix = conn_dwpli_fourier(data)</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    nchan
 = size(data.label,1);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    nrpt
 = size(data.cumtapcnt,1);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    sumtapcnt
 = [0;cumsum(data.cumtapcnt(:,1))];</span></div>
<p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class=""> </span></p>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 see ft_connectivity_wpli.m</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    outsum
 = complex(zeros(nchan, nchan));</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    outsumW
 = zeros(nchan, nchan);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    outssq
 = complex(zeros(nchan, nchan));</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 alternatively: loop along channel combinations. reduces the csdTrial size</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 (converts to the float), but increases the amount of operations. good for</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 cluster/peer network jobs.</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(0,0,255);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">for</span><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">
 p=1:nrpt</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        indx=(sumtapcnt(p)+1):sumtapcnt(p+1);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        fourierTrial
 = transpose(data.fourierspctrm(indx,:));</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        csdTrial
 = (fourierTrial*fourierTrial')./length(indx);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(60,118,61);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">%
 imaginary part (phase info) only</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        input
 = imag(csdTrial);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        outsum
 = outsum + input;</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        outsumW
 = outsumW + abs(input);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">        outssq
 = outssq + (input.^2);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    </span><span style="font-size:11pt;font-family:"Courier New";color:rgb(0,0,255);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">end</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: "Courier New"; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">    connMatrix
 = (outsum.^2 - outssq)./(outsumW.^2 - outssq);</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size:11pt;font-family:"Courier New";color:rgb(0,0,255);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap" class="">end</span></div>
<br class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">This
 function [Snippet 2] is to be used in place of ft_connectivityanalysis in [Snippet 1]. We attach an example of virtChan_data for reproducibility:
</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class=""><a href="https://urldefense.com/v3/__https://www.dropbox.com/s/cmrv6zc4rsawfvh/virtFreq_example_one_foi.mat?dl=0__;!!HJOPV4FYYWzcc1jazlU!toh8VSFl1ftbd3jDBT-ghnM1lTJvdAF3td8rm6geQk97F7Wi0ueMVta-BQr3afitDCAvlxMH3Lh1neo$" target="_blank" class="">https://www.dropbox.com/s/cmrv6zc4rsawfvh/virtFreq_example_one_foi.mat?dl=0</a><br class="">
</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">We
 hope to help people facing similar problems and would be looking forward to eventual suggestions of integrating this algorithm into fieldtrip codebase. </span></div>
<br class="">
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Best
 regards,</span></div>
<div style="line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;" class="">Stefan
 Dvoretskii</span></div>
</div>
_______________________________________________<br class="">
fieldtrip mailing list<br class="">
<a href="https://mailman.science.ru.nl/mailman/listinfo/fieldtrip" class="">https://mailman.science.ru.nl/mailman/listinfo/fieldtrip</a><br class="">
https://urldefense.com/v3/__https://doi.org/10.1371/journal.pcbi.1002202__;!!HJOPV4FYYWzcc1jazlU!toh8VSFl1ftbd3jDBT-ghnM1lTJvdAF3td8rm6geQk97F7Wi0ueMVta-BQr3afitDCAvlxMHMce6rH0$
<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>