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 45 of file permutable_label_fusion_mover.hxx.

Member Typedef Documentation

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

Definition at line 47 of file permutable_label_fusion_mover.hxx.

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

Definition at line 55 of file permutable_label_fusion_mover.hxx.

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

Definition at line 51 of file permutable_label_fusion_mover.hxx.

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

Definition at line 48 of file permutable_label_fusion_mover.hxx.

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

Definition at line 57 of file permutable_label_fusion_mover.hxx.

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

Definition at line 52 of file permutable_label_fusion_mover.hxx.

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

Definition at line 56 of file permutable_label_fusion_mover.hxx.

Constructor & Destructor Documentation

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 73 of file permutable_label_fusion_mover.hxx.

Member Function Documentation

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

Definition at line 101 of file permutable_label_fusion_mover.hxx.

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 111 of file permutable_label_fusion_mover.hxx.

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

Definition at line 126 of file permutable_label_fusion_mover.hxx.

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

Definition at line 136 of file permutable_label_fusion_mover.hxx.

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

Definition at line 130 of file permutable_label_fusion_mover.hxx.

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

get a reference to the merge

Definition at line 122 of file permutable_label_fusion_mover.hxx.

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

Definition at line 95 of file permutable_label_fusion_mover.hxx.

Member Data Documentation

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

Definition at line 140 of file permutable_label_fusion_mover.hxx.

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

Definition at line 141 of file permutable_label_fusion_mover.hxx.

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

Definition at line 49 of file permutable_label_fusion_mover.hxx.

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

Definition at line 143 of file permutable_label_fusion_mover.hxx.

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

Definition at line 142 of file permutable_label_fusion_mover.hxx.

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

Definition at line 144 of file permutable_label_fusion_mover.hxx.