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

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

#include <itkWatershedSegmentTable.h>

Inheritance diagram for itk::watershed::SegmentTable:

Inheritance graph
[legend]
Collaboration diagram for itk::watershed::SegmentTable< TScalarType >:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

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

[NOHEADER]

typedef std::list< edge_pair_tedge_list_t
typedef itk::hash_map< unsigned
long, segment_t, itk::hash<
unsigned long > > 
HashMapType
typedef HashMapType::iterator Iterator
typedef HashMapType::const_iterator ConstIterator
typedef HashMapType::value_type ValueType
typedef HashMapType::data_type DataType
bool Add (unsigned long a, const segment_t &t)
void PruneEdgeLists (ScalarType maximum_saliency)
segment_tLookup (const unsigned long a)

Public Methods

void Erase (const unsigned long a)
void Clear ()
bool Empty () const
void SortEdgeLists ()
HashMapType::size_type Size () const
Iterator Begin ()
Iterator End ()
ConstIterator Begin () const
ConstIterator End () const
void Copy (const Self &o)
const segment_tLookup (const unsigned long a) const
bool IsEntry (const unsigned long a) const
unsigned int GetSegmentMemorySize () const
void SetMaximumDepth (ScalarType s)
ScalarType GetMaximumDepth () const

Protected Methods

 SegmentTable ()
virtual ~SegmentTable ()
void PrintSelf (std::ostream &os, Indent indent) const
void UpdateOutputInformation ()
bool VerifyRequestedRegion ()
void SetRequestedRegionToLargestPossibleRegion ()
bool RequestedRegionIsOutsideOfTheBufferedRegion ()
void SetRequestedRegion (itk::DataObject *)

Protected Attributes

HashMapType m_HashMap
ScalarType m_MaximumDepth

Detailed Description

template<class TScalarType>
class itk::watershed::SegmentTable< TScalarType >

A table for storing segmentation information in various component filters of the watershed segmentation algorithm. See itk::WatershedImageFilter for an overview.

This is a hash table that holds information about labeled segments in an image. Keys in the table are label values (unsigned long). Each entry in the table records the minimum value in the segment region and a list of all the adjacent segments in the image. The adjacency (edge) list also holds a saliency value (likelihood of merge) for each adjacency.

See also:
itk::WatershedImageFilter

Definition at line 50 of file itkWatershedSegmentTable.h.


Member Typedef Documentation

template<class TScalarType>
typedef HashMapType::const_iterator itk::watershed::SegmentTable< TScalarType >::ConstIterator
 

Structure for storing lists of adjacencies (edges) and their saliencies.

Definition at line 99 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef SmartPointer<const Self> itk::watershed::SegmentTable< TScalarType >::ConstPointer
 

Define smart pointers for this object

Reimplemented from itk::DataObject.

Definition at line 57 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef HashMapType::data_type itk::watershed::SegmentTable< TScalarType >::DataType
 

Structure for storing lists of adjacencies (edges) and their saliencies.

Definition at line 101 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef std::list<edge_pair_t> itk::watershed::SegmentTable< TScalarType >::edge_list_t
 

Structure for storing lists of adjacencies (edges) and their saliencies.

Definition at line 86 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef itk::hash_map<unsigned long, segment_t, itk::hash<unsigned long> > itk::watershed::SegmentTable< TScalarType >::HashMapType
 

Define the container type for the table

Definition at line 97 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef HashMapType::iterator itk::watershed::SegmentTable< TScalarType >::Iterator
 

Structure for storing lists of adjacencies (edges) and their saliencies.

Definition at line 98 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef SmartPointer<Self> itk::watershed::SegmentTable< TScalarType >::Pointer
 

Define smart pointers for this object

Reimplemented from itk::DataObject.

Definition at line 56 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef TScalarType itk::watershed::SegmentTable< TScalarType >::ScalarType
 

Define smart pointers for this object

Definition at line 58 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef SegmentTable itk::watershed::SegmentTable< TScalarType >::Self
 

Define smart pointers for this object

Reimplemented from itk::DataObject.

Definition at line 54 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef DataObject itk::watershed::SegmentTable< TScalarType >::Superclass
 

Define smart pointers for this object

Reimplemented from itk::DataObject.

Definition at line 55 of file itkWatershedSegmentTable.h.

template<class TScalarType>
typedef HashMapType::value_type itk::watershed::SegmentTable< TScalarType >::ValueType
 

Structure for storing lists of adjacencies (edges) and their saliencies.

Definition at line 100 of file itkWatershedSegmentTable.h.


Constructor & Destructor Documentation

template<class TScalarType>
itk::watershed::SegmentTable< TScalarType >::SegmentTable   [inline, protected]
 

Definition at line 210 of file itkWatershedSegmentTable.h.

template<class TScalarType>
virtual itk::watershed::SegmentTable< TScalarType >::~SegmentTable   [inline, protected, virtual]
 

Definition at line 211 of file itkWatershedSegmentTable.h.


Member Function Documentation

template<class TScalarType>
bool itk::watershed::SegmentTable< TScalarType >::Add unsigned long    a,
const segment_t   t
 

Inserts a segment into the table

template<class TScalarType>
ConstIterator itk::watershed::SegmentTable< TScalarType >::Begin   const [inline]
 

Returns a const iterator pointing to the first element in the (unordered) table.

Definition at line 175 of file itkWatershedSegmentTable.h.

template<class TScalarType>
Iterator itk::watershed::SegmentTable< TScalarType >::Begin   [inline]
 

Returns an iterator pointing to the first element in the (unordered) table.

Definition at line 167 of file itkWatershedSegmentTable.h.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::Clear   [inline]
 

Removes all the entries in the table.

Definition at line 146 of file itkWatershedSegmentTable.h.

References itk::hash_map< unsigned long, segment_t, itk::hash< unsigned long > >::empty(), and itk::watershed::SegmentTable< TScalarType >::m_HashMap.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::Copy const Self   o [inline]
 

Copies the contents of another segment table into this segment table. This is really operator= in disguise, although superclass information is not copied.

Definition at line 203 of file itkWatershedSegmentTable.h.

template<class TScalarType>
bool itk::watershed::SegmentTable< TScalarType >::Empty   const [inline]
 

Returns true if the table is empty and false if the table is not empty.

Definition at line 151 of file itkWatershedSegmentTable.h.

References itk::watershed::SegmentTable< TScalarType >::m_HashMap, and itk::hash_map< unsigned long, segment_t, itk::hash< unsigned long > >::size().

template<class TScalarType>
ConstIterator itk::watershed::SegmentTable< TScalarType >::End   const [inline]
 

Returns a const iterator pointing to one element past the last element in the (unordered table).

Definition at line 179 of file itkWatershedSegmentTable.h.

template<class TScalarType>
Iterator itk::watershed::SegmentTable< TScalarType >::End   [inline]
 

Returns an iterator pointing to one element past the last element in the (unordered table).

Definition at line 171 of file itkWatershedSegmentTable.h.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::Erase const unsigned long    a [inline]
 

Deletes an entry from the table.

Definition at line 142 of file itkWatershedSegmentTable.h.

template<class TScalarType>
virtual const char* itk::watershed::SegmentTable< TScalarType >::GetClassName   const [virtual]
 

Define smart pointers for this object

Reimplemented from itk::DataObject.

template<class TScalarType>
ScalarType itk::watershed::SegmentTable< TScalarType >::GetMaximumDepth   const [inline]
 

Set/Get the maximum depth of image on which this segment table is based. (Should set really be calling modified? jc 11/16/01)

Definition at line 196 of file itkWatershedSegmentTable.h.

References itk::watershed::SegmentTable< TScalarType >::m_HashMap, and itk::watershed::SegmentTable< TScalarType >::m_MaximumDepth.

template<class TScalarType>
unsigned int itk::watershed::SegmentTable< TScalarType >::GetSegmentMemorySize   const [inline]
 

Convenience methods for debugging

Definition at line 182 of file itkWatershedSegmentTable.h.

template<class TScalarType>
bool itk::watershed::SegmentTable< TScalarType >::IsEntry const unsigned long    a const [inline]
 

