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) 2012 Sergey Lisitsyn 00008 * Copyright (C) 2012 Sergey Lisitsyn 00009 */ 00010 00011 #ifndef __GUICONVERTER_H__ 00012 #define __GUICONVERTER_H__ 00013 00014 #include <shogun/lib/config.h> 00015 #include <shogun/base/SGObject.h> 00016 #include <shogun/converter/Converter.h> 00017 #include <shogun/features/DenseFeatures.h> 00018 00019 namespace shogun 00020 { 00021 class CSGInterface; 00022 00024 class CGUIConverter : public CSGObject 00025 { 00026 public: 00028 CGUIConverter() 00029 { 00030 00031 }; 00032 00036 CGUIConverter(CSGInterface* interface); 00037 00039 bool create_locallylinearembedding(int32_t k); 00041 bool create_neighborhoodpreservingembedding(int32_t k); 00043 bool create_localtangentspacealignment(int32_t k); 00045 bool create_linearlocaltangentspacealignment(int32_t k); 00047 bool create_hessianlocallylinearembedding(int32_t k); 00049 bool create_laplacianeigenmaps(int32_t k, float64_t width); 00051 bool create_localitypreservingprojections(int32_t k, float64_t width); 00053 bool create_diffusionmaps(int32_t t, float64_t width); 00055 bool create_isomap(int32_t k); 00057 bool create_multidimensionalscaling(); 00058 00060 CDenseFeatures<float64_t>* embed(int32_t target_dim); 00061 00063 ~CGUIConverter(); 00064 00066 virtual const char* get_name() const { return "GUIPreprocessor"; } 00067 00068 protected: 00069 00071 CConverter* m_converter; 00072 00074 CSGInterface* m_ui; 00075 }; 00076 } 00077 #endif