VecClassifierICE.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include <core/imagedisplay/ImageDisplay.h>
  2. #ifdef NICE_USELIB_ICE
  3. #include <iostream>
  4. #include <core/iceconversion/convertice.h>
  5. #include "vislearning/classifier/vclassifier/VecClassifierICE.h"
  6. using namespace OBJREC;
  7. using namespace std;
  8. using namespace NICE;
  9. VecClassifierICE::VecClassifierICE(
  10. const Config *_conf,
  11. ice::Classifier *_classifier ) :
  12. VecClassifier ( _conf ),
  13. classifier(_classifier)
  14. {
  15. }
  16. VecClassifierICE::~VecClassifierICE()
  17. {
  18. }
  19. ClassificationResult VecClassifierICE::classify ( const NICE::Vector & x ) const
  20. {
  21. return ClassificationResult ( classifier->Classify ( NICE::makeIceVectorT(x) ), 1.0, maxClassNo );
  22. }
  23. void VecClassifierICE::teach ( const LabeledSetVector & teachSet )
  24. {
  25. maxClassNo = teachSet.getMaxClassno();
  26. LOOP_ALL(teachSet)
  27. {
  28. EACH(classno,x);
  29. classifier->Teach ( classno, NICE::makeIceVectorT(x) );
  30. }
  31. }
  32. void VecClassifierICE::clear ()
  33. {
  34. classifier->Init(); // FIXME
  35. }
  36. void VecClassifierICE::store ( std::ostream & os ) const
  37. {
  38. (*classifier) >> os;
  39. }
  40. void VecClassifierICE::restore ( std::istream & is )
  41. {
  42. (*classifier) << is;
  43. }
  44. void VecClassifierICE::finishTeaching ()
  45. {
  46. fprintf (stderr, "ICEClassifier Finish() !!\n");
  47. classifier->Finish();
  48. }
  49. #endif