MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
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
61namespace INVERSELIB
62{
63//=============================================================================================================
64// Declare all structures to be used
65//=============================================================================================================
66
67//=============================================================================================================
74{
75
76public:
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
99private:
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
HpiModelParameters class declaration.
#define INVERSESHARED_EXPORT
Brief description of this class.
Brief description of this class.
Definition signalmodel.h:74
QSharedPointer< const SignalModel > ConstSPtr
Definition signalmodel.h:78
QSharedPointer< SignalModel > SPtr
Definition signalmodel.h:77