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//=============================================================================================================
70// CONNECTIVITYLIB FORWARD DECLARATIONS
71//=============================================================================================================
72
73//=============================================================================================================
92{
93public:
94 //=========================================================================================================
98 MvarModel() = default;
99
100 //=========================================================================================================
109 void fit(const Eigen::MatrixXd& data, int p = 0);
110
111 //=========================================================================================================
119 QVector<Eigen::MatrixXd> coefficients() const;
120
121 //=========================================================================================================
129 Eigen::MatrixXd noiseCov() const;
130
131 //=========================================================================================================
139 int order() const;
140
141 //=========================================================================================================
153 QVector<Eigen::MatrixXcd> transferFunction(const Eigen::VectorXd& freqs) const;
154
155 //=========================================================================================================
165 QVector<Eigen::MatrixXcd> spectralMatrix(const Eigen::VectorXd& freqs) const;
166
167private:
168 //=========================================================================================================
175 void fitLevinsonDurbin(const Eigen::MatrixXd& data, int p);
176
177 //=========================================================================================================
186 int selectOrderBIC(const Eigen::MatrixXd& data, int maxOrder = 20) const;
187
188 QVector<Eigen::MatrixXd> m_coeffs;
189 Eigen::MatrixXd m_noiseCov;
190 int m_order = 0;
191 int m_nChannels = 0;
192};
193
194//=============================================================================================================
195// INLINE DEFINITIONS
196//=============================================================================================================
197} // namespace CONNECTIVITYLIB
198
199#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