ITK  4.12.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::watershed::SegmentTree< TScalar > Class Template Reference

#include <itkWatershedSegmentTree.h>

+ Inheritance diagram for itk::watershed::SegmentTree< TScalar >:
+ Collaboration diagram for itk::watershed::SegmentTree< TScalar >:

Detailed Description

template<typename TScalar>
class itk::watershed::SegmentTree< TScalar >

A data structure for storing segment merge information used in filters of the watershed segmentation algorithm. See itk::WatershedImageFilter for an overview.

This class is the implementation of the "merge tree" referred to in the documentation for itk::WatershedImageFilter and other watershed segmentation component classes. It holds a list of merges among image segments at various saliency levels. The list is actually a representation of a binary tree, whose nodes are segments and edges are saliencies.
See Also
itk::WatershedImageFilter

Definition at line 47 of file itkWatershedSegmentTree.h.

Classes

struct  merge_comp
 
struct  merge_t
 
struct  sort_comp
 

Public Types

typedef DequeType::const_iterator ConstIterator
 
typedef std::deque< merge_tDequeType
 
typedef DequeType::iterator Iterator
 
typedef DequeType::value_type ValueType
 

Public Member Functions

const merge_tBack () const
 
merge_tBack ()
 
Iterator Begin ()
 
ConstIterator Begin () const
 
void Clear ()
 
bool Empty () const
 
Iterator End ()
 
ConstIterator End () const
 
const merge_tFront () const
 
merge_tFront ()
 
virtual void Initialize () override
 
void PopBack ()
 
void PopFront ()
 
void PushBack (const ValueType &t)
 
void PushFront (const ValueType &t)
 
DequeType::size_type Size () const
 

Protected Member Functions

void operator= (const Self &)
 
virtual void PrintSelf (std::ostream &os, Indent indent) const override
 
 SegmentTree ()
 
 SegmentTree (const Self &)
 
virtual ~SegmentTree ()
 

Protected Attributes

DequeType m_Deque
 
typedef SegmentTree Self
 
typedef DataObject Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TScalar ScalarType
 
static Pointer New ()
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 

Member Typedef Documentation

template<typename TScalar >
typedef DequeType::const_iterator itk::watershed::SegmentTree< TScalar >::ConstIterator

Definition at line 73 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef SmartPointer< const Self > itk::watershed::SegmentTree< TScalar >::ConstPointer

Define itk Smart Pointers for this object

Definition at line 54 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef std::deque< merge_t > itk::watershed::SegmentTree< TScalar >::DequeType

Define the container type used in this list data structure

Definition at line 71 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef DequeType::iterator itk::watershed::SegmentTree< TScalar >::Iterator

Definition at line 72 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef SmartPointer< Self > itk::watershed::SegmentTree< TScalar >::Pointer

Define itk Smart Pointers for this object

Definition at line 53 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef TScalar itk::watershed::SegmentTree< TScalar >::ScalarType

Define itk Smart Pointers for this object

Definition at line 56 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef SegmentTree itk::watershed::SegmentTree< TScalar >::Self

Define itk Smart Pointers for this object

Definition at line 51 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef DataObject itk::watershed::SegmentTree< TScalar >::Superclass

Define itk Smart Pointers for this object

Definition at line 52 of file itkWatershedSegmentTree.h.

template<typename TScalar >
typedef DequeType::value_type itk::watershed::SegmentTree< TScalar >::ValueType

Definition at line 74 of file itkWatershedSegmentTree.h.

Constructor & Destructor Documentation

template<typename TScalar >
itk::watershed::SegmentTree< TScalar >::SegmentTree ( )
inlineprotected

Definition at line 166 of file itkWatershedSegmentTree.h.

template<typename TScalar >
virtual itk::watershed::SegmentTree< TScalar >::~SegmentTree ( )
inlineprotectedvirtual

Definition at line 167 of file itkWatershedSegmentTree.h.

template<typename TScalar >
itk::watershed::SegmentTree< TScalar >::SegmentTree ( const Self )
inlineprotected

Definition at line 168 of file itkWatershedSegmentTree.h.

Member Function Documentation

template<typename TScalar >
const merge_t& itk::watershed::SegmentTree< TScalar >::Back ( ) const
inline

Returns a const reference to the back of the list (node with the greatest saliency value).

Definition at line 112 of file itkWatershedSegmentTree.h.

