18 #ifndef GRM_GRAPH_OPERATIONS_H
19 #define GRM_GRAPH_OPERATIONS_H
33 template<
class TSegmenter>
40 typedef typename SegmenterType::ImageType
ImageType;
41 typedef typename SegmenterType::GraphType
GraphType;
45 typedef typename GraphType::NodeListType
NodeList;
48 typedef typename GraphType::EdgeListType
EdgeList;
145 const unsigned int width);
205 #include "grmGraphOperations.txx"
GraphType::EdgeType EdgeType
static NodePointerType CheckBF(NodePointerType a, float t)
SegmenterType::ImageType ImageType
GraphType::EdgeIteratorType EdgeIterator
static void UpdateNeighbors(NodePointerType a, NodePointerType b)
GraphType::NodeIteratorType NodeIterator
GraphType::NodePointerType NodePointerType
static bool PerfomAllDitheredIterationsWithBF(SegmenterType &seg)
GraphType::NodeType NodeType
static void UpdateMergingCosts(SegmenterType &seg)
SegmenterType::GraphType GraphType
static NodePointerType CheckLMBF(NodePointerType, float t)
static void RemoveExpiredNodes(GraphType &graph)
static bool PerfomOneDitheredIterationWithBF(SegmenterType &seg)
static void InitNodes(ImageType *inputImg, SegmenterType &seg, CONNECTIVITY mask)
static bool PerfomAllIterationsWithLMBFAndConstThreshold(SegmenterType &seg)
GraphType::NodeListType NodeList
static void ComputeMergingCostsUsingDither(NodePointerType r, SegmenterType &seg)
GraphType::EdgeConstIteratorType EdgeConstIterator
static EdgeIterator FindEdge(NodePointerType n, NodePointerType target)
GraphType::EdgeListType EdgeList
static bool PerfomOneIterationWithLMBF(SegmenterType &seg)
GraphType::NodeConstIteratorType NodeConstIterator
static void UpdateInternalAttributes(NodePointerType a, NodePointerType b, const unsigned int width)