VectorFeature.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include <vislearning/nice.h>
  2. #include <iostream>
  3. #include "VectorFeature.h"
  4. #include "vislearning/cbaselib/FeaturePool.h"
  5. using namespace OBJREC;
  6. using namespace std;
  7. using namespace NICE;
  8. /** simple destructor */
  9. VectorFeature::~VectorFeature()
  10. {
  11. }
  12. double VectorFeature::val( const Example *example ) const
  13. {
  14. return (*(example->vec))[feature_index];
  15. }
  16. void VectorFeature::explode ( FeaturePool & featurePool, bool variableWindow ) const
  17. {
  18. for ( int i = 0 ; i < dimension ; i++ )
  19. {
  20. VectorFeature *f = new VectorFeature ( dimension );
  21. f->feature_index = i;
  22. featurePool.addFeature(f, 1.0 / dimension);
  23. }
  24. }
  25. Feature *VectorFeature::clone() const
  26. {
  27. VectorFeature *f = new VectorFeature( dimension );
  28. f->feature_index = feature_index;
  29. return f;
  30. }
  31. Feature *VectorFeature::generateFirstParameter () const
  32. {
  33. return clone();
  34. }
  35. void VectorFeature::restore (istream & is, int format)
  36. {
  37. is >> feature_index;
  38. }
  39. void VectorFeature::store (ostream & os, int format) const
  40. {
  41. os << "VECTORFEATURE "
  42. << feature_index;
  43. }
  44. void VectorFeature::clear ()
  45. {
  46. }
  47. void VectorFeature::getStump ( int & _feature_index, int & _dimension ) const
  48. {
  49. _feature_index = feature_index;
  50. _dimension = dimension;
  51. }