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

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 Member Functions

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 Member Functions

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

Protected Member Functions

 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.

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.

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 Sat Mar 31 03:14:13 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000