IT++ Logo
fastica.h
Go to the documentation of this file.
00001 
00062 #ifndef FASTICA_H
00063 #define FASTICA_H
00064 
00065 #include <itpp/base/mat.h>
00066 
00067 
00069 #define FICA_APPROACH_DEFL 2
00070 
00071 #define FICA_APPROACH_SYMM 1
00072 
00074 #define FICA_NONLIN_POW3 10
00075 
00076 #define FICA_NONLIN_TANH 20
00077 
00078 #define FICA_NONLIN_GAUSS 30
00079 
00080 #define FICA_NONLIN_SKEW 40
00081 
00083 #define FICA_INIT_RAND  0
00084 
00085 #define FICA_INIT_GUESS 1
00086 
00088 #define FICA_TOL 1e-9
00089 
00090 namespace itpp
00091 {
00092 
00097 //---------------------- FastICA --------------------------------------
00098 
00118 class Fast_ICA
00119 {
00120 
00121 public:
00122 
00130   Fast_ICA(mat ma_mixed_sig);
00131 
00137   void separate(void);
00138 
00146   void set_approach(int in_approach);
00147 
00155   void set_nrof_independent_components(int in_nrIC);
00156 
00164   void set_non_linearity(int in_g);
00165 
00173   void set_fine_tune(bool in_finetune);
00174 
00182   void set_a1(double fl_a1);
00183 
00191   void set_a2(double fl_a2);
00192 
00200   void set_mu(double fl_mu);
00201 
00209   void set_epsilon(double fl_epsilon);
00210 
00218   void set_sample_size(double fl_sampleSize);
00219 
00227   void set_stabilization(bool in_stabilization);
00228 
00236   void set_max_num_iterations(int in_maxNumIterations);
00237 
00245   void set_max_fine_tune(int in_maxFineTune);
00246 
00254   void set_first_eig(int in_firstEig);
00255 
00263   void set_last_eig(int in_lastEig);
00264 
00272   void set_pca_only(bool in_PCAonly);
00273 
00281   void set_init_guess(mat ma_initGuess);
00282 
00283 
00291   mat get_mixing_matrix();
00292 
00300   mat get_separating_matrix();
00301 
00309   mat get_independent_components();
00310 
00318   int get_nrof_independent_components();
00319 
00327   mat get_principal_eigenvectors();
00328 
00336   mat get_whitening_matrix();
00337 
00345   mat get_dewhitening_matrix();
00346 
00354   mat get_white_sig();
00355 
00356 private:
00357 
00358   int approach, numOfIC, g, initState;
00359   bool finetune, stabilization, PCAonly;
00360   double a1, a2, mu, epsilon, sampleSize;
00361   int maxNumIterations, maxFineTune;
00362 
00363   int firstEig, lastEig;
00364 
00365   mat initGuess;
00366 
00367   mat mixedSig, A, W, icasig;
00368 
00369   mat whiteningMatrix;
00370   mat dewhiteningMatrix;
00371   mat whitesig;
00372 
00373   mat E, VecPr;
00374   vec D;
00375 
00376 }; // class Fast_ICA
00377 
00378 } // namespace itpp
00379 
00380 
00381 #endif // #ifndef FASTICA_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SourceForge Logo

Generated on Sat Jul 9 2011 15:21:32 for IT++ by Doxygen 1.7.4