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

#include <submodel_builder.hxx>

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

Classes

struct  InfResult
 
struct  SubmodelInfo
 

Public Types

typedef GM GraphicalModelType
 
typedef ACC AccumulationType
 
typedef ViewFixVariablesFunction< GM > FixFunction
 
typedef ViewFunction< GM > ViewingFunction
 
typedef PositionAndLabel< IndexType, LabelTypePosAndLabel
 
typedef std::vector< PosAndLabelPosAndLabelVector
 
typedef ExplicitFunction< ValueType, IndexType, LabelTypeArrayFunction
 
typedef opengm::DiscreteSpace< IndexType, LabelTypeSubSpaceType
 
typedef meta::TypeListGenerator< ViewingFunction, FixFunction >::type SubFunctionTypeList
 
typedef meta::TypeListGenerator< ArrayFunction >::type MergeSubFunctionTypeList
 
typedef GraphicalModel< ValueType, typename GM::OperatorType, SubFunctionTypeList, SubSpaceTypeSubGmType
 
typedef GraphicalModel< ValueType, typename GM::OperatorType, MergeSubFunctionTypeList, SubSpaceTypeMergedSubGmType
 

Public Member Functions

 SubmodelOptimizer (const GM &gm)
 
void setLabel (const IndexType vi, const LabelType label)
 
template<class VI_ITER >
void setVariableIndices (VI_ITER begin, VI_ITER end)
 
void unsetVariableIndices ()
 
template<class SOLVER >
bool inferSubmodelInplace (const typename SOLVER::Parameter &para, std::vector< LabelType > &resultArg, const bool improving=true, const bool warmStart=false)
 
template<class SOLVER >
bool inferSubmodel (const typename SOLVER::Parameter &para, std::vector< LabelType > &resultArg, const bool improving=true, const bool warmStart=false)
 
bool mergeFactorsAndInferDp (std::vector< LabelType > &resultArg)
 
void reserveGraphicalModel (SubGmType &subGm)
 
void buildModelOpenGm (SubGmType &subGm)
 
template<class INF_TYPE >
void buildModelInplace (INF_TYPE &infType)
 
bool inSubmodel (const IndexType vi) const
 
IndexType submodelSize () const
 

Public Attributes

 OPENGM_GM_TYPE_TYPEDEFS
 

Detailed Description

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

Definition at line 108 of file submodel_builder.hxx.

Member Typedef Documentation

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

Definition at line 112 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef ExplicitFunction<ValueType,IndexType,LabelType> opengm::SubmodelOptimizer< GM, ACC >::ArrayFunction

Definition at line 123 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef ViewFixVariablesFunction<GM> opengm::SubmodelOptimizer< GM, ACC >::FixFunction

Definition at line 118 of file submodel_builder.hxx.

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

Definition at line 111 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef GraphicalModel<ValueType, typename GM::OperatorType, MergeSubFunctionTypeList,SubSpaceType> opengm::SubmodelOptimizer< GM, ACC >::MergedSubGmType

Definition at line 131 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef meta::TypeListGenerator< ArrayFunction >::type opengm::SubmodelOptimizer< GM, ACC >::MergeSubFunctionTypeList

Definition at line 128 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef PositionAndLabel<IndexType,LabelType> opengm::SubmodelOptimizer< GM, ACC >::PosAndLabel

Definition at line 120 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef std::vector<PosAndLabel> opengm::SubmodelOptimizer< GM, ACC >::PosAndLabelVector

Definition at line 121 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef meta::TypeListGenerator< ViewingFunction,FixFunction >::type opengm::SubmodelOptimizer< GM, ACC >::SubFunctionTypeList

Definition at line 127 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef GraphicalModel<ValueType, typename GM::OperatorType, SubFunctionTypeList,SubSpaceType> opengm::SubmodelOptimizer< GM, ACC >::SubGmType

Definition at line 130 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef opengm::DiscreteSpace<IndexType, LabelType> opengm::SubmodelOptimizer< GM, ACC >::SubSpaceType

Definition at line 126 of file submodel_builder.hxx.

template<class GM , class ACC >
typedef ViewFunction<GM> opengm::SubmodelOptimizer< GM, ACC >::ViewingFunction

Definition at line 119 of file submodel_builder.hxx.

Constructor & Destructor Documentation

template<class GM , class ACC >
opengm::SubmodelOptimizer< GM, ACC >::SubmodelOptimizer ( const GM &  gm)
inline

Definition at line 133 of file submodel_builder.hxx.

Member Function Documentation

template<class GM , class ACC >
template<class INF_TYPE >
void opengm::SubmodelOptimizer< GM, ACC >::buildModelInplace ( INF_TYPE &  infType)
inline

Definition at line 561 of file submodel_builder.hxx.

template<class GM , class ACC >
void opengm::SubmodelOptimizer< GM, ACC >::buildModelOpenGm ( SubGmType subGm)
inline

Definition at line 455 of file submodel_builder.hxx.

+ Here is the call graph for this function:

template<class GM , class ACC >
template<class SOLVER >
bool opengm::SubmodelOptimizer< GM, ACC >::inferSubmodel ( const typename SOLVER::Parameter &  para,
std::vector< LabelType > &  resultArg,
const bool  improving = true,
const bool  warmStart = false 
)
inline

Definition at line 252 of file submodel_builder.hxx.

template<class GM , class ACC >
template<class SOLVER >
bool opengm::SubmodelOptimizer< GM, ACC >::inferSubmodelInplace ( const typename SOLVER::Parameter &  para,
std::vector< LabelType > &  resultArg,
const bool  improving = true,
const bool  warmStart = false 
)
inline

Definition at line 219 of file submodel_builder.hxx.

template<class GM , class ACC >
bool opengm::SubmodelOptimizer< GM, ACC >::inSubmodel ( const IndexType  vi) const
inline

Definition at line 657 of file submodel_builder.hxx.

template<class GM , class ACC >
bool opengm::SubmodelOptimizer< GM, ACC >::mergeFactorsAndInferDp ( std::vector< LabelType > &  resultArg)
inline

Definition at line 287 of file submodel_builder.hxx.

+ Here is the call graph for this function:

template<class GM , class ACC >
void opengm::SubmodelOptimizer< GM, ACC >::reserveGraphicalModel ( SubGmType subGm)
inline

Definition at line 321 of file submodel_builder.hxx.

+ Here is the call graph for this function:

template<class GM , class ACC >
void opengm::SubmodelOptimizer< GM, ACC >::setLabel ( const IndexType  vi,
const LabelType  label 
)
inline

Definition at line 168 of file submodel_builder.hxx.

template<class GM , class ACC >
template<class VI_ITER >
void opengm::SubmodelOptimizer< GM, ACC >::setVariableIndices ( VI_ITER  begin,
VI_ITER  end 
)
inline

Definition at line 175 of file submodel_builder.hxx.

template<class GM , class ACC >
IndexType opengm::SubmodelOptimizer< GM, ACC >::submodelSize ( ) const
inline

Definition at line 661 of file submodel_builder.hxx.

template<class GM , class ACC >
void opengm::SubmodelOptimizer< GM, ACC >::unsetVariableIndices ( )
inline

Definition at line 196 of file submodel_builder.hxx.

Member Data Documentation

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

Definition at line 113 of file submodel_builder.hxx.