Skip to main content

RtConnectivity

Namespace: RTPROCESSINGLIB  ·  Library: DSP Library

#include <dsp/rt_connectivity.h>

class RTPROCESSINGLIB::RtConnectivity

Real-time connectivity estimation.

Controller that manages RtConnectivityWorker for online connectivity computation.

src/examples/ex_dsp_rt/main.cpp
RtConnectivity rtConnectivity;
MatrixXd online;
bool connectivityDone = false;
QObject::connect(&rtConnectivity, &RtConnectivity::newConnectivityResultAvailable,
[&](const QList<Network>& networks, const ConnectivitySettings&) {
online = networks.first().getFullConnectivityMatrix();
connectivityDone = true;
});
rtConnectivity.append(settings); // computed on the worker thread

Inheritance​


Public Methods​

RtConnectivity(parent)​

Creates the real-time connectivity estimation object.

Parameters:

  • parent : *QObject ** Parent QObject (optional).

~RtConnectivity()​

Destroys the real-time connectivity estimation object.


append(connectivitySettings)​

Slot to receive incoming data.

Parameters:


restart()​

Restarts the thread by interrupting its computation queue, quitting, waiting and then starting it again.


stop()​

Stops the thread by interrupting its computation queue, quitting and waiting.


Example​

Used in examples​

ex_connectivity​

Example of using the MNE-CPP Connectivity library.

src/examples/ex_connectivity/connectivitysettingsmanager.h, line 73
public:
ConnectivitySettingsManager(QObject* parent = 0)
: QObject(parent)
, m_pRtConnectivity(RtConnectivity::SPtr::create())
{
QObject::connect(m_pRtConnectivity.data(), &RtConnectivity::newConnectivityResultAvailable,
this, &ConnectivitySettingsManager::onNewConnectivityResultAvailable);

ex_dsp_rt​

DSP real-time workers: averaging, covariance, noise spectrum, connectivity, HPI fitting and inverse operators.

src/examples/ex_dsp_rt/main.cpp, line 259
RtConnectivity rtConnectivity;
MatrixXd online;
bool connectivityDone = false;
QObject::connect(&rtConnectivity, &RtConnectivity::newConnectivityResultAvailable,
[&](const QList<Network>& networks, const ConnectivitySettings&) {
online = networks.first().getFullConnectivityMatrix();
connectivityDone = true;
});
rtConnectivity.append(settings); // computed on the worker thread
const bool connectivityArrived = waitFor(connectivityDone, 10000);
ok &= expect(connectivityArrived && online.isApprox(offline),
QString("RtConnectivity equals Connectivity::calculate (coherence %1)").arg(online.size() ? online(0, 1) : 0.0, 0, 'f', 3));
rtConnectivity.stop();

Authors of this file​