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// CONNECTIVITYLIB FORWARD DECLARATIONS
75//=============================================================================================================
76
77class Network;
78
79//=============================================================================================================
94{
95
96public:
97 typedef QSharedPointer<Coherency> SPtr;
98 typedef QSharedPointer<const Coherency> ConstSPtr;
99
100 //=========================================================================================================
104 explicit Coherency();
105
106 //=========================================================================================================
113 static void calculateAbs(Network& finalNetwork,
114 ConnectivitySettings &connectivitySettings);
115
116 //=========================================================================================================
123 static void calculateImag(Network& finalNetwork,
124 ConnectivitySettings &connectivitySettings);
125
126private:
127 //=========================================================================================================
140 static void compute(ConnectivitySettings::IntermediateTrialData& inputData,
141 Eigen::MatrixXd& matPsdSum,
142 QVector<QPair<int,Eigen::MatrixXcd> >& vecPairCsdSum,
143 QMutex& mutex,
144 int iNRows,
145 int iNFreqs,
146 int iNfft,
147 const QPair<Eigen::MatrixXd, Eigen::VectorXd>& tapers);
148
149 //=========================================================================================================
153 static void computePSDCSDAbs(QMutex& mutex,
154 Network& finalNetwork,
155 const QPair<int,Eigen::MatrixXcd>& pairInput,
156 const Eigen::MatrixXd& matPsdSum);
157 static void computePSDCSDImag(QMutex& mutex,
158 Network& finalNetwork,
159 const QPair<int,Eigen::MatrixXcd>& pairInput,
160 const Eigen::MatrixXd& matPsdSum);
161};
162
163//=============================================================================================================
164// INLINE DEFINITIONS
165//=============================================================================================================
166} // namespace CONNECTIVITYLIB
167
168#endif // COHERENCY_H
Common static knobs shared by every functional-connectivity estimator in CONNECTIVITYLIB.
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.
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:98
QSharedPointer< Coherency > SPtr
Definition coherency.h:97
Graph container for one connectivity metric; nodes + weighted edges + threshold/visualisation state.
Definition network.h:98