MNE-CPP  0.1.9
A Framework for Electrophysiology
rtcov.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef RTCOV_RTPROCESSING_H
37 #define RTCOV_RTPROCESSING_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "rtprocessing_global.h"
44 
45 #include <fiff/fiff_cov.h>
46 #include <fiff/fiff_info.h>
47 
48 //=============================================================================================================
49 // QT INCLUDES
50 //=============================================================================================================
51 
52 #include <QSharedPointer>
53 #include <QThread>
54 
55 //=============================================================================================================
56 // EIGEN INCLUDES
57 //=============================================================================================================
58 
59 #include <Eigen/Core>
60 
61 //=============================================================================================================
62 // FORWARD DECLARATIONS
63 //=============================================================================================================
64 
65 namespace FIFFLIB {
66  class FiffInfo;
67 }
68 
69 //=============================================================================================================
70 // DEFINE NAMESPACE RTPROCESSINGLIB
71 //=============================================================================================================
72 
73 namespace RTPROCESSINGLIB
74 {
75 
76 //=============================================================================================================
77 // RTPROCESSINGLIB FORWARD DECLARATIONS
78 //=============================================================================================================
79 
81  Eigen::VectorXd mu;
82  Eigen::MatrixXd matData;
83 };
84 
85 //=============================================================================================================
91 class RTPROCESINGSHARED_EXPORT RtCov : public QObject
92 {
93  Q_OBJECT
94 
95 public:
96  RtCov(QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
97 
98  //=========================================================================================================
104  FIFFLIB::FiffCov estimateCovariance(const Eigen::MatrixXd& matData,
105  int iNewMaxSamples);
106 
107 protected:
108  //=========================================================================================================
116  static RtCovComputeResult compute(const Eigen::MatrixXd &matData);
117 
118  //=========================================================================================================
125  static void reduce(RtCovComputeResult& finalResult, const RtCovComputeResult &tempResult);
126 
129  QList<Eigen::MatrixXd> m_lData;
132 };
133 
134 //=============================================================================================================
135 // INLINE DEFINITIONS
136 //=============================================================================================================
137 } // NAMESPACE
138 
139 #endif // RTCOV_RTPROCESSING_H
FIFF measurement file information.
Definition: fiff_info.h:84
FIFFLIB::FiffInfo m_fiffInfo
Definition: rtcov.h:131
FiffCov class declaration.
Real-time covariance worker.
Definition: rtcov.h:91
#define RTPROCESINGSHARED_EXPORT
realtime library export/import macros.
QList< Eigen::MatrixXd > m_lData
Definition: rtcov.h:129
FiffInfo class declaration.
covariance data
Definition: fiff_cov.h:77