VCFeaturePool.h 1.4 KB

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