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

itk::watershed::SegmentTreeGenerator< TScalarType > Class Template Reference

#include <itkWatershedSegmentTreeGenerator.h>

Inheritance diagram for itk::watershed::SegmentTreeGenerator:

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

Collaboration graph
[legend]
List of all members.

[NOHEADER]

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

Public Types

typedef TScalarType ScalarType
typedef SegmentTable< ScalarTypeSegmentTableType
typedef SegmentTree< ScalarTypeSegmentTreeType
typedef EquivalencyTable EquivalencyTableType
typedef OneWayEquivalencyTable OneWayEquivalencyTableType
typedef DataObject::Pointer DataObjectPointer
typedef SegmentTableType::Pointer SegmentTableTypePointer
typedef OneWayEquivalencyTableType::Pointer OneWayEquivalencyTableTypePointer
typedef SegmentTreeType::Pointer SegmentTreeTypePointer

Public Methods

SegmentTreeTypeGetOutputSegmentTree ()
void GenerateData ()
virtual DataObjectPointer MakeOutput (unsigned int idx)
SegmentTableTypeGetInputSegmentTable ()
EquivalencyTableTypeGetInputEquivalencyTable ()
void SetInputEquivalencyTable (EquivalencyTableType *eq)
void SetInputSegmentTable (SegmentTableType *st)
virtual void SetMerge (bool _arg)
virtual bool GetMerge ()
void SetFloodLevel (double)
virtual double GetFloodLevel ()
virtual void SetHighestCalculatedFloodLevel (double _arg)
virtual double GetHighestCalculatedFloodLevel ()
virtual void SetConsumeInput (bool _arg)
virtual bool GetConsumeInput ()

Static Public Methods

void MergeSegments (SegmentTableTypePointer, OneWayEquivalencyTableTypePointer, const unsigned long, const unsigned long)
void PruneMergeSegments (SegmentTableTypePointer, OneWayEquivalencyTableTypePointer, const unsigned long, const unsigned long, ScalarType)

Protected Methods

 SegmentTreeGenerator ()
virtual ~SegmentTreeGenerator ()
 SegmentTreeGenerator (const Self &)
void operator= (const Self &)
void PrintSelf (std::ostream &os, Indent indent) const
void CompileMergeList (SegmentTableTypePointer, SegmentTreeTypePointer)
void ExtractMergeHierarchy (SegmentTableTypePointer, SegmentTreeTypePointer)
void MergeEquivalencies ()
void GenerateOutputRequestedRegion (DataObject *output)
void GenerateInputRequestedRegion ()

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


Member Typedef Documentation

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

Standard itk smart pointer declarations

Reimplemented from itk::ProcessObject.

Definition at line 85 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
typedef DataObject::Pointer itk::watershed::SegmentTreeGenerator< TScalarType >::DataObjectPointer
 

Smart Pointer type to a DataObject.

Reimplemented from itk::ProcessObject.

Definition at line 96 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
typedef EquivalencyTable itk::watershed::SegmentTreeGenerator< TScalarType >::EquivalencyTableType
 

Definition at line 94 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
typedef OneWayEquivalencyTable itk::watershed::SegmentTreeGenerator< TScalarType >::OneWayEquivalencyTableType
 

Definition at line 95 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
typedef OneWayEquivalencyTableType::Pointer itk::watershed::SegmentTreeGenerator< TScalarType >::OneWayEquivalencyTableTypePointer
 

Definition at line 101 of file itkWatershedSegmentTreeGenerator.h.

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

Standard itk smart pointer declarations

Reimplemented from itk::ProcessObject.

Definition at line 84 of file itkWatershedSegmentTreeGenerator.h.

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

Convenient type definitions

Definition at line 91 of file itkWatershedSegmentTreeGenerator.h.

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

Definition at line 92 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
typedef SegmentTableType::Pointer itk::watershed::SegmentTreeGenerator< TScalarType >::SegmentTableTypePointer
 

Typedefs to avoid internal compiler error bug on Microsoft VC++

Definition at line 99 of file itkWatershedSegmentTreeGenerator.h.

Referenced by itk::watershed::SegmentTreeGenerator< ScalarType >::~SegmentTreeGenerator().

template<class TScalarType>
typedef SegmentTree<ScalarType> itk::watershed::SegmentTreeGenerator< TScalarType >::SegmentTreeType
 

Definition at line 93 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
typedef SegmentTreeType::Pointer itk::watershed::SegmentTreeGenerator< TScalarType >::SegmentTreeTypePointer
 

Definition at line 102 of file itkWatershedSegmentTreeGenerator.h.

Referenced by itk::watershed::SegmentTreeGenerator< ScalarType >::~SegmentTreeGenerator().

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

Standard itk smart pointer declarations

Reimplemented from itk::ProcessObject.

Definition at line 82 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
typedef ProcessObject itk::watershed::SegmentTreeGenerator< TScalarType >::Superclass
 

Standard itk smart pointer declarations

Reimplemented from itk::ProcessObject.

Definition at line 83 of file itkWatershedSegmentTreeGenerator.h.


Constructor & Destructor Documentation

template<class TScalarType>
itk::watershed::SegmentTreeGenerator< TScalarType >::SegmentTreeGenerator   [protected]
 

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

Definition at line 183 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
itk::watershed::SegmentTreeGenerator< TScalarType >::SegmentTreeGenerator const Self   [inline, protected]
 

Definition at line 184 of file itkWatershedSegmentTreeGenerator.h.


Member Function Documentation

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::CompileMergeList SegmentTableTypePointer   ,
SegmentTreeTypePointer   
[protected]
 

Generates an initial list of all potentential merges in the segment table.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::ExtractMergeHierarchy SegmentTableTypePointer   ,
SegmentTreeTypePointer   
[protected]
 

