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

QPBO Algorithm

C. Rother, V. Kolmogorov, V. Lempitsky, and M. Szummer, "Optimizing binary MRFs via extended roof duality", CVPR 2007. More...

#include <qpbo.hxx>

+ Inheritance diagram for opengm::QPBO< GM, MIN_ST_CUT >:
+ Collaboration diagram for opengm::QPBO< GM, MIN_ST_CUT >:

Classes

struct  Parameter
 
struct  RebindGm
 
struct  RebindGmAndAcc
 

Public Types

typedef GM GraphicalModelType
 
typedef opengm::Minimizer AccumulationType
 
typedef visitors::VerboseVisitor< QPBO< GM, MIN_ST_CUT > > VerboseVisitorType
 
typedef visitors::TimingVisitor< QPBO< GM, MIN_ST_CUT > > TimingVisitorType
 
typedef visitors::EmptyVisitor< QPBO< GM, MIN_ST_CUT > > EmptyVisitorType
 
- Public Types inherited from opengm::Inference< GM, opengm::Minimizer >
typedef GM GraphicalModelType
 
typedef opengm::Minimizer 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

 QPBO (const GraphicalModelType &, Parameter=Parameter())
 
std::string name () const
 
const GraphicalModelTypegraphicalModel () const
 
InferenceTermination infer ()
 
template<class VISITOR >
InferenceTermination infer (VISITOR &)
 
InferenceTermination arg (std::vector< LabelType > &, const size_t &=1) const
 
double partialOptimality (std::vector< bool > &) const
 
- Public Member Functions inherited from opengm::Inference< GM, opengm::Minimizer >
virtual ~Inference ()
 
virtual void setStartingPoint (typename std::vector< LabelType >::const_iterator)
 set initial labeling More...
 
virtual InferenceTermination arg (std::vector< LabelType > &, const size_t=1) const
 output a solution More...
 
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 MIN_ST_CUT>
class opengm::QPBO< GM, MIN_ST_CUT >

QPBO Algorithm

C. Rother, V. Kolmogorov, V. Lempitsky, and M. Szummer, "Optimizing binary MRFs via extended roof duality", CVPR 2007.

Definition at line 19 of file qpbo.hxx.

Member Typedef Documentation

§ AccumulationType

template<class GM, class MIN_ST_CUT>
typedef opengm::Minimizer opengm::QPBO< GM, MIN_ST_CUT >::AccumulationType

Definition at line 23 of file qpbo.hxx.

§ EmptyVisitorType

template<class GM, class MIN_ST_CUT>
typedef visitors::EmptyVisitor<QPBO<GM,MIN_ST_CUT> > opengm::QPBO< GM, MIN_ST_CUT >::EmptyVisitorType

Definition at line 27 of file qpbo.hxx.

§ GraphicalModelType

template<class GM, class MIN_ST_CUT>
typedef GM opengm::QPBO< GM, MIN_ST_CUT >::GraphicalModelType

Definition at line 22 of file qpbo.hxx.

§ TimingVisitorType

template<class GM, class MIN_ST_CUT>
typedef visitors::TimingVisitor<QPBO<GM,MIN_ST_CUT> > opengm::QPBO< GM, MIN_ST_CUT >::TimingVisitorType

Definition at line 26 of file qpbo.hxx.

§ VerboseVisitorType

template<class GM, class MIN_ST_CUT>
typedef visitors::VerboseVisitor<QPBO<GM,MIN_ST_CUT> > opengm::QPBO< GM, MIN_ST_CUT >::VerboseVisitorType

Definition at line 25 of file qpbo.hxx.

Constructor & Destructor Documentation

§ QPBO()

template<class GM, class MIN_ST_CUT>
opengm::QPBO< GM, MIN_ST_CUT >::QPBO ( const GraphicalModelType ,
Parameter  = Parameter() 
)
+ Here is the caller graph for this function:

Member Function Documentation

§ arg()

template<class GM , class MIN_ST_CUT >
InferenceTermination opengm::QPBO< GM, MIN_ST_CUT >::arg ( std::vector< LabelType > &  arg,
const size_t n = 1 
) const
inline

Definition at line 145 of file qpbo.hxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

§ graphicalModel()

template<class GM , class MIN_ST_CUT >
const QPBO< GM, MIN_ST_CUT >::GraphicalModelType & opengm::QPBO< GM, MIN_ST_CUT >::graphicalModel ( ) const
inlinevirtual

Implements opengm::Inference< GM, opengm::Minimizer >.

Definition at line 119 of file qpbo.hxx.

+ Here is the caller graph for this function:

§ infer() [1/2]

template<class GM , class MIN_ST_CUT >
InferenceTermination opengm::QPBO< GM, MIN_ST_CUT >::infer ( )
inlinevirtual

Implements opengm::Inference< GM, opengm::Minimizer >.

Definition at line 126 of file qpbo.hxx.

+ Here is the caller graph for this function:

§ infer() [2/2]

template<class GM , class MIN_ST_CUT >
template<class VISITOR >
InferenceTermination opengm::QPBO< GM, MIN_ST_CUT >::infer ( VISITOR &  visitor)
inline

Definition at line 134 of file qpbo.hxx.

+ Here is the call graph for this function:

§ name()

template<class GM , class MIN_ST_CUT >
std::string opengm::QPBO< GM, MIN_ST_CUT >::name ( ) const
inlinevirtual

Implements opengm::Inference< GM, opengm::Minimizer >.

Definition at line 112 of file qpbo.hxx.

+ Here is the caller graph for this function:

§ partialOptimality()

template<class GM , class MIN_ST_CUT >
double opengm::QPBO< GM, MIN_ST_CUT >::partialOptimality ( std::vector< bool > &  optVec) const

Definition at line 170 of file qpbo.hxx.

+ Here is the caller graph for this function:

Member Data Documentation

§ OPENGM_GM_TYPE_TYPEDEFS

template<class GM, class MIN_ST_CUT>
opengm::QPBO< GM, MIN_ST_CUT >::OPENGM_GM_TYPE_TYPEDEFS

Definition at line 24 of file qpbo.hxx.