Orfeo Toolbox  3.16
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
itk::FlatStructuringElement< VDimension > Class Template Reference

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

List of all members.

Classes

struct  Dispatch
struct  DispatchBase
struct  StructuringElementFacet

Public Types

typedef NeighborhoodAllocator
< bool > 
AllocatorType
typedef Superclass::ConstIterator ConstIterator
typedef std::vector< LTypeDecompType
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
AllocatorTypeGetBufferReference ()
const AllocatorTypeGetBufferReference () const
unsigned int GetCenterNeighborhoodIndex () const
bool GetCenterValue () const
bool GetDecomposable () const
bool & GetElement (unsigned int i)
const DecompTypeGetLines () 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

Detailed Description

template<unsigned int VDimension>
class itk::FlatStructuringElement< VDimension >

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.


Member Typedef Documentation

typedef NeighborhoodAllocator<bool > itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::AllocatorType
inherited

External support for allocator type.

Definition at line 63 of file itkNeighborhood.h.

template<unsigned int VDimension>
typedef Superclass::ConstIterator itk::FlatStructuringElement< VDimension >::ConstIterator

Reimplemented from itk::Neighborhood< bool, VDimension >.

Definition at line 56 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
typedef std::vector<LType> itk::FlatStructuringElement< VDimension >::DecompType

Definition at line 73 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
typedef StructuringElementFacet<VDimension> itk::FlatStructuringElement< VDimension >::FacetType
private

Definition at line 165 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
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.

template<unsigned int VDimension>
typedef Vector<float, VDimension> itk::FlatStructuringElement< VDimension >::LType

Definition at line 72 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
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.

template<unsigned int VDimension>
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.

template<unsigned int VDimension>
typedef Superclass::RadiusType itk::FlatStructuringElement< VDimension >::RadiusType

Radius typedef support.

Reimplemented from itk::Neighborhood< bool, VDimension >.

Definition at line 64 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
typedef FlatStructuringElement< VDimension> itk::FlatStructuringElement< VDimension >::Self

Standard class typedefs.

Reimplemented from itk::Neighborhood< bool, VDimension >.

Definition at line 46 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
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.

template<unsigned int VDimension>
typedef Superclass::SizeValueType itk::FlatStructuringElement< VDimension >::SizeValueType

Reimplemented from itk::Neighborhood< bool, VDimension >.

Definition at line 60 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
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.

template<unsigned int VDimension>
typedef Neighborhood<bool, VDimension> itk::FlatStructuringElement< VDimension >::Superclass

Definition at line 47 of file itkFlatStructuringElement.h.


Constructor & Destructor Documentation

template<unsigned int VDimension>
virtual itk::FlatStructuringElement< VDimension >::~FlatStructuringElement ( )
inlinevirtual

Default destructor.

Definition at line 76 of file itkFlatStructuringElement.h.

template<unsigned int VDimension>
itk::FlatStructuringElement< VDimension >::FlatStructuringElement ( )
inline

Default consructor.

Definition at line 79 of file itkFlatStructuringElement.h.


Member Function Documentation

virtual void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Allocate ( unsigned int  i)
inlineprotectedvirtualinherited

Allocates the neighborhood's memory buffer.

Definition at line 236 of file itkNeighborhood.h.

template<unsigned int NDimension>
FlatStructuringElement< NDimension > itk::FlatStructuringElement< NDimension >::Annulus ( RadiusType  radius,
unsigned int  thickness = 1,
bool  includeCenter = false 
)
static
template<unsigned int VDimension>
FlatStructuringElement< VDimension > itk::FlatStructuringElement< VDimension >::Ball ( RadiusType  radius)
static
Iterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Begin ( void  )
inlineinherited

Definition at line 154 of file itkNeighborhood.h.

ConstIterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Begin ( void  ) const
inlineinherited

Definition at line 158 of file itkNeighborhood.h.

template<unsigned int VDimension>
FlatStructuringElement< VDimension > itk::FlatStructuringElement< VDimension >::Box ( RadiusType  radius)
static
template<unsigned int VDimension>
bool itk::FlatStructuringElement< VDimension >::checkParallel ( LType  NewVec,
DecompType  Lines 
)
private
template<unsigned int VDimension>
void itk::FlatStructuringElement< VDimension >::ComputeBufferFromLines ( )
protected
virtual void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::ComputeNeighborhoodOffsetTable ( )
protectedvirtualinherited

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

virtual void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::ComputeNeighborhoodStrideTable ( )
protectedvirtualinherited

Computes the entries for the stride table

template<unsigned int VDimension>
FlatStructuringElement< VDimension > itk::FlatStructuringElement< VDimension >::Cross ( RadiusType  radius)
static
Iterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::End ( void  )
inlineinherited

STL-style iterator support.

Definition at line 152 of file itkNeighborhood.h.

ConstIterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::End ( void  ) const
inlineinherited

Definition at line 156 of file itkNeighborhood.h.

AllocatorType& itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetBufferReference ( )
inlineinherited

Returns a reference to the data buffer structure.

Definition at line 200 of file itkNeighborhood.h.

const AllocatorType& itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetBufferReference ( ) const
inlineinherited

Definition at line 202 of file itkNeighborhood.h.

unsigned int itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetCenterNeighborhoodIndex ( ) const
inlineinherited

Definition at line 218 of file itkNeighborhood.h.

bool itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetCenterValue ( ) const
inlineinherited

Returns the element at the center of the neighborhood.

Definition at line 174 of file itkNeighborhood.h.

template<unsigned int VDimension>
bool itk::FlatStructuringElement< VDimension >::GetDecomposable ( ) const
inline
bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetElement ( unsigned int  i)
inlineinherited

Definition at line 170 of file itkNeighborhood.h.

template<unsigned int VDimension>
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
virtualinherited
OffsetType itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetOffset ( unsigned int  i) const
inlineinherited

Returns the itk::Offset from the center of the Neighborhood to the requested neighbor index.

Definition at line 213 of file itkNeighborhood.h.

const SizeType itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetRadius ( void  ) const
inlineinherited

Returns the radius of the neighborhood.

Definition at line 128 of file itkNeighborhood.h.

unsigned long itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetRadius ( const unsigned long  n) const
inlineinherited

Returns the radius of the neighborhood along a specified dimension.

Definition at line 133 of file itkNeighborhood.h.

unsigned long itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetSize ( const unsigned long  n) const
inlineinherited

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

Definition at line 138 of file itkNeighborhood.h.

SizeType itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetSize ( void  ) const
inlineinherited

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

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

bool itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator!= ( const Self other) const
inlineinherited

Not Equal operator.

Definition at line 120 of file itkNeighborhood.h.

bool itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator== ( const Self other) const
inlineinherited

Comparison operator.

Definition at line 112 of file itkNeighborhood.h.

bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] ( unsigned int  i)
inlineinherited

Pass-through data access methods to the buffer.

Definition at line 166 of file itkNeighborhood.h.

const bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] ( unsigned int  i) const
inlineinherited

Definition at line 168 of file itkNeighborhood.h.

bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] ( const OffsetType o)
inlineinherited

Get pixel value by offset

Definition at line 206 of file itkNeighborhood.h.

const bool & itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::operator[] ( const OffsetType o) const
inlineinherited

Definition at line 208 of file itkNeighborhood.h.

template<unsigned int VDimension>
FlatStructuringElement< VDimension > itk::FlatStructuringElement< VDimension >::Poly ( RadiusType  radius,
unsigned  lines 
)
static
template<unsigned int VDimension>
FlatStructuringElement< VDimension > itk::FlatStructuringElement< VDimension >::PolySub ( const Dispatch< 2 > &  ,
RadiusType  radius,
unsigned  lines 
) const
privatevirtual
template<unsigned int VDimension>
FlatStructuringElement< VDimension > itk::FlatStructuringElement< VDimension >::PolySub ( const Dispatch< 3 > &  ,
RadiusType  radius,
unsigned  lines 
) const
privatevirtual
template<unsigned int VDimension>
FlatStructuringElement< VDimension > itk::FlatStructuringElement< VDimension >::PolySub ( const DispatchBase ,
RadiusType  radius,
unsigned  lines 
) const
privatevirtual
void itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Print ( std::ostream &  os) const
inlineinherited

Standard itk object method.

Definition at line 196 of file itkNeighborhood.h.

template<unsigned int VDimension>
void itk::FlatStructuringElement< VDimension >::PrintSelf ( std::ostream &  ,
Indent   
) const
virtual

Standard itk object method.

Reimplemented from itk::Neighborhood< bool, VDimension >.

Definition at line 940 of file itkFlatStructuringElement.txx.

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 > >::SetRadius ( const unsigned long *  rad)
inlineinherited

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

Definition at line 183 of file itkNeighborhood.h.

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 > >::SetSize ( )
inlineprotectedinherited

Sets the length along each dimension.

Definition at line 227 of file itkNeighborhood.h.

unsigned int itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Size ( void  ) const
inlineinherited

More STL-style support.

Definition at line 162 of file itkNeighborhood.h.


Member Data Documentation

template<unsigned int VDimension>
bool itk::FlatStructuringElement< VDimension >::m_Decomposable
private
template<unsigned int VDimension>
DecompType itk::FlatStructuringElement< VDimension >::m_Lines
private
template<unsigned int VDimension>
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.


The documentation for this class was generated from the following files:

Generated at Sun Feb 3 2013 01:43:07 for Orfeo Toolbox with doxygen 1.8.1.1