00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 #ifndef MINIMIZE_DIFFERENTIABLEENERGYINTERFACE_H
00010 #define MINIMIZE_DIFFERENTIABLEENERGYINTERFACE_H
00011 
00012 #include <minimize/EnergyInterface.hpp>
00013 
00014 namespace imaging
00015 {
00021   class DifferentiableEnergyInterface : public EnergyInterface
00022   {
00023   public:
00025     virtual const ublas::vector<float_t> & current_gradient() const = 0;
00026     
00028     virtual void set_argument_with_gradient() = 0;
00029   };
00030 }
00031 
00032 #endif