Returns TRUE if the entry key is found in the table. FALSE if the key is not found in the table.

Definition at line 134 of file itkWatershedSegmentTable.h.

References itk::hash_map< unsigned long, segment_t, itk::hash< unsigned long > >::erase(), and itk::watershed::SegmentTable< TScalarType >::m_HashMap.

template<class TScalarType>
const segment_t* itk::watershed::SegmentTable< TScalarType >::Lookup const unsigned long    a const [inline]
 

Lookup a segment in the table. Returns a const pointer to the entry. On failure, returns a null pointer.

Definition at line 124 of file itkWatershedSegmentTable.h.

template<class TScalarType>
segment_t* itk::watershed::SegmentTable< TScalarType >::Lookup const unsigned long    a [inline]
 

Lookup a segment in the table. Returns a pointer to the entry. On failure, returns a null pointer.

Definition at line 114 of file itkWatershedSegmentTable.h.

References itk::watershed::SegmentTable< TScalarType >::m_HashMap.

template<class TScalarType>
Pointer itk::watershed::SegmentTable< TScalarType >::New   [static]
 

Define smart pointers for this object

Reimplemented from itk::Object.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::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>
void itk::watershed::SegmentTable< TScalarType >::PruneEdgeLists ScalarType    maximum_saliency
 

Iterates through the table and removes edges in every edge list whose saliencies are above the specified maximum. Requires that the edge lists have been sorted prior to calling this method.

template<class TScalarType>
bool itk::watershed::SegmentTable< TScalarType >::RequestedRegionIsOutsideOfTheBufferedRegion   [inline, protected, virtual]
 

Methods required of an itk DataObject

Implements itk::DataObject.

Definition at line 221 of file itkWatershedSegmentTable.h.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::SetMaximumDepth ScalarType    s [inline]
 

Set/Get the maximum depth of image on which this segment table is based. (Should set really be calling modified? jc 11/16/01)

Definition at line 191 of file itkWatershedSegmentTable.h.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::SetRequestedRegion itk::DataObject   [inline, protected, virtual]
 

Methods required of an itk DataObject

Implements itk::DataObject.

Definition at line 222 of file itkWatershedSegmentTable.h.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::SetRequestedRegionToLargestPossibleRegion   [inline, protected, virtual]
 

Methods required of an itk DataObject

Implements itk::DataObject.

Definition at line 220 of file itkWatershedSegmentTable.h.

template<class TScalarType>
HashMapType::size_type itk::watershed::SegmentTable< TScalarType >::Size   const [inline]
 

Returns the number of entries in the table.

Definition at line 159 of file itkWatershedSegmentTable.h.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::SortEdgeLists  
 

Sorts all the entries in the edge lists from least to greatest saliency.

template<class TScalarType>
void itk::watershed::SegmentTable< TScalarType >::UpdateOutputInformation   [protected, virtual]
 

Methods required of an itk DataObject

Implements itk::DataObject.

template<class TScalarType>
bool itk::watershed::SegmentTable< TScalarType >::VerifyRequestedRegion   [inline, protected, virtual]
 

Methods required of an itk DataObject

Implements itk::DataObject.

Definition at line 219 of file itkWatershedSegmentTable.h.


Member Data Documentation

template<class TScalarType>
HashMapType itk::watershed::SegmentTable< TScalarType >::m_HashMap [protected]
 

Definition at line 214 of file itkWatershedSegmentTable.h.

Referenced by itk::watershed::SegmentTable< TScalarType >::Clear(), itk::watershed::SegmentTable< TScalarType >::Empty(), itk::watershed::SegmentTable< TScalarType >::GetMaximumDepth(), itk::watershed::SegmentTable< TScalarType >::IsEntry(), and itk::watershed::SegmentTable< TScalarType >::Lookup().

template<class TScalarType>
ScalarType itk::watershed::SegmentTable< TScalarType >::m_MaximumDepth [protected]
 

Definition at line 215 of file itkWatershedSegmentTable.h.

Referenced by itk::watershed::SegmentTable< TScalarType >::GetMaximumDepth().


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:23:00 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000