66 #include <itpp/itexports.h>
69 #define FICA_APPROACH_DEFL 2
71 #define FICA_APPROACH_SYMM 1
74 #define FICA_NONLIN_POW3 10
76 #define FICA_NONLIN_TANH 20
78 #define FICA_NONLIN_GAUSS 30
80 #define FICA_NONLIN_SKEW 40
83 #define FICA_INIT_RAND 0
85 #define FICA_INIT_GUESS 1
147 void set_approach(
int in_approach);
156 void set_nrof_independent_components(
int in_nrIC);
165 void set_non_linearity(
int in_g);
174 void set_fine_tune(
bool in_finetune);
183 void set_a1(
double fl_a1);
192 void set_a2(
double fl_a2);
201 void set_mu(
double fl_mu);
210 void set_epsilon(
double fl_epsilon);
219 void set_sample_size(
double fl_sampleSize);
228 void set_stabilization(
bool in_stabilization);
237 void set_max_num_iterations(
int in_maxNumIterations);
246 void set_max_fine_tune(
int in_maxFineTune);
255 void set_first_eig(
int in_firstEig);
264 void set_last_eig(
int in_lastEig);
273 void set_pca_only(
bool in_PCAonly);
282 void set_init_guess(mat ma_initGuess);
292 mat get_mixing_matrix();
301 mat get_separating_matrix();
310 mat get_independent_components();
319 int get_nrof_independent_components();
328 mat get_principal_eigenvectors();
337 mat get_whitening_matrix();
346 mat get_dewhitening_matrix();
359 int approach, numOfIC, g, initState;
360 bool finetune, stabilization, PCAonly;
361 double a1, a2, mu, epsilon, sampleSize;
362 int maxNumIterations, maxFineTune;
364 int firstEig, lastEig;
368 mat mixedSig, A, W, icasig;
371 mat dewhiteningMatrix;
382 #endif // #ifndef FASTICA_H