VCFeaturePool.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 <vislearning/nice.h>
  10. #include <string>
  11. #include "vislearning/classifier/classifierbase/VecClassifier.h"
  12. #include "vislearning/classifier/classifierbase/FeaturePoolClassifier.h"
  13. #include "vislearning/cbaselib/CachedExample.h"
  14. namespace OBJREC {
  15. /** standard interface to ICE classifiers */
  16. class VCFeaturePool : public VecClassifier
  17. {
  18. protected:
  19. FeaturePoolClassifier *fpc;
  20. Examples examples;
  21. const NICE::Config *conf;
  22. std::string featurePoolCache;
  23. bool readFeaturePool;
  24. int dimension;
  25. public:
  26. /** simple constructor */
  27. VCFeaturePool( const NICE::Config *conf,
  28. FeaturePoolClassifier *fpc );
  29. /** simple destructor */
  30. virtual ~VCFeaturePool();
  31. /** classify using simple vector */
  32. ClassificationResult classify ( const NICE::Vector & x ) const;
  33. /** training routine */
  34. void teach ( const LabeledSetVector & teachSet );
  35. virtual void setMaxClassNo ( int maxClassNo );
  36. void clear ();
  37. void store ( std::ostream & os, int format = 0 ) const;
  38. void restore ( std::istream & is, int format = 0 );
  39. void finishTeaching();
  40. };
  41. } // namespace
  42. #endif