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

itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage > Class Template Reference
[Watershed-based Segmentation Filters]

Isolate watershed basins using two seeds. More...

#include <itkIsolatedWatershedImageFilter.h>

Inheritance diagram for itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef IsolatedWatershedImageFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TInputImage InputImageType
typedef InputImageType::Pointer InputImagePointer
typedef InputImageType::ConstPointer InputImageConstPointer
typedef InputImageType::RegionType InputImageRegionType
typedef InputImageType::PixelType InputImagePixelType
typedef InputImageType::IndexType IndexType
typedef InputImageType::SizeType SizeType
typedef TOutputImage OutputImageType
typedef OutputImageType::Pointer OutputImagePointer
typedef OutputImageType::RegionType OutputImageRegionType
typedef OutputImageType::PixelType OutputImagePixelType
typedef WatershedImageFilter<
InputImageType
WatershedType
typedef GradientMagnitudeImageFilter<
InputImageType, OutputImageType
GradientMagnitudeType

Public Member Functions

virtual const char * GetNameOfClass () const
void PrintSelf (std::ostream &os, Indent indent) const
virtual void SetSeed1 (IndexType _arg)
virtual void SetSeed2 (IndexType _arg)
virtual double GetIsolatedValue ()
virtual void SetThreshold (double _arg)
virtual double GetThreshold ()
virtual void SetIsolatedValueTolerance (double _arg)
virtual double GetIsolatedValueTolerance ()
virtual void SetUpperValueLimit (double _arg)
virtual double GetUpperValueLimit ()
virtual void SetReplaceValue1 (OutputImagePixelType _arg)
virtual OutputImagePixelType GetReplaceValue1 ()
virtual void SetReplaceValue2 (OutputImagePixelType _arg)
virtual OutputImagePixelType GetReplaceValue2 ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 IsolatedWatershedImageFilter ()
 ~IsolatedWatershedImageFilter ()
void GenerateInputRequestedRegion ()
void EnlargeOutputRequestedRegion (DataObject *output)
void GenerateData ()

Protected Attributes

IndexType m_Seed1
IndexType m_Seed2
OutputImagePixelType m_ReplaceValue1
OutputImagePixelType m_ReplaceValue2
GradientMagnitudeType::Pointer m_GradientMagnitude
WatershedType::Pointer m_Watershed
double m_Threshold
double m_IsolatedValue
double m_IsolatedValueTolerance
double m_UpperValueLimit

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >

Isolate watershed basins using two seeds.

/class IsolatedWatershedImageFilter

IsolatedWatershedImageFilter labels pixels with ReplaceValue1 that are in the same watershed basin as Seed1 AND NOT the same as Seed2. The filter adjusts the waterlevel until the two seeds are not in different basins. The user supplies a Watershed threshold. The algorithm uses a binary search to adjust the upper waterlevel, starting at UpperValueLimit. UpperValueLimit defaults to the 1.0.

Definition at line 41 of file itkIsolatedWatershedImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage>
typedef SmartPointer<const Self> itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::ConstPointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 49 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef GradientMagnitudeImageFilter<InputImageType,OutputImageType> itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GradientMagnitudeType
 

Definition at line 72 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef InputImageType::IndexType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::IndexType
 

Definition at line 63 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef InputImageType::ConstPointer itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::InputImageConstPointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 60 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef InputImageType::PixelType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::InputImagePixelType
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 62 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef InputImageType::Pointer itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::InputImagePointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 59 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef InputImageType::RegionType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::InputImageRegionType
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 61 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::InputImageType
 

Some convenient typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 58 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef OutputImageType::PixelType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::OutputImagePixelType
 

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 69 of file itkIsolatedWatershedImageFilter.h.

Referenced by itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::~IsolatedWatershedImageFilter().

template<class TInputImage, class TOutputImage>
typedef OutputImageType::Pointer itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::OutputImagePointer
 

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 67 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef OutputImageType::RegionType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::OutputImageRegionType
 

Superclass typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 68 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TOutputImage itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::OutputImageType
 

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 66 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef SmartPointer<Self> itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::Pointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 48 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef IsolatedWatershedImageFilter itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::Self
 

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 46 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef InputImageType::SizeType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SizeType
 

Definition at line 64 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef ImageToImageFilter<TInputImage,TOutputImage> itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::Superclass
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 47 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef WatershedImageFilter<InputImageType> itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::WatershedType
 

Definition at line 71 of file itkIsolatedWatershedImageFilter.h.


Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage>
itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::IsolatedWatershedImageFilter  )  [protected]
 

template<class TInputImage, class TOutputImage>
itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::~IsolatedWatershedImageFilter  )  [inline, protected]
 

