v2.0.0
Loading...
Searching...
No Matches
extended_infomax.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef EXTENDED_INFOMAX_H
36#define EXTENDED_INFOMAX_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "dsp_global.h"
43
44//=============================================================================================================
45// EIGEN INCLUDES
46//=============================================================================================================
47
48#include <Eigen/Core>
49#include <Eigen/Dense>
50
51//=============================================================================================================
52// DEFINE NAMESPACE UTILSLIB
53//=============================================================================================================
54
55namespace UTILSLIB {
56
57//=============================================================================================================
62 Eigen::MatrixXd matUnmixing;
63 Eigen::MatrixXd matMixing;
64 Eigen::MatrixXd matSources;
66 bool converged;
67};
68
69//=============================================================================================================
77public:
92 const Eigen::MatrixXd& matData,
93 int nComponents = -1,
94 int maxIterations = 200,
95 double learningRate = 0.001,
96 double tolerance = 1e-7,
97 bool extendedMode = true,
98 unsigned int seed = 0);
99
100private:
108 static Eigen::VectorXd estimateSignVector(const Eigen::MatrixXd& matSources);
109};
110
111} // namespace UTILSLIB
112
113#endif // EXTENDED_INFOMAX_H
dsp library export/import macros.
#define DSPSHARED_EXPORT
Definition dsp_global.h:56
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)