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
52//=============================================================================================================
59{
60 Eigen::MatrixXd matUnmixing;
61 Eigen::MatrixXd matMixing;
62 Eigen::MatrixXd matSources;
64 bool converged;
65};
66
67//=============================================================================================================
77{
78public:
93 const Eigen::MatrixXd& matData,
94 int nComponents = -1,
95 int maxIterations = 200,
96 double learningRate = 0.001,
97 double tolerance = 1e-7,
98 bool extendedMode = true,
99 unsigned int seed = 0);
100
101private:
109 static Eigen::VectorXd estimateSignVector(const Eigen::MatrixXd& matSources);
110};
111
112} // namespace UTILSLIB
113
114#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)