/** 
* @file ImageFeatures.h
* @brief create feature pool and additional information for ImageFeatures
* @author Erik Rodner
* @date 07/24/2008

*/
#ifndef IMAGEFEATURESINCLUDE
#define IMAGEFEATURESINCLUDE

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

#include "vislearning/cbaselib/FeaturePool.h"
#include "core/basics/Config.h"


namespace OBJREC {

/** create feature pool and additional information for ImageFeatures */
class ImageFeatures
{

    protected:
        bool use_eoh_features;
	bool use_pixelpair_features;
        bool use_hog_features;
        bool use_haar_features;
        bool use_colorhistogram_features;

	const NICE::Config *conf;

	std::vector<Feature *> features;

    public:
  
	/** simple constructor */
	// refactor-nice.pl: check this substitution
	// old: ImageFeatures( const NICE::Config *conf, const std::string & section = "fpfeatures" );
	ImageFeatures( const NICE::Config *conf, const std::string & section = "fpfeatures" );
      
	/** simple destructor */
	virtual ~ImageFeatures();

	void fillFeaturePool ( FeaturePool & fp, bool variableWindow );

	void fillExample ( CachedExample *ce );
};


} // namespace

#endif
