MNE-CPP  0.1.9
A Framework for Electrophysiology
debiasedsquaredweightedphaselagindex.h
Go to the documentation of this file.
1 //=============================================================================================================
39 #ifndef DEBIASEDSQUAREDWEIGHTEDPHASELAGINDEX_H
40 #define DEBIASEDSQUAREDWEIGHTEDPHASELAGINDEX_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 
72 namespace CONNECTIVITYLIB {
73 
74 //=============================================================================================================
75 // CONNECTIVITYLIB FORWARD DECLARATIONS
76 //=============================================================================================================
77 
78 class Network;
79 
80 //=============================================================================================================
87 {
88 
89 public:
90  typedef QSharedPointer<DebiasedSquaredWeightedPhaseLagIndex> SPtr;
91  typedef QSharedPointer<const DebiasedSquaredWeightedPhaseLagIndex> ConstSPtr;
93  //=========================================================================================================
98 
99  //=========================================================================================================
107  static Network calculate(ConnectivitySettings &connectivitySettings);
108 
109 protected:
110  //=========================================================================================================
124  static void compute(ConnectivitySettings::IntermediateTrialData& inputData,
125  QVector<QPair<int,Eigen::MatrixXcd> >& vecPairCsdSum,
126  QVector<QPair<int,Eigen::MatrixXd> >& vecPairCsdImagAbsSum,
127  QVector<QPair<int,Eigen::MatrixXd> >& vecPairCsdImagSqrdSum,
128  QMutex& mutex,
129  int iNRows,
130  int iNFreqs,
131  int iNfft,
132  const QPair<Eigen::MatrixXd, Eigen::VectorXd>& tapers);
133 
134  //=========================================================================================================
141  static void computeDSWPLI(ConnectivitySettings &connectivitySettings,
142  Network& finalNetwork);
143 };
144 
145 //=============================================================================================================
146 // INLINE DEFINITIONS
147 //=============================================================================================================
148 } // namespace CONNECTIVITYLIB
149 
150 #endif // DEBIASEDSQUAREDWEIGHTEDPHASELAGINDEX_H
This class is a container for connectivity settings.
This class provides basic functionalities for all implemented metrics.
This class computes the weighted phase lag index connectivity metric.
#define CONNECTIVITYSHARED_EXPORT
This class holds information about a network, can compute a distance table and provide network metric...
Definition: network.h:87
QSharedPointer< DebiasedSquaredWeightedPhaseLagIndex > SPtr
QSharedPointer< const DebiasedSquaredWeightedPhaseLagIndex > ConstSPtr
AbstractMetric class declaration.