Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef PREPROCESSOR_H_
00013 #define PREPROCESSOR_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
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 P_DIFFUSIONMAPS=240,
00057 P_KERNELLOCALTANGENTSPACEALIGNMENT=250
00058 };
00059
00074 class CPreprocessor : public CSGObject
00075 {
00076 public:
00078 CPreprocessor() : CSGObject()
00079 {
00080 };
00081
00083 virtual ~CPreprocessor()
00084 {
00085 }
00086
00088 virtual bool init(CFeatures* features)=0;
00089
00091 virtual void cleanup()=0;
00092
00094 virtual EFeatureType get_feature_type()=0;
00095
00097 virtual EFeatureClass get_feature_class()=0;
00098
00100 virtual EPreprocessorType get_type() const=0;
00101 };
00102 }
00103 #endif // PREPROCESSOR_H_