Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::Neighborhood< TPixel, VDimension, TAllocator > Class Template Reference
[OperatorsImage Iterators]

A light-weight container object for storing an N-dimensional neighborhood of values. More...

#include <itkNeighborhood.h>

Inheritance diagram for itk::Neighborhood:

Inheritance graph
[legend]
Collaboration diagram for itk::Neighborhood< TPixel, VDimension, TAllocator >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Neighborhood Self
typedef TAllocator AllocatorType
typedef TPixel PixelType
typedef AllocatorType::iterator Iterator
typedef AllocatorType::const_iterator ConstIterator
typedef Size< VDimension > SizeType
typedef SizeType::SizeValueType SizeValueType
typedef Size< VDimension > RadiusType
typedef SliceIterator< TPixel,
Self
SliceIteratorType

Public Methods

 itkStaticConstMacro (NeighborhoodDimension, unsigned int, VDimension)
 Neighborhood ()
virtual ~Neighborhood ()
 Neighborhood (const Self &other)
Selfoperator= (const Self &other)
bool operator== (const Self &other) const
bool operator!= (const Self &other) const
const SizeType GetRadius () const
unsigned long GetRadius (const unsigned long n) const
unsigned long GetSize (const unsigned long n) const
SizeType GetSize () const
unsigned long GetStride (const unsigned long) const
unsigned int Size () const
TPixel GetCenterValue () const
void SetRadius (const SizeType &)
void SetRadius (const unsigned long)
void Print (std::ostream &os) const
Iterator End ()
Iterator Begin ()
ConstIterator End () const
ConstIterator Begin () const
TPixel & operator[] (unsigned int i)
const TPixel & operator[] (unsigned int i) const
void SetRadius (const unsigned long *rad)
AllocatorTypeGetBufferReference ()
const AllocatorTypeGetBufferReference () const

Protected Methods

virtual void Allocate (unsigned int i)
virtual void PrintSelf (std::ostream &, Indent) const
void SetSize ()

Detailed Description

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
class itk::Neighborhood< TPixel, VDimension, TAllocator >

A light-weight container object for storing an N-dimensional neighborhood of values.

This class serves as the base class for several other Itk objects such as itk::NeighborhoodOperator and itk::NeighborhoodIterator. Its purpose is to store values and their relative spatial locations.

A Neighborhood has an N-dimensional radius. The radius is defined separately for each dimension as the number of pixels that the neighborhood extends outward from the center pixel. For example, a 2D Neighborhood object with a radius of 2x3 has sides of length 5x7. Neighborhood objects always have an unambiguous center because their side lengths are always odd.

See also:
Neighborhood , NeighborhoodIterator

Definition at line 52 of file itkNeighborhood.h.


Member Typedef Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef TAllocator itk::Neighborhood< TPixel, VDimension, TAllocator >::AllocatorType
 

External support for allocator type.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >.

Definition at line 59 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef AllocatorType::const_iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::ConstIterator
 

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::NeighborhoodIterator< TImage >, itk::RandomAccessNeighborhoodIterator< TImage >, itk::ConstNeighborhoodIterator< FixedImageType >, and itk::ConstSmartNeighborhoodIterator< TImage >.

Definition at line 71 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef AllocatorType::iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Iterator
 

Iterator typedef support. Note the naming is intentional, i.e., iterator and const_iterator, because the allocator may be a vnl object or other type, which uses this form.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::NeighborhoodIterator< TImage >, itk::RandomAccessNeighborhoodIterator< TImage >, itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >, and itk::ConstNeighborhoodIterator< FixedImageType >.

Definition at line 70 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef TPixel itk::Neighborhood< TPixel, VDimension, TAllocator >::PixelType
 

External support for pixel type.

Reimplemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::NeighborhoodIterator< TImage >, itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >, itk::RandomAccessNeighborhoodIterator< TImage >, itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::SobelOperator< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< FixedImageType >, and itk::ConstSmartNeighborhoodIterator< TImage >.

Definition at line 65 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Size<VDimension> itk::Neighborhood< TPixel, VDimension, TAllocator >::RadiusType
 

Radius typedef support.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::NeighborhoodIterator< TImage >, itk::RandomAccessNeighborhoodIterator< TImage >, and itk::ConstNeighborhoodIterator< FixedImageType >.

Definition at line 78 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Neighborhood itk::Neighborhood< TPixel, VDimension, TAllocator >::Self
 

Standard class typedefs.

Reimplemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::NeighborhoodIterator< TImage >, itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >, itk::RandomAccessNeighborhoodIterator< TImage >, itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::SobelOperator< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< FixedImageType >, and itk::ConstSmartNeighborhoodIterator< TImage >.

Definition at line 56 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Size<VDimension> itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeType
 

Size and value typedef support.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::NeighborhoodIterator< TImage >, itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >, itk::RandomAccessNeighborhoodIterator< TImage >, itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ConstNeighborhoodIterator< FixedImageType >, and itk::ConstSmartNeighborhoodIterator< TImage >.

Definition at line 74 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef SizeType::SizeValueType itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeValueType
 

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ConstNeighborhoodIterator< FixedImageType >, and itk::ConstSmartNeighborhoodIterator< TImage >.

