SHOGUN
v3.2.0
|
00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Written (W) 2013 Kevin Hughes 00008 * ported from scikit-learn 00009 */ 00010 00011 #ifndef FASTICA_H_ 00012 #define FASTICA_H_ 00013 00014 #include <shogun/lib/config.h> 00015 #ifdef HAVE_EIGEN3 00016 #include <shogun/converter/ica/ICAConverter.h> 00017 #include <shogun/features/Features.h> 00018 00019 namespace shogun 00020 { 00021 00022 class CFeatures; 00023 00033 class CFastICA: public CICAConverter 00034 { 00035 public: 00036 00038 CFastICA(); 00039 00041 virtual ~CFastICA(); 00042 00046 virtual CFeatures* apply(CFeatures* features); 00047 00052 void set_whiten(bool whiten); 00053 00057 bool get_whiten() const; 00058 00060 virtual const char* get_name() const { return "FastICA"; }; 00061 00062 protected: 00063 00065 void init(); 00066 00067 private: 00068 00070 bool whiten; 00071 00072 }; 00073 } 00074 #endif // HAVE_EIGEN3 00075 #endif // FASTICA