v2.0.0
Loading...
Searching...
No Matches
inv_signal_model.h
Go to the documentation of this file.
1//=============================================================================================================
21
22#ifndef INV_SIGNAL_MODEL_H
23#define INV_SIGNAL_MODEL_H
24
25//=============================================================================================================
26// INCLUDES
27//=============================================================================================================
28
29#include "../inv_global.h"
31
32//=============================================================================================================
33// QT INCLUDES
34//=============================================================================================================
35
36#include <QSharedPointer>
37
38//=============================================================================================================
39// EIGEN INCLUDES
40//=============================================================================================================
41
42#include <Eigen/Core>
43
44//=============================================================================================================
45// FORWARD DECLARATIONS
46//=============================================================================================================
47
48namespace INVLIB
49{
50//=============================================================================================================
51// Declare all structures to be used
52//=============================================================================================================
53
54//=============================================================================================================
63{
64public:
65 typedef QSharedPointer<InvSignalModel> SPtr;
66 typedef QSharedPointer<const InvSignalModel> ConstSPtr;
67
68 //=========================================================================================================
72 explicit InvSignalModel() = default;
73
74 //=========================================================================================================
84 Eigen::MatrixXd fitData(const InvHpiModelParameters& hpiModelParameters,
85 const Eigen::MatrixXd& matData);
86
87private:
88 //=========================================================================================================
93 void selectModelAndCompute();
94
95 //=========================================================================================================
100 void computeInverseBasicModel();
101 void computeInverseAdvancedModel();
102
103 //=========================================================================================================
110 bool checkEmpty(const InvHpiModelParameters& hpiModelParameters);
111
112 Eigen::MatrixXd m_matInverseSignalModel{Eigen::MatrixXd(0, 0)};
113 int m_iCurrentModelCols{0};
114 InvHpiModelParameters m_modelParameters{InvHpiModelParameters()};
115};
116
117//=============================================================================================================
118// INLINE DEFINITIONS
119//=============================================================================================================
120
121} // namespace INVLIB
122
123#endif // SignalModel_H
Immutable configuration for the HPI signal model — coil drive frequencies, sample rate,...
INVLIB library export/import macros, build-info accessors, and namespace docstring for the inverse-so...
#define INVSHARED_EXPORT
Definition inv_global.h:38
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