trws_base::MaxSumTRWS< GM, ACC > Class Template Reference

#include <trws_base.hxx>

Inheritance diagram for trws_base::MaxSumTRWS< GM, ACC >:
Inheritance graph
[legend]
Collaboration diagram for trws_base::MaxSumTRWS< GM, ACC >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef TRWSPrototype
< MaxSumSolver< GM, ACC,
typename std::vector< typename
GM::ValueType >
::const_iterator > > 
parent
typedef parent::SubSolverType SubSolver
typedef
parent::const_marginals_iterators_pair 
const_marginals_iterators_pair
typedef parent::ValueType ValueType
typedef parent::IndexType IndexType
typedef parent::LabelType LabelType
typedef
parent::InferenceTermination 
InferenceTermination
typedef parent::EmptyVisitorType EmptyVisitorType
typedef parent::UnaryFactor UnaryFactor
typedef ACC AccumulationType
typedef GM GraphicalModelType
typedef parent::OutputContainerType OutputContainerType
typedef SequenceStorage< GMSubModel
typedef DecompositionStorage< GMStorage
typedef MaxSumTRWS_Parameters
< ValueType
Parameters

Public Member Functions

 MaxSumTRWS (Storage &storage, const Parameters &params)
 ~MaxSumTRWS ()
void getTreeAgreement (std::vector< bool > &out, std::vector< LabelType > *plabeling=0)
bool CheckTreeAgreement (InferenceTermination *pterminationCode)

Protected Member Functions

void _SumUpForwardMarginals (std::vector< ValueType > *pout, const_marginals_iterators_pair itpair)
void _postprocessMarginals (typename std::vector< ValueType >::iterator begin, typename std::vector< ValueType >::iterator end)
void _normalizeMarginals (typename std::vector< ValueType >::iterator begin, typename std::vector< ValueType >::iterator end, SubSolver *subSolver)
void _InitMove ()
void _EstimateTRWSBound ()
bool _CheckStoppingCondition (InferenceTermination *pterminationCode)

Protected Attributes

bool _canonicalNormalization
ValueType _pseudoBoundValue
size_t _localConsistencyCounter
std::vector< bool_treeAgree
std::vector< bool_mask
std::vector< bool_nodeMask

Detailed Description

template<class GM, class ACC>
class trws_base::MaxSumTRWS< GM, ACC >

Definition at line 392 of file trws_base.hxx.


Member Typedef Documentation

template<class GM , class ACC >
typedef ACC trws_base::MaxSumTRWS< GM, ACC >::AccumulationType
template<class GM , class ACC >
typedef parent::EmptyVisitorType trws_base::MaxSumTRWS< GM, ACC >::EmptyVisitorType
template<class GM , class ACC >
typedef GM trws_base::MaxSumTRWS< GM, ACC >::GraphicalModelType
template<class GM , class ACC >
typedef parent::IndexType trws_base::MaxSumTRWS< GM, ACC >::IndexType
template<class GM , class ACC >
typedef parent::InferenceTermination trws_base::MaxSumTRWS< GM, ACC >::InferenceTermination
template<class GM , class ACC >
typedef parent::LabelType trws_base::MaxSumTRWS< GM, ACC >::LabelType
template<class GM , class ACC >
typedef parent::OutputContainerType trws_base::MaxSumTRWS< GM, ACC >::OutputContainerType
template<class GM , class ACC >
typedef MaxSumTRWS_Parameters<ValueType> trws_base::MaxSumTRWS< GM, ACC >::Parameters
template<class GM , class ACC >
typedef TRWSPrototype<MaxSumSolver<GM,ACC,typename std::vector<typename GM::ValueType>::const_iterator> > trws_base::MaxSumTRWS< GM, ACC >::parent

Definition at line 395 of file trws_base.hxx.

template<class GM , class ACC >
typedef DecompositionStorage<GM> trws_base::MaxSumTRWS< GM, ACC >::Storage
template<class GM , class ACC >
typedef SequenceStorage<GM> trws_base::MaxSumTRWS< GM, ACC >::SubModel
template<class GM , class ACC >
typedef parent::SubSolverType trws_base::MaxSumTRWS< GM, ACC >::SubSolver

Definition at line 397 of file trws_base.hxx.

