Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
RAGC::AddNode(int)
RAGC::AddNode(NodeT)
RAGC::GetNodes(int,GraphNodeIterC &,int,GraphNodeIterC &,int,GraphNodeIterC &)
RAGC::Connect(GraphNodeIterC &,GraphNodeIterC &)
RAGC::AddEdgel(GraphEdgeIterC &,PixelC,CrackCodeT)
RAGC::RAGC(void)
RAGC::RAGC(const RAGC &)
RAGC::ConstructGraph(const ImgT &)
RAGC::ConstructGraph(const DListC &,const ImgT &)
RAGC::MergeNodes(GraphNodeIterC &,GraphNodeIterC &)
RAGC::SplitNode(GraphNodeIterC &,const IntImageC &)
RAGC::AddRAGBoundary(const BoundaryC &)
RAGC::ConstructSegmap(const ImageRectangleC &)
RAGC::ShowEdgels(const ImageRectangleC &)
RAGC::RemoveRAGBoundary(void)
RAGC::GetRAGBoundary(void)
RAGC::Merge(MergeCritT &)
RAGC::Base(void)
RAGC::InsNode(const NodeT &)
RAGC::InsEdge(GraphNodeIterC &,GraphNodeIterC &,const EdgeT &)
RAGC::GetNode(int)
RAGC::DebugPrint(ostream &) const
RAGC::DebugNodes(void) const
RAGC<class NodeT,class EdgeT,class ImgT>
 
Class to construct a region adjacency graph from a segmentation map; label 0 is reserved for outer region which is not of interest.
 
include "amma/RAG/RAG.hh"
User Level:Default
Library:Mrag
Example:exRAG.cc
Section:Image.Image Processing.Region Adjacency Graph
In Scope:std

Comments:
Class to construct a region adjacency graph from a segmentation map; label 0 is reserved for outer region which is not of interest. ImgT can be of type ByteImageC or IntImageC (unfortunately cannot be ImageC).

Variables:
GraphTC rag;

Methods:
GraphNodeIterC<NodeT,EdgeT> AddNode(int cur_id)

GraphNodeIterC<NodeT,EdgeT> AddNode(NodeT node)

int GetNodes(int cur_id,GraphNodeIterC<NodeT,EdgeT> & cur_nod,int top_id,GraphNodeIterC<NodeT,EdgeT> & top_nod,int left_id,GraphNodeIterC<NodeT,EdgeT> & left_nod)
find the nodes of the current top and left pixels

GraphEdgeIterC<NodeT,EdgeT> Connect(GraphNodeIterC<NodeT,EdgeT> & fst_nod,GraphNodeIterC<NodeT,EdgeT> & sec_nod)

void AddEdgel(GraphEdgeIterC<NodeT,EdgeT> & cur_edg,PixelC pixel,CrackCodeT dir)

RAGC()
Default constructor.

RAGC(const RAGC & rag)
Copy constructor.

void ConstructGraph(const ImgT & in)
Build the region adjacency graph

void ConstructGraph(const DListC<NodeT> & nodes,const ImgT & in)
Build the region adjacency graph from existing nodes and adjacency map

void MergeNodes(GraphNodeIterC<NodeT,EdgeT> & fst_nod,GraphNodeIterC<NodeT,EdgeT> & sec_nod)
must be able to define merge operation for all types of nodes and edges

void SplitNode(GraphNodeIterC<NodeT,EdgeT> & nod,const IntImageC & segmap)

void AddRAGBoundary(const BoundaryC & bnd)
Add a boundary between the region represented by the graph and the outer world. 'bnd' must be an ordered boundary (see BoundaryC class). The outer node must already be present in the graph

IntImageC ConstructSegmap(const ImageRectangleC & rect)
Returns the segmentation map

ByteImageC ShowEdgels(const ImageRectangleC & rect)
Returns an image of the boundaries in this RAG for visualization purposes. The resulting image will be larger than rect by one pixel on each side.

void RemoveRAGBoundary()
Remove all the edges to the outer node

BoundaryC GetRAGBoundary()
Remove all the edges to the outer node

DListC<PairC<IntT>> Merge(MergeCritT & mrg_crit)
Merge some nodes

GraphTC<NodeT,EdgeT> & Base()
Returns the graph

GraphNodeIterC<NodeT,EdgeT> InsNode(const NodeT & Dat)
Returns a pointer to the inserted node; if the node was already present, it is not inserted

GraphEdgeIterC<NodeT,EdgeT> InsEdge(GraphNodeIterC<NodeT,EdgeT> & fromNode,GraphNodeIterC<NodeT,EdgeT> & toNode,const EdgeT & Dat)

GraphNodeIterC<NodeT,EdgeT> GetNode(int id)
Returns a pointer to the node id

void DebugPrint(ostream & os) const
Print the graph

void DebugNodes() const
Print the graph


Programmer:Author's Name, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001