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

 */
#ifndef IDSIFTSamplingINCLUDE
#define IDSIFTSamplingINCLUDE

#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
{

/** random interest point sampling */
class IDSIFTSampling: public InterestDetector
{

protected:
	double minScale;
	float threshold;
	float edgeThreshold;
	bool fixedOrientation;
	int octaves;
	int levels;
	int first_octave;
	double magnif;
	bool deletemode;
public:

	IDSIFTSampling(const NICE::Config *conf);

	virtual ~IDSIFTSampling();
	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
