RtConnectivity
Namespace: RTPROCESSINGLIB · Library: DSP Library · Source: dsp/rt/rt_connectivity.h
#include <dsp/rt_connectivity.h>
class RTPROCESSINGLIB::RtConnectivity
Real-time connectivity estimation.
Controller that manages RtConnectivityWorker for online connectivity computation.
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:
- connectivitySettings : const ConnectivitySettings & Data to estimate the connectivity from.
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
- Start here: ex_dsp_rt — DSP real-time workers: averaging, covariance, noise spectrum, connectivity, HPI fitting and inverse operators.
- Full source:
src/examples/ex_dsp_rt/main.cpp - Build target:
ex_dsp_rt(runs under CTest) - Data: mne-cpp-test-data
Used in examples
ex_connectivity
Sensor- or source-level functional connectivity of averaged MEG/EEG data with a selectable metric, shown as a 3D network.
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.
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
- Christoph Dinh <christoph.dinh@mne-cpp.org>