Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions

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 >:
Inheritance graph
[legend]
Collaboration diagram for itk::FlatStructuringElement< VDimension >:
Collaboration graph
[legend]

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 ()
unsigned int GetCenterNeighborhoodIndex () const
bool GetCenterValue () const
bool GetDecomposable () const
const DecompTypeGetLines () 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
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
void Print (std::ostream &os) const
void PrintSelf (std::ostream &os, Indent indent) const
void SetRadius (const SizeType &)
void SetRadius (const unsigned long)
unsigned int Size () const
virtual ~FlatStructuringElement ()

Iterator End ()
ConstIterator End () const
Iterator Begin ()
ConstIterator Begin () const

bool & operator[] (unsigned int i)
const bool & operator[] (unsigned int i) const
bool & GetElement (unsigned int i)

bool & operator[] (const OffsetType &o)
const bool & operator[] (const OffsetType &o) const

void SetRadius (const unsigned long *rad)

AllocatorTypeGetBufferReference ()
const AllocatorTypeGetBufferReference () 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 ()

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 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 (  )  [inline, virtual]

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  )  [inline, protected, virtual, inherited]

Allocates the neighborhood's memory buffer.

Definition at line 243 of file itkNeighborhood.h.

template<unsigned int VDimension>
static Self itk::FlatStructuringElement< VDimension >::Annulus ( RadiusType  radius,
unsigned int  thickness = 1,
bool  includeCenter = false 
) [static]

Create an annulus structuring element

template<unsigned int VDimension>
static Self itk::FlatStructuringElement< VDimension >::Ball ( RadiusType  radius  )  [static]

Create a ball structuring element

Iterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Begin ( void   )  [inline, inherited]

STL-style iterator support.

Definition at line 155 of file itkNeighborhood.h.

ConstIterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::Begin ( void   )  const [inline, inherited]

STL-style iterator support.

Definition at line 159 of file itkNeighborhood.h.

template<unsigned int VDimension>
static Self itk::FlatStructuringElement< VDimension >::Box ( RadiusType  radius  )  [static]

Various constructors Create a box structuring element. The structuring element is is decomposable.

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

template<unsigned int VDimension>
static Self itk::FlatStructuringElement< VDimension >::Cross ( RadiusType  radius  )  [static]

Create a cross structuring element

Iterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::End ( void   )  [inline, inherited]

STL-style iterator support.

Definition at line 153 of file itkNeighborhood.h.

ConstIterator itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::End ( void   )  const [inline, inherited]

STL-style iterator support.

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

const AllocatorType& itk::Neighborhood< bool , VDimension, NeighborhoodAllocator<bool > >::GetBufferReference (  )  const [inline, inherited]

Returns a reference to the data buffer structure.

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

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

Pass-through data access methods to the buffer.

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

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.

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.

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.

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.

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.

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.

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

Pass-through data access methods to the buffer.

Definition at line 170 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[] ( const OffsetType o  )  const [inline, inherited]

Get pixel value by offset

Definition at line 213 of file itkNeighborhood.h.

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

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


Member Data Documentation

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

Generated at Mon Jul 12 2010 22:33:05 for ITK by doxygen 1.7.1 written by Dimitri van Heesch, © 1997-2000