/** * @file VCFeaturePool.h * @brief standard interface to ICE classifiers * @author Erik Rodner * @date 07.09.2007 */ #ifndef VCFeaturePoolINCLUDE #define VCFeaturePoolINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include #include "vislearning/classifier/classifierbase/VecClassifier.h" #include "vislearning/classifier/classifierbase/FeaturePoolClassifier.h" #include "vislearning/cbaselib/CachedExample.h" namespace OBJREC { /** standard interface to ICE classifiers */ class VCFeaturePool : public VecClassifier { protected: FeaturePoolClassifier *fpc; Examples examples; const NICE::Config *conf; std::string featurePoolCache; bool readFeaturePool; int dimension; public: /** simple constructor */ VCFeaturePool( const NICE::Config *conf, FeaturePoolClassifier *fpc ); /** simple destructor */ virtual ~VCFeaturePool(); /** classify using simple vector */ ClassificationResult classify ( const NICE::Vector & x ) const; /** training routine */ void teach ( const LabeledSetVector & teachSet ); virtual void setMaxClassNo ( int maxClassNo ); void clear (); void store ( std::ostream & os, int format = 0 ) const; void restore ( std::istream & is, int format = 0 ); void finishTeaching(); }; } // namespace #endif