/** 
* @file EMDDistance.h
* @brief Earth Movers Distance
* @author Erik Rodner
* @date 10/24/2007

*/
#ifndef EMDDistanceINCLUDE
#define EMDDistanceINCLUDE

#include "core/vector/VectorT.h"
#include "core/vector/MatrixT.h"
  
#include <core/vector/Distance.h>


namespace OBJREC {

/** Earth Movers Distance */
class EMDDistance : public NICE::VectorDistance<double>
{

	protected:
		int descriptor_size;
		double doCalculate (const NICE::Vector & x, const NICE::Vector & y) const;

	public:
  
		/** simple constructor */
		EMDDistance( int descriptor_size );
      
		/** simple destructor */
		virtual ~EMDDistance();
};


} // namespace

#endif
