/** 
* @file FCGreyValues.h
* @brief extract simple greyvalue features
* @author Erik Rodner
* @date 11/15/2007

*/
#ifndef FCGREYVALUESINCLUDE
#define FCGREYVALUESINCLUDE

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

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


namespace OBJREC {

/** extract simple greyvalue features */
class FCGreyValues : public FeatureFactory
{

    protected:
    
	enum {
	    NORMALIZE_N01 = 0,
	    NORMALIZE_NONE,
	    NORMALIZE_STDDEV,
	    NORMALIZE_MEAN
	};

	int xsize;
	int ysize;
	int normalization;

	// refactor-nice.pl: check this substitution
	// old: Image tmp;
	NICE::Image tmp;

    public:
  
	/** simple constructor */
	FCGreyValues ( const NICE::Config *conf, int _xsize = -1, int _ysize = -1);
      
	/** simple destructor */
	virtual ~FCGreyValues();
    
	/** convert image into feature vector with simple grayvalues */
	// 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
