/** 
* @file LFMikolajczyk.h
* @brief interface to Mikolajczyk implementation
* @author Erik Rodner
* @date 11/19/2007

*/
#ifndef LFMIKOLAJCZYKINCLUDE
#define LFMIKOLAJCZYKINCLUDE

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

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

namespace OBJREC {

/** interface to Mikolajczyk implementation */
class LFMikolajczyk : public LocalFeatureRepresentation
{

    protected:
		std::string c_binaryExecutable;
		std::string c_params;
		double c_minScale;
		
		int descriptor_size;


    public:
  
	/** simple constructor */
	LFMikolajczyk( const NICE::Config *conf );
      
	/** simple destructor */
	virtual ~LFMikolajczyk();
	
	int getDescSize () const;

	int extractFeatures ( const NICE::Image & img, NICE::VVector & features, 
			      NICE::VVector & positions ) const;
     
};


} // namespace

#endif