Compiles a list of all the actual segment merges up to the specified flood level, recomputing new potential merges as it goes.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::GenerateData   [virtual]
 

Standard non-threaded itk pipeline method

Reimplemented from itk::ProcessObject.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::GenerateInputRequestedRegion   [protected, virtual]
 

Methods required by the itk pipeline

Reimplemented from itk::ProcessObject.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::GenerateOutputRequestedRegion DataObject   output [protected, virtual]
 

Methods required by the itk pipeline

Reimplemented from itk::ProcessObject.

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

Standard itk smart pointer declarations

Reimplemented from itk::ProcessObject.

template<class TScalarType>
virtual bool itk::watershed::SegmentTreeGenerator< TScalarType >::GetConsumeInput   [virtual]
 

Get/Set a flag that prevents the filter from copying its input segment table before executing. This can be enabled to conserve memory, especially in streaming applications where memory is a concern. If enabled, the input to this filter must always be re-executed on updates. Default is false.

template<class TScalarType>
virtual double itk::watershed::SegmentTreeGenerator< TScalarType >::GetFloodLevel   [virtual]
 

Get/Set FloodLevel. FloodLevel is specified as a percentage (0.0 - 1.0) of the maximum possible saliency value in the initial image from which the segment table was derived. A value of 0.0 calculates no merges. A value of 1.0 calculates all of the potential merges that can occur as the FloodLevel is increased to the maximum saliency value.

template<class TScalarType>
virtual double itk::watershed::SegmentTreeGenerator< TScalarType >::GetHighestCalculatedFloodLevel   [virtual]
 

Get/Set HighestCalculatedFloodLevel. HighestCalculatedFloodLevel keeps track of the highest level this filter has been asked to compute. It is used to prevent unneccessary re-execution of the filter.

template<class TScalarType>
EquivalencyTableType* itk::watershed::SegmentTreeGenerator< TScalarType >::GetInputEquivalencyTable   [inline]
 

Get/Set the input table of segments to process

Definition at line 109 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
SegmentTableType* itk::watershed::SegmentTreeGenerator< TScalarType >::GetInputSegmentTable   [inline]
 

Get/Set the input table of segments to process

Definition at line 106 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
virtual bool itk::watershed::SegmentTreeGenerator< TScalarType >::GetMerge   [virtual]
 

Get/Set a boolean flag indicating whether or not to pre-merge the segments marked as equivalent in the EquivalencyTable. This is only useful for streaming applications and is turned off by default. (TRUE == merge, FALSE == do not merge).

template<class TScalarType>
SegmentTreeType* itk::watershed::SegmentTreeGenerator< TScalarType >::GetOutputSegmentTree   [inline]
 

Get/Set the output data

Definition at line 124 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
virtual DataObjectPointer itk::watershed::SegmentTreeGenerator< TScalarType >::MakeOutput unsigned int    idx [virtual]
 

Standard itk::ProcessObject subclass method.

Reimplemented from itk::ProcessObject.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::MergeEquivalencies   [protected]
 

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::MergeSegments SegmentTableTypePointer   ,
OneWayEquivalencyTableTypePointer   ,
const unsigned    long,
const unsigned    long
[static]
 

Performs a merge of two segments in a SegmentTable according to criteria specific to this algorithm.

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

Standard itk smart pointer declarations

Reimplemented from itk::Object.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::operator= const Self   [inline, protected]
 

Reimplemented from itk::ProcessObject.

Definition at line 185 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< 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::ProcessObject.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::PruneMergeSegments SegmentTableTypePointer   ,
OneWayEquivalencyTableTypePointer   ,
const unsigned    long,
const unsigned    long,
ScalarType   
[static]
 

This method should not be used. It will be removed in future versions of this filter.

template<class TScalarType>
virtual void itk::watershed::SegmentTreeGenerator< TScalarType >::SetConsumeInput bool    _arg [virtual]
 

Get/Set a flag that prevents the filter from copying its input segment table before executing. This can be enabled to conserve memory, especially in streaming applications where memory is a concern. If enabled, the input to this filter must always be re-executed on updates. Default is false.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::SetFloodLevel double   
 

Get/Set FloodLevel. FloodLevel is specified as a percentage (0.0 - 1.0) of the maximum possible saliency value in the initial image from which the segment table was derived. A value of 0.0 calculates no merges. A value of 1.0 calculates all of the potential merges that can occur as the FloodLevel is increased to the maximum saliency value.

template<class TScalarType>
virtual void itk::watershed::SegmentTreeGenerator< TScalarType >::SetHighestCalculatedFloodLevel double    _arg [virtual]
 

Get/Set HighestCalculatedFloodLevel. HighestCalculatedFloodLevel keeps track of the highest level this filter has been asked to compute. It is used to prevent unneccessary re-execution of the filter.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::SetInputEquivalencyTable EquivalencyTableType   eq [inline]
 

Get/Set input table of equivalencies to pre-merge before running the tree generator algorithm. Only useful for streaming applications

Definition at line 117 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
void itk::watershed::SegmentTreeGenerator< TScalarType >::SetInputSegmentTable SegmentTableType   st [inline]
 

Get/Set input table of equivalencies to pre-merge before running the tree generator algorithm. Only useful for streaming applications

Definition at line 119 of file itkWatershedSegmentTreeGenerator.h.

template<class TScalarType>
virtual void itk::watershed::SegmentTreeGenerator< TScalarType >::SetMerge bool    _arg [virtual]
 

Get/Set a boolean flag indicating whether or not to pre-merge the segments marked as equivalent in the EquivalencyTable. This is only useful for streaming applications and is turned off by default. (TRUE == merge, FALSE == do not merge).


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