MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
coherency.h
Go to the documentation of this file.
1//=============================================================================================================
39#ifndef COHERENCY_H
40#define COHERENCY_H
41
42//=============================================================================================================
43// INCLUDES
44//=============================================================================================================
45
46#include "../connectivity_global.h"
47
48#include "abstractmetric.h"
49#include "../connectivitysettings.h"
50
51//=============================================================================================================
52// QT INCLUDES
53//=============================================================================================================
54
55#include <QSharedPointer>
56#include <QMutex>
57
58//=============================================================================================================
59// EIGEN INCLUDES
60//=============================================================================================================
61
62#include <Eigen/Core>
63
64//=============================================================================================================
65// FORWARD DECLARATIONS
66//=============================================================================================================
67
68//=============================================================================================================
69// DEFINE NAMESPACE CONNECTIVITYLIB
70//=============================================================================================================
71
72namespace CONNECTIVITYLIB {
73
74//=============================================================================================================
75// CONNECTIVITYLIB FORWARD DECLARATIONS
76//=============================================================================================================
77
78class Network;
79
80//=============================================================================================================
87{
88
89public:
90 typedef QSharedPointer<Coherency> SPtr;
91 typedef QSharedPointer<const Coherency> ConstSPtr;
93 //=========================================================================================================
97 explicit Coherency();
98
99 //=========================================================================================================
106 static void calculateAbs(Network& finalNetwork,
107 ConnectivitySettings &connectivitySettings);
108
109 //=========================================================================================================
116 static void calculateImag(Network& finalNetwork,
117 ConnectivitySettings &connectivitySettings);
118
119private:
120 //=========================================================================================================
133 static void compute(ConnectivitySettings::IntermediateTrialData& inputData,
134 Eigen::MatrixXd& matPsdSum,
135 QVector<QPair<int,Eigen::MatrixXcd> >& vecPairCsdSum,
136 QMutex& mutex,
137 int iNRows,
138 int iNFreqs,
139 int iNfft,
140 const QPair<Eigen::MatrixXd, Eigen::VectorXd>& tapers);
141
142 //=========================================================================================================
146 static void computePSDCSDAbs(QMutex& mutex,
147 Network& finalNetwork,
148 const QPair<int,Eigen::MatrixXcd>& pairInput,
149 const Eigen::MatrixXd& matPsdSum);
150 static void computePSDCSDImag(QMutex& mutex,
151 Network& finalNetwork,
152 const QPair<int,Eigen::MatrixXcd>& pairInput,
153 const Eigen::MatrixXd& matPsdSum);
154};
155
156//=============================================================================================================
157// INLINE DEFINITIONS
158//=============================================================================================================
159} // namespace CONNECTIVITYLIB
160
161#endif // COHERENCY_H
#define CONNECTIVITYSHARED_EXPORT
AbstractMetric class declaration.
This class is a container for connectivity settings.
This class provides basic functionalities for all implemented metrics.
This class computes the coherency connectivity metric.
Definition coherency.h:87
QSharedPointer< const Coherency > ConstSPtr
Definition coherency.h:91
QSharedPointer< Coherency > SPtr
Definition coherency.h:90
This class holds information about a network, can compute a distance table and provide network metric...
Definition network.h:89