PreProc.h

Go to the documentation of this file.
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) 1999-2009 Soeren Sonnenburg
00008  * Written (W) 1999-2008 Gunnar Raetsch
00009  * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
00010  */
00011 
00012 #ifndef _CPREPROC__H__
00013 #define _CPREPROC__H__
00014 
00015 #include "lib/common.h"
00016 #include "base/SGObject.h"
00017 #include "features/FeatureTypes.h"
00018 #include "features/Features.h"
00019 
00020 namespace shogun
00021 {
00022     class CFeatures;
00023     enum EFeatureType;
00024     enum EFeatureClass;
00025 
00026 enum EPreProcType
00027 {
00028     P_UNKNOWN=0,
00029     P_NORMONE=10,
00030     P_LOGPLUSONE=20,
00031     P_SORTWORDSTRING=30,
00032     P_SORTULONGSTRING=40,
00033     P_SORTWORD=50,
00034     P_PRUNEVARSUBMEAN=60,
00035     P_DECOMPRESSCHARSTRING=70,
00036     P_DECOMPRESSBYTESTRING=80,
00037     P_DECOMPRESSWORDSTRING=90,
00038     P_DECOMPRESSULONGSTRING=100,
00039 };
00040 
00041 class CFeatures;
00042 
00057 class CPreProc : public CSGObject
00058 {
00059 public:
00065     CPreProc(const char* name, const char* id);
00066     virtual ~CPreProc();
00067 
00069     virtual bool init(CFeatures* f)=0;
00070 
00072     virtual void cleanup()=0;
00073     
00076     virtual EFeatureType get_feature_type()=0;
00077 
00081     virtual EFeatureClass get_feature_class()=0;
00082 
00084     virtual const char* get_name() const { return preproc_name; }
00085     
00087     const char * get_id() const { return preproc_id; }
00088 
00089  protected:
00091     const char* preproc_name;
00093     const char* preproc_id;
00094 };
00095 }
00096 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation