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< TPixel, VDimension, TAllocator >:

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 Offset< VDimension > OffsetType
typedef SliceIterator< TPixel,
Self
SliceIteratorType

Public Member Functions

 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 GetStride (const unsigned axis) const
unsigned int Size () const
TPixel GetCenterValue () const
void SetRadius (const SizeType &)
void SetRadius (const unsigned long)
void Print (std::ostream &os) const
virtual OffsetType GetOffset (unsigned int i) const
virtual unsigned int GetNeighborhoodIndex (const OffsetType &) const
unsigned int GetCenterNeighborhoodIndex () const
std::slice GetSlice (unsigned int) const
Iterator End ()
Iterator Begin ()
ConstIterator End () const
ConstIterator Begin () const
TPixel & operator[] (unsigned int i)
const TPixel & operator[] (unsigned int i) const
TPixel & GetElement (unsigned int i)
void SetRadius (const unsigned long *rad)
AllocatorTypeGetBufferReference ()
const AllocatorTypeGetBufferReference () const
TPixel & operator[] (const OffsetType &o)
const TPixel & operator[] (const OffsetType &o) const

Protected Member Functions

virtual void Allocate (unsigned int i)
virtual void PrintSelf (std::ostream &, Indent) const
virtual void ComputeNeighborhoodStrideTable ()
virtual void ComputeNeighborhoodOffsetTable ()
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 54 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 61 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 >.

Definition at line 73 of file itkNeighborhood.h.

Referenced by itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin(), and itk::Neighborhood< TPixel, VDimension, TAllocator >::End().

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 >.

Definition at line 72 of file itkNeighborhood.h.

Referenced by itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin(), and itk::Neighborhood< TPixel, VDimension, TAllocator >::End().

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

Offset type used to reference neighbor locations Definition at line 83 of file itkNeighborhood.h.

Referenced by itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[]().

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::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, and itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 67 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 >.

Definition at line 80 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::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, and itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 58 of file itkNeighborhood.h.

Referenced by itk::Neighborhood< TPixel, VDimension, TAllocator >::operator!=(), and itk::Neighborhood< TPixel, VDimension, TAllocator >::operator==().

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 >, and itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 76 of file itkNeighborhood.h.

Referenced by itk::Neighborhood< TPixel, VDimension, TAllocator >::GetCenterValue(), itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius(), itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize(), and itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius().

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 >.

Definition at line 77 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 86 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 89 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 92 of file itkNeighborhood.h.

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

Copy constructor.


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 228 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 148 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::ConstIterator.

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 144 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::Iterator.

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

Fills entries into the offset lookup table. Called once on initialization.

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

Computes the entries for the stride table

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 146 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::ConstIterator.

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 142 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::Iterator.

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 195 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 193 of file itkNeighborhood.h.

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

Definition at line 213 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 166 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeType.

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

Pass-through data access methods to the buffer. Definition at line 161 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::GetNeighborhoodIndex const OffsetType  )  const [virtual]
 

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual OffsetType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetOffset unsigned int  i  )  const [inline, virtual]
 

Returns the itk::Offset from the center of the Neighborhood to the requested neighbor index. Definition at line 208 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 123 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 118 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeType.

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 132 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeType.

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 128 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
std::slice itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSlice unsigned  int  )  const
 

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

Returns the stride length for the specified dimension. Stride length is the number of pixels between adjacent pixels along the given dimension. Definition at line 138 of file itkNeighborhood.h.

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. Definition at line 110 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::m_DataBuffer, itk::Neighborhood< TPixel, VDimension, TAllocator >::m_Radius, itk::Neighborhood< TPixel, VDimension, TAllocator >::m_Size, and itk::Neighborhood< TPixel, VDimension, TAllocator >::Self.

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

Assignment operator.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, and itk::NeighborhoodOperator< 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]
 

Comparison operator. Definition at line 102 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::m_DataBuffer, itk::Neighborhood< TPixel, VDimension, TAllocator >::m_Radius, itk::Neighborhood< TPixel, VDimension, TAllocator >::m_Size, and itk::Neighborhood< TPixel, VDimension, TAllocator >::Self.

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

Get pixel value by offset Definition at line 202 of file itkNeighborhood.h.

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

Get pixel value by offset Definition at line 200 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::OffsetType.

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 159 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 157 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 189 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::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, and itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

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 175 of file itkNeighborhood.h.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeType.

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 220 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 153 of file itkNeighborhood.h.


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 02:58:07 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000