IT++ Logo
fastica.h
Go to the documentation of this file.
1
62#ifndef FASTICA_H
63#define FASTICA_H
64
65#include <itpp/base/mat.h>
66#include <itpp/itexports.h>
67
69#define FICA_APPROACH_DEFL 2
71#define FICA_APPROACH_SYMM 1
72
74#define FICA_NONLIN_POW3 10
76#define FICA_NONLIN_TANH 20
78#define FICA_NONLIN_GAUSS 30
80#define FICA_NONLIN_SKEW 40
81
83#define FICA_INIT_RAND 0
85#define FICA_INIT_GUESS 1
86
88#define FICA_TOL 1e-9
89
90namespace itpp
91{
92
97//---------------------- FastICA --------------------------------------
98
118class ITPP_EXPORT Fast_ICA
119{
120
121public:
122
130 Fast_ICA(mat ma_mixed_sig);
131
138 bool separate(void);
139
147 void set_approach(int in_approach);
148
156 void set_nrof_independent_components(int in_nrIC);
157
165 void set_non_linearity(int in_g);
166
174 void set_fine_tune(bool in_finetune);
175
183 void set_a1(double fl_a1);
184
192 void set_a2(double fl_a2);
193
201 void set_mu(double fl_mu);
202
210 void set_epsilon(double fl_epsilon);
211
219 void set_sample_size(double fl_sampleSize);
220
228 void set_stabilization(bool in_stabilization);
229
237 void set_max_num_iterations(int in_maxNumIterations);
238
246 void set_max_fine_tune(int in_maxFineTune);
247
255 void set_first_eig(int in_firstEig);
256
264 void set_last_eig(int in_lastEig);
265
273 void set_pca_only(bool in_PCAonly);
274
282 void set_init_guess(mat ma_initGuess);
283
284
292 mat get_mixing_matrix();
293
301 mat get_separating_matrix();
302
310 mat get_independent_components();
311
319 int get_nrof_independent_components();
320
328 mat get_principal_eigenvectors();
329
337 mat get_whitening_matrix();
338
346 mat get_dewhitening_matrix();
347
355 mat get_white_sig();
356
357private:
358
359 int approach, numOfIC, g, initState;
360 bool finetune, stabilization, PCAonly;
361 double a1, a2, mu, epsilon, sampleSize;
362 int maxNumIterations, maxFineTune;
363
364 int firstEig, lastEig;
365
366 mat initGuess;
367
368 mat mixedSig, A, W, icasig;
369
370 mat whiteningMatrix;
371 mat dewhiteningMatrix;
372 mat whitesig;
373
374 mat E, VecPr;
375 vec D;
376
377}; // class Fast_ICA
378
379} // namespace itpp
380
381
382#endif // #ifndef FASTICA_H
Fast_ICA Fast Independent Component Analysis (Fast ICA)
Definition fastica.h:119
Matrix Class Definitions.
itpp namespace
Definition itmex.h:37

Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.12.0