fastica.h
Go to the documentation of this file.
#ifndef FASTICA_H
#define FASTICA_H
#include <itpp/base/mat.h>
#include <itpp/itexports.h>
#define FICA_APPROACH_DEFL 2
#define FICA_APPROACH_SYMM 1
#define FICA_NONLIN_POW3 10
#define FICA_NONLIN_TANH 20
#define FICA_NONLIN_GAUSS 30
#define FICA_NONLIN_SKEW 40
#define FICA_INIT_RAND 0
#define FICA_INIT_GUESS 1
#define FICA_TOL 1e-9
namespace itpp
{
//---------------------- FastICA --------------------------------------
class ITPP_EXPORT Fast_ICA
{
public:
Fast_ICA(mat ma_mixed_sig);
bool separate(void);
void set_approach(int in_approach);
void set_nrof_independent_components(int in_nrIC);
void set_non_linearity(int in_g);
void set_fine_tune(bool in_finetune);
void set_a1(double fl_a1);
void set_a2(double fl_a2);
void set_mu(double fl_mu);
void set_epsilon(double fl_epsilon);
void set_sample_size(double fl_sampleSize);
void set_stabilization(bool in_stabilization);
void set_max_num_iterations(int in_maxNumIterations);
void set_max_fine_tune(int in_maxFineTune);
void set_first_eig(int in_firstEig);
void set_last_eig(int in_lastEig);
void set_pca_only(bool in_PCAonly);
void set_init_guess(mat ma_initGuess);
mat get_mixing_matrix();
mat get_separating_matrix();
mat get_independent_components();
int get_nrof_independent_components();
mat get_principal_eigenvectors();
mat get_whitening_matrix();
mat get_dewhitening_matrix();
mat get_white_sig();
private:
int approach, numOfIC, g, initState;
bool finetune, stabilization, PCAonly;
double a1, a2, mu, epsilon, sampleSize;
int maxNumIterations, maxFineTune;
int firstEig, lastEig;
mat initGuess;
mat mixedSig, A, W, icasig;
mat whiteningMatrix;
mat dewhiteningMatrix;
mat whitesig;
mat E, VecPr;
vec D;
}; // class Fast_ICA
} // namespace itpp
#endif // #ifndef FASTICA_H
itpp::Fast_ICA::get_white_sig
mat get_white_sig()
Get whitened signals.
Definition fastica.cpp:232
itpp::Fast_ICA::Fast_ICA
Fast_ICA(mat ma_mixed_sig)
Constructor.
Definition fastica.cpp:99
itpp::Fast_ICA::set_init_guess
void set_init_guess(mat ma_initGuess)
Set initial guess matrix instead of random (default).
Definition fastica.cpp:212
itpp::Fast_ICA::get_dewhitening_matrix
mat get_dewhitening_matrix()
Get the de-whitening matrix.
Definition fastica.cpp:230
itpp::Fast_ICA::set_mu
void set_mu(double fl_mu)
Set parameter.
Definition fastica.cpp:194
itpp::Fast_ICA::set_a1
void set_a1(double fl_a1)
Set parameter.
Definition fastica.cpp:190
itpp::Fast_ICA::set_approach
void set_approach(int in_approach)
Set approach : FICA_APPROACH_DEFL or FICA_APPROACH_SYMM (default).
Definition fastica.cpp:182
itpp::Fast_ICA::set_max_fine_tune
void set_max_fine_tune(int in_maxFineTune)
Set maximum number of iterations for fine tuning.
Definition fastica.cpp:204
itpp::Fast_ICA::set_pca_only
void set_pca_only(bool in_PCAonly)
If true, only perform Principal Component Analysis (default = false).
Definition fastica.cpp:210
itpp::Fast_ICA::set_a2
void set_a2(double fl_a2)
Set parameter.
Definition fastica.cpp:192
itpp::Fast_ICA::separate
bool separate(void)
Explicit launch of main FastICA function.
Definition fastica.cpp:126
itpp::Fast_ICA::get_independent_components
mat get_independent_components()
Get separated signals.
Definition fastica.cpp:222
itpp::Fast_ICA::set_first_eig
void set_first_eig(int in_firstEig)
Set first eigenvalue index to take into account.
Definition fastica.cpp:206
itpp::Fast_ICA::set_sample_size
void set_sample_size(double fl_sampleSize)
Set sample size.
Definition fastica.cpp:198
itpp::Fast_ICA::set_non_linearity
void set_non_linearity(int in_g)
Set non-linearity.
Definition fastica.cpp:186
itpp::Fast_ICA::get_mixing_matrix
mat get_mixing_matrix()
Get mixing matrix.
Definition fastica.cpp:218
itpp::Fast_ICA::set_epsilon
void set_epsilon(double fl_epsilon)
Set convergence parameter .
Definition fastica.cpp:196
itpp::Fast_ICA::get_whitening_matrix
mat get_whitening_matrix()
Get the whitening matrix.
Definition fastica.cpp:228
itpp::Fast_ICA::set_max_num_iterations
void set_max_num_iterations(int in_maxNumIterations)
Set maximum number of iterations.
Definition fastica.cpp:202
itpp::Fast_ICA::set_last_eig
void set_last_eig(int in_lastEig)
Set last eigenvalue index to take into account.
Definition fastica.cpp:208
itpp::Fast_ICA::set_stabilization
void set_stabilization(bool in_stabilization)
Set stabilization mode true or off.
Definition fastica.cpp:200
itpp::Fast_ICA::get_separating_matrix
mat get_separating_matrix()
Get separating matrix.
Definition fastica.cpp:220
itpp::Fast_ICA::get_principal_eigenvectors
mat get_principal_eigenvectors()
Get nrIC first columns of the de-whitening matrix.
Definition fastica.cpp:226
itpp::Fast_ICA::set_fine_tune
void set_fine_tune(bool in_finetune)
Set fine tuning.
Definition fastica.cpp:188
itpp::Fast_ICA::get_nrof_independent_components
int get_nrof_independent_components()
Get number of independent components.
Definition fastica.cpp:224
itpp::Fast_ICA::set_nrof_independent_components
void set_nrof_independent_components(int in_nrIC)
Set number of independent components to separate.
Definition fastica.cpp:184
mat.h
Matrix Class Definitions.
itpp
itpp namespace
Definition itmex.h:37

Generated on for IT++ by Doxygen 1.15.0