v2.0.0
Loading...
Searching...
No Matches
src
libraries
dsp
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
49
namespace
UTILSLIB
50
{
51
52
//=============================================================================================================
58
struct
DSPSHARED_EXPORT
InfomaxResult
59
{
60
Eigen::MatrixXd
matUnmixing
;
61
Eigen::MatrixXd
matMixing
;
62
Eigen::MatrixXd
matSources
;
63
int
nIterations
;
64
bool
converged
;
65
};
66
67
//=============================================================================================================
76
class
DSPSHARED_EXPORT
ExtendedInfomax
77
{
78
public
:
92
static
InfomaxResult
compute
(
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
101
private
:
109
static
Eigen::VectorXd estimateSignVector(
const
Eigen::MatrixXd& matSources);
110
};
111
112
}
// namespace UTILSLIB
113
114
#endif
// EXTENDED_INFOMAX_H
dsp_global.h
Export/import macros and namespace declaration for the DSP library.
DSPSHARED_EXPORT
#define DSPSHARED_EXPORT
Definition
dsp_global.h:50
UTILSLIB
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Definition
rtfiffrawview.h:60
UTILSLIB::InfomaxResult
Definition
extended_infomax.h:59
UTILSLIB::InfomaxResult::matUnmixing
Eigen::MatrixXd matUnmixing
Definition
extended_infomax.h:60
UTILSLIB::InfomaxResult::nIterations
int nIterations
Definition
extended_infomax.h:63
UTILSLIB::InfomaxResult::matSources
Eigen::MatrixXd matSources
Definition
extended_infomax.h:62
UTILSLIB::InfomaxResult::matMixing
Eigen::MatrixXd matMixing
Definition
extended_infomax.h:61
UTILSLIB::InfomaxResult::converged
bool converged
Definition
extended_infomax.h:64
UTILSLIB::ExtendedInfomax
Definition
extended_infomax.h:77
UTILSLIB::ExtendedInfomax::compute
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)
Definition
extended_infomax.cpp:43
Generated on
for MNE-CPP by
1.16.1