Skip to main content

DirectedTransferFunction

Namespace: CONNECTIVITYLIB  ·  Library: Connectivity Library

Python equivalent

mne_connectivity.spectral_connectivity_epochs (method='dtf') in MNE-Python.

#include <connectivity/directed_transfer_function.h>

class CONNECTIVITYLIB::DirectedTransferFunction

Directed Transfer Function estimator of Kaminski & Blinowska (1991).

Computes DTF_{ij}(f) = |H_{ij}(f)|^2 / sum_k |H_{ik}(f)|^2 from the transfer matrix H delivered by MvarModel and reduces it to a scalar edge weight by averaging over the frequency window defined on AbstractMetric. The resulting Network is directional and includes both direct and indirect causal pathways - use PartialDirectedCoherence for direct-only flow.

Directed Transfer Function estimator (Kaminski & Blinowska 1991); directional, includes indirect paths.

src/examples/ex_connectivity_metrics/main.cpp
Network dtf = DirectedTransferFunction::calculate(settings);

Inheritance​


Public Methods​

DirectedTransferFunction()​

Constructs a DirectedTransferFunction object.


Static Methods​

calculate(connectivitySettings)​

Calculates the Directed Transfer Function between all channel pairs.

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 263
Network granger = GrangerCausality::calculate(settings); // edge j -> i: j Granger-causes i
Network dtf = DirectedTransferFunction::calculate(settings);
Network pdc = PartialDirectedCoherence::calculate(settings);
for (const Network* network : {&granger, &dtf, &pdc}) {
const double forward = edgeWeight(*network, 0, 1);
const double backward = edgeWeight(*network, 1, 0);
ok &= expect(forward > 2.0 * backward,
QString("%1 0->1 %2 > 2 x 1->0 %3").arg(network->getConnectivityMethod()).arg(forward).arg(backward));
}

Authors of this file​