Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction > Class Template Reference
[Image Iterators]

Iterates over a flood-filled spatial function. More...

#include <itkShapedFloodFilledFunctionConditionalConstIterator.h>

Inheritance diagram for itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >:

Inheritance graph
[legend]
Collaboration diagram for itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef TFunction::InputType FunctionInputType
typedef TFunction FunctionType
typedef TImage ImageType
typedef TImage::IndexType IndexType
typedef TImage::InternalPixelType InternalPixelType
typedef
itk::ShapedNeighborhoodIterator
< ImageType
NeighborhoodIteratorType
typedef TImage::OffsetType OffsetType
typedef TImage::PixelType PixelType
typedef TImage::RegionType RegionType
typedef
ShapedFloodFilledFunctionConditionalConstIterator 
Self
typedef TImage::SizeType SizeType

Public Member Functions

void AddSeed (const IndexType seed)
void ClearSeeds ()
void DoFloodStep ()
void FindSeedPixel ()
void FindSeedPixels ()
const PixelTypeGet (void) const
virtual SmartPointer
< FunctionType
GetFunction () const
const IndexType GetIndex ()
void GoToBegin ()
void InitializeIterator ()
bool IsAtEnd ()
virtual bool IsPixelIncluded (const IndexType &index) const =0
 itkStaticConstMacro (NDimension, unsigned int, TImage::ImageDimension)
 itkStaticConstMacro (NDimensions, unsigned int, TImage::ImageDimension)
void operator++ ()
Selfoperator= (const Self &it)
 ShapedFloodFilledFunctionConditionalConstIterator (const ImageType *imagePtr, FunctionType *fnPtr)
 ShapedFloodFilledFunctionConditionalConstIterator (const ImageType *imagePtr, FunctionType *fnPtr, std::vector< IndexType > &startIndices)
 ShapedFloodFilledFunctionConditionalConstIterator (const ImageType *imagePtr, FunctionType *fnPtr, IndexType startIndex)
virtual ~ShapedFloodFilledFunctionConditionalConstIterator ()
virtual void FullyConnectedOff ()
virtual void FullyConnectedOn ()
bool GetFullyConnected () const
void SetFullyConnected (const bool _arg)

Static Public Member Functions

static unsigned int GetIteratorDimension ()

Protected Types

typedef Image< unsigned char,
itkGetStaticConstMacro(NDimensions)> 
TTempImage

Protected Attributes

bool m_FoundUncheckedNeighbor
SmartPointer< FunctionTypem_Function
ImageType::ConstWeakPointer m_Image
ImageType::PointType m_ImageOrigin
RegionType m_ImageRegion
ImageType::SpacingType m_ImageSpacing
std::queue< IndexTypem_IndexStack
bool m_IsAtEnd
bool m_IsValidIndex
FunctionInputType m_LocationVector
NeighborhoodIteratorType m_NeighborhoodIterator
RegionType m_Region
std::vector< IndexTypem_StartIndices
TTempImage::Pointer m_TempPtr
bool m_FullyConnected


Detailed Description

template<class TImage, class TFunction>
class itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >

Iterates over a flood-filled spatial function.

Contributed as a paper to the Insight Journal: http://hdl.handle.net/1926/1320

Definition at line 44 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.


Member Typedef Documentation

template<class TImage, class TFunction>
typedef TFunction::InputType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::FunctionInputType

template<class TImage, class TFunction>
typedef TFunction itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::FunctionType

template<class TImage, class TFunction>
typedef TImage itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::ImageType

template<class TImage, class TFunction>
typedef TImage::IndexType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::IndexType

template<class TImage, class TFunction>
typedef TImage::InternalPixelType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::InternalPixelType

Internal Neighborhood Iterator Type

Definition at line 80 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
typedef TImage::OffsetType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::OffsetType

Offset typedef support.

Definition at line 62 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
typedef TImage::PixelType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::PixelType

template<class TImage, class TFunction>
typedef TImage::RegionType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::RegionType

template<class TImage, class TFunction>
typedef ShapedFloodFilledFunctionConditionalConstIterator itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::Self

template<class TImage, class TFunction>
typedef TImage::SizeType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::SizeType

