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 */ 00009 00010 #ifndef SOBI_H_ 00011 #define SOBI_H_ 00012 00013 #include <shogun/lib/config.h> 00014 #ifdef HAVE_EIGEN3 00015 #include <shogun/lib/SGNDArray.h> 00016 #include <shogun/features/Features.h> 00017 #include <shogun/converter/ica/ICAConverter.h> 00018 00019 namespace shogun 00020 { 00021 00022 class CFeatures; 00023 00037 class CSOBI: public CICAConverter 00038 { 00039 public: 00040 00042 CSOBI(); 00043 00045 virtual ~CSOBI(); 00046 00050 virtual CFeatures* apply(CFeatures* features); 00051 00055 SGVector<float64_t> get_tau() const; 00056 00060 void set_tau(SGVector<float64_t> tau); 00061 00065 SGNDArray<float64_t> get_covs() const; 00066 00068 virtual const char* get_name() const { return "SOBI"; }; 00069 00070 protected: 00071 00073 void init(); 00074 00075 private: 00076 00078 SGVector<float64_t> m_tau; 00079 00081 SGNDArray<float64_t> m_covs; 00082 }; 00083 } 00084 #endif // HAVE_EIGEN3 00085 #endif // SOBI