Definition at line 117 of file itkIsolatedWatershedImageFilter.h.

References itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::OutputImagePixelType.


Member Function Documentation

template<class TInputImage, class TOutputImage>
void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion DataObject output  )  [protected, virtual]
 

Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.

Reimplemented from itk::ProcessObject.

template<class TInputImage, class TOutputImage>
void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GenerateData  )  [protected, virtual]
 

A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

See also:
ThreadedGenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage>
void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion  )  [protected, virtual]
 

What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierachy. Up till now, the base assumption has been that the largest possible region will be requested of the input.

This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.

See also:
ProcessObject::GenerateInputRequestedRegion(), ImageSource::GenerateInputRequestedRegion()

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GetIsolatedValue  )  [virtual]
 

Get value that isolates the two seeds.

template<class TInputImage, class TOutputImage>
virtual double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GetIsolatedValueTolerance  )  [virtual]
 

Set/Get the precision required for the intensity threshold value. The default is .001.

template<class TInputImage, class TOutputImage>
virtual const char* itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual OutputImagePixelType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GetReplaceValue1  )  [virtual]
 

Set/Get value to replace Seed1(Seed2) pixels, pixels that are within the basin that contains Seed1(Seed2) this value. The default is 1(0).

template<class TInputImage, class TOutputImage>
virtual OutputImagePixelType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GetReplaceValue2  )  [virtual]
 

Set/Get value to replace Seed1(Seed2) pixels, pixels that are within the basin that contains Seed1(Seed2) this value. The default is 1(0).

template<class TInputImage, class TOutputImage>
virtual double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GetThreshold  )  [virtual]
 

Set/Get the Watershed threshold. The default is 0.

template<class TInputImage, class TOutputImage>
virtual double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::GetUpperValueLimit  )  [virtual]
 

Set/Get the limit on the upper waterlevel value. The default is 1.0.

template<class TInputImage, class TOutputImage>
Pointer itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage>
void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::PrintSelf std::ostream &  os,
Indent  indent
const [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::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SetIsolatedValueTolerance double  _arg  )  [virtual]
 

Set/Get the precision required for the intensity threshold value. The default is .001.

template<class TInputImage, class TOutputImage>
virtual void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SetReplaceValue1 OutputImagePixelType  _arg  )  [virtual]
 

Set/Get value to replace Seed1(Seed2) pixels, pixels that are within the basin that contains Seed1(Seed2) this value. The default is 1(0).

template<class TInputImage, class TOutputImage>
virtual void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SetReplaceValue2 OutputImagePixelType  _arg  )  [virtual]
 

Set/Get value to replace Seed1(Seed2) pixels, pixels that are within the basin that contains Seed1(Seed2) this value. The default is 1(0).

template<class TInputImage, class TOutputImage>
virtual void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SetSeed1 IndexType  _arg  )  [virtual]
 

Set seed point 1. This seed will be isolated from Seed2 (if possible). All pixels connected to this seed will be replaced with ReplaceValue1.

template<class TInputImage, class TOutputImage>
virtual void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SetSeed2 IndexType  _arg  )  [virtual]
 

Set seed point 2. This seed will be isolated from Seed1 (if possible). All pixels connected to this seed will be replaced with ReplaceValue2.

template<class TInputImage, class TOutputImage>
virtual void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SetThreshold double  _arg  )  [virtual]
 

Set/Get the Watershed threshold. The default is 0.

template<class TInputImage, class TOutputImage>
virtual void itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::SetUpperValueLimit double  _arg  )  [virtual]
 

Set/Get the limit on the upper waterlevel value. The default is 1.0.


Member Data Documentation

template<class TInputImage, class TOutputImage>
GradientMagnitudeType::Pointer itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_GradientMagnitude [protected]
 

Definition at line 123 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_IsolatedValue [protected]
 

Definition at line 127 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_IsolatedValueTolerance [protected]
 

Definition at line 128 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
OutputImagePixelType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_ReplaceValue1 [protected]
 

Definition at line 120 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
OutputImagePixelType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_ReplaceValue2 [protected]
 

Definition at line 121 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
IndexType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_Seed1 [protected]
 

Definition at line 118 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
IndexType itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_Seed2 [protected]
 

Definition at line 119 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_Threshold [protected]
 

Definition at line 126 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
double itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_UpperValueLimit [protected]
 

Definition at line 129 of file itkIsolatedWatershedImageFilter.h.

template<class TInputImage, class TOutputImage>
WatershedType::Pointer itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >::m_Watershed [protected]
 

Definition at line 124 of file itkIsolatedWatershedImageFilter.h.


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:31:03 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000