A neighborhood iterator which can take on an arbitrary shape. More...
#include <itkShapedNeighborhoodIterator.h>
A neighborhood iterator which can take on an arbitrary shape.
typedef Image<float, 3> ImageType; ShapedNeighborhoodIterator<ImageType> it(radius, image, region); ShapedNeighborhoodIterator<ImageType>::OffsetType offset = {{0,0,0}}; it.ActivateOffset(offset);
where radius, image, and region are as described in NeighborhoodIterator.
Once a neighborhood location has been activated, iteration (operator++, operator--, operator+=, operator-=) will update the value at the active location. Note that values at inactive locations will NOT be valid if queried.
A second way to access active shaped neighborhood values is through a ShapedNeighborhoodIterator::Iterator or ConstShapedNeighborhoodIterator::ConstIterator. The following example demonstrates the use of these iterators.
typedef Image<float, 3> ImageType; ShapedNeighborhoodIterator<ImageType> it(radius, image, region); . . . it.ActivateOffset(offset1); it.ActivateOffset(offset2); it.ActivateOffset(offset3); etc.. . . . ShapedNeighborhoodIterator<ImageType>::Iterator i; for (i = it.Begin(); ! i.IsAtEnd(); i++) { i.Set(i.Get() + 1.0); } \\ you may also use i != i.End(), but IsAtEnd() may be slightly faster.
You can also iterate backward through the neighbohood active list.
i = it.End();
i--;
while (i != it.Begin())
{
i.Set(i.Get() + 1.0);
i--;
}
i.Set(i.Get() + 1.0);
The Get() Set() syntax was chosen versus defining operator* for these iterators because lvalue vs. rvalue context information is needed to determine whether bounds checking must take place.
Definition at line 144 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::BoundaryConditionType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::BoundaryConditionType |
Typedef for boundary condition type.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 168 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::ConstIterator itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ConstIterator |
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 166 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::ImageBoundaryConditionPointerType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ImageBoundaryConditionPointerType |
Typedef for generic boundary condition pointer
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 170 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::ImageType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ImageType |
Typedef support for common objects
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 173 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::IndexListType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::IndexListType |
An stl storage container type that can be sorted. The type used for the list of active offsets in the neighborhood.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 167 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::IndexType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::IndexType |
Typedef support for common objects
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 172 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::IndexValueType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::IndexValueType |
Typedef support for common objects
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 175 of file itkShapedNeighborhoodIterator.h.
typedef TImage::InternalPixelType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::InternalPixelType |
Extract image type information.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 149 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::NeighborhoodType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::NeighborhoodType |
Typedef support for common objects
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 171 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::OffsetType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::OffsetType |
Inherit typedefs from superclass
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 161 of file itkShapedNeighborhoodIterator.h.
typedef OffsetType::OffsetValueType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::OffsetValueType |
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 162 of file itkShapedNeighborhoodIterator.h.
typedef TImage::PixelType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::PixelType |
External support for pixel type.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 150 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::RadiusType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::RadiusType |
Radius typedef support.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 163 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::RegionType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::RegionType |
Typedef support for common objects
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 174 of file itkShapedNeighborhoodIterator.h.
typedef ShapedNeighborhoodIterator itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::Self |
Standard class typedefs.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 156 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::SizeType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::SizeType |
Size and value typedef support.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 164 of file itkShapedNeighborhoodIterator.h.
typedef Superclass::SizeValueType itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::SizeValueType |
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 165 of file itkShapedNeighborhoodIterator.h.
typedef ConstShapedNeighborhoodIterator<TImage, TBoundaryCondition> itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::Superclass |
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 158 of file itkShapedNeighborhoodIterator.h.
itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ShapedNeighborhoodIterator | ( | ) | [inline] |
Default constructor
Definition at line 198 of file itkShapedNeighborhoodIterator.h.
virtual itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::~ShapedNeighborhoodIterator | ( | ) | [inline, virtual] |
Virtual destructor
Definition at line 207 of file itkShapedNeighborhoodIterator.h.
itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ShapedNeighborhoodIterator | ( | const SizeType & | radius, | |
const ImageType * | ptr, | |||
const RegionType & | region | |||
) | [inline] |
Constructor which establishes the region size, neighborhood, and image over which to walk.
Definition at line 211 of file itkShapedNeighborhoodIterator.h.
itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ShapedNeighborhoodIterator | ( | const ShapedNeighborhoodIterator< TImage, TBoundaryCondition > & | o | ) | [protected] |
Copy constructor
void itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ActivateIndex | ( | const unsigned int | int | ) | [inline, protected, virtual] |
Class is protected here so that it is not publicly accessible, but can be accessed by subclasses.. Add/Remove a neighborhood index to/from the active. Locations in the active list are the only accessible elements in the neighborhood. The argument is an index location calculated as an offset into a linear array which represents the image region defined by the radius of this iterator, with the smallest dimension as the fastest increasing index.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 267 of file itkShapedNeighborhoodIterator.h.
virtual void itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ActivateOffset | ( | const OffsetType & | off | ) | [inline, virtual, inherited] |
Add/Remove a neighborhood offset (from the center of the neighborhood) to/from the active list. Active list offsets are the only locations updated and accessible through the iterator.
Definition at line 289 of file itkConstShapedNeighborhoodIterator.h.
const ConstIterator& itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::Begin | ( | ) | const [inline, inherited] |
Returns a const iterator for the neighborhood which points to the first pixel in the neighborhood.
Reimplemented from itk::Neighborhood< TImage::InternalPixelType *,::itk::GetImageDimension< TImage >::ImageDimension >.
Definition at line 201 of file itkConstShapedNeighborhoodIterator.h.
Iterator& itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::Begin | ( | void | ) | [inline] |
Returns a const iterator for the neighborhood which points to the first pixel in the neighborhood.
Reimplemented from itk::Neighborhood< TImage::InternalPixelType *,::itk::GetImageDimension< TImage >::ImageDimension >.
Definition at line 244 of file itkShapedNeighborhoodIterator.h.
void itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ClearActiveList | ( | ) | [inline, virtual] |
Removes all active pixels from this neighborhood.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 253 of file itkShapedNeighborhoodIterator.h.
void itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::DeactivateIndex | ( | const unsigned int | int | ) | [inline, protected, virtual] |
Typedef support for common objects
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 274 of file itkShapedNeighborhoodIterator.h.
virtual void itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::DeactivateOffset | ( | const OffsetType & | off | ) | [inline, virtual, inherited] |
Typedef support for common objects
Definition at line 291 of file itkConstShapedNeighborhoodIterator.h.
const ConstIterator& itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::End | ( | void | ) | const [inline] |
Returns a const iterator for the neighborhood which points to the last pixel in the neighborhood.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 250 of file itkShapedNeighborhoodIterator.h.
Iterator& itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::End | ( | void | ) | [inline] |
Returns a const iterator for the neighborhood which points to the first pixel in the neighborhood.
Reimplemented from itk::Neighborhood< TImage::InternalPixelType *,::itk::GetImageDimension< TImage >::ImageDimension >.
Definition at line 245 of file itkShapedNeighborhoodIterator.h.
const IndexListType& itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::GetActiveIndexList | ( | ) | const [inline, inherited] |
Returns the list of active indicies in the neighborhood
Definition at line 306 of file itkConstShapedNeighborhoodIterator.h.
IndexListType::size_type itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::GetActiveIndexListSize | ( | ) | const [inline, inherited] |
Returns the size of the list of active neighborhood indicies.
Definition at line 310 of file itkConstShapedNeighborhoodIterator.h.
Self& itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::operator++ | ( | ) | [inherited] |
Reimplements the operator++ method so that only active pixel locations are updated.
Reimplemented from itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >.
Self& itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::operator+= | ( | const OffsetType & | ) | [inherited] |
Addition of an itk::Offset. Note that this method does not do any bounds checking. Adding an offset that moves the iterator out of its assigned region will produce undefined results.
Reimplemented from itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >.
Self& itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::operator-- | ( | ) | [inherited] |
Reimplements the operator-- method so that only active pixel locations are updated.
Reimplemented from itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >.
Self& itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::operator-= | ( | const OffsetType & | ) | [inherited] |
Subtraction of an itk::Offset. Note that this method does not do any bounds checking. Subtracting an offset that moves the iterator out of its assigned region will produce undefined results.
Reimplemented from itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >.
Self& itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::operator= | ( | const Self & | orig | ) | [inline] |
Assignment operator
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 229 of file itkShapedNeighborhoodIterator.h.
virtual void itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::PrintSelf | ( | std::ostream & | , | |
Indent | ||||
) | const [virtual] |
Standard itk print method
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
const unsigned int itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::Dimension = TImage::ImageDimension [static] |
Save the image dimension.
Reimplemented from itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >.
Definition at line 153 of file itkShapedNeighborhoodIterator.h.
IndexListType itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::m_ActiveIndexList [protected, inherited] |
Definition at line 357 of file itkConstShapedNeighborhoodIterator.h.
Iterator itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::m_BeginIterator [protected] |
Definition at line 281 of file itkShapedNeighborhoodIterator.h.
bool itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::m_CenterIsActive [protected, inherited] |
Definition at line 356 of file itkConstShapedNeighborhoodIterator.h.
ConstIterator itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::m_ConstBeginIterator [protected, inherited] |
Definition at line 359 of file itkConstShapedNeighborhoodIterator.h.
ConstIterator itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::m_ConstEndIterator [protected, inherited] |
Definition at line 358 of file itkConstShapedNeighborhoodIterator.h.
Iterator itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >::m_EndIterator [protected] |
Definition at line 280 of file itkShapedNeighborhoodIterator.h.