Classes | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes

mln::morpho::watershed::topo_wst< I, N > Struct Template Reference

#include <topological.hh>

List of all members.

Classes

struct  node

Public Types

typedef I image_t
typedef N neighborhood_t
typedef I::site site

Public Member Functions

void go ()
site lca (site a, site b)
 topo_wst (const Image< I > &i, const Neighborhood< N > &n)

Public Attributes

const I & ima
const N & nbh
mln::trait::ch_value< I, node >
::ret 
nodes
mln::trait::ch_value< I, site >
::ret 
Par_node
mln::trait::ch_value< I, site >
::ret 
Par_tree
mln::trait::ch_value< I, int >::ret Rnk_node
mln::trait::ch_value< I, int >::ret Rnk_tree
site Root
mln::trait::ch_value< I, site >
::ret 
subtreeRoot

Private Member Functions

void build_euler_tour ()
void build_euler_tour_rec (site p, int &position, int d)
void build_minim ()
void BuildComponentTree ()
void compressTree ()
void compute_ctree_size (site p)
site Find_node (site x)
site Find_tree (site x)
bool highest_fork (p_set< site > &components, site &r)
bool highest_fork (p_set< site > &components)
site Link_node (site x, site y)
site Link_tree (site x, site y)
node MakeNode (int level)
void MakeSet_node (site x)
void MakeSet_tree (site x)
site max (p_set< site > &components)
site MergeNode (site &node1, site &node2)
site min (p_set< site > &components)
void removeOneSonNodes (site *p, mln::trait::ch_value< I, site >::ret &newPar_node)

Private Attributes

int ctree_size
int * depth
int * euler
mln::trait::ch_value< I, bool >
::ret 
isproc
int ** Minim
int * minim
std::map< site, int,
mln::util::ord< site > > 
pos
siterepr

Detailed Description

template<class I, class N>
struct mln::morpho::watershed::topo_wst< I, N >

Definition at line 101 of file topological.hh.


Member Typedef Documentation

template<class I, class N>
typedef I mln::morpho::watershed::topo_wst< I, N >::image_t

Definition at line 106 of file topological.hh.

template<class I, class N>
typedef N mln::morpho::watershed::topo_wst< I, N >::neighborhood_t

Definition at line 107 of file topological.hh.

template<class I, class N>
typedef I ::site mln::morpho::watershed::topo_wst< I, N >::site

Definition at line 105 of file topological.hh.


Constructor & Destructor Documentation

template<class I, class N>
mln::morpho::watershed::topo_wst< I, N >::topo_wst ( const Image< I > &  i,
const Neighborhood< N > &  n 
)

Definition at line 217 of file topological.hh.

References mln::initialize().


Member Function Documentation

template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::build_euler_tour (  )  [private]
template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::build_euler_tour_rec ( site  p,
int &  position,
int  d 
) [private]
template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::build_minim (  )  [private]

Definition at line 507 of file topological.hh.

Referenced by mln::morpho::watershed::topo_wst< I, N >::go().

template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::BuildComponentTree (  )  [private]
template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::compressTree (  )  [private]
template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::compute_ctree_size ( site  p  )  [private]
template<class I , class N >
topo_wst< I, N >::site mln::morpho::watershed::topo_wst< I, N >::Find_node ( site  x  )  [private]
template<class I , class N >
topo_wst< I, N >::site mln::morpho::watershed::topo_wst< I, N >::Find_tree ( site  x  )  [private]
template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::go (  ) 
template<class I , class N >
bool mln::morpho::watershed::topo_wst< I, N >::highest_fork ( p_set< site > &  components  )  [private]

Definition at line 435 of file topological.hh.

template<class I , class N >
bool mln::morpho::watershed::topo_wst< I, N >::highest_fork ( p_set< site > &  components,
site r 
) [private]
template<class I , class N >
topo_wst< I, N >::site mln::morpho::watershed::topo_wst< I, N >::lca ( site  a,
site  b 
)
template<class I , class N >
topo_wst< I, N >::site mln::morpho::watershed::topo_wst< I, N >::Link_node ( site  x,
site  y 
) [private]
template<class I , class N >
topo_wst< I, N >::site mln::morpho::watershed::topo_wst< I, N >::Link_tree ( site  x,
site  y 
) [private]
template<class I , class N >
topo_wst< I, N >::node mln::morpho::watershed::topo_wst< I, N >::MakeNode ( int  level  )  [private]
template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::MakeSet_node ( site  x  )  [private]
template<class I , class N >
void mln::morpho::watershed::topo_wst< I, N >::MakeSet_tree ( site  x  )  [private]
template<class I, class N>
site mln::morpho::watershed::topo_wst< I, N >::max ( p_set< site > &  components  )  [private]
template<class I , class N >
topo_wst< I, N >::site mln::morpho::watershed::topo_wst< I, N >::MergeNode ( site node1,
site node2 
) [private]
template<class I, class N>
site mln::morpho::watershed::topo_wst< I, N >::min ( p_set< site > &  components  )  [private]
template<class I, class N >
void mln::morpho::watershed::topo_wst< I, N >::removeOneSonNodes ( site p,
mln::trait::ch_value< I, site >::ret newPar_node 
) [private]

Member Data Documentation

template<class I, class N>
int mln::morpho::watershed::topo_wst< I, N >::ctree_size [private]

Definition at line 191 of file topological.hh.

template<class I, class N>
int* mln::morpho::watershed::topo_wst< I, N >::depth [private]

Definition at line 190 of file topological.hh.

template<class I, class N>
int* mln::morpho::watershed::topo_wst< I, N >::euler [private]

Definition at line 189 of file topological.hh.

template<class I, class N>
const I& mln::morpho::watershed::topo_wst< I, N >::ima
template<class I, class N>
mln::trait::ch_value< I , bool >::ret mln::morpho::watershed::topo_wst< I, N >::isproc [private]
template<class I, class N>
int* mln::morpho::watershed::topo_wst< I, N >::minim [private]

Definition at line 195 of file topological.hh.

template<class I, class N>
int** mln::morpho::watershed::topo_wst< I, N >::Minim [private]

Definition at line 196 of file topological.hh.

template<class I, class N>
const N& mln::morpho::watershed::topo_wst< I, N >::nbh

Definition at line 172 of file topological.hh.

template<class I, class N>
mln::trait::ch_value< I , node >::ret mln::morpho::watershed::topo_wst< I, N >::nodes
template<class I, class N>
mln::trait::ch_value< I , site >::ret mln::morpho::watershed::topo_wst< I, N >::Par_node
template<class I, class N>
mln::trait::ch_value< I , site >::ret mln::morpho::watershed::topo_wst< I, N >::Par_tree
template<class I, class N>
std::map<site, int, mln::util::ord<site> > mln::morpho::watershed::topo_wst< I, N >::pos [private]

Definition at line 192 of file topological.hh.

template<class I, class N>
site* mln::morpho::watershed::topo_wst< I, N >::repr [private]

Definition at line 193 of file topological.hh.

template<class I, class N>
mln::trait::ch_value< I , int >::ret mln::morpho::watershed::topo_wst< I, N >::Rnk_node
template<class I, class N>
mln::trait::ch_value< I , int >::ret mln::morpho::watershed::topo_wst< I, N >::Rnk_tree
template<class I, class N>
site mln::morpho::watershed::topo_wst< I, N >::Root

Definition at line 148 of file topological.hh.

template<class I, class N>
mln::trait::ch_value< I , site >::ret mln::morpho::watershed::topo_wst< I, N >::subtreeRoot