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

#include <self_fusion.hxx>

+ Inheritance diagram for opengm::SelfFusion< INFERENCE >:
+ Collaboration diagram for opengm::SelfFusion< INFERENCE >:

Classes

class  Parameter
 
struct  RebindGm
 
struct  RebindGmAndAcc
 

Public Types

enum  FusionSolver { QpboFusion =0, CplexFusion =1, LazyFlipperFusion =2 }
 
typedef INFERENCE::AccumulationType AccumulationType
 
typedef INFERENCE::GraphicalModelType GraphicalModelType
 
typedef visitors::VerboseVisitor< SelfFusion< INFERENCE > > VerboseVisitorType
 
typedef visitors::EmptyVisitor< SelfFusion< INFERENCE > > EmptyVisitorType
 
typedef visitors::TimingVisitor< SelfFusion< INFERENCE > > TimingVisitorType
 
typedef SelfFusion< INFERENCE > SelfType
 
typedef INFERENCE ToFuseInferenceType
 
- Public Types inherited from opengm::Inference< INFERENCE::GraphicalModelType, INFERENCE::AccumulationType >
typedef INFERENCE::GraphicalModelType GraphicalModelType
 
typedef INFERENCE::AccumulationType 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

 SelfFusion (const GraphicalModelType &, const Parameter &=Parameter())
 
std::string name () const
 
const GraphicalModelTypegraphicalModel () const
 
InferenceTermination infer ()
 
template<class VisitorType >
InferenceTermination infer (VisitorType &)
 
void setStartingPoint (typename std::vector< LabelType >::const_iterator)
 
virtual InferenceTermination arg (std::vector< LabelType > &, const size_t=1) const
 
ValueType value () const
 return the solution (value) More...
 
ValueType bound () const
 return a bound on the solution More...
 
const Parameterparameter () const
 
const size_t maxOrder () const
 
- Public Member Functions inherited from opengm::Inference< INFERENCE::GraphicalModelType, INFERENCE::AccumulationType >
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...
 
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 INFERENCE>
class opengm::SelfFusion< INFERENCE >

Definition at line 266 of file self_fusion.hxx.

Member Typedef Documentation

§ AccumulationType

template<class INFERENCE>
typedef INFERENCE::AccumulationType opengm::SelfFusion< INFERENCE >::AccumulationType

Definition at line 270 of file self_fusion.hxx.

§ EmptyVisitorType

template<class INFERENCE>
typedef visitors::EmptyVisitor< SelfFusion<INFERENCE> > opengm::SelfFusion< INFERENCE >::EmptyVisitorType

Definition at line 275 of file self_fusion.hxx.

§ GraphicalModelType

template<class INFERENCE>
typedef INFERENCE::GraphicalModelType opengm::SelfFusion< INFERENCE >::GraphicalModelType

Definition at line 271 of file self_fusion.hxx.

§ SelfType

template<class INFERENCE>
typedef SelfFusion<INFERENCE> opengm::SelfFusion< INFERENCE >::SelfType

Definition at line 278 of file self_fusion.hxx.

§ TimingVisitorType

template<class INFERENCE>
typedef visitors::TimingVisitor< SelfFusion<INFERENCE> > opengm::SelfFusion< INFERENCE >::TimingVisitorType

Definition at line 276 of file self_fusion.hxx.

§ ToFuseInferenceType

template<class INFERENCE>
typedef INFERENCE opengm::SelfFusion< INFERENCE >::ToFuseInferenceType

Definition at line 280 of file self_fusion.hxx.

§ VerboseVisitorType

template<class INFERENCE>
typedef visitors::VerboseVisitor< SelfFusion<INFERENCE> > opengm::SelfFusion< INFERENCE >::VerboseVisitorType

Definition at line 274 of file self_fusion.hxx.

Member Enumeration Documentation

§ FusionSolver

template<class INFERENCE>
enum opengm::SelfFusion::FusionSolver
Enumerator
QpboFusion 
CplexFusion 
LazyFlipperFusion 

Definition at line 282 of file self_fusion.hxx.

Constructor & Destructor Documentation

§ SelfFusion()

template<class INFERENCE >
opengm::SelfFusion< INFERENCE >::SelfFusion ( const GraphicalModelType gm,
const Parameter parameter = Parameter() 
)

Definition at line 406 of file self_fusion.hxx.

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

Member Function Documentation

§ arg()

template<class INFERENCE >
InferenceTermination opengm::SelfFusion< INFERENCE >::arg ( std::vector< LabelType > &  x,
const size_t  N = 1 
) const
inlinevirtual

Definition at line 478 of file self_fusion.hxx.

+ Here is the caller graph for this function:

§ bound()

template<class INFERENCE>
ValueType opengm::SelfFusion< INFERENCE >::bound ( ) const
inlinevirtual

return a bound on the solution

Reimplemented from opengm::Inference< INFERENCE::GraphicalModelType, INFERENCE::AccumulationType >.

Definition at line 377 of file self_fusion.hxx.

§ graphicalModel()

template<class INFERENCE >
const SelfFusion< INFERENCE >::GraphicalModelType & opengm::SelfFusion< INFERENCE >::graphicalModel ( ) const
inlinevirtual

§ infer() [1/2]

template<class INFERENCE >
InferenceTermination opengm::SelfFusion< INFERENCE >::infer ( )
inlinevirtual

Implements opengm::Inference< INFERENCE::GraphicalModelType, INFERENCE::AccumulationType >.

Definition at line 446 of file self_fusion.hxx.

+ Here is the call graph for this function:

§ infer() [2/2]

template<class INFERENCE >
template<class VisitorType >
InferenceTermination opengm::SelfFusion< INFERENCE >::infer ( VisitorType &  visitor)

Definition at line 457 of file self_fusion.hxx.

+ Here is the call graph for this function:

§ maxOrder()

template<class INFERENCE>
const size_t opengm::SelfFusion< INFERENCE >::maxOrder ( ) const
inline

Definition at line 384 of file self_fusion.hxx.

+ Here is the call graph for this function:

§ name()

template<class INFERENCE >
std::string opengm::SelfFusion< INFERENCE >::name ( ) const
inlinevirtual

§ parameter()

template<class INFERENCE>
const Parameter& opengm::SelfFusion< INFERENCE >::parameter ( ) const
inline

Definition at line 381 of file self_fusion.hxx.

§ setStartingPoint()

template<class INFERENCE>
void opengm::SelfFusion< INFERENCE >::setStartingPoint ( typename std::vector< LabelType >::const_iterator  )
inline

Definition at line 424 of file self_fusion.hxx.

+ Here is the caller graph for this function:

§ value()

template<class INFERENCE>
ValueType opengm::SelfFusion< INFERENCE >::value ( ) const
inlinevirtual

return the solution (value)

Reimplemented from opengm::Inference< INFERENCE::GraphicalModelType, INFERENCE::AccumulationType >.

Definition at line 373 of file self_fusion.hxx.

Member Data Documentation

§ OPENGM_GM_TYPE_TYPEDEFS

template<class INFERENCE>
opengm::SelfFusion< INFERENCE >::OPENGM_GM_TYPE_TYPEDEFS

Definition at line 272 of file self_fusion.hxx.