v2.0.0
Loading...
Searching...
No Matches
mvar_model.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef MVARMODEL_H
38#define MVARMODEL_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
45
46//=============================================================================================================
47// QT INCLUDES
48//=============================================================================================================
49
50#include <QVector>
51
52//=============================================================================================================
53// EIGEN INCLUDES
54//=============================================================================================================
55
56#include <Eigen/Core>
57
58//=============================================================================================================
59// FORWARD DECLARATIONS
60//=============================================================================================================
61
62//=============================================================================================================
63// DEFINE NAMESPACE CONNECTIVITYLIB
64//=============================================================================================================
65
66namespace CONNECTIVITYLIB {
67
68//=============================================================================================================
69// CONNECTIVITYLIB FORWARD DECLARATIONS
70//=============================================================================================================
71
72//=============================================================================================================
89{
90
91public:
92 //=========================================================================================================
96 MvarModel() = default;
97
98 //=========================================================================================================
107 void fit(const Eigen::MatrixXd& data, int p = 0);
108
109 //=========================================================================================================
117 QVector<Eigen::MatrixXd> coefficients() const;
118
119 //=========================================================================================================
127 Eigen::MatrixXd noiseCov() const;
128
129 //=========================================================================================================
137 int order() const;
138
139 //=========================================================================================================
151 QVector<Eigen::MatrixXcd> transferFunction(const Eigen::VectorXd& freqs) const;
152
153 //=========================================================================================================
163 QVector<Eigen::MatrixXcd> spectralMatrix(const Eigen::VectorXd& freqs) const;
164
165private:
166 //=========================================================================================================
173 void fitLevinsonDurbin(const Eigen::MatrixXd& data, int p);
174
175 //=========================================================================================================
184 int selectOrderBIC(const Eigen::MatrixXd& data, int maxOrder = 20) const;
185
186 QVector<Eigen::MatrixXd> m_coeffs;
187 Eigen::MatrixXd m_noiseCov;
188 int m_order = 0;
189 int m_nChannels = 0;
190};
191
192//=============================================================================================================
193// INLINE DEFINITIONS
194//=============================================================================================================
195} // namespace CONNECTIVITYLIB
196
197#endif // MVARMODEL_H
Export/import macros for the CONNECTIVITYLIB functional-connectivity library.
#define CONNECTIVITYSHARED_EXPORT
Functional connectivity metrics (coherence, PLV, cross-correlation, etc.).
Eigen::MatrixXd noiseCov() const
QVector< Eigen::MatrixXcd > spectralMatrix(const Eigen::VectorXd &freqs) const
QVector< Eigen::MatrixXcd > transferFunction(const Eigen::VectorXd &freqs) const
void fit(const Eigen::MatrixXd &data, int p=0)
QVector< Eigen::MatrixXd > coefficients() const