Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _CPREPROCESSOR__H__
00013 #define _CPREPROCESSOR__H__
00014
00015 #include <shogun/lib/common.h>
00016 #include <shogun/base/SGObject.h>
00017 #include <shogun/features/FeatureTypes.h>
00018 #include <shogun/features/Features.h>
00019
00020 namespace shogun
00021 {
00022
00023 class CFeatures;
00024
00025 enum EFeatureType;
00026
00027 enum EFeatureClass;
00028
00030 enum EPreprocessorType
00031 {
00032 P_UNKNOWN=0,
00033 P_NORMONE=10,
00034 P_LOGPLUSONE=20,
00035 P_SORTWORDSTRING=30,
00036 P_SORTULONGSTRING=40,
00037 P_SORTWORD=50,
00038 P_PRUNEVARSUBMEAN=60,
00039 P_DECOMPRESSSTRING=70,
00040 P_DECOMPRESSCHARSTRING=80,
00041 P_DECOMPRESSBYTESTRING=90,
00042 P_DECOMPRESSWORDSTRING=100,
00043 P_DECOMPRESSULONGSTRING=110,
00044 P_RANDOMFOURIERGAUSS=120,
00045 P_PCA=130,
00046 P_KERNELPCA=140,
00047 P_NORMDERIVATIVELEM3=150,
00048 P_DIMENSIONREDUCTIONPREPROCESSOR=160,
00049 P_MULTIDIMENSIONALSCALING=170,
00050 P_LOCALLYLINEAREMBEDDING=180,
00051 P_ISOMAP=190,
00052 P_HESSIANLOCALLYLINEAREMBEDDING=200,
00053 P_LOCALTANGENTSPACEALIGNMENT=210,
00054 P_LAPLACIANEIGENMAPS=220,
00055 P_KERNELLOCALLYLINEAREMBEDDING=230
00056 };
00057
00058 class CFeatures;
00059
00074 class CPreprocessor : public CSGObject
00075 {
00076 public:
00079 CPreprocessor();
00080
00083 virtual ~CPreprocessor();
00084
00086 virtual bool init(CFeatures* f)=0;
00087
00089 virtual void cleanup()=0;
00090
00093 virtual EFeatureType get_feature_type()=0;
00094
00098 virtual EFeatureClass get_feature_class()=0;
00099
00101 virtual EPreprocessorType get_type() const=0;
00102 };
00103 }
00104 #endif // _CPREPROCESSOR__H__