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

itk::watershed::Boundary< TScalarType, TDimension > Class Template Reference
[Watershed-based Segmentation Filters]

#include <itkWatershedBoundary.h>

Inheritance diagram for itk::watershed::Boundary< TScalarType, TDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::watershed::Boundary< TScalarType, TDimension >:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

typedef Boundary Self
typedef DataObject Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
virtual const char * GetClassName () const
Pointer New ()

Public Types

typedef std::pair< unsigned,
unsigned > 
IndexType
typedef Image< unsigned long,
TDimension >::IndexType 
ImageIndexType
typedef TScalarType ScalarType
typedef Image< face_pixel_t,
TDimension > 
face_t
typedef itk::hash_map< unsigned
long, flat_region_t, itk::hash<
unsigned long > > 
flat_hash_t
typedef flat_hash_t::value_type FlatHashValueType
typedef face_t::Pointer FacePointer

Public Member Functions

 itkStaticConstMacro (Dimension, unsigned int, TDimension)
FacePointer GetFace (const IndexType &idx)
void SetFace (FacePointer f, const IndexType &idx)
void SetFace (FacePointer f, unsigned dimension, unsigned highlow)
FacePointer GetFace (unsigned dimension, unsigned highlow)
flat_hash_tGetFlatHash (const IndexType &idx)
flat_hash_tGetFlatHash (unsigned dimension, unsigned highlow)
void SetFlatHash (flat_hash_t &l, const IndexType &idx)
void SetFlatHash (flat_hash_t &l, unsigned dimension, unsigned highlow)
void SetValid (bool &l, const IndexType &idx)
void SetValid (bool b, unsigned dimension, unsigned highlow)
bool GetValid (const IndexType &idx) const
bool GetValid (unsigned dimension, unsigned highlow) const

Protected Member Functions

 Boundary ()
virtual ~Boundary ()
 Boundary (const Self &)
void operator= (const Self &)
void PrintSelf (std::ostream &os, Indent indent) const
void UpdateOutputInformation ()
bool VerifyRequestedRegion ()
void SetRequestedRegionToLargestPossibleRegion ()
bool RequestedRegionIsOutsideOfTheBufferedRegion ()
void SetRequestedRegion (DataObject *)

Protected Attributes

std::vector< std::pair< FacePointer,
FacePointer > > 
m_Faces
std::vector< std::pair< flat_hash_t,
flat_hash_t > > 
m_FlatHashes
std::vector< std::pair< bool,
bool > > 
m_Valid

Detailed Description

template<class TScalarType, unsigned int TDimension>
class itk::watershed::Boundary< TScalarType, TDimension >

A data object for used by watershed segmentation process objects in streaming applications. A ``boundary'' represents the single-pixel wide surface of an image chunk. This class is used to store information needed to resolve processing at chunk boundaries after data streaming of the watershed segmentation algorithm.
This is an itkDataObject. It contains a matrix of ``faces'' of an N-dimensional hypercube. A chunk of a volume with $ N $ dimensions has $ 2N $ faces of dimension $ N-1 $. Some examples: A 2-dimensional image has 4 faces that are lines. A 3-dimensional image has 6 faces that are planes. A 4-dimensional image has 8 faces which are cubes. Faces are indexed as $ N $ sets of pairs $ (low, high) $.
See also:
WatershedSegmenter

WatershedBoundaryResolver

Definition at line 56 of file itkWatershedBoundary.h.


Member Typedef Documentation

template<class TScalarType, unsigned int TDimension>
typedef SmartPointer<const Self> itk::watershed::Boundary< TScalarType, TDimension >::ConstPointer
 

Itk typedefs and macros defining smart pointer and type identification.

Reimplemented from itk::DataObject.

Definition at line 132 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef Image<face_pixel_t, TDimension> itk::watershed::Boundary< TScalarType, TDimension >::face_t
 

The face data structure. This is just an Image of face pixel types. Definition at line 120 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef face_t::Pointer itk::watershed::Boundary< TScalarType, TDimension >::FacePointer
 

