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
CONNECTIVITYLIB::ConnectivitySettings::IntermediateTrialData
Definition: connectivitysettings.h:98
CONNECTIVITYLIB::Network
This class holds information about a network, can compute a distance table and provide network metric...
Definition: network.h:88
CONNECTIVITYLIB::AbstractMetric
This class provides basic functionalities for all implemented metrics.
Definition: abstractmetric.h:77
CONNECTIVITYSHARED_EXPORT
#define CONNECTIVITYSHARED_EXPORT
Definition: connectivity_global.h:54
CONNECTIVITYLIB::DebiasedSquaredWeightedPhaseLagIndex::ConstSPtr
QSharedPointer< const DebiasedSquaredWeightedPhaseLagIndex > ConstSPtr
Definition: debiasedsquaredweightedphaselagindex.h:91
CONNECTIVITYLIB::ConnectivitySettings
This class is a container for connectivity settings.
Definition: connectivitysettings.h:91
CONNECTIVITYLIB::DebiasedSquaredWeightedPhaseLagIndex
This class computes the weighted phase lag index connectivity metric.
Definition: debiasedsquaredweightedphaselagindex.h:86
abstractmetric.h
AbstractMetric class declaration.
CONNECTIVITYLIB::DebiasedSquaredWeightedPhaseLagIndex::SPtr
QSharedPointer< DebiasedSquaredWeightedPhaseLagIndex > SPtr
Definition: debiasedsquaredweightedphaselagindex.h:90