v2.0.0
Loading...
Searching...
No Matches
coherency.h
Go to the documentation of this file.
1//=============================================================================================================
37
38#ifndef COHERENCY_H
39#define COHERENCY_H
40
41//=============================================================================================================
42// INCLUDES
43//=============================================================================================================
44
46
47#include "abstractmetric.h"
49
50//=============================================================================================================
51// QT INCLUDES
52//=============================================================================================================
53
54#include <QSharedPointer>
55#include <QMutex>
56
57//=============================================================================================================
58// EIGEN INCLUDES
59//=============================================================================================================
60
61#include <Eigen/Core>
62
63//=============================================================================================================
64// FORWARD DECLARATIONS
65//=============================================================================================================
66
67//=============================================================================================================
68// DEFINE NAMESPACE CONNECTIVITYLIB
69//=============================================================================================================
70
71namespace CONNECTIVITYLIB
72{
73
74//=============================================================================================================
75// CONNECTIVITYLIB FORWARD DECLARATIONS
76//=============================================================================================================
77
78class Network;
79
80//=============================================================================================================
97{
98public:
99 typedef QSharedPointer<Coherency> SPtr;
100 typedef QSharedPointer<const Coherency> ConstSPtr;
101
102 //=========================================================================================================
106 explicit Coherency();
107
108 //=========================================================================================================
115 static void calculateAbs(Network& finalNetwork,
116 ConnectivitySettings& connectivitySettings);
117
118 //=========================================================================================================
125 static void calculateImag(Network& finalNetwork,
126 ConnectivitySettings& connectivitySettings);
127
128private:
129 //=========================================================================================================
142 static void compute(ConnectivitySettings::IntermediateTrialData& inputData,
143 Eigen::MatrixXd& matPsdSum,
144 QVector<QPair<int, Eigen::MatrixXcd>>& vecPairCsdSum,
145 QMutex& mutex,
146 int iNRows,
147 int iNFreqs,
148 int iNfft,
149 const QPair<Eigen::MatrixXd, Eigen::VectorXd>& tapers);
150
151 //=========================================================================================================
155 static void computePSDCSDAbs(QMutex& mutex,
156 Network& finalNetwork,
157 const QPair<int, Eigen::MatrixXcd>& pairInput,
158 const Eigen::MatrixXd& matPsdSum);
159 static void computePSDCSDImag(QMutex& mutex,
160 Network& finalNetwork,
161 const QPair<int, Eigen::MatrixXcd>& pairInput,
162 const Eigen::MatrixXd& matPsdSum);
163};
164
165//=============================================================================================================
166// INLINE DEFINITIONS
167//=============================================================================================================
168} // namespace CONNECTIVITYLIB
169
170#endif // COHERENCY_H
Export/import macros for the CONNECTIVITYLIB functional-connectivity library.
#define CONNECTIVITYSHARED_EXPORT
Input-data and parameter container shared by every functional-connectivity metric in CONNECTIVITYLIB.
Common static knobs shared by every functional-connectivity estimator in CONNECTIVITYLIB.
Functional connectivity metrics (coherence, PLV, cross-correlation, etc.).
Aggregates trial data, spectral cache and node geometry shared by all CONNECTIVITYLIB metrics.
Per-trial intermediate frequency-domain data used during connectivity computation.
static void calculateImag(Network &finalNetwork, ConnectivitySettings &connectivitySettings)
static void calculateAbs(Network &finalNetwork, ConnectivitySettings &connectivitySettings)
Definition coherency.cpp:62
QSharedPointer< const Coherency > ConstSPtr
Definition coherency.h:100
QSharedPointer< Coherency > SPtr
Definition coherency.h:99
Graph container for one connectivity metric; nodes + weighted edges + threshold/visualisation state.
Definition network.h:106