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

[class primallpbound] PrimalLPBound - estimating primal local polytope bound and feasible primal solution for the local polytope relaxation of the MRF energy minimization problem Based on the paper: B. Savchynskyy, S. Schmidt Getting Feasible Variable Estimates From Infeasible Ones: MRF Local Polytope Study. arXiv:1210.4081 Submitted Oct. 2012 More...

#include <primal_lpbound.hxx>

+ Collaboration diagram for opengm::PrimalLPBound< GM, ACC >:

Public Types

typedef TransportSolver::TransportationSolver< ACC, FactorWrapper< typename GM::FactorType > > Solver
 
typedef Solver::floatType ValueType
 
typedef std::vector< ValueTypeUnaryFactor
 
typedef GM::IndexType IndexType
 
typedef GM::LabelType LabelType
 
typedef PrimalLPBound_Parameter< ValueTypeParameter
 

Public Member Functions

 PrimalLPBound (const GM &gm, const Parameter &param=Parameter(Solver::floatTypeEps, Solver::defaultMaxIterationNumber))
 
template<class ValueIterator >
void setVariable (IndexType var, ValueIterator inputBegin)
 
template<class ValueIterator >
void getVariable (IndexType var, ValueIterator outputBegin)
 
ValueType getTotalValue ()
 
ValueType getFactorValue (IndexType factorId)
 
ValueType getVariableValue (IndexType varId)
 
template<class Matrix >
ValueType getFactorVariable (IndexType factorId, Matrix &matrix)
 
void ResetBuffer ()
 
bool IsValueBuffered (IndexType factorId) const
 
bool IsFactorVariableBuffered (IndexType factorId) const
 
template<class Iterator >
void setVariable (IndexType var, Iterator inputBegin)
 
template<class Iterator >
void getVariable (IndexType var, Iterator outputBegin)
 

Static Public Member Functions

static void CheckDuplicateUnaryFactors (const GM &gm)
 

Static Public Attributes

static const IndexType InvalidIndex =std::numeric_limits<IndexType>::max()
 
static const ValueType ValueTypeNan =std::numeric_limits<ValueType>::max()
 

Detailed Description

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

[class primallpbound] PrimalLPBound - estimating primal local polytope bound and feasible primal solution for the local polytope relaxation of the MRF energy minimization problem Based on the paper: B. Savchynskyy, S. Schmidt Getting Feasible Variable Estimates From Infeasible Ones: MRF Local Polytope Study. arXiv:1210.4081 Submitted Oct. 2012

it provides:

Corresponding author: Bogdan Savchynskyy

Definition at line 62 of file primal_lpbound.hxx.

Member Typedef Documentation

template<class GM, class ACC>
typedef GM::IndexType opengm::PrimalLPBound< GM, ACC >::IndexType

Definition at line 68 of file primal_lpbound.hxx.

template<class GM, class ACC>
typedef GM::LabelType opengm::PrimalLPBound< GM, ACC >::LabelType

Definition at line 69 of file primal_lpbound.hxx.

template<class GM, class ACC>
typedef PrimalLPBound_Parameter<ValueType> opengm::PrimalLPBound< GM, ACC >::Parameter

Definition at line 74 of file primal_lpbound.hxx.

template<class GM, class ACC>
typedef TransportSolver::TransportationSolver<ACC,FactorWrapper<typename GM::FactorType> > opengm::PrimalLPBound< GM, ACC >::Solver

Definition at line 65 of file primal_lpbound.hxx.

template<class GM, class ACC>
typedef std::vector<ValueType> opengm::PrimalLPBound< GM, ACC >::UnaryFactor

Definition at line 67 of file primal_lpbound.hxx.

template<class GM, class ACC>
typedef Solver::floatType opengm::PrimalLPBound< GM, ACC >::ValueType

Definition at line 66 of file primal_lpbound.hxx.

Constructor & Destructor Documentation

template<class GM, class ACC >
opengm::PrimalLPBound< GM, ACC >::PrimalLPBound ( const GM &  gm,
const Parameter param = Parameter(Solver::floatTypeEps,Solver::defaultMaxIterationNumber) 
)

Definition at line 129 of file primal_lpbound.hxx.

+ Here is the call graph for this function:

Member Function Documentation

template<class GM, class ACC >
void opengm::PrimalLPBound< GM, ACC >::CheckDuplicateUnaryFactors ( const GM &  gm)
static

Definition at line 106 of file primal_lpbound.hxx.

+ Here is the caller graph for this function:

template<class GM , class ACC >
PrimalLPBound< GM, ACC >::ValueType opengm::PrimalLPBound< GM, ACC >::getFactorValue ( IndexType  factorId)

Definition at line 183 of file primal_lpbound.hxx.

template<class GM , class ACC >
template<class Matrix >
PrimalLPBound< GM, ACC >::ValueType opengm::PrimalLPBound< GM, ACC >::getFactorVariable ( IndexType  factorId,
Matrix &  matrix 
)

Definition at line 202 of file primal_lpbound.hxx.

template<class GM , class ACC >
PrimalLPBound< GM, ACC >::ValueType opengm::PrimalLPBound< GM, ACC >::getTotalValue ( )

Definition at line 238 of file primal_lpbound.hxx.

template<class GM, class ACC>
template<class ValueIterator >
void opengm::PrimalLPBound< GM, ACC >::getVariable ( IndexType  var,
ValueIterator  outputBegin 
)
template<class GM, class ACC>
template<class Iterator >
void opengm::PrimalLPBound< GM, ACC >::getVariable ( IndexType  var,
Iterator  outputBegin 
)

Definition at line 168 of file primal_lpbound.hxx.

template<class GM , class ACC >
PrimalLPBound< GM, ACC >::ValueType opengm::PrimalLPBound< GM, ACC >::getVariableValue ( IndexType  varId)

Definition at line 213 of file primal_lpbound.hxx.

template<class GM, class ACC>
bool opengm::PrimalLPBound< GM, ACC >::IsFactorVariableBuffered ( IndexType  factorId) const
inline

Definition at line 91 of file primal_lpbound.hxx.

template<class GM, class ACC>
bool opengm::PrimalLPBound< GM, ACC >::IsValueBuffered ( IndexType  factorId) const
inline

Definition at line 90 of file primal_lpbound.hxx.

template<class GM, class ACC>
void opengm::PrimalLPBound< GM, ACC >::ResetBuffer ( )
inline

Definition at line 89 of file primal_lpbound.hxx.

template<class GM, class ACC>
template<class ValueIterator >
void opengm::PrimalLPBound< GM, ACC >::setVariable ( IndexType  var,
ValueIterator  inputBegin 
)
template<class GM, class ACC>
template<class Iterator >
void opengm::PrimalLPBound< GM, ACC >::setVariable ( IndexType  var,
Iterator  inputBegin 
)

Definition at line 150 of file primal_lpbound.hxx.

Member Data Documentation

template<class GM, class ACC>
const PrimalLPBound< GM, ACC >::IndexType opengm::PrimalLPBound< GM, ACC >::InvalidIndex =std::numeric_limits<IndexType>::max()
static

Definition at line 71 of file primal_lpbound.hxx.

template<class GM, class ACC>
const PrimalLPBound< GM, ACC >::ValueType opengm::PrimalLPBound< GM, ACC >::ValueTypeNan =std::numeric_limits<ValueType>::max()
static

Definition at line 72 of file primal_lpbound.hxx.