v2.0.0
Loading...
Searching...
No Matches
extended_infomax.h
Go to the documentation of this file.
1//=============================================================================================================
28
29#ifndef EXTENDED_INFOMAX_H
30#define EXTENDED_INFOMAX_H
31
32//=============================================================================================================
33// INCLUDES
34//=============================================================================================================
35
36#include "dsp_global.h"
37
38//=============================================================================================================
39// EIGEN INCLUDES
40//=============================================================================================================
41
42#include <Eigen/Core>
43#include <Eigen/Dense>
44
45//=============================================================================================================
46// DEFINE NAMESPACE UTILSLIB
47//=============================================================================================================
48
49namespace UTILSLIB {
50
51//=============================================================================================================
56 Eigen::MatrixXd matUnmixing;
57 Eigen::MatrixXd matMixing;
58 Eigen::MatrixXd matSources;
60 bool converged;
61};
62
63//=============================================================================================================
71public:
86 const Eigen::MatrixXd& matData,
87 int nComponents = -1,
88 int maxIterations = 200,
89 double learningRate = 0.001,
90 double tolerance = 1e-7,
91 bool extendedMode = true,
92 unsigned int seed = 0);
93
94private:
102 static Eigen::VectorXd estimateSignVector(const Eigen::MatrixXd& matSources);
103};
104
105} // namespace UTILSLIB
106
107#endif // EXTENDED_INFOMAX_H
Export/import macros and namespace declaration for the DSP library.
#define DSPSHARED_EXPORT
Definition dsp_global.h:50
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Eigen::MatrixXd matUnmixing
static InfomaxResult compute(const Eigen::MatrixXd &matData, int nComponents=-1, int maxIterations=200, double learningRate=0.001, double tolerance=1e-7, bool extendedMode=true, unsigned int seed=0)