VCFeaturePool.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * @file VCFeaturePool.h
  3. * @brief standard interface to ICE classifiers
  4. * @author Erik Rodner
  5. * @date 07.09.2007
  6. */
  7. #ifndef VCFeaturePoolINCLUDE
  8. #define VCFeaturePoolINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include <string>
  12. #include "vislearning/classifier/classifierbase/VecClassifier.h"
  13. #include "vislearning/classifier/classifierbase/FeaturePoolClassifier.h"
  14. #include "vislearning/cbaselib/CachedExample.h"
  15. namespace OBJREC {
  16. /** standard interface to ICE classifiers */
  17. class VCFeaturePool : public VecClassifier
  18. {
  19. protected:
  20. FeaturePoolClassifier *fpc;
  21. Examples examples;
  22. const NICE::Config *conf;
  23. std::string featurePoolCache;
  24. bool readFeaturePool;
  25. int dimension;
  26. public:
  27. /** simple constructor */
  28. VCFeaturePool( const NICE::Config *conf,
  29. FeaturePoolClassifier *fpc );
  30. /** simple destructor */
  31. virtual ~VCFeaturePool();
  32. /** classify using simple vector */
  33. ClassificationResult classify ( const NICE::Vector & x ) const;
  34. /** training routine */
  35. void teach ( const LabeledSetVector & teachSet );
  36. virtual void setMaxClassNo ( int maxClassNo );
  37. void clear ();
  38. void store ( std::ostream & os, int format = 0 ) const;
  39. void restore ( std::istream & is, int format = 0 );
  40. void finishTeaching();
  41. };
  42. } // namespace
  43. #endif