v2.0.0
Loading...
Searching...
No Matches
inv_signal_model.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef INV_SIGNAL_MODEL_H
36#define INV_SIGNAL_MODEL_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "../inv_global.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 INVLIB
62{
63//=============================================================================================================
64// Declare all structures to be used
65//=============================================================================================================
66
67//=============================================================================================================
74{
75
76public:
77 typedef QSharedPointer<InvSignalModel> SPtr;
78 typedef QSharedPointer<const InvSignalModel> ConstSPtr;
79
80 //=========================================================================================================
84 explicit InvSignalModel() = default;
85
86 //=========================================================================================================
96 Eigen::MatrixXd fitData(const InvHpiModelParameters& 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 InvHpiModelParameters& hpiModelParameters);
133
134 //=========================================================================================================
141 bool checkEmpty(const InvHpiModelParameters& hpiModelParameters);
142
143 Eigen::MatrixXd m_matInverseSignalModel{Eigen::MatrixXd(0,0)};
144 int m_iCurrentModelCols{0};
145 InvHpiModelParameters m_modelParameters{InvHpiModelParameters()};
146};
147
148//=============================================================================================================
149// INLINE DEFINITIONS
150//=============================================================================================================
151
152} // namespace INVLIB
153
154#endif // SignalModel_H
155
InvHpiModelParameters class declaration.
inverse library export/import macros.
#define INVSHARED_EXPORT
Definition inv_global.h:52
Inverse source estimation (MNE, dSPM, sLORETA, dipole fitting).
Configuration parameters for the HPI signal model (line frequency, coil frequencies,...
Eigen::MatrixXd fitData(const InvHpiModelParameters &hpiModelParameters, const Eigen::MatrixXd &matData)
QSharedPointer< InvSignalModel > SPtr
QSharedPointer< const InvSignalModel > ConstSPtr