oln::topo::inter_pixel::interpixel< I > Class Template Reference

#include <inter-pixel.hh>

Collaboration diagram for oln::topo::inter_pixel::interpixel< I >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef mlc::exact< I >::ret::dpoint_type dpoint_type
typedef mlc::exact< I >::ret::point_type point_type
typedef oln::topo::inter_pixel::node<
I > 
node_type
typedef oln::topo::inter_pixel::fwd_dir_iter<
I::dim > 
fwd_dir_iter_type
typedef oln::topo::inter_pixel::bkd_dir_iter<
I::dim > 
bkd_dir_iter_type
typedef oln::topo::inter_pixel::internal::dir_traits<
I::dim >::ret 
dir_type
typedef oln::topo::inter_pixel::internal::dir_traits<
I::dim > 
dir_traits_type
typedef std::pair< typename
mlc::exact< I >::ret::point_type,
typename oln::topo::inter_pixel::internal::dir_traits<
I::dim >::ret
head_type
typedef oln::mute< I, oln::topo::inter_pixel::node<
I > >::ret 
inter_pixel_type

Public Member Functions

 interpixel (const I &img)
 Construct an inter pixel map of the image img.

const node_type operator[] (const point_type &p) const
head_type folw (const head_type &in) const
std::ostream & print (std::ostream &ostr) const
 Print the inter pixel map.


Static Public Attributes

const dpoint_type neighb_ [4]
const dpoint_type inter_neighb_ [4]

Detailed Description

template<class I>
class oln::topo::inter_pixel::interpixel< I >

Inter pixel class.

This example give the node of the black connected component (bottom left).

#include <ntg/int.hh> #include <oln/basics2d.hh> #include <oln/topo/inter-pixel/inter-pixel.hh> #include <iostream> using namespace oln::topo::inter_pixel; int main() { typedef oln::image2d<ntg::int_u8> img_type; img_type in = oln::load(IMG_IN "test-cmap.pgm"); interpixel<oln::image2d<ntg::int_u8> > ip(in); std::cout << ip << std::endl; // Print: // (5,0): east north south // (5,5): north west south // (7,5): east north west // (10,9): east north west // (10,11): north west south // (11,14): north west south }

Todo:
FIXME: Test the output values in the tests.

Definition at line 75 of file inter-pixel.hh.


Member Function Documentation

template<class I>
head_type oln::topo::inter_pixel::interpixel< I >::folw const head_type &  in  )  const [inline]
 

Todo:
FIXME: add doc.
Precondition:
precondition(data_[in.first].get(in.second) == true)

Definition at line 120 of file inter-pixel.hh.

00121         {
00122           precondition(data_[in.first].get(in.second) == true);
00123 
00124           head_type out = in;
00125 
00126           do
00127             {
00128               out.first += inter_neighb_[out.second];
00129 
00130               if (out.first == in.first || data_[out.first].rank() > 2)
00131                 {
00132                   out.second = dir_traits_type::opposite(out.second);
00133                   break;
00134                 }
00135 
00136               dir_type next = dir_traits_type::next(out.second);
00137               dir_type prev = dir_traits_type::prev(out.second);
00138 
00139               out.second = data_[out.first].get(next) ? next :
00140                 data_[out.first].get(prev) ? prev : out.second;
00141             }
00142           while (out.first != in.first);
00143 
00144           return out;
00145         }

template<class I>
const node_type oln::topo::inter_pixel::interpixel< I >::operator[] const point_type &  p  )  const [inline]
 

Todo:
FIXME: add doc.

Definition at line 110 of file inter-pixel.hh.

00111         {
00112           return data_[p];
00113         }


Member Data Documentation

template<class I>
const mlc::exact< I >::ret::dpoint_type oln::topo::inter_pixel::interpixel< I >::inter_neighb_ [static]
 

Initial value:

 {typename mlc::exact<  I  >::ret::dpoint_type(0,1),
                                                             typename mlc::exact<  I  >::ret::dpoint_type(-1,0),
                                                             typename mlc::exact<  I  >::ret::dpoint_type(0,-1),
                                                             typename mlc::exact<  I  >::ret::dpoint_type(1,0)}

Definition at line 198 of file inter-pixel.hh.

template<class I>
const mlc::exact< I >::ret::dpoint_type oln::topo::inter_pixel::interpixel< I >::neighb_ [static]
 

Initial value:

 {typename mlc::exact<  I  >::ret::dpoint_type(0,0),
                                                       typename mlc::exact<  I  >::ret::dpoint_type(-1,0),
                                                       typename mlc::exact<  I  >::ret::dpoint_type(-1,-1),
                                                       typename mlc::exact<  I  >::ret::dpoint_type(0,-1)}

Definition at line 192 of file inter-pixel.hh.


The documentation for this class was generated from the following file:
Generated on Thu Apr 15 20:17:10 2004 for Olena by doxygen 1.3.6-20040222