template<typename TScalar >
merge_t& itk::watershed::SegmentTree< TScalar >::Back ( )
inline

Returns a reference to the back of the list

Definition at line 120 of file itkWatershedSegmentTree.h.

template<typename TScalar >
Iterator itk::watershed::SegmentTree< TScalar >::Begin ( void  )
inline

Returns an iterator pointing to the first element in the list.

Definition at line 140 of file itkWatershedSegmentTree.h.

template<typename TScalar >
ConstIterator itk::watershed::SegmentTree< TScalar >::Begin ( void  ) const
inline

Returns a const iterator pointing to the first element in the list.

Definition at line 144 of file itkWatershedSegmentTree.h.

template<typename TScalar >
void itk::watershed::SegmentTree< TScalar >::Clear ( void  )
inline

Clears the Deque completely

Definition at line 158 of file itkWatershedSegmentTree.h.

template<typename TScalar >
virtual::itk::LightObject::Pointer itk::watershed::SegmentTree< TScalar >::CreateAnother ( ) const

Define itk Smart Pointers for this object

template<typename TScalar >
bool itk::watershed::SegmentTree< TScalar >::Empty ( ) const
inline

Returns TRUE if the SegmentTree is empty, FALSE if the SegmentTree is not empty.

Definition at line 102 of file itkWatershedSegmentTree.h.

template<typename TScalar >
Iterator itk::watershed::SegmentTree< TScalar >::End ( )
inline

Returns an iterator pointing one element past the last element in the list.

Definition at line 149 of file itkWatershedSegmentTree.h.

template<typename TScalar >
ConstIterator itk::watershed::SegmentTree< TScalar >::End ( ) const
inline

Returns a const iterator pointing one element past the last element in the list.

Definition at line 154 of file itkWatershedSegmentTree.h.

template<typename TScalar >
const merge_t& itk::watershed::SegmentTree< TScalar >::Front ( ) const
inline

Returns a const reference to the front of the list (node with the least saliency value).

Definition at line 107 of file itkWatershedSegmentTree.h.

template<typename TScalar >
merge_t& itk::watershed::SegmentTree< TScalar >::Front ( )
inline

Returns a reference to the front of the list

Definition at line 116 of file itkWatershedSegmentTree.h.

template<typename TScalar >
virtual const char* itk::watershed::SegmentTree< TScalar >::GetNameOfClass ( ) const
virtual

Define itk Smart Pointers for this object

template<typename TScalar >
virtual void itk::watershed::SegmentTree< TScalar >::Initialize ( )
overridevirtual

Standard DataObject routine to initialize. Returns the segment tree to a default state, deallocating memory.

template<typename TScalar >
static Pointer itk::watershed::SegmentTree< TScalar >::New ( )
static

Define itk Smart Pointers for this object

template<typename TScalar >
void itk::watershed::SegmentTree< TScalar >::operator= ( const Self )
inlineprotected

Definition at line 169 of file itkWatershedSegmentTree.h.

template<typename TScalar >
void itk::watershed::SegmentTree< TScalar >::PopBack ( )
inline

Erases the node at the back of the list.

Definition at line 136 of file itkWatershedSegmentTree.h.

template<typename TScalar >
void itk::watershed::SegmentTree< TScalar >::PopFront ( )
inline

Erases the node at the front of the list.

Definition at line 132 of file itkWatershedSegmentTree.h.

template<typename TScalar >
virtual void itk::watershed::SegmentTree< TScalar >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual
template<typename TScalar >
void itk::watershed::SegmentTree< TScalar >::PushBack ( const ValueType t)
inline

Inserts a node at the back of the list

Definition at line 128 of file itkWatershedSegmentTree.h.

template<typename TScalar >
void itk::watershed::SegmentTree< TScalar >::PushFront ( const ValueType t)
inline

Inserts a node at the front of the list.

Definition at line 124 of file itkWatershedSegmentTree.h.

template<typename TScalar >
DequeType::size_type itk::watershed::SegmentTree< TScalar >::Size ( void  ) const
inline

Returns the size of the list.

Definition at line 97 of file itkWatershedSegmentTree.h.

Member Data Documentation

template<typename TScalar >
DequeType itk::watershed::SegmentTree< TScalar >::m_Deque
protected

Definition at line 172 of file itkWatershedSegmentTree.h.


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