Definition at line 75 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef SliceIterator<TPixel, Self> itk::Neighborhood< TPixel, VDimension, TAllocator >::SliceIteratorType
 

External slice iterator type typedef support.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, and itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 81 of file itkNeighborhood.h.


Constructor & Destructor Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
itk::Neighborhood< TPixel, VDimension, TAllocator >::Neighborhood   [inline]
 

Default constructor.

Definition at line 84 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual itk::Neighborhood< TPixel, VDimension, TAllocator >::~Neighborhood   [inline, virtual]
 

Default destructor.

Definition at line 87 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
itk::Neighborhood< TPixel, VDimension, TAllocator >::Neighborhood const Self   other [inline]
 

Copy constructor.

Definition at line 90 of file itkNeighborhood.h.


Member Function Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::Allocate unsigned int    i [inline, protected, virtual]
 

Allocates the neighborhood's memory buffer.

Definition at line 214 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin void    const [inline]
 

STL-style iterator support.

Definition at line 155 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin void    [inline]
 

STL-style iterator support.

Definition at line 151 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End void    const [inline]
 

STL-style iterator support.

Definition at line 153 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End void    [inline]
 

STL-style iterator support.

Definition at line 149 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const AllocatorType& itk::Neighborhood< TPixel, VDimension, TAllocator >::GetBufferReference   const [inline]
 

Returns a reference to the data buffer structure.

Definition at line 200 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
AllocatorType& itk::Neighborhood< TPixel, VDimension, TAllocator >::GetBufferReference   [inline]
 

Returns a reference to the data buffer structure.

Definition at line 198 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
TPixel itk::Neighborhood< TPixel, VDimension, TAllocator >::GetCenterValue   const [inline]
 

Returns the element at the center of the neighborhood.

Definition at line 171 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned long itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius const unsigned long    n const [inline]
 

Returns the radius of the neighborhood along a specified dimension.

Definition at line 131 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const SizeType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius   const [inline]
 

Returns the radius of the neighborhood.

Definition at line 126 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
SizeType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize   const [inline]
 

Returns the size (total length of sides) of the neighborhood.

Definition at line 140 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned long itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize const unsigned long    n const [inline]
 

Returns the size (total length) of the neighborhood along a specified dimension.

Definition at line 136 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned long itk::Neighborhood< TPixel, VDimension, TAllocator >::GetStride const unsigned    long const
 

Returns the stride length for the specified dimension. Stride length is the number of pixels between adjacent pixels along the given dimension.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
itk::Neighborhood< TPixel, VDimension, TAllocator >::itkStaticConstMacro NeighborhoodDimension   ,
unsigned    int,
VDimension   
 

External support for dimensionality.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
bool itk::Neighborhood< TPixel, VDimension, TAllocator >::operator!= const Self   other const [inline]
 

Not Equal operator.

Reimplemented in itk::ConstNeighborhoodIterator< TImage >, and itk::ConstNeighborhoodIterator< FixedImageType >.

Definition at line 118 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Self& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator= const Self   other [inline]
 

Assignment operator.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::NeighborhoodIterator< TImage >, itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >, itk::RandomAccessNeighborhoodIterator< TImage >, itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::SobelOperator< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< FixedImageType >, and itk::ConstSmartNeighborhoodIterator< TImage >.

Definition at line 98 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
bool itk::Neighborhood< TPixel, VDimension, TAllocator >::operator== const Self   other const [inline]
 

Comparison operator.

Reimplemented in itk::ConstNeighborhoodIterator< TImage >, and itk::ConstNeighborhoodIterator< FixedImageType >.

Definition at line 110 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[] unsigned int    i const [inline]
 

Pass-through data access methods to the buffer.

Definition at line 166 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[] unsigned int    i [inline]
 

Pass-through data access methods to the buffer.

Definition at line 164 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::Print std::ostream &    os const [inline]
 

Standard itk object method.

Definition at line 194 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::PrintSelf std::ostream &   ,
Indent   
const [protected, virtual]
 

Standard itk object method.

Reimplemented in itk::ConstNeighborhoodIterator< TImage >, itk::ConstRandomAccessNeighborhoodIterator< TImage >, itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::NeighborhoodIterator< TImage >, itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >, itk::RandomAccessNeighborhoodIterator< TImage >, itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >, itk::SobelOperator< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< FixedImageType >, and itk::ConstSmartNeighborhoodIterator< TImage >.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius const unsigned    long
 

Overloads SetRadius to allow a single long integer argument that is used as the radius of all the dimensions of the Neighborhood (resulting in a "square" neighborhood).

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius const unsigned long *    rad [inline]
 

Sets the radius for the neighborhood. Overloaded to support an unsigned long array.

Definition at line 180 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius const SizeType  
 

Sets the radius for the neighborhood, calculates size from the radius, and allocates storage.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetSize   [inline, protected]
 

Sets the length along each dimension.

Definition at line 206 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::Size void    const [inline]
 

More STL-style support.

Definition at line 160 of file itkNeighborhood.h.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:19:45 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000