template<class GM , class ACC >
typedef parent::UnaryFactor trws_base::MaxSumTRWS< GM, ACC >::UnaryFactor
template<class GM , class ACC >
typedef parent::ValueType trws_base::MaxSumTRWS< GM, ACC >::ValueType

Constructor & Destructor Documentation

template<class GM , class ACC >
trws_base::MaxSumTRWS< GM, ACC >::MaxSumTRWS ( Storage storage,
const Parameters params 
) [inline]

Definition at line 414 of file trws_base.hxx.

template<class GM , class ACC >
trws_base::MaxSumTRWS< GM, ACC >::~MaxSumTRWS (  )  [inline]

Definition at line 428 of file trws_base.hxx.


Member Function Documentation

template<class GM , class ACC >
bool trws_base::MaxSumTRWS< GM, ACC >::_CheckStoppingCondition ( InferenceTermination pterminationCode  )  [inline, protected, virtual]

Reimplemented from trws_base::TRWSPrototype< MaxSumSolver< GM, ACC, std::vector< GM::ValueType >::const_iterator > >.

Definition at line 1014 of file trws_base.hxx.

Here is the call graph for this function:

template<class GM , class ACC >
void trws_base::MaxSumTRWS< GM, ACC >::_EstimateTRWSBound (  )  [inline, protected, virtual]
template<class GM , class ACC >
void trws_base::MaxSumTRWS< GM, ACC >::_InitMove (  )  [inline, protected, virtual]

< calling ->InitMove() for each element of the container

Implements trws_base::TRWSPrototype< MaxSumSolver< GM, ACC, std::vector< GM::ValueType >::const_iterator > >.

Definition at line 915 of file trws_base.hxx.

template<class GM , class ACC >
void trws_base::MaxSumTRWS< GM, ACC >::_normalizeMarginals ( typename std::vector< ValueType >::iterator  begin,
typename std::vector< ValueType >::iterator  end,
SubSolver subSolver 
) [inline, protected]

Definition at line 952 of file trws_base.hxx.

Here is the call graph for this function:

template<class GM , class ACC >
void trws_base::MaxSumTRWS< GM, ACC >::_postprocessMarginals ( typename std::vector< ValueType >::iterator  begin,
typename std::vector< ValueType >::iterator  end 
) [inline, protected]

Definition at line 922 of file trws_base.hxx.

Here is the call graph for this function:

template<class GM , class ACC >
void trws_base::MaxSumTRWS< GM, ACC >::_SumUpForwardMarginals ( std::vector< ValueType > *  pout,
const_marginals_iterators_pair  itpair 
) [inline, protected]

Definition at line 928 of file trws_base.hxx.

template<class GM , class ACC >
bool trws_base::MaxSumTRWS< GM, ACC >::CheckTreeAgreement ( InferenceTermination pterminationCode  )  [inline]

Definition at line 993 of file trws_base.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class GM , class ACC >
void trws_base::MaxSumTRWS< GM, ACC >::getTreeAgreement ( std::vector< bool > &  out,
std::vector< LabelType > *  plabeling = 0 
) [inline]

Definition at line 960 of file trws_base.hxx.

Here is the caller graph for this function:


Member Data Documentation

template<class GM , class ACC >
bool trws_base::MaxSumTRWS< GM, ACC >::_canonicalNormalization [protected]

Definition at line 440 of file trws_base.hxx.

template<class GM , class ACC >
size_t trws_base::MaxSumTRWS< GM, ACC >::_localConsistencyCounter [protected]

Definition at line 442 of file trws_base.hxx.

template<class GM , class ACC >
std::vector<bool> trws_base::MaxSumTRWS< GM, ACC >::_mask [protected]

Definition at line 447 of file trws_base.hxx.

template<class GM , class ACC >
std::vector<bool> trws_base::MaxSumTRWS< GM, ACC >::_nodeMask [protected]

Definition at line 448 of file trws_base.hxx.

template<class GM , class ACC >
ValueType trws_base::MaxSumTRWS< GM, ACC >::_pseudoBoundValue [protected]

Definition at line 441 of file trws_base.hxx.

template<class GM , class ACC >
std::vector<bool> trws_base::MaxSumTRWS< GM, ACC >::_treeAgree [protected]

Definition at line 446 of file trws_base.hxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Mon Jun 17 16:31:13 2013 for OpenGM by  doxygen 1.6.3