template<class TImage, class TFunction>
typedef Image<unsigned char, itkGetStaticConstMacro(NDimensions)> itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::TTempImage [protected]

A temporary image used for storing info about indices 0 = pixel has not yet been processed 1 = pixel is not inside the function 2 = pixel is inside the function, neighbor check incomplete 3 = pixel is inside the function, neighbor check complete

Definition at line 230 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.


Constructor & Destructor Documentation

template<class TImage, class TFunction>
itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::ShapedFloodFilledFunctionConditionalConstIterator ( const ImageType imagePtr,
FunctionType fnPtr,
IndexType  startIndex 
)

Constructor establishes an iterator to walk a particular image and a particular region of that image. This version of the constructor uses an explicit seed pixel for the flood fill, the "startIndex"

template<class TImage, class TFunction>
itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::ShapedFloodFilledFunctionConditionalConstIterator ( const ImageType imagePtr,
FunctionType fnPtr,
std::vector< IndexType > &  startIndices 
)

Constructor establishes an iterator to walk a particular image and a particular region of that image. This version of the constructor uses a list of seed pixels for the flood fill

template<class TImage, class TFunction>
itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::ShapedFloodFilledFunctionConditionalConstIterator ( const ImageType imagePtr,
FunctionType fnPtr 
)

Constructor establishes an iterator to walk a particular image and a particular region of that image. This version of the constructor should be used when the seed pixel is unknown

template<class TImage, class TFunction>
virtual itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::~ShapedFloodFilledFunctionConditionalConstIterator (  )  [inline, virtual]

Default Destructor.

Definition at line 121 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.


Member Function Documentation

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::AddSeed ( const IndexType  seed  )  [inline]

Put more seeds on the list

Definition at line 155 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::ClearSeeds (  )  [inline]

Clear all the seeds

Definition at line 161 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::DoFloodStep (  ) 

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::FindSeedPixel (  ) 

Automatically find a seed pixel and set m_StartIndex. Does nothing if a seed pixel isn't found. A seed pixel is determined by traversing the input image's LargestPossibleRegion and applying the IsPixelIncluded() test.

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::FindSeedPixels (  ) 

Automatically find all seed pixels.

template<class TImage, class TFunction>
virtual void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::FullyConnectedOff (  )  [virtual]

When m_FullyConnected is set to true, the neighborhood iterator will inspect an 8 respectively 26 neighborhood. When the value is set to false, the neighborhood will be 4 in 2D and 6 in 3D.

template<class TImage, class TFunction>
virtual void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::FullyConnectedOn (  )  [virtual]

When m_FullyConnected is set to true, the neighborhood iterator will inspect an 8 respectively 26 neighborhood. When the value is set to false, the neighborhood will be 4 in 2D and 6 in 3D.

template<class TImage, class TFunction>
const PixelType& itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::Get ( void   )  const [inline, virtual]

template<class TImage, class TFunction>
bool itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::GetFullyConnected (  )  const

When m_FullyConnected is set to true, the neighborhood iterator will inspect an 8 respectively 26 neighborhood. When the value is set to false, the neighborhood will be 4 in 2D and 6 in 3D.

template<class TImage, class TFunction>
virtual SmartPointer<FunctionType> itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::GetFunction (  )  const [inline, virtual]

template<class TImage, class TFunction>
const IndexType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::GetIndex ( void   )  [inline, virtual]

Get the index. This provides a read only reference to the index. This causes the index to be calculated from pointer arithmetic and is therefore an expensive operation.

See also:
SetIndex

Implements itk::ConditionalConstIterator< TImage >.

Definition at line 143 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
static unsigned int itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::GetIteratorDimension (  )  [inline, static]

Get the dimension (size) of the index.

Reimplemented from itk::ConditionalConstIterator< TImage >.

Definition at line 136 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::GoToBegin ( void   )  [inline]

Move an iterator to the beginning of the region. "Begin" is defined as the first pixel in the region.

Definition at line 168 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::InitializeIterator (  ) 

Initializes the iterator, called from constructor

template<class TImage, class TFunction>
bool itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::IsAtEnd ( void   )  [inline, virtual]

Is the iterator at the end of the region?

Implements itk::ConditionalConstIterator< TImage >.

