Quantization.cpp 686 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * @file Quantization.cpp
  3. * @brief Quantization of one-dimensional signals with a standard range of [0,1] (Implementation)
  4. * @author Erik Rodner
  5. * @date 01/09/2012
  6. */
  7. #include <iostream>
  8. #include "Quantization.h"
  9. using namespace NICE;
  10. Quantization::Quantization( uint numBins )
  11. {
  12. this->numBins = numBins;
  13. }
  14. Quantization::~Quantization()
  15. {
  16. }
  17. uint Quantization::size() const
  18. {
  19. return numBins;
  20. }
  21. double Quantization::getPrototype (uint bin) const
  22. {
  23. return bin / (double)(numBins-1);
  24. }
  25. uint Quantization::quantize (double value) const
  26. {
  27. if ( value <= 0.0 ) return 0;
  28. else if ( value >= 1.0 ) return numBins-1;
  29. else return (uint)( value * (numBins-1) + 0.5 );
  30. }