#include <itkBinaryBallStructuringElement.h>
This class defines a Neighborhood whose elements are either 0 or 1 depending on whether they are outside or inside an ellipsoid whose radii match the radii of the Neighborhood. This class can be used as a structuring element for the Morphology image filters.
A BinaryBallStructuringElement 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 BinaryBallStructuringElement object with a radius of 2x3 has sides of length 5x7.
BinaryBallStructuringElement objects always have an unambiguous center because their side lengths are always odd.
Definition at line 53 of file itkBinaryBallStructuringElement.h.
Public Types | |
typedef TAllocator | AllocatorType |
typedef AllocatorType::const_iterator | ConstIterator |
typedef AllocatorType::iterator | Iterator |
typedef Offset< VDimension > | OffsetType |
typedef TPixel | PixelType |
typedef Superclass::RadiusType | RadiusType |
typedef BinaryBallStructuringElement | Self |
typedef Superclass::SizeType | SizeType |
typedef Superclass::SizeValueType | SizeValueType |
typedef SliceIterator< TPixel, Self > | SliceIteratorType |
typedef Neighborhood< TPixel, VDimension, TAllocator > | Superclass |
Public Member Functions | |
BinaryBallStructuringElement (const Self &other) | |
BinaryBallStructuringElement () | |
void | CreateStructuringElement () |
unsigned int | GetCenterNeighborhoodIndex () const |
TPixel | GetCenterValue () const |
virtual unsigned int | GetNeighborhoodIndex (const OffsetType &) const |
OffsetType | GetOffset (unsigned int i) const |
unsigned long | GetRadius (const unsigned long n) const |
const SizeType | GetRadius () const |
SizeType | GetSize () const |
unsigned long | GetSize (const unsigned long n) const |
std::slice | GetSlice (unsigned int) const |
unsigned | GetStride (const unsigned axis) const |
itkStaticConstMacro (NeighborhoodDimension, unsigned int, VDimension) | |
bool | operator!= (const Self &other) const |
bool | operator== (const Self &other) const |
void | Print (std::ostream &os) const |
void | SetRadius (const unsigned long) |
void | SetRadius (const SizeType &) |
unsigned int | Size () const |
virtual | ~BinaryBallStructuringElement () |
ConstIterator | Begin () const |
Iterator | Begin () |
ConstIterator | End () const |
Iterator | End () |
const AllocatorType & | GetBufferReference () const |
AllocatorType & | GetBufferReference () |
TPixel & | GetElement (unsigned int i) |
const TPixel & | operator[] (unsigned int i) const |
TPixel & | operator[] (unsigned int i) |
Self & | operator= (const Self &other) |
const TPixel & | operator[] (const OffsetType &o) const |
TPixel & | operator[] (const OffsetType &o) |
void | SetRadius (const unsigned long *rad) |
Protected Member Functions | |
virtual void | Allocate (unsigned int i) |
virtual void | ComputeNeighborhoodOffsetTable () |
virtual void | ComputeNeighborhoodStrideTable () |
virtual void | PrintSelf (std::ostream &, Indent) const |
void | SetSize () |
typedef TAllocator itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::AllocatorType |
External support for allocator type.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 62 of file itkBinaryBallStructuringElement.h.
typedef AllocatorType::const_iterator itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::ConstIterator |
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 74 of file itkBinaryBallStructuringElement.h.
typedef AllocatorType::iterator itk::BinaryBallStructuringElement< 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 from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 73 of file itkBinaryBallStructuringElement.h.
typedef Offset<VDimension> itk::Neighborhood< TPixel, VDimension, TAllocator >::OffsetType [inherited] |
Offset type used to reference neighbor locations
Reimplemented in itk::AnnulusOperator< TPixel, TDimension, TAllocator >, itk::BinaryCrossStructuringElement< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::NeighborhoodIterator< TImage, TBoundaryCondition >, itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::FlatStructuringElement< VDimension >, itk::ConstNeighborhoodIterator< Superclass::FixedImageType >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstNeighborhoodIterator< TImageType >, itk::ConstNeighborhoodIterator< TDeformationField >, itk::ConstNeighborhoodIterator< TSparseImageType >, itk::ConstNeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >, itk::ConstShapedNeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >, itk::NeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >, and itk::ShapedNeighborhoodIterator< TImage >.
Definition at line 83 of file itkNeighborhood.h.
typedef TPixel itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::PixelType |
External support for pixel type.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 68 of file itkBinaryBallStructuringElement.h.
typedef Superclass::RadiusType itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::RadiusType |
Radius typedef support.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 81 of file itkBinaryBallStructuringElement.h.
typedef BinaryBallStructuringElement itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::Self |
Standard class typedefs.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 58 of file itkBinaryBallStructuringElement.h.
typedef Superclass::SizeType itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::SizeType |
Size and value typedef support.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 77 of file itkBinaryBallStructuringElement.h.
typedef Superclass::SizeValueType itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::SizeValueType |
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 78 of file itkBinaryBallStructuringElement.h.
typedef SliceIterator<TPixel, Self> itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::SliceIteratorType |
External slice iterator type typedef support.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 84 of file itkBinaryBallStructuringElement.h.
typedef Neighborhood<TPixel, VDimension, TAllocator> itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::Superclass |
Definition at line 59 of file itkBinaryBallStructuringElement.h.
itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::BinaryBallStructuringElement | ( | ) | [inline] |
Default constructor.
Definition at line 87 of file itkBinaryBallStructuringElement.h.
virtual itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::~BinaryBallStructuringElement | ( | ) | [inline, virtual] |
Default destructor.
Definition at line 90 of file itkBinaryBallStructuringElement.h.
itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::BinaryBallStructuringElement | ( | const Self & | other | ) | [inline] |
Copy constructor.
Definition at line 93 of file itkBinaryBallStructuringElement.h.
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::Allocate | ( | unsigned int | i | ) | [inline, protected, virtual, inherited] |
Allocates the neighborhood's memory buffer.
Definition at line 232 of file itkNeighborhood.h.
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin | ( | void | ) | const [inline, inherited] |
STL-style iterator support.
Reimplemented in itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >, and itk::ConstShapedNeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >.
Definition at line 148 of file itkNeighborhood.h.
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin | ( | void | ) | [inline, inherited] |
STL-style iterator support.
Reimplemented in itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, and itk::ShapedNeighborhoodIterator< TImage >.
Definition at line 144 of file itkNeighborhood.h.
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::ComputeNeighborhoodOffsetTable | ( | ) | [protected, virtual, inherited] |
Fills entries into the offset lookup table. Called once on initialization.
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::ComputeNeighborhoodStrideTable | ( | ) | [protected, virtual, inherited] |
Computes the entries for the stride table
void itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::CreateStructuringElement | ( | ) |
Build the structuring element
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End | ( | void | ) | const [inline, inherited] |
STL-style iterator support.
Reimplemented in itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ConstShapedNeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >, and itk::ShapedNeighborhoodIterator< TImage >.
Definition at line 146 of file itkNeighborhood.h.
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End | ( | void | ) | [inline, inherited] |
STL-style iterator support.
Reimplemented in itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, and itk::ShapedNeighborhoodIterator< TImage >.
Definition at line 142 of file itkNeighborhood.h.
const AllocatorType& itk::Neighborhood< TPixel, VDimension, TAllocator >::GetBufferReference | ( | ) | const [inline, inherited] |
Returns a reference to the data buffer structure.
Definition at line 195 of file itkNeighborhood.h.
AllocatorType& itk::Neighborhood< TPixel, VDimension, TAllocator >::GetBufferReference | ( | ) | [inline, inherited] |
Returns a reference to the data buffer structure.
Definition at line 193 of file itkNeighborhood.h.
unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::GetCenterNeighborhoodIndex | ( | ) | const [inline, inherited] |
Definition at line 213 of file itkNeighborhood.h.
TPixel itk::Neighborhood< TPixel, VDimension, TAllocator >::GetCenterValue | ( | ) | const [inline, inherited] |
Returns the element at the center of the neighborhood.
Definition at line 166 of file itkNeighborhood.h.
TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::GetElement | ( | unsigned int | i | ) | [inline, inherited] |
Pass-through data access methods to the buffer.
Definition at line 161 of file itkNeighborhood.h.
virtual unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::GetNeighborhoodIndex | ( | const OffsetType & | ) | const [virtual, inherited] |
OffsetType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetOffset | ( | unsigned int | i | ) | const [inline, inherited] |
Returns the itk::Offset from the center of the Neighborhood to the requested neighbor index.
Definition at line 208 of file itkNeighborhood.h.
unsigned long itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius | ( | const unsigned long | n | ) | const [inline, inherited] |
Returns the radius of the neighborhood along a specified dimension.
Definition at line 123 of file itkNeighborhood.h.
const SizeType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius | ( | void | ) | const [inline, inherited] |
Returns the radius of the neighborhood.
Definition at line 118 of file itkNeighborhood.h.
SizeType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize | ( | void | ) | const [inline, inherited] |
Returns the size (total length of sides) of the neighborhood.
Definition at line 132 of file itkNeighborhood.h.
unsigned long itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize | ( | const unsigned long | n | ) | const [inline, inherited] |
Returns the size (total length) of the neighborhood along a specified dimension.
Definition at line 128 of file itkNeighborhood.h.
std::slice itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSlice | ( | unsigned | int | ) | const [inherited] |
unsigned itk::Neighborhood< TPixel, VDimension, TAllocator >::GetStride | ( | const unsigned | axis | ) | const [inline, inherited] |
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.
itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::itkStaticConstMacro | ( | NeighborhoodDimension | , | |
unsigned | int, | |||
VDimension | ||||
) |
External support for dimensionality.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
bool itk::Neighborhood< TPixel, VDimension, TAllocator >::operator!= | ( | const Self & | other | ) | const [inline, inherited] |
Not Equal operator.
Definition at line 110 of file itkNeighborhood.h.
Self& itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >::operator= | ( | const Self & | other | ) | [inline] |
Assignment operator.
Definition at line 99 of file itkBinaryBallStructuringElement.h.
bool itk::Neighborhood< TPixel, VDimension, TAllocator >::operator== | ( | const Self & | other | ) | const [inline, inherited] |
Comparison operator.
Definition at line 102 of file itkNeighborhood.h.
const TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[] | ( | const OffsetType & | o | ) | const [inline, inherited] |
Get pixel value by offset
Definition at line 202 of file itkNeighborhood.h.
TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[] | ( | const OffsetType & | o | ) | [inline, inherited] |
Get pixel value by offset
Definition at line 200 of file itkNeighborhood.h.
const TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[] | ( | unsigned int | i | ) | const [inline, inherited] |
Pass-through data access methods to the buffer.
Definition at line 159 of file itkNeighborhood.h.
TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[] | ( | unsigned int | i | ) | [inline, inherited] |
Pass-through data access methods to the buffer.
Definition at line 157 of file itkNeighborhood.h.
void itk::Neighborhood< TPixel, VDimension, TAllocator >::Print | ( | std::ostream & | os | ) | const [inline, inherited] |
Standard itk object method.
Definition at line 189 of file itkNeighborhood.h.
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::PrintSelf | ( | std::ostream & | , | |
Indent | ||||
) | const [protected, virtual, inherited] |
Standard itk object method.
Reimplemented in itk::AnnulusOperator< TPixel, TDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::NeighborhoodIterator< TImage, TBoundaryCondition >, itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >, itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::FlatStructuringElement< VDimension >, itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >, itk::ImageKernelOperator< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIterator< Superclass::FixedImageType >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstNeighborhoodIterator< TImageType >, itk::ConstNeighborhoodIterator< TDeformationField >, itk::ConstNeighborhoodIterator< TSparseImageType >, itk::ConstNeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >, itk::ConstShapedNeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >, itk::DerivativeOperator< PixelType::ValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< Superclass::PixelType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< TOutputImage::PixelType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, itk::NeighborhoodIterator< TImage, itk::ZeroFluxNeumannBoundaryCondition< TImage > >, itk::NeighborhoodOperator< Superclass::PixelType, VDimension, itk::NeighborhoodAllocator< Superclass::PixelType > >, itk::NeighborhoodOperator< OutputImagePixelType, VDimension, itk::NeighborhoodAllocator< OutputImagePixelType > >, itk::NeighborhoodOperator< TOutputImage::PixelType, VDimension, itk::NeighborhoodAllocator< TOutputImage::PixelType > >, itk::NeighborhoodOperator< PixelType::ValueType, VDimension, itk::NeighborhoodAllocator< PixelType::ValueType > >, itk::NeighborhoodOperator< TPixel, TDimension, TAllocator >, and itk::ShapedNeighborhoodIterator< TImage >.
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius | ( | const unsigned | long | ) | [inherited] |
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).
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius | ( | const unsigned long * | rad | ) | [inline, inherited] |
Sets the radius for the neighborhood. Overloaded to support an unsigned long array.
Definition at line 175 of file itkNeighborhood.h.
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius | ( | const SizeType & | ) | [inherited] |
Sets the radius for the neighborhood, calculates size from the radius, and allocates storage.
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetSize | ( | ) | [inline, protected, inherited] |
Sets the length along each dimension.
Definition at line 222 of file itkNeighborhood.h.
unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::Size | ( | void | ) | const [inline, inherited] |
More STL-style support.
Definition at line 153 of file itkNeighborhood.h.
Referenced by itk::NeighborhoodInnerProduct< Superclass::ImageType >::operator()().