/** 
 * @file IDRandomSampling.h
 * @brief random interest point sampling
 * @author Erik Rodner
 * @date 02/05/2008

 */
#ifndef IDRANDOMSAMPLINGINCLUDE
#define IDRANDOMSAMPLINGINCLUDE

#include "core/vector/VectorT.h"
#include "core/vector/MatrixT.h"
#include "core/image/ImageT.h"

#include "core/basics/Config.h"
#include "InterestDetector.h"

namespace OBJREC
{

  /** @class IDRandomSampling
 * @brief random interest point sampling
 */
  class IDRandomSampling: public InterestDetector
  {

  protected:
    int numSamples;
    double minScale;

  public:

    IDRandomSampling(const NICE::Config *conf, int numSamples);

    virtual ~IDRandomSampling();
    int getInterests(const NICE::Image & img,
        std::vector<NICE::Vector> & positions) const;
    int getInterests(const ImagePyramid & imp,
        std::vector<NICE::Vector> & positions) const;

  };

} // namespace

#endif
