![]() |
Orfeo Toolbox
3.16
|
A class to support a variety of flat structuring elements, including versions created by decomposition of lines. More...
#include <itkFlatStructuringElement.h>
Inheritance diagram for itk::FlatStructuringElement< VDimension >:
Collaboration diagram for itk::FlatStructuringElement< VDimension >: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 () | |
| virtual | ~FlatStructuringElement () |
| Iterator | Begin () |
| ConstIterator | Begin () const |
| Iterator | End () |
| ConstIterator | End () const |
| AllocatorType & | GetBufferReference () |
| const AllocatorType & | GetBufferReference () const |
| unsigned int | GetCenterNeighborhoodIndex () const |
| bool | GetCenterValue () const |
| bool | GetDecomposable () const |
| bool & | GetElement (unsigned int i) |
| const DecompType & | GetLines () const |
| virtual unsigned int | GetNeighborhoodIndex (const OffsetType &) const |
| OffsetType | GetOffset (unsigned int i) const |
| const SizeType | GetRadius () const |
| unsigned long | GetRadius (const unsigned long n) const |
| unsigned long | GetSize (const unsigned long n) const |
| SizeType | GetSize () 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 |
| bool & | operator[] (unsigned int i) |
| const bool & | operator[] (unsigned int i) const |
| bool & | operator[] (const OffsetType &o) |
| const bool & | operator[] (const OffsetType &o) const |
| void | Print (std::ostream &os) const |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| void | SetRadius (const SizeType &) |
| void | SetRadius (const unsigned long *rad) |
| void | SetRadius (const unsigned long) |
| unsigned int | Size () const |
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 () |
| void | SetSize () |
Private Types | |
| typedef StructuringElementFacet < VDimension > | FacetType |
Private Member Functions | |
| bool | checkParallel (LType NewVec, DecompType Lines) |
| virtual FlatStructuringElement | PolySub (const Dispatch< 2 > &, RadiusType radius, unsigned lines) const |
| virtual FlatStructuringElement | PolySub (const Dispatch< 3 > &, RadiusType radius, unsigned lines) const |
| virtual FlatStructuringElement | PolySub (const DispatchBase &, RadiusType radius, unsigned lines) const |
Private Attributes | |
| bool | m_Decomposable |
| DecompType | m_Lines |
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.
|
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.
|
private |
Definition at line 165 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.
|
inlinevirtual |
Default destructor.
Definition at line 76 of file itkFlatStructuringElement.h.
|
inline |
Default consructor.
Definition at line 79 of file itkFlatStructuringElement.h.
|
inlineprotectedvirtualinherited |
Allocates the neighborhood's memory buffer.
Definition at line 236 of file itkNeighborhood.h.
|
static |
Create an annulus structuring element
Definition at line 804 of file itkFlatStructuringElement.txx.
References itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin(), itk::ImageConstIterator< TImage >::Get(), itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius(), itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize(), itk::ImageRegionConstIterator< TImage >::GoToBegin(), itk::ImageConstIterator< TImage >::IsAtEnd(), itk::FlatStructuringElement< VDimension >::m_Decomposable, itk::ImageRegionIterator< TImage >::Set(), itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius(), and itk::Size< VDimension >::SetSize().
|
static |
Create a ball structuring element
Definition at line 700 of file itkFlatStructuringElement.txx.
References itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin(), itk::ImageConstIterator< TImage >::Get(), itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius(), itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize(), itk::ImageRegionConstIterator< TImage >::GoToBegin(), itk::FloodFilledFunctionConditionalConstIterator< TImage, TFunction >::IsAtEnd(), itk::ImageConstIterator< TImage >::IsAtEnd(), itk::FlatStructuringElement< VDimension >::m_Decomposable, itk::FloodFilledSpatialFunctionConditionalIterator< TImage, TFunction >::Set(), itk::ImageRegionIterator< TImage >::Set(), itk::FloodFilledSpatialFunctionConditionalConstIterator< TImage, TFunction >::SetCenterInclusionStrategy(), itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius(), and itk::Size< VDimension >::SetSize().
|
inlineinherited |
Definition at line 154 of file itkNeighborhood.h.
|
inlineinherited |
Definition at line 158 of file itkNeighborhood.h.
|
static |
Various constructors Create a box structuring element. The structuring element is is decomposable.
Definition at line 641 of file itkFlatStructuringElement.txx.
References itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin(), itk::Neighborhood< TPixel, VDimension, TAllocator >::End(), itk::FixedArray< TValueType, VLength >::Fill(), itk::FlatStructuringElement< VDimension >::m_Decomposable, itk::FlatStructuringElement< VDimension >::m_Lines, and itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius().
|
private |
Definition at line 924 of file itkFlatStructuringElement.txx.
References itk::Vector< T, NVectorDimension >::Normalize().
Referenced by itk::FlatStructuringElement< VDimension >::Poly(), and itk::FlatStructuringElement< VDimension >::PolySub().
|
protected |
Fill the buffer of the structuring element based on the lines associated to the structuring element
Definition at line 957 of file itkFlatStructuringElement.txx.
References itk::ImageConstIterator< TImage >::Get(), itk::ImageRegionConstIterator< TImage >::GoToBegin(), itk::ImageConstIterator< TImage >::IsAtEnd(), itk::ImageRegionIterator< TImage >::Set(), and itk::Size< VDimension >::SetSize().
Referenced by itk::FlatStructuringElement< VDimension >::Poly().
|
protectedvirtualinherited |
Fills entries into the offset lookup table. Called once on initialization.
|
protectedvirtualinherited |
Computes the entries for the stride table
|
static |
Create a cross structuring element
Definition at line 672 of file itkFlatStructuringElement.txx.
References itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin(), itk::Neighborhood< TPixel, VDimension, TAllocator >::End(), itk::Offset< VOffsetDimension >::Fill(), itk::FlatStructuringElement< VDimension >::m_Decomposable, and itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius().
|
inlineinherited |
STL-style iterator support.
Definition at line 152 of file itkNeighborhood.h.
|
inlineinherited |
Definition at line 156 of file itkNeighborhood.h.
|
inlineinherited |
Returns a reference to the data buffer structure.
Definition at line 200 of file itkNeighborhood.h.
|
inlineinherited |
Definition at line 202 of file itkNeighborhood.h.
|
inlineinherited |
Definition at line 218 of file itkNeighborhood.h.
|
inlineinherited |
Returns the element at the center of the neighborhood.
Definition at line 174 of file itkNeighborhood.h.
|
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.
Referenced by itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >::SetAlgorithm(), itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >::SetAlgorithm(), itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >::SetAlgorithm(), itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >::SetAlgorithm(), itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >::SetAlgorithm(), itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >::SetKernel(), itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >::SetKernel(), itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >::SetKernel(), itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >::SetKernel(), and itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >::SetKernel().
|
inlineinherited |
Definition at line 170 of file itkNeighborhood.h.
|
inline |
Return the lines associated with the structuring element
Definition at line 118 of file itkFlatStructuringElement.h.
|
virtualinherited |
|
inlineinherited |
Returns the itk::Offset from the center of the Neighborhood to the requested neighbor index.
Definition at line 213 of file itkNeighborhood.h.
|
inlineinherited |
Returns the radius of the neighborhood.
Definition at line 128 of file itkNeighborhood.h.
|
inlineinherited |
Returns the radius of the neighborhood along a specified dimension.
Definition at line 133 of file itkNeighborhood.h.
|
inlineinherited |
Returns the size (total length) of the neighborhood along a specified dimension.
Definition at line 138 of file itkNeighborhood.h.
|
inlineinherited |
Returns the size (total length of sides) of the neighborhood.
Definition at line 142 of file itkNeighborhood.h.
|
inherited |
|
inlineinherited |
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 148 of file itkNeighborhood.h.
|
inlineinherited |
Not Equal operator.
Definition at line 120 of file itkNeighborhood.h.
|
inlineinherited |
Comparison operator.
Definition at line 112 of file itkNeighborhood.h.
|
inlineinherited |
Pass-through data access methods to the buffer.
Definition at line 166 of file itkNeighborhood.h.
|
inlineinherited |
Definition at line 168 of file itkNeighborhood.h.
|
inlineinherited |
Get pixel value by offset
Definition at line 206 of file itkNeighborhood.h.
|
inlineinherited |
Definition at line 208 of file itkNeighborhood.h.
|
static |
Create a polygon structuring element. The structuring element is is decomposable. lines is the number of elements in the decomposition
Definition at line 41 of file itkFlatStructuringElement.txx.
References itk::FlatStructuringElement< VDimension >::checkParallel(), itk::FlatStructuringElement< VDimension >::ComputeBufferFromLines(), itk::FlatStructuringElement< VDimension >::m_Lines, M_PI, itk::FlatStructuringElement< VDimension >::PolySub(), and itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius().
|
privatevirtual |
Definition at line 77 of file itkFlatStructuringElement.txx.
References itk::FlatStructuringElement< VDimension >::checkParallel(), itk::FlatStructuringElement< VDimension >::m_Decomposable, itk::FlatStructuringElement< VDimension >::m_Lines, and M_PI.
Referenced by itk::FlatStructuringElement< VDimension >::Poly().
|
privatevirtual |
Definition at line 139 of file itkFlatStructuringElement.txx.
References itk::FlatStructuringElement< VDimension >::checkParallel(), itk::FlatStructuringElement< VDimension >::m_Decomposable, itk::FlatStructuringElement< VDimension >::m_Lines, itk::Vector< T, NVectorDimension >::Normalize(), itk::FlatStructuringElement< VDimension >::StructuringElementFacet< VDimension3 >::P1, itk::FlatStructuringElement< VDimension >::StructuringElementFacet< VDimension3 >::P2, itk::FlatStructuringElement< VDimension >::StructuringElementFacet< VDimension3 >::P3, and itk::Math::sqrt2.
|
privatevirtual |
Definition at line 630 of file itkFlatStructuringElement.txx.
References itk::FlatStructuringElement< VDimension >::m_Decomposable.
|
inlineinherited |
Standard itk object method.
Definition at line 196 of file itkNeighborhood.h.
|
virtual |
Standard itk object method.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 940 of file itkFlatStructuringElement.txx.
|
inherited |
Sets the radius for the neighborhood, calculates size from the radius, and allocates storage.
|
inlineinherited |
Sets the radius for the neighborhood. Overloaded to support an unsigned long array.
Definition at line 183 of file itkNeighborhood.h.
|
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).
|
inlineprotectedinherited |
Sets the length along each dimension.
Definition at line 227 of file itkNeighborhood.h.
|
inlineinherited |
More STL-style support.
Definition at line 162 of file itkNeighborhood.h.
|
private |
Definition at line 136 of file itkFlatStructuringElement.h.
Referenced by itk::FlatStructuringElement< VDimension >::Annulus(), itk::FlatStructuringElement< VDimension >::Ball(), itk::FlatStructuringElement< VDimension >::Box(), itk::FlatStructuringElement< VDimension >::Cross(), and itk::FlatStructuringElement< VDimension >::PolySub().
|
private |
Definition at line 138 of file itkFlatStructuringElement.h.
Referenced by itk::FlatStructuringElement< VDimension >::Box(), itk::FlatStructuringElement< VDimension >::Poly(), and itk::FlatStructuringElement< VDimension >::PolySub().
|
static |
External support for dimensionality.
Reimplemented from itk::Neighborhood< bool, VDimension >.
Definition at line 70 of file itkFlatStructuringElement.h.