Definition at line 151 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
virtual bool itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::IsPixelIncluded ( const IndexType index  )  const [pure virtual]

Compute whether the index of interest should be included in the flood

Implements itk::ConditionalConstIterator< TImage >.

Implemented in itk::ShapedFloodFilledImageFunctionConditionalConstIterator< TImage, TFunction >.

itk::ConditionalConstIterator< TImage >::itkStaticConstMacro ( NDimension  ,
unsigned  int,
TImage ::ImageDimension   
) [inherited]

Dimension of the image the iterator walks. This constant is needed so that functions that are templated over image iterator type (as opposed to being templated over pixel type and dimension) can have compile time access to the dimension of the image that the iterator walks.

template<class TImage, class TFunction>
itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::itkStaticConstMacro ( NDimensions  ,
unsigned  int,
TImage::ImageDimension   
)

Dimension of the image the iterator walks. This constant is needed so that functions that are templated over image iterator type (as opposed to being templated over pixel type and dimension) can have compile time access to the dimension of the image that the iterator walks.

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::operator++ (  )  [inline, virtual]

Walk forward one index

Implements itk::ConditionalConstIterator< TImage >.

Definition at line 201 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
Self& itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::operator= ( const Self it  )  [inline]

operator= is provided to make sure the handle to the image is properly reference counted.

Definition at line 128 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
void itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::SetFullyConnected ( const bool  _arg  ) 

When m_FullyConnected is set to true, the neighborhood iterator will inspect an 8 respectively 26 neighborhood. When the value is set to false, the neighborhood will be 4 in 2D and 6 in 3D.


Member Data Documentation

template<class TImage, class TFunction>
bool itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_FoundUncheckedNeighbor [protected]

Indicates whether or not we've found a neighbor that needs to be checked.

Definition at line 257 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
bool itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_FullyConnected [protected]

Defines the connectivity of the neighborhood iterator. In case of 2D the default connectivity is 4 (6 in 3D) and when m_FullyConnected is set to true the connectivity is 8 (26 in 3D).

Definition at line 267 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
SmartPointer<FunctionType> itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_Function [protected]

Smart pointer to the function we're evaluating

Definition at line 217 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

ImageType::ConstWeakPointer itk::ConditionalConstIterator< TImage >::m_Image [protected, inherited]

Smart pointer to the source image.

Definition at line 104 of file itkConditionalConstIterator.h.

template<class TImage, class TFunction>
ImageType::PointType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_ImageOrigin [protected]

The origin of the source image

Definition at line 238 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
RegionType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_ImageRegion [protected]

Region of the source image

Definition at line 247 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
ImageType::SpacingType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_ImageSpacing [protected]

The spacing of the source image

Definition at line 241 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
std::queue<IndexType> itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_IndexStack [protected]

Stack used to hold the path of the iterator through the image

Definition at line 250 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

bool itk::ConditionalConstIterator< TImage >::m_IsAtEnd [protected, inherited]

Is the iterator at the end of its walk?

Definition at line 110 of file itkConditionalConstIterator.h.

template<class TImage, class TFunction>
bool itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_IsValidIndex [protected]

Indicates whether or not an index is valid (inside an image)/

Definition at line 260 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
FunctionInputType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_LocationVector [protected]

Location vector used in the flood algorithm

Definition at line 253 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
NeighborhoodIteratorType itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_NeighborhoodIterator [protected]

The neighborhood iterator

Definition at line 244 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

RegionType itk::ConditionalConstIterator< TImage >::m_Region [protected, inherited]

Region type to iterate over.

Definition at line 107 of file itkConditionalConstIterator.h.

template<class TImage, class TFunction>
std::vector<IndexType> itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_StartIndices [protected]

A list of locations to start the recursive fill

Definition at line 235 of file itkShapedFloodFilledFunctionConditionalConstIterator.h.

template<class TImage, class TFunction>
TTempImage::Pointer itk::ShapedFloodFilledFunctionConditionalConstIterator< TImage, TFunction >::m_TempPtr [protected]


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

Generated at Tue Sep 15 12:36:31 2009 for ITK by doxygen 1.5.8 written by Dimitri van Heesch, © 1997-2000