/** 
* @file FCBagSift.h
* @brief Feature Factory for Bag of SIFT Features
* @author Erik Rodner
* @date 10/25/2007

*/
#ifndef FCBAGSIFTINCLUDE
#define FCBAGSIFTINCLUDE

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

 
#include "vislearning/math/cluster/GenerateSignature.h"
#include "vislearning/features/localfeatures/LocalFeatureRepresentation.h"

#include "vislearning/features/fbase/FeatureFactory.h"


namespace OBJREC {

/** Feature Factory for Bag of SIFT Features */
class FCBagSift : public FeatureFactory
{

    protected:
	bool display_features;

	GenerateSignature *gs;
	const LocalFeatureRepresentation *lfrep;

    public:
  
	/** simple constructor */
	FCBagSift( const NICE::Config *conf, const LocalFeatureRepresentation *_lfrep );
      
	/** simple destructor */
	virtual ~FCBagSift();

	// refactor-nice.pl: check this substitution
	// old: int convert ( const Image & img, Vector & vec );
	int convert ( const NICE::Image & img, NICE::Vector & vec );
};


} // namespace

#endif
