|
Alpha Expansion Library
C++ library for the Alpha-Expansion graph-cut algorithm with Python bindings
|
Abstract base class for alpha-expansion iteration strategies. More...
#include <ExpansionStrategy.hpp>
Public Member Functions | |
| virtual | ~ExpansionStrategy ()=default |
| virtual int | execute (AlphaExpansion< T > &optimizer, EnergyModel< T > &model) const =0 |
| Runs the expansion strategy to convergence (or up to a cycle limit). | |
Abstract base class for alpha-expansion iteration strategies.
A strategy controls the order in which labels are expanded and the stopping condition. The library ships three concrete strategies: SequentialStrategy, GreedyStrategy and RandomizedStrategy. To add a custom strategy, implement this interface.
| T | Numeric cost type. Must match the type used in the associated EnergyModel<T>. |
|
virtualdefault |
|
pure virtual |
Runs the expansion strategy to convergence (or up to a cycle limit).
| optimizer | The AlphaExpansion object that executes individual moves. |
| model | The energy model being optimized (labels are updated in-place). |
Implemented in GreedyStrategy< T >, RandomizedStrategy< T >, and SequentialStrategy< T >.