The following averts an internal compiler error on microsoft compilers Definition at line 138 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef itk::hash_map<unsigned long, flat_region_t, itk::hash<unsigned long> > itk::watershed::Boundary< TScalarType, TDimension >::flat_hash_t
 

A hash table holding flat region data structures. Definition at line 124 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef flat_hash_t::value_type itk::watershed::Boundary< TScalarType, TDimension >::FlatHashValueType
 

Definition at line 125 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef Image<unsigned long, TDimension>::IndexType itk::watershed::Boundary< TScalarType, TDimension >::ImageIndexType
 

Definition at line 70 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef std::pair<unsigned, unsigned> itk::watershed::Boundary< TScalarType, TDimension >::IndexType
 

A pair of values used to index into the boundary data structure. The IndexType.first is the dimension of the face and IndexType.second is a binary value 0 or 1 indicating the LOW face or the HIGH face, respectively. Definition at line 69 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef SmartPointer<Self> itk::watershed::Boundary< TScalarType, TDimension >::Pointer
 

Itk typedefs and macros defining smart pointer and type identification.

Reimplemented from itk::DataObject.

Definition at line 131 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef TScalarType itk::watershed::Boundary< TScalarType, TDimension >::ScalarType
 

Definition at line 71 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef Boundary itk::watershed::Boundary< TScalarType, TDimension >::Self
 

Itk typedefs and macros defining smart pointer and type identification.

Reimplemented from itk::DataObject.

Definition at line 129 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
typedef DataObject itk::watershed::Boundary< TScalarType, TDimension >::Superclass
 

Itk typedefs and macros defining smart pointer and type identification.

Reimplemented from itk::DataObject.

Definition at line 130 of file itkWatershedBoundary.h.


Constructor & Destructor Documentation

template<class TScalarType, unsigned int TDimension>
itk::watershed::Boundary< TScalarType, TDimension >::Boundary  )  [protected]
 

template<class TScalarType, unsigned int TDimension>
virtual itk::watershed::Boundary< TScalarType, TDimension >::~Boundary  )  [inline, protected, virtual]
 

Definition at line 208 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
itk::watershed::Boundary< TScalarType, TDimension >::Boundary const Self  )  [inline, protected]
 

Definition at line 209 of file itkWatershedBoundary.h.


Member Function Documentation

template<class TScalarType, unsigned int TDimension>
virtual const char* itk::watershed::Boundary< TScalarType, TDimension >::GetClassName  )  const [virtual]
 

Itk typedefs and macros defining smart pointer and type identification.

Reimplemented from itk::DataObject.

template<class TScalarType, unsigned int TDimension>
FacePointer itk::watershed::Boundary< TScalarType, TDimension >::GetFace unsigned  dimension,
unsigned  highlow
[inline]
 

Returns the face at the specified index, where dimension is the number of the axial dimension and highlow is 0 for the LOW face and 1 for the HIGH face. Definition at line 148 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
FacePointer itk::watershed::Boundary< TScalarType, TDimension >::GetFace const IndexType idx  )  [inline]
 

Returns the face at the specified index Definition at line 142 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
flat_hash_t* itk::watershed::Boundary< TScalarType, TDimension >::GetFlatHash unsigned  dimension,
unsigned  highlow
[inline]
 

Get/Set the table of flat region connections specified by the index. Definition at line 168 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
flat_hash_t* itk::watershed::Boundary< TScalarType, TDimension >::GetFlatHash const IndexType idx  )  [inline]
 

Get/Set the table of flat region connections specified by the index. Definition at line 166 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
bool itk::watershed::Boundary< TScalarType, TDimension >::GetValid unsigned  dimension,
unsigned  highlow
const [inline]
 

Marks a face in the boundary object as either valid (true) or invalid (false). A valid face is assumed to be initialized and contain information. No assumptions are made about an invalid face. Definition at line 199 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
bool itk::watershed::Boundary< TScalarType, TDimension >::GetValid const IndexType idx  )  const [inline]
 

Marks a face in the boundary object as either valid (true) or invalid (false). A valid face is assumed to be initialized and contain information. No assumptions are made about an invalid face. Definition at line 197 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
itk::watershed::Boundary< TScalarType, TDimension >::itkStaticConstMacro Dimension  ,
unsigned  int,
TDimension 
 

The dimensionality of this boundary. For example, if the boundary of a set of planes, it has dimensionality 2. If the boundary is a set of lines, it has dimensionality 1. Dimensionality is one less than the image chunks from which the boundary is derived.

template<class TScalarType, unsigned int TDimension>
Pointer itk::watershed::Boundary< TScalarType, TDimension >::New  )  [static]
 

Itk typedefs and macros defining smart pointer and type identification.

Reimplemented from itk::Object.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::operator= const Self  )  [inline, protected]
 

Reimplemented from itk::DataObject.

Definition at line 210 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::DataObject.

template<class TScalarType, unsigned int TDimension>
bool itk::watershed::Boundary< TScalarType, TDimension >::RequestedRegionIsOutsideOfTheBufferedRegion  )  [inline, protected, virtual]
 

Virtual methods required by DataObject interface.

Implements itk::DataObject.

Definition at line 228 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetFace FacePointer  f,
unsigned  dimension,
unsigned  highlow
[inline]
 

Definition at line 158 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetFace FacePointer  f,
const IndexType idx
[inline]
 

Definition at line 155 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetFlatHash flat_hash_t l,
unsigned  dimension,
unsigned  highlow
[inline]
 

Get/Set the table of flat region connections specified by the index. Definition at line 175 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetFlatHash flat_hash_t l,
const IndexType idx
[inline]
 

Get/Set the table of flat region connections specified by the index. Definition at line 173 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetRequestedRegion DataObject  )  [inline, protected, virtual]
 

Virtual methods required by DataObject interface.

Implements itk::DataObject.

Definition at line 229 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetRequestedRegionToLargestPossibleRegion  )  [inline, protected, virtual]
 

Virtual methods required by DataObject interface.

Implements itk::DataObject.

Definition at line 227 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetValid bool  b,
unsigned  dimension,
unsigned  highlow
[inline]
 

Marks a face in the boundary object as either valid (true) or invalid (false). A valid face is assumed to be initialized and contain information. No assumptions are made about an invalid face. Definition at line 190 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::SetValid bool &  l,
const IndexType idx
[inline]
 

Marks a face in the boundary object as either valid (true) or invalid (false). A valid face is assumed to be initialized and contain information. No assumptions are made about an invalid face. Definition at line 188 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
void itk::watershed::Boundary< TScalarType, TDimension >::UpdateOutputInformation  )  [protected, virtual]
 

Virtual methods required by DataObject interface.

Implements itk::DataObject.

template<class TScalarType, unsigned int TDimension>
bool itk::watershed::Boundary< TScalarType, TDimension >::VerifyRequestedRegion  )  [inline, protected, virtual]
 

Virtual methods required by DataObject interface.

Implements itk::DataObject.

Definition at line 226 of file itkWatershedBoundary.h.


Member Data Documentation

template<class TScalarType, unsigned int TDimension>
std::vector<std::pair<FacePointer, FacePointer> > itk::watershed::Boundary< TScalarType, TDimension >::m_Faces [protected]
 

The Nx2 matrix of faces of this boundary. Definition at line 214 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
std::vector<std::pair<flat_hash_t, flat_hash_t> > itk::watershed::Boundary< TScalarType, TDimension >::m_FlatHashes [protected]
 

The Nx2 matrix flat region connections associated with this boundary. Definition at line 218 of file itkWatershedBoundary.h.

template<class TScalarType, unsigned int TDimension>
std::vector<std::pair<bool,bool> > itk::watershed::Boundary< TScalarType, TDimension >::m_Valid [protected]
 

The Nx2 matrix of boolean flags indicating which faces contain information. Definition at line 222 of file itkWatershedBoundary.h.


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 03:14:04 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000