00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef MINIMIZE_ENERGYINTERFACE_H
00010 #define MINIMIZE_ENERGYINTERFACE_H
00011
00012 #include <core/imaging2.hpp>
00013
00014 namespace imaging
00015 {
00021 class EnergyInterface
00022 {
00023 public:
00024 virtual ~EnergyInterface() {}
00025
00027 virtual ublas::vector<float_t> & current_argument() = 0;
00028
00030 virtual void set_argument() = 0;
00031
00033 virtual float_t current_energy() const = 0;
00034
00036 virtual std::size_t dimension() const = 0;
00037 };
00038 }
00039
00040 #endif