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
70 
71 #define FICA_APPROACH_SYMM 1
72 
74 #define FICA_NONLIN_POW3 10
75 
76 #define FICA_NONLIN_TANH 20
77 
78 #define FICA_NONLIN_GAUSS 30
79 
80 #define FICA_NONLIN_SKEW 40
81 
83 #define FICA_INIT_RAND 0
84 
85 #define FICA_INIT_GUESS 1
86 
88 #define FICA_TOL 1e-9
89 
90 namespace itpp
91 {
92 
97 //---------------------- FastICA --------------------------------------
98 
118 class ITPP_EXPORT Fast_ICA
119 {
120 
121 public:
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 
357 private:
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
SourceForge Logo

Generated on Sat Jul 6 2013 10:54:25 for IT++ by Doxygen 1.8.2