[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
RestrictedNeighborhoodCirculator< IMAGEITERATOR, NEIGHBORCODE > Class Template Reference |
Circulator that walks around a given location in a given image, using a restricted neighborhood. More...
#include <vigra/pixelneighborhood.hxx>
Public Types | |
typedef IMAGEITERATOR | base_type |
typedef BaseType::difference_type | difference_type |
typedef BaseType::Direction | Direction |
typedef BaseType::index_reference | index_reference |
typedef BaseType::iterator_category | iterator_category |
typedef NEIGHBORCODE | NeighborCode |
typedef BaseType::pointer | pointer |
typedef BaseType::reference | reference |
typedef BaseType::value_type | value_type |
Circulator that walks around a given location in a given image, using a restricted neighborhood.
This circulator behaves essentially like vigra::NeighborhoodCirculator, but can also be used near the image border, where some of the neighbor points would be outside the image und must not be accessed. The template parameters define the kind of neighborhood used (four or eight) and the underlying image, whereas the required neighborhood restriction is given by the last constructor argument. This below for typical usage.
The access functions return the value of the current neighbor pixel. Use center()
to access the center pixel of the neighborhood.
Usage:
#include <vigra/pixelneighborhood.hxx>
Namespace: vigra
typedef IMAGEITERATOR base_type |
type of the underlying image iterator
typedef NEIGHBORCODE NeighborCode |
type of the used neighbor code
typedef BaseType::value_type value_type |
the circulator's value type
typedef BaseType::Direction Direction |
type of the direction code
typedef BaseType::reference reference |
the circulator's reference type (return type of *circ
)
the circulator's index reference type (return type of circ[n]
)
typedef BaseType::pointer pointer |
the circulator's pointer type (return type of operator->
)
the circulator's difference type (argument type of circ[diff]
)
the circulator tag (random_access_circulator_tag)
RestrictedNeighborhoodCirculator | ( | IMAGEITERATOR const & | center = IMAGEITERATOR() , |
AtImageBorder | atBorder = NotAtBorder |
||
) |
Construct circulator with given center
pixel, using the restricted neighborhood given by atBorder.
RestrictedNeighborhoodCirculator& operator++ | ( | ) |
pre-increment
RestrictedNeighborhoodCirculator operator++ | ( | int | ) |
post-increment
RestrictedNeighborhoodCirculator& operator-- | ( | ) |
pre-decrement
RestrictedNeighborhoodCirculator operator-- | ( | int | ) |
post-decrement
RestrictedNeighborhoodCirculator& operator+= | ( | difference_type | d | ) |
add-assignment
RestrictedNeighborhoodCirculator& operator-= | ( | difference_type | d | ) |
subtract-assignment
RestrictedNeighborhoodCirculator operator+ | ( | difference_type | d | ) | const |
addition
RestrictedNeighborhoodCirculator operator- | ( | difference_type | d | ) | const |
subtraction
bool operator== | ( | RestrictedNeighborhoodCirculator< IMAGEITERATOR, NEIGHBORCODE > const & | rhs | ) | const |
equality
bool operator!= | ( | RestrictedNeighborhoodCirculator< IMAGEITERATOR, NEIGHBORCODE > const & | rhs | ) | const |
inequality
difference_type operator- | ( | RestrictedNeighborhoodCirculator< IMAGEITERATOR, NEIGHBORCODE > const & | rhs | ) | const |
subtraction
reference operator* | ( | ) | const |
dereference
pointer operator-> | ( | ) | const |
member access
base_type const& base | ( | ) | const |
Get the base iterator for the current neighbor.
base_type center | ( | ) | const |
Get the base iterator for the center of the circulator.
Direction direction | ( | ) | const |
Get the current direction.
unsigned int directionBit | ( | ) | const |
Get the current direction bit.
NeighborCode::difference_type const& diff | ( | ) | const |
Get the difference vector (Diff2D) from the center to the current neighbor.
bool isDiagonal | ( | ) | const |
Is the current neighbor a diagonal neighbor?
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|