#include <tarjan.hh>
Inheritance diagram for oln::topo::tarjan::abstract::tarjan< Exact >:
Public Types | |
typedef oln::topo::tarjan::tarjan_traits< Exact >::input_type | input_type |
Type of input image. | |
typedef oln::topo::tarjan::tarjan_traits< Exact >::output_type | image_out_type |
Type of output image. | |
typedef mlc::exact< image_out_type >::ret::value_type | comp_type |
Type of components. | |
typedef mlc::exact< input_type >::ret::point_type | point_type |
Point type of image to process. | |
Public Member Functions | |
template<class N> image_out_type | get_compute (const oln::abstract::neighborhood< N > &Ng) |
Run the algorithm. | |
comp_type | ncomps () const |
Give the number of component found. | |
Protected Member Functions | |
std::vector< point_type > | get_processing_order () |
Abstract method to get the processing order. | |
void | mark_set (const point_type &x) |
Mark a point as a new component. | |
void | uni (const point_type &n, const point_type &p) |
Perform an union between two components. | |
bool | is_proc (const point_type &p) const |
tell if a point has already been processed. | |
tarjan () | |
Make the class abstract. |
I | Type of image to process. |
D | Type of data of the wanted image. |
Exact | Exact type of the class. |
Definition at line 63 of file tarjan.hh.
|
Run the algorithm.
Definition at line 79 of file tarjan.hh.
00080 { 00081 mlc_dispatch(get_compute)(Ng); 00082 } |
|
Abstract method to get the processing order.
Definition at line 103 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00104 { 00105 mlc_dispatch(get_processing_order)(); 00106 } |
|
tell if a point has already been processed.
Definition at line 139 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00140 { 00141 mlc_dispatch(is_proc)(p); 00142 }; |
|
Mark a point as a new component.
Definition at line 115 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00116 { 00117 mlc_dispatch(mark_set)(x); 00118 } |
|
Give the number of component found.
Definition at line 90 of file tarjan.hh.
00091 { 00092 mlc_dispatch(ncomps)(); 00093 } |
|
Perform an union between two components.
Definition at line 127 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00128 { 00129 mlc_dispatch(uni)(n, p); 00130 } |