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

#include <permutable_label_fusion_mover.hxx>

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

Classes

struct  Parameter
 

Public Types

typedef ACC AccumulationType
 
typedef GM GraphicalModelType
 
typedef vigra::AdjacencyListGraph Graph
 
typedef vigra::MergeGraphAdaptor< GraphMergeGraph
 
typedef MergeGraph::Edge Edge
 
typedef ValueType WeightType
 
typedef IndexType index_type
 

Public Member Functions

 McClusterOp (const Graph &graph, MergeGraph &mergegraph, const Parameter &param, std::vector< ValueType > &weights)
 
void reset ()
 
Edge contractionEdge ()
 
WeightType contractionWeight ()
 get the edge weight of the edge which should be contracted next More...
 
MergeGraphmergeGraph ()
 get a reference to the merge More...
 
bool done () const
 
void mergeEdges (const Edge &a, const Edge &b)
 
void eraseEdge (const Edge &edge)
 

Public Attributes

 OPENGM_GM_TYPE_TYPEDEFS
 
const Graphgraph_
 
MergeGraphmergeGraph_
 
vigra::ChangeablePriorityQueue< ValueType,std::greater< ValueType > > pq_
 
Parameter param_
 
std::vector< ValueType > & weights_
 

Detailed Description

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

Definition at line 48 of file permutable_label_fusion_mover.hxx.

Member Typedef Documentation

§ AccumulationType

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

Definition at line 50 of file permutable_label_fusion_mover.hxx.

§ Edge

template<class GM , class ACC >
typedef MergeGraph::Edge opengm::McClusterOp< GM, ACC >::Edge

Definition at line 58 of file permutable_label_fusion_mover.hxx.

§ Graph

template<class GM , class ACC >
typedef vigra::AdjacencyListGraph opengm::McClusterOp< GM, ACC >::Graph

Definition at line 54 of file permutable_label_fusion_mover.hxx.

§ GraphicalModelType

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

Definition at line 51 of file permutable_label_fusion_mover.hxx.

§ index_type

template<class GM , class ACC >
typedef IndexType opengm::McClusterOp< GM, ACC >::index_type

Definition at line 60 of file permutable_label_fusion_mover.hxx.

§ MergeGraph

template<class GM , class ACC >
typedef vigra::MergeGraphAdaptor< Graph > opengm::McClusterOp< GM, ACC >::MergeGraph

Definition at line 55 of file permutable_label_fusion_mover.hxx.

§ WeightType

template<class GM , class ACC >
typedef ValueType opengm::McClusterOp< GM, ACC >::WeightType

Definition at line 59 of file permutable_label_fusion_mover.hxx.

Constructor & Destructor Documentation

§ McClusterOp()

template<class GM , class ACC >
opengm::McClusterOp< GM, ACC >::McClusterOp ( const Graph graph,
MergeGraph mergegraph,
const Parameter param,
std::vector< ValueType > &  weights 
)
inline

Definition at line 76 of file permutable_label_fusion_mover.hxx.

Member Function Documentation

§ contractionEdge()

template<class GM , class ACC >
Edge opengm::McClusterOp< GM, ACC >::contractionEdge ( )
inline

Definition at line 104 of file permutable_label_fusion_mover.hxx.

§ contractionWeight()

template<class GM , class ACC >
WeightType opengm::McClusterOp< GM, ACC >::contractionWeight ( )
inline

get the edge weight of the edge which should be contracted next

Definition at line 114 of file permutable_label_fusion_mover.hxx.

§ done()

template<class GM , class ACC >
bool opengm::McClusterOp< GM, ACC >::done ( ) const
inline

Definition at line 129 of file permutable_label_fusion_mover.hxx.

§ eraseEdge()

template<class GM , class ACC >
void opengm::McClusterOp< GM, ACC >::eraseEdge ( const Edge edge)
inline

Definition at line 139 of file permutable_label_fusion_mover.hxx.

§ mergeEdges()

template<class GM , class ACC >
void opengm::McClusterOp< GM, ACC >::mergeEdges ( const Edge a,
const Edge b 
)
inline

Definition at line 133 of file permutable_label_fusion_mover.hxx.

§ mergeGraph()

template<class GM , class ACC >
MergeGraph& opengm::McClusterOp< GM, ACC >::mergeGraph ( )
inline

get a reference to the merge

Definition at line 125 of file permutable_label_fusion_mover.hxx.

§ reset()

template<class GM , class ACC >
void opengm::McClusterOp< GM, ACC >::reset ( )
inline

Definition at line 98 of file permutable_label_fusion_mover.hxx.

Member Data Documentation

§ graph_

template<class GM , class ACC >
const Graph& opengm::McClusterOp< GM, ACC >::graph_

Definition at line 143 of file permutable_label_fusion_mover.hxx.

§ mergeGraph_

template<class GM , class ACC >
MergeGraph& opengm::McClusterOp< GM, ACC >::mergeGraph_

Definition at line 144 of file permutable_label_fusion_mover.hxx.

§ OPENGM_GM_TYPE_TYPEDEFS

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

Definition at line 52 of file permutable_label_fusion_mover.hxx.

§ param_

template<class GM , class ACC >
Parameter opengm::McClusterOp< GM, ACC >::param_

Definition at line 146 of file permutable_label_fusion_mover.hxx.

§ pq_

template<class GM , class ACC >
vigra::ChangeablePriorityQueue< ValueType ,std::greater<ValueType> > opengm::McClusterOp< GM, ACC >::pq_

Definition at line 145 of file permutable_label_fusion_mover.hxx.

§ weights_

template<class GM , class ACC >
std::vector<ValueType>& opengm::McClusterOp< GM, ACC >::weights_

Definition at line 147 of file permutable_label_fusion_mover.hxx.