/** 
* @file PDFImage.h
* @brief accumulate two dimensional density
* @author Erik Rodner
* @date 04/16/2008

*/
#ifndef PDFIMAGEINCLUDE
#define PDFIMAGEINCLUDE

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


namespace OBJREC {

/** accumulate two dimensional density */
class PDFImage : public PDF
{

    protected:
	// refactor-nice.pl: check this substitution
	// old: ImageD imgd;
	NICE::FloatImage imgd;

    public:
  
	/** simple constructor */
	// refactor-nice.pl: check this substitution
	// old: PDFImage( const ImageD & imgd );
	PDFImage( const NICE::FloatImage & imgd );
      
	/** simple destructor */
	virtual ~PDFImage();
 
	// refactor-nice.pl: check this substitution
	// old: double getNLogDensity ( const Vector & x ) const;
	double getNLogDensity ( const NICE::Vector & x ) const;
	// refactor-nice.pl: check this substitution
	// old: double getProb ( const Vector & x ) const;
	double getProb ( const NICE::Vector & x ) const;
	int getDimension () const;
    
};


} // namespace

#endif
