A class to support a variety of flat structuring elements, including versions created by decomposition of lines. More...
#include <itkFlatStructuringElement.h>
Classes | |
struct | Dispatch |
struct | DispatchBase |
struct | StructuringElementFacet |
Public Types | |
typedef NeighborhoodAllocator < bool > | AllocatorType |
typedef Superclass::ConstIterator | ConstIterator |
typedef std::vector< LType > | DecompType |
typedef Superclass::Iterator | Iterator |
typedef Vector< float, VDimension > | LType |
typedef Superclass::OffsetType | OffsetType |
typedef Superclass::PixelType | PixelType |
typedef Superclass::RadiusType | RadiusType |
typedef FlatStructuringElement < VDimension > | Self |
typedef Superclass::SizeType | SizeType |
typedef Superclass::SizeValueType | SizeValueType |
typedef Superclass::SliceIteratorType | SliceIteratorType |
typedef Neighborhood< bool, VDimension > | Superclass |
Public Member Functions | |
FlatStructuringElement () | |
unsigned int | GetCenterNeighborhoodIndex () const |
bool | GetCenterValue () const |
bool | GetDecomposable () const |
const DecompType & | GetLines () 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 |
bool | operator!= (const Self &other) const |
bool | operator== (const Self &other) const |
void | Print (std::ostream &os) const |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | SetRadius (const unsigned long) |
void | SetRadius (const SizeType &) |
unsigned int | Size () const |
virtual | ~FlatStructuringElement () |
Static Public Member Functions | |
static Self | Annulus (RadiusType radius, unsigned int thickness=1, bool includeCenter=false) |
static Self | Ball (RadiusType radius) |
static Self | Box (RadiusType radius) |
static Self | Cross (RadiusType radius) |
static Self | Poly (RadiusType radius, unsigned lines) |
Static Public Attributes | |
static const unsigned int | NeighborhoodDimension = VDimension |
Protected Member Functions | |
virtual void | Allocate (unsigned int i) |
void | ComputeBufferFromLines () |
virtual void | ComputeNeighborhoodOffsetTable () |
virtual void | ComputeNeighborhoodStrideTable () |
| |
ConstIterator | Begin () const |
Iterator | Begin () |
ConstIterator | End () const |
Iterator | End () |
const AllocatorType & | GetBufferReference () const |
AllocatorType & | GetBufferReference () |
bool & | GetElement (unsigned int i) |
const bool & | operator[] (const OffsetType &o) const |
bool & | operator[] (const OffsetType &o) |
const bool & | operator[] (unsigned int i) const |
bool & | operator[] (unsigned int i) |
void | SetRadius (const unsigned long *rad) |
void | SetSize () |
A class to support a variety of flat structuring elements, including versions created by decomposition of lines.
FlatStructuringElement provides several static methods, which can be used to create a structuring element with a particular shape, size, etc. Currently, those methods allow to create a ball, a box, a cross structuring element, and let create a structuring element based on an image.
Definition at line 42 of file itkFlatStructuringElement.h.
typedef NeighborhoodAllocator<bool > itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::AllocatorType [inherited] |
External support for allocator type.
Definition at line 63 of file itkNeighborhood.h.
typedef Superclass::ConstIterator itk::FlatStructuringElement< VDimension >::ConstIterator |
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 56 of file itkFlatStructuringElement.h.
typedef std::vector<LType> itk::FlatStructuringElement< VDimension >::DecompType |
Definition at line 73 of file itkFlatStructuringElement.h.
typedef Superclass::Iterator itk::FlatStructuringElement< VDimension >::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< bool, VDimension >.
Definition at line 55 of file itkFlatStructuringElement.h.
typedef Vector<float, VDimension> itk::FlatStructuringElement< VDimension >::LType |
Definition at line 72 of file itkFlatStructuringElement.h.
typedef Superclass::OffsetType itk::FlatStructuringElement< VDimension >::OffsetType |
Offset type used to reference neighbor locations
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 61 of file itkFlatStructuringElement.h.
typedef Superclass::PixelType itk::FlatStructuringElement< VDimension >::PixelType |
External support for pixel type.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 50 of file itkFlatStructuringElement.h.
typedef Superclass::RadiusType itk::FlatStructuringElement< VDimension >::RadiusType |
Radius typedef support.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 64 of file itkFlatStructuringElement.h.
typedef FlatStructuringElement< VDimension> itk::FlatStructuringElement< VDimension >::Self |
Standard class typedefs.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 46 of file itkFlatStructuringElement.h.
typedef Superclass::SizeType itk::FlatStructuringElement< VDimension >::SizeType |
Size and value typedef support.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 59 of file itkFlatStructuringElement.h.
typedef Superclass::SizeValueType itk::FlatStructuringElement< VDimension >::SizeValueType |
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 60 of file itkFlatStructuringElement.h.
typedef Superclass::SliceIteratorType itk::FlatStructuringElement< VDimension >::SliceIteratorType |
External slice iterator type typedef support.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 67 of file itkFlatStructuringElement.h.
typedef Neighborhood<bool, VDimension> itk::FlatStructuringElement< VDimension >::Superclass |
Definition at line 47 of file itkFlatStructuringElement.h.
virtual itk::FlatStructuringElement< VDimension >::~FlatStructuringElement | ( | ) | [inline, virtual] |
Default destructor.
Definition at line 76 of file itkFlatStructuringElement.h.
itk::FlatStructuringElement< VDimension >::FlatStructuringElement | ( | ) | [inline] |
Default consructor.
Definition at line 79 of file itkFlatStructuringElement.h.
virtual void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Allocate | ( | unsigned int | i | ) | [inline, protected, virtual, inherited] |
Allocates the neighborhood's memory buffer.
Definition at line 243 of file itkNeighborhood.h.
static Self itk::FlatStructuringElement< VDimension >::Annulus | ( | RadiusType | radius, | |
unsigned int | thickness = 1 , |
|||
bool | includeCenter = false | |||
) | [static] |
Create an annulus structuring element
static Self itk::FlatStructuringElement< VDimension >::Ball | ( | RadiusType | radius | ) | [static] |
Create a ball structuring element
ConstIterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Begin | ( | void | ) | const [inline, inherited] |
STL-style iterator support.
Definition at line 159 of file itkNeighborhood.h.
Iterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Begin | ( | void | ) | [inline, inherited] |
STL-style iterator support.
Definition at line 155 of file itkNeighborhood.h.
static Self itk::FlatStructuringElement< VDimension >::Box | ( | RadiusType | radius | ) | [static] |
Various constructors Create a box structuring element. The structuring element is is decomposable.
void itk::FlatStructuringElement< VDimension >::ComputeBufferFromLines | ( | ) | [protected] |
Fill the buffer of the structuring element based on the lines associated to the structuring element
virtual void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::ComputeNeighborhoodOffsetTable | ( | ) | [protected, virtual, inherited] |
Fills entries into the offset lookup table. Called once on initialization.
virtual void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::ComputeNeighborhoodStrideTable | ( | ) | [protected, virtual, inherited] |
Computes the entries for the stride table
static Self itk::FlatStructuringElement< VDimension >::Cross | ( | RadiusType | radius | ) | [static] |
Create a cross structuring element
ConstIterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::End | ( | void | ) | const [inline, inherited] |
STL-style iterator support.
Definition at line 157 of file itkNeighborhood.h.
Iterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::End | ( | void | ) | [inline, inherited] |
STL-style iterator support.
Definition at line 153 of file itkNeighborhood.h.
const AllocatorType& itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetBufferReference | ( | ) | const [inline, inherited] |
STL-style iterator support.
Definition at line 206 of file itkNeighborhood.h.
AllocatorType& itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetBufferReference | ( | ) | [inline, inherited] |
Returns a reference to the data buffer structure.
Definition at line 204 of file itkNeighborhood.h.
unsigned int itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetCenterNeighborhoodIndex | ( | ) | const [inline, inherited] |
Definition at line 224 of file itkNeighborhood.h.
bool itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetCenterValue | ( | ) | const [inline, inherited] |
Returns the element at the center of the neighborhood.
Definition at line 177 of file itkNeighborhood.h.
bool itk::FlatStructuringElement< VDimension >::GetDecomposable | ( | ) | const [inline] |
Returns wether the structuring element is decomposable or not. If the structuring is decomposable, the set of lines associated with the structuring may be used by an algorithm instead of the standard buffer.
Definition at line 112 of file itkFlatStructuringElement.h.
bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetElement | ( | unsigned int | i | ) | [inline, inherited] |
STL-style iterator support.
Definition at line 172 of file itkNeighborhood.h.
const DecompType& itk::FlatStructuringElement< VDimension >::GetLines | ( | ) | const [inline] |
Return the lines associated with the structuring element
Definition at line 118 of file itkFlatStructuringElement.h.
virtual unsigned int itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetNeighborhoodIndex | ( | const OffsetType & | ) | const [virtual, inherited] |
OffsetType itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::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 219 of file itkNeighborhood.h.
unsigned long itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetRadius | ( | const unsigned long | n | ) | const [inline, inherited] |
Returns the radius of the neighborhood along a specified dimension.
Definition at line 134 of file itkNeighborhood.h.
const SizeType itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetRadius | ( | void | ) | const [inline, inherited] |
Returns the radius of the neighborhood.
Definition at line 129 of file itkNeighborhood.h.
SizeType itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetSize | ( | void | ) | const [inline, inherited] |
Returns the size (total length of sides) of the neighborhood.
Definition at line 143 of file itkNeighborhood.h.
unsigned long itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetSize | ( | const unsigned long | n | ) | const [inline, inherited] |
Returns the size (total length) of the neighborhood along a specified dimension.
Definition at line 139 of file itkNeighborhood.h.
std::slice itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetSlice | ( | unsigned | int | ) | const [inherited] |
unsigned itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::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 149 of file itkNeighborhood.h.
bool itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator!= | ( | const Self & | other | ) | const [inline, inherited] |
Not Equal operator.
Definition at line 121 of file itkNeighborhood.h.
bool itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator== | ( | const Self & | other | ) | const [inline, inherited] |
Comparison operator.
Definition at line 113 of file itkNeighborhood.h.
const bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] | ( | const OffsetType & | o | ) | const [inline, inherited] |
STL-style iterator support.
Definition at line 213 of file itkNeighborhood.h.
bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] | ( | const OffsetType & | o | ) | [inline, inherited] |
Get pixel value by offset
Definition at line 211 of file itkNeighborhood.h.
const bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] | ( | unsigned int | i | ) | const [inline, inherited] |
STL-style iterator support.
Definition at line 170 of file itkNeighborhood.h.
bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] | ( | unsigned int | i | ) | [inline, inherited] |
Pass-through data access methods to the buffer.
Definition at line 168 of file itkNeighborhood.h.
static Self itk::FlatStructuringElement< VDimension >::Poly | ( | RadiusType | radius, | |
unsigned | lines | |||
) | [static] |
Create a polygon structuring element. The structuring element is is decomposable. lines is the number of elements in the decomposition
void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Print | ( | std::ostream & | os | ) | const [inline, inherited] |
Standard itk object method.
Definition at line 200 of file itkNeighborhood.h.
void itk::FlatStructuringElement< VDimension >::PrintSelf | ( | std::ostream & | , | |
Indent | ||||
) | const [virtual] |
Standard itk object method.
Reimplemented from itk::Neighborhood< bool, VDimension >.
void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::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< bool , VDimension, NeighborhoodAllocator<bool > >::SetRadius | ( | const unsigned long * | rad | ) | [inline, inherited] |
Sets the radius for the neighborhood. Overloaded to support an unsigned long array.
Definition at line 186 of file itkNeighborhood.h.
void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::SetRadius | ( | const SizeType & | ) | [inherited] |
Sets the radius for the neighborhood, calculates size from the radius, and allocates storage.
void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::SetSize | ( | ) | [inline, protected, inherited] |
Sets the length along each dimension.
Definition at line 233 of file itkNeighborhood.h.
unsigned int itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Size | ( | void | ) | const [inline, inherited] |
More STL-style support.
Definition at line 164 of file itkNeighborhood.h.
const unsigned int itk::FlatStructuringElement< VDimension >::NeighborhoodDimension = VDimension [static] |
External support for dimensionality.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 70 of file itkFlatStructuringElement.h.