MNE-CPP  0.1.9
A Framework for Electrophysiology
signalmodel.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef SIGNALMODEL_H
36 #define SIGNALMODEL_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "../inverse_global.h"
43 #include "hpimodelparameters.h"
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QSharedPointer>
50 
51 //=============================================================================================================
52 // EIGEN INCLUDES
53 //=============================================================================================================
54 
55 #include <Eigen/Core>
56 
57 //=============================================================================================================
58 // FORWARD DECLARATIONS
59 //=============================================================================================================
60 
61 namespace INVERSELIB
62 {
63 //=============================================================================================================
64 // Declare all structures to be used
65 //=============================================================================================================
66 
67 //=============================================================================================================
74 {
75 
76 public:
77  typedef QSharedPointer<SignalModel> SPtr;
78  typedef QSharedPointer<const SignalModel> ConstSPtr;
80  //=========================================================================================================
84  explicit SignalModel() = default;
85 
86  //=========================================================================================================
96  Eigen::MatrixXd fitData(const HpiModelParameters& hpiModelParameters,
97  const Eigen::MatrixXd& matData);
98 
99 private:
100  //=========================================================================================================
105  void selectModelAndCompute();
106 
107  //=========================================================================================================
112  void computeInverseBasicModel();
113  void computeInverseAdvancedModel();
114 
115  //=========================================================================================================
123  bool checkDataDimensions(const int iCols);
124 
125  //=========================================================================================================
132  bool checkModelParameters(const HpiModelParameters& hpiModelParameters);
133 
134  //=========================================================================================================
141  bool checkEmpty(const HpiModelParameters& hpiModelParameters);
142 
143  Eigen::MatrixXd m_matInverseSignalModel{Eigen::MatrixXd(0,0)};
144  int m_iCurrentModelCols{0};
145  HpiModelParameters m_modelParameters{HpiModelParameters()};
146 };
147 
148 //=============================================================================================================
149 // INLINE DEFINITIONS
150 //=============================================================================================================
151 
152 } // namespace INVERSELIB
153 
154 #endif // SignalModel_H
155 
INVERSESHARED_EXPORT
#define INVERSESHARED_EXPORT
Definition: inverse_global.h:56
INVERSELIB::SignalModel
Brief description of this class.
Definition: signalmodel.h:73
INVERSELIB::HpiModelParameters
Brief description of this class.
Definition: hpimodelparameters.h:75
INVERSELIB::SignalModel::SPtr
QSharedPointer< SignalModel > SPtr
Definition: signalmodel.h:77
hpimodelparameters.h
HpiModelParameters class declaration.
INVERSELIB::SignalModel::ConstSPtr
QSharedPointer< const SignalModel > ConstSPtr
Definition: signalmodel.h:78