andres::graph
Classes | Functions
andres::graph::multicut Namespace Reference

Classes

struct  Settings

Functions

template<typename GRAPH , typename EVA , typename ELA >
void greedyAdditiveEdgeContraction (const GRAPH &graph, EVA const &edge_values, ELA &edge_labels)
 Greedy agglomerative decomposition of a graph.
template<typename GRAPH , typename EVA , typename ELA >
void greedyFixation (const GRAPH &graph, EVA const &edge_values, ELA &edge_labels)
 Greedy agglomerative decomposition of a graph.
template<typename ILP , typename GRAPH , typename ECA , typename ELA , typename VIS >
void ilp (const GRAPH &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, VIS &visitor, size_t numberOfIterations=std::numeric_limits< size_t >::max())
 Algorithm for the Minimum Cost Multicut Problem.
template<typename ILP , typename GRAPH , typename ECA , typename ELA >
void ilp (const GRAPH &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, size_t numberOfIterations=std::numeric_limits< size_t >::max())
template<typename ILP , typename GRAPH_VISITOR , typename ECA , typename ELA , typename VIS >
void ilp (const CompleteGraph< GRAPH_VISITOR > &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, VIS &visitor, size_t numberOfIterations=std::numeric_limits< size_t >::max())
 Algorithm for the Set Partition Problem.
template<typename ILP , typename GRAPH_VISITOR , typename ECA , typename ELA >
void ilp (const CompleteGraph< GRAPH_VISITOR > &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, size_t numberOfIterations=std::numeric_limits< size_t >::max())
template<typename GRAPH , typename ECA , typename ELA >
void kernighanLin (const GRAPH &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, const Settings settings=Settings())
template<typename GRAPH , typename ECA , typename ELA , typename VIS >
void kernighanLin (const GRAPH &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, VIS &visitor, const Settings settings=Settings())
template<typename GraphVisitor , typename ECA , typename ELA >
void kernighanLin (const CompleteGraph< GraphVisitor > &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, const Settings settings=Settings())
template<typename GraphVisitor , typename ECA , typename ELA , typename VIS >
void kernighanLin (const CompleteGraph< GraphVisitor > &graph, const ECA &edgeCosts, const ELA &inputLabels, ELA &outputLabels, VIS &visitor, const Settings settings=Settings())
template<typename RELAX , typename GRAPH , typename ECA >
std::vector< double > lp (const GRAPH &graph, const ECA &edgeCosts, std::size_t numberOfIterations=std::numeric_limits< std::size_t >::max())
template<typename RELAX , typename GRAPH , typename ECA , typename VIS >
std::vector< double > lp (const GRAPH &graph, const ECA &edgeCosts, VIS &visitor, std::size_t numberOfIterations=std::numeric_limits< std::size_t >::max())

Function Documentation

template<typename GRAPH , typename EVA , typename ELA >
void andres::graph::multicut::greedyAdditiveEdgeContraction ( const GRAPH &  graph,
EVA const &  edge_values,
ELA &  edge_labels 
)

Greedy agglomerative decomposition of a graph.

Definition at line 22 of file greedy-additive.hxx.

template<typename GRAPH , typename EVA , typename ELA >
void andres::graph::multicut::greedyFixation ( const GRAPH &  graph,
EVA const &  edge_values,
ELA &  edge_labels 
)

Greedy agglomerative decomposition of a graph.

Definition at line 21 of file greedy-fixation.hxx.

template<typename ILP , typename GRAPH , typename ECA , typename ELA , typename VIS >
void andres::graph::multicut::ilp ( const GRAPH &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
VIS &  visitor,
size_t  numberOfIterations = std::numeric_limits<size_t>::max() 
)
inline

Algorithm for the Minimum Cost Multicut Problem.

A variant of the algorithm proposed in

Andres B., Kroeger T., Briggman K. L., Denk W., Korogod N., Knott G., Koethe U. and Hamprecht F. A. Globally Optimal Closed-surface Segmentation for Connectomics. ECCV 2012. http://dx.doi.org/10.1007/978-3-642-33712-3_56

Definition at line 33 of file ilp.hxx.

template<typename ILP , typename GRAPH , typename ECA , typename ELA >
void andres::graph::multicut::ilp ( const GRAPH &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
size_t  numberOfIterations = std::numeric_limits<size_t>::max() 
)
inline

Definition at line 142 of file ilp.hxx.

template<typename ILP , typename GRAPH_VISITOR , typename ECA , typename ELA , typename VIS >
void andres::graph::multicut::ilp ( const CompleteGraph< GRAPH_VISITOR > &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
VIS &  visitor,
size_t  numberOfIterations = std::numeric_limits<size_t>::max() 
)
inline

Algorithm for the Set Partition Problem.

The Set Partition Problem is the Minimum Cost Multicut Problem for complete graphs.

Definition at line 165 of file ilp.hxx.

template<typename ILP , typename GRAPH_VISITOR , typename ECA , typename ELA >
void andres::graph::multicut::ilp ( const CompleteGraph< GRAPH_VISITOR > &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
size_t  numberOfIterations = std::numeric_limits<size_t>::max() 
)
inline

Definition at line 267 of file ilp.hxx.

template<typename GRAPH , typename ECA , typename ELA >
void andres::graph::multicut::kernighanLin ( const GRAPH &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
const Settings  settings = Settings() 
)
inline

Definition at line 30 of file multicut/kernighan-lin.hxx.

template<typename GRAPH , typename ECA , typename ELA , typename VIS >
void andres::graph::multicut::kernighanLin ( const GRAPH &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
VIS &  visitor,
const Settings  settings = Settings() 
)
inline

Definition at line 45 of file multicut/kernighan-lin.hxx.

template<typename GraphVisitor , typename ECA , typename ELA >
void andres::graph::multicut::kernighanLin ( const CompleteGraph< GraphVisitor > &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
const Settings  settings = Settings() 
)
inline

Definition at line 282 of file multicut/kernighan-lin.hxx.

template<typename GraphVisitor , typename ECA , typename ELA , typename VIS >
void andres::graph::multicut::kernighanLin ( const CompleteGraph< GraphVisitor > &  graph,
const ECA &  edgeCosts,
const ELA &  inputLabels,
ELA &  outputLabels,
VIS &  visitor,
const Settings  settings = Settings() 
)
inline

Definition at line 297 of file multicut/kernighan-lin.hxx.

template<typename RELAX , typename GRAPH , typename ECA >
std::vector<double> andres::graph::multicut::lp ( const GRAPH &  graph,
const ECA &  edgeCosts,
std::size_t  numberOfIterations = std::numeric_limits<std::size_t>::max() 
)
inline

Definition at line 22 of file lp.hxx.

template<typename RELAX , typename GRAPH , typename ECA , typename VIS >
std::vector<double> andres::graph::multicut::lp ( const GRAPH &  graph,
const ECA &  edgeCosts,
VIS &  visitor,
std::size_t  numberOfIterations = std::numeric_limits<std::size_t>::max() 
)
inline

Definition at line 37 of file lp.hxx.