OpenGM  2.3.x
Discrete Graphical Model Library
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
opengm::AlphaExpansionFusion< GM, ACC > Class Template Reference

Alpha-Expansion-Fusion Algorithm uses the code of Alexander Fix to reduce the higer order moves to binary pairwise problems which are solved by QPBO as described in Alexander Fix, Artinan Gruber, Endre Boros, Ramin Zabih: A Graph Cut Algorithm for Higher Order Markov Random Fields, ICCV 2011. More...

#include <alphaexpansionfusion.hxx>

+ Inheritance diagram for opengm::AlphaExpansionFusion< GM, ACC >:
+ Collaboration diagram for opengm::AlphaExpansionFusion< GM, ACC >:

Classes

struct  Parameter
 

Public Types

typedef GM GraphicalModelType
 
typedef ACC AccumulationType
 
typedef visitors::VerboseVisitor< AlphaExpansionFusion< GM, ACC > > VerboseVisitorType
 
typedef visitors::EmptyVisitor< AlphaExpansionFusion< GM, ACC > > EmptyVisitorType
 
typedef visitors::TimingVisitor< AlphaExpansionFusion< GM, ACC > > TimingVisitorType
 
- Public Types inherited from opengm::Inference< GM, ACC >
typedef GM GraphicalModelType
 
typedef ACC AccumulationType
 
typedef GraphicalModelType::LabelType LabelType
 
typedef GraphicalModelType::IndexType IndexType
 
typedef GraphicalModelType::ValueType ValueType
 
typedef GraphicalModelType::OperatorType OperatorType
 
typedef GraphicalModelType::FactorType FactorType
 
typedef GraphicalModelType::IndependentFactorType IndependentFactorType
 
typedef GraphicalModelType::FunctionIdentifier FunctionIdentifier
 

Public Member Functions

 AlphaExpansionFusion (const GraphicalModelType &, Parameter para=Parameter())
 
std::string name () const
 
const GraphicalModelTypegraphicalModel () const
 
template<class StateIterator >
void setState (StateIterator, StateIterator)
 
InferenceTermination infer ()
 
void reset ()
 
template<class Visitor >
InferenceTermination infer (Visitor &visitor)
 
void setStartingPoint (typename std::vector< LabelType >::const_iterator)
 set initial labeling More...
 
InferenceTermination arg (std::vector< LabelType > &, const size_t=1) const
 output a solution More...
 
- Public Member Functions inherited from opengm::Inference< GM, ACC >
virtual ~Inference ()
 
virtual InferenceTermination args (std::vector< std::vector< LabelType > > &) const
 
virtual InferenceTermination marginal (const size_t, IndependentFactorType &) const
 output a solution for a marginal for a specific variable More...
 
virtual InferenceTermination factorMarginal (const size_t, IndependentFactorType &) const
 output a solution for a marginal for all variables connected to a factor More...
 
virtual ValueType bound () const
 return a bound on the solution More...
 
virtual ValueType value () const
 return the solution (value) More...
 
InferenceTermination constrainedOptimum (std::vector< IndexType > &, std::vector< LabelType > &, std::vector< LabelType > &) const
 
InferenceTermination modeFromMarginal (std::vector< LabelType > &) const
 
InferenceTermination modeFromFactorMarginal (std::vector< LabelType > &) const
 

Public Attributes

 OPENGM_GM_TYPE_TYPEDEFS
 

Detailed Description

template<class GM, class ACC>
class opengm::AlphaExpansionFusion< GM, ACC >

Alpha-Expansion-Fusion Algorithm uses the code of Alexander Fix to reduce the higer order moves to binary pairwise problems which are solved by QPBO as described in Alexander Fix, Artinan Gruber, Endre Boros, Ramin Zabih: A Graph Cut Algorithm for Higher Order Markov Random Fields, ICCV 2011.

Corresponding author: Joerg Hendrik Kappes

Definition at line 20 of file alphaexpansionfusion.hxx.

Member Typedef Documentation

template<class GM, class ACC>
typedef ACC opengm::AlphaExpansionFusion< GM, ACC >::AccumulationType

Definition at line 24 of file alphaexpansionfusion.hxx.

template<class GM, class ACC>
typedef visitors::EmptyVisitor<AlphaExpansionFusion<GM,ACC> > opengm::AlphaExpansionFusion< GM, ACC >::EmptyVisitorType

Definition at line 27 of file alphaexpansionfusion.hxx.

template<class GM, class ACC>
typedef GM opengm::AlphaExpansionFusion< GM, ACC >::GraphicalModelType

Definition at line 23 of file alphaexpansionfusion.hxx.

template<class GM, class ACC>
typedef visitors::TimingVisitor<AlphaExpansionFusion<GM,ACC> > opengm::AlphaExpansionFusion< GM, ACC >::TimingVisitorType

Definition at line 28 of file alphaexpansionfusion.hxx.

template<class GM, class ACC>
typedef visitors::VerboseVisitor<AlphaExpansionFusion<GM,ACC> > opengm::AlphaExpansionFusion< GM, ACC >::VerboseVisitorType

Definition at line 26 of file alphaexpansionfusion.hxx.

Constructor & Destructor Documentation

template<class GM , class ACC >
opengm::AlphaExpansionFusion< GM, ACC >::AlphaExpansionFusion ( const GraphicalModelType gm,
Parameter  para = Parameter() 
)
inline

Definition at line 133 of file alphaexpansionfusion.hxx.

Member Function Documentation

template<class GM , class ACC >
InferenceTermination opengm::AlphaExpansionFusion< GM, ACC >::arg ( std::vector< LabelType > &  arg,
const size_t  argIndex = 1 
) const
inlinevirtual

output a solution

Parameters
[out]arglabeling
argIndexsolution index (1=best, 2=second best, etc.)

Reimplemented from opengm::Inference< GM, ACC >.

Definition at line 474 of file alphaexpansionfusion.hxx.

template<class GM , class ACC >
const AlphaExpansionFusion< GM, ACC >::GraphicalModelType & opengm::AlphaExpansionFusion< GM, ACC >::graphicalModel ( ) const
inlinevirtual

Implements opengm::Inference< GM, ACC >.

Definition at line 99 of file alphaexpansionfusion.hxx.

template<class GM , class ACC >
InferenceTermination opengm::AlphaExpansionFusion< GM, ACC >::infer ( )
inlinevirtual

Implements opengm::Inference< GM, ACC >.

Definition at line 247 of file alphaexpansionfusion.hxx.

template<class GM , class ACC >
template<class Visitor >
InferenceTermination opengm::AlphaExpansionFusion< GM, ACC >::infer ( Visitor &  visitor)

Definition at line 257 of file alphaexpansionfusion.hxx.

template<class GM , class ACC >
std::string opengm::AlphaExpansionFusion< GM, ACC >::name ( ) const
inlinevirtual

Implements opengm::Inference< GM, ACC >.

Definition at line 92 of file alphaexpansionfusion.hxx.

template<class GM , class ACC >
void opengm::AlphaExpansionFusion< GM, ACC >::reset ( )
inline

Definition at line 187 of file alphaexpansionfusion.hxx.

template<class GM, class ACC>
void opengm::AlphaExpansionFusion< GM, ACC >::setStartingPoint ( typename std::vector< LabelType >::const_iterator  begin)
inlinevirtual

set initial labeling

Parameters
beginiterator to the beginning of a sequence of labels

Reimplemented from opengm::Inference< GM, ACC >.

Definition at line 119 of file alphaexpansionfusion.hxx.

template<class GM , class ACC >
template<class StateIterator >
void opengm::AlphaExpansionFusion< GM, ACC >::setState ( StateIterator  begin,
StateIterator  end 
)
inline

Definition at line 108 of file alphaexpansionfusion.hxx.

Member Data Documentation

template<class GM, class ACC>
opengm::AlphaExpansionFusion< GM, ACC >::OPENGM_GM_TYPE_TYPEDEFS

Definition at line 25 of file alphaexpansionfusion.hxx.