Skip to main content

DebiasedSquaredWeightedPhaseLagIndex

Namespace: CONNECTIVITYLIB  ·  Library: Connectivity Library

#include <connectivity/debiasedsquaredweightedphaselagindex.h>

class CONNECTIVITYLIB::DebiasedSquaredWeightedPhaseLagIndex

Computes the debiased squared Weighted Phase Lag Index of Vinck et al.

(NeuroImage 2011) for every channel pair.

The estimator subtracts the analytically known diagonal variance from both numerator and denominator of WeightedPhaseLagIndex, producing an estimator whose expectation equals wPLI^2 even for very small trial counts. It is the preferred PLI-family metric when the number of trials is low and is the volume-conduction-robust counterpart of magnitude-squared coherence.

Debiased squared Weighted Phase Lag Index (Vinck et al. 2011); low-bias volume-conduction-robust estimator.

src/examples/ex_connectivity_metrics/main.cpp
Network dswpli = DebiasedSquaredWeightedPhaseLagIndex::calculate(settings);
dswpli.setFrequencyRange(8.0f, 12.0f);

Inheritance​


Public Methods​

DebiasedSquaredWeightedPhaseLagIndex()​

Constructs a DebiasedSquaredWeightedPhaseLagIndex object.


Static Methods​

calculate(connectivitySettings)​

Calculates the debiased squared weighted phase lag index between the rows of the data matrix.

Parameters:

Returns:

  • Network — The connectivity information in form of a network structure.

Example​

Used in examples​

ex_connectivity_metrics​

Connectivity metrics on synthetic data with a known coupling.

src/examples/ex_connectivity_metrics/main.cpp, line 215
uspli.setFrequencyRange(8.0f, 12.0f);
Network dswpli = DebiasedSquaredWeightedPhaseLagIndex::calculate(settings);
dswpli.setFrequencyRange(8.0f, 12.0f);
Network plv = PhaseLockingValue::calculate(settings);
plv.setFrequencyRange(8.0f, 12.0f);
for (const Network* network : {&pli, &wpli, &uspli, &dswpli, &plv}) {
const double w01 = edgeWeight(*network, 0, 1);
const double w02 = edgeWeight(*network, 0, 2);
ok &= expect(w01 > w02 + 0.3,

Authors of this file​