#include <image.hh>
Inheritance diagram for oln::abstract::image< Exact >:
Public Types | |
typedef image_traits< Exact >::point_type | point_type |
typedef image_traits< Exact >::dpoint_type | dpoint_type |
typedef image_traits< Exact >::iter_type | iter_type |
typedef image_traits< Exact >::fwd_iter_type | fwd_iter_type |
typedef image_traits< Exact >::bkd_iter_type | bkd_iter_type |
typedef image_traits< Exact >::value_type | value_type |
typedef image_traits< Exact >::size_type | size_type |
typedef image_traits< Exact >::impl_type | impl_type |
typedef image< Exact > | self_type |
typedef Exact | exact_type |
enum | { dim = image_traits<Exact>::dim } |
Public Member Functions | |
const value_type | operator[] (const abstract::point< point_type > &p) const |
Return a reference to the value stored at p in the current image. | |
value_type & | operator[] (const abstract::point< point_type > &p) |
Return the value stored stored at p in the current image. | |
bool | has_impl () const |
Indicate if the image can be processed. | |
exact_type | clone () const |
Clone the image, all the points are duplicated. | |
bool | hold (const abstract::point< point_type > &p) const |
Test if the point p belong to the image. | |
const size_type | size () const |
Return a reference to the image size. | |
coord | border () const |
Return the value of the border width. | |
size_t | npoints () const |
Return the total number of points in the current image. | |
exact_type & | operator= (self_type rhs) |
Perform a shallow copy from rhs to the current image, the points are not duplicated but shared between the two images. | |
void | border_set_width (coord new_border, bool copy_border=false) const |
Set the width of the border to perform operations on the image sides. | |
void | border_adapt_width (coord min_border, bool copy_border=false) const |
Adapt the border if min_border is less or equal to the current border value. | |
void | border_adapt_copy (coord min_border) const |
The border points will have the same value as the nearer real point of the image. | |
void | border_adapt_mirror (coord min_border) const |
The border points value are set according to the value of the points on the image sides. | |
void | border_adapt_assign (coord min_border, value_type val) const |
The border points value will be equal to the val parameters. | |
Static Public Member Functions | |
std::string | name () |
Protected Member Functions | |
image (self_type &rhs) |
Definition at line 82 of file core/abstract/image.hh.
|
Backward iterator type. Reimplemented in oln::abstract::image_with_dim< 1, Exact >, oln::abstract::image_with_dim< 2, Exact >, and oln::abstract::image_with_dim< 3, Exact >. Definition at line 106 of file core/abstract/image.hh. |
|
Prefer the macro oln_dpoint_type(I) to retrieve the dpoint_type of an image.
Reimplemented in oln::abstract::image_with_dim< 1, Exact >, oln::abstract::image_with_dim< 2, Exact >, and oln::abstract::image_with_dim< 3, Exact >. Definition at line 92 of file core/abstract/image.hh. |
|
Forward iterator type. Reimplemented in oln::abstract::image_with_dim< 1, Exact >, oln::abstract::image_with_dim< 2, Exact >, and oln::abstract::image_with_dim< 3, Exact >. Definition at line 104 of file core/abstract/image.hh. |
|
Underlying implementation. Definition at line 117 of file core/abstract/image.hh. |
|
Prefer the macro oln_iter_type(I) to retrieve the iter_type of an image
Reimplemented in oln::abstract::image_with_dim< 1, Exact >, oln::abstract::image_with_dim< 2, Exact >, and oln::abstract::image_with_dim< 3, Exact >. Definition at line 98 of file core/abstract/image.hh. |
|
Prefer the macro oln_point_type(I) to retrieve the point_type of an image.
Reimplemented in oln::abstract::image_with_dim< 1, Exact >, oln::abstract::image_with_dim< 2, Exact >, and oln::abstract::image_with_dim< 3, Exact >. Definition at line 86 of file core/abstract/image.hh. |
|
Indicate how the image size is handled.
Reimplemented in oln::abstract::image_with_dim< 1, Exact >, oln::abstract::image_with_dim< 2, Exact >, and oln::abstract::image_with_dim< 3, Exact >. Definition at line 112 of file core/abstract/image.hh. |
|
Prefer the macro oln_value_type(I) to retrieve the value_type of an image. Reimplemented in oln::abstract::image_with_dim< 1, Exact >, oln::abstract::image_with_dim< 2, Exact >, and oln::abstract::image_with_dim< 3, Exact >. Definition at line 108 of file core/abstract/image.hh. |
|
The border points value will be equal to the val parameters.
Definition at line 321 of file core/abstract/image.hh.
00322 { 00323 border_adapt_width(min_border); 00324 const_cast<impl_type *>(this->exact().impl())->border_assign(val); 00325 } |
|
The border points will have the same value as the nearer real point of the image.
Definition at line 289 of file core/abstract/image.hh. Referenced by oln::convol::slow::convolve(), oln::morpho::dilation(), oln::morpho::erosion(), oln::morpho::fast_morpho(), and oln::morpho::sure::geodesic_dilation().
00290 { 00291 border_adapt_width(min_border); 00292 const_cast<impl_type *>(this->exact().impl())->border_replicate(); 00293 } |
|
The border points value are set according to the value of the points on the image sides.
Definition at line 304 of file core/abstract/image.hh.
00305 { 00306 border_adapt_width(min_border); 00307 const_cast<impl_type *>(this->exact().impl())->border_mirror(); 00308 } |
|
Adapt the border if min_border is less or equal to the current border value.
Definition at line 270 of file core/abstract/image.hh. Referenced by oln::abstract::image< I >::border_adapt_assign(), oln::abstract::image< I >::border_adapt_copy(), oln::abstract::image< I >::border_adapt_mirror(), and oln::convol::nagao_generalized().
00272 { 00273 precondition(min_border >= 0); 00274 if (border() >= min_border) 00275 return; // Don't shrink. 00276 00277 this->exact().border_set_width(min_border, copy_border); 00278 } |
|
Set the width of the border to perform operations on the image sides.
Definition at line 246 of file core/abstract/image.hh.
|
|
Clone the image, all the points are duplicated.
Definition at line 162 of file core/abstract/image.hh. Referenced by oln::morpho::fast_maxima_killer(), oln::morpho::fast_minima_killer(), oln::morpho::hybrid::geodesic_reconstruction_dilation(), oln::morpho::sequential::geodesic_reconstruction_dilation(), oln::morpho::sure::geodesic_reconstruction_dilation(), oln::morpho::n_dilation(), and oln::morpho::n_erosion().
00163 {
00164 return this->exact().clone_();
00165 }
|
|
Indicate if the image can be processed.
Definition at line 150 of file core/abstract/image.hh. Referenced by oln::abstract::image< I >::border_set_width(), oln::abstract::image< I >::hold(), and oln::abstract::image< I >::size().
00151 {
00152 return this->exact().impl() != 0;
00153 }
|
|
Test if the point p belong to the image.
Definition at line 173 of file core/abstract/image.hh. Referenced by oln::level::frontp_connected_component(), oln::morpho::is_a_strict_maximum(), oln::morpho::is_a_strict_minimum(), and oln::morpho::watershed_seg_or().
00174 { 00175 assertion(has_impl()); 00176 return this->exact().impl()->hold(p.exact()); 00177 } |
|