Abstract interface for a binary max-flow / QPBO solver.
Definition MaxFlowSolver.hpp:15
virtual void add_constant(T E)=0
Adds a constant term to the energy function.
virtual Var add_variable()=0
Introduces a new binary variable and returns its handle.
virtual void add_term1(Var x, T E0, T E1)=0
Adds a unary term E(x) where x ∈ {0, 1}.
virtual T minimize()=0
Minimizes the energy and returns the minimum value.
int Var
Integer handle identifying a binary variable.
Definition MaxFlowSolver.hpp:20
virtual ~MaxFlowSolver()=default
virtual void add_term2(Var x, Var y, T E00, T E01, T E10, T E11)=0
Adds a pairwise term E(x, y) where x, y ∈ {0, 1}.
virtual int get_var(Var x)=0
Returns the optimal value of variable x (0 or 1) after minimize().