VectorFeature.cpp 1.2 KB

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