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

itk::DoubleThresholdImageFilter< TInputImage, TOutputImage > Class Template Reference
[Image Enhancement FiltersMathematical Morphology Image Filters]

Binarize an input image using double thresholding. More...

#include <itkDoubleThresholdImageFilter.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef DoubleThresholdImageFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::InputImagePointer InputImagePointer
typedef Superclass::InputImageType InputImageType
typedef TInputImage::PixelType InputPixelType
typedef TOutputImage::PixelType OutputPixelType
enum  { PixelTypeComparable = 0 }

Public Member Functions

virtual const char * GetNameOfClass () const
virtual void SetOutsideValue (OutputPixelType _arg)
virtual OutputPixelType GetOutsideValue ()
virtual void SetInsideValue (OutputPixelType _arg)
virtual OutputPixelType GetInsideValue ()
virtual void SetThreshold1 (InputPixelType _arg)
virtual void SetThreshold2 (InputPixelType _arg)
virtual void SetThreshold3 (InputPixelType _arg)
virtual void SetThreshold4 (InputPixelType _arg)
virtual InputPixelType GetThreshold1 ()
virtual InputPixelType GetThreshold2 ()
virtual InputPixelType GetThreshold3 ()
virtual InputPixelType GetThreshold4 ()
unsigned long GetNumberOfIterationsUsed ()
virtual void SetFullyConnected (bool _arg)
virtual const bool & GetFullyConnected ()
virtual void FullyConnectedOn ()
virtual void FullyConnectedOff ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 DoubleThresholdImageFilter ()
virtual ~DoubleThresholdImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateInputRequestedRegion ()
void EnlargeOutputRequestedRegion (DataObject *)
void GenerateData ()

Detailed Description

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

Binarize an input image using double thresholding.

Double threshold addresses the difficulty in selecting a threshold that will select the objects of interest without selecting extraneous objects. Double threshold considers two threshold ranges: a narrow range and a wide range (where the wide range encompasses the narrow range). If the wide range was used for a traditional threshold (where values inside the range map to the foreground and values outside the range map to the background), many extraneous pixels may survive the threshold operation. If the narrow range was used for a traditional threshold, then too few pixels may survive the threshold.

Double threshold uses the narrow threshold image as a marker image and the wide threshold image as a mask image in the geodesic dilation. Essentially, the marker image (narrow threshold) is dilated but constrained to lie within the mask image (wide threshold). Thus, only the objects of interest (those pixels that survived the narrow threshold) are extracted but the those objects appear in the final image as they would have if the wide threshold was used.

See also:
GrayscaleGeodesicDilateImageFilter

MorphologyImageFilter, GrayscaleDilateImageFilter, GrayscaleFunctionDilateImageFilter, BinaryDilateImageFilter

Definition at line 54 of file itkDoubleThresholdImageFilter.h.


Member Typedef Documentation

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

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

Definition at line 62 of file itkDoubleThresholdImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::InputImagePointer itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::InputImagePointer
 

Types from the superclass

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

Definition at line 71 of file itkDoubleThresholdImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::InputImageType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::InputImageType
 

Some convenient typedefs.

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

Definition at line 72 of file itkDoubleThresholdImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage::PixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::InputPixelType
 

Pixel types.

Definition at line 75 of file itkDoubleThresholdImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TOutputImage::PixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::OutputPixelType
 

Definition at line 76 of file itkDoubleThresholdImageFilter.h.

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

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

Definition at line 61 of file itkDoubleThresholdImageFilter.h.

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

Standard class typedefs.

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

Definition at line 59 of file itkDoubleThresholdImageFilter.h.

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

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

Definition at line 60 of file itkDoubleThresholdImageFilter.h.


Member Enumeration Documentation

template<class TInputImage, class TOutputImage>
anonymous enum
 

The input pixel type must support comparison operators.

Enumeration values:
PixelTypeComparable 

Definition at line 79 of file itkDoubleThresholdImageFilter.h.


Constructor & Destructor Documentation

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

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

Definition at line 135 of file itkDoubleThresholdImageFilter.h.


Member Function Documentation

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

DoubleThresholdImageFilter produces all of the output and must provide an implementation of EnlargeOutputRequestedRegion()

Reimplemented from itk::ProcessObject.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::FullyConnectedOff  )  [virtual]
 

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::FullyConnectedOn  )  [virtual]
 

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

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

Single threaded version of GenerateData(). DoubleThresholdImageFilter delegates its implementation to the GrayscaleGeodesicDilateImageFilter.

Reimplemented from itk::ImageSource< TOutputImage >.

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

DoubleThresholdImageFilter needs all of the input. So it must provide an implementation of GenerateInputRequestedRegion()

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

template<class TInputImage, class TOutputImage>
virtual const bool& itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetFullyConnected  )  [virtual]
 

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage, class TOutputImage>
virtual OutputPixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetInsideValue  )  [virtual]
 

Get the "inside" pixel value.

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

Run-time type information (and related methods).

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

template<class TInputImage, class TOutputImage>
unsigned long itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetNumberOfIterationsUsed  )  [inline]
 

Deprecated:
Get the number of iterations used by the geodesic dilation to produce the current output. This method is scheduled for removal since the implementation now uses a noniterative solution.

Definition at line 117 of file itkDoubleThresholdImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual OutputPixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetOutsideValue  )  [virtual]
 

Get the "outside" pixel value.

template<class TInputImage, class TOutputImage>
virtual InputPixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetThreshold1  )  [virtual]
 

Get the threshold values.

template<class TInputImage, class TOutputImage>
virtual InputPixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetThreshold2  )  [virtual]
 

Get the threshold values.

template<class TInputImage, class TOutputImage>
virtual InputPixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetThreshold3  )  [virtual]
 

Get the threshold values.

template<class TInputImage, class TOutputImage>
virtual InputPixelType itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GetThreshold4  )  [virtual]
 

Get the threshold values.

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

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage>
void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::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::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::SetFullyConnected bool  _arg  )  [virtual]
 

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::SetInsideValue OutputPixelType  _arg  )  [virtual]
 

Set the "inside" pixel value. The default value NumericTraits<OutputPixelType>::max()

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::SetOutsideValue OutputPixelType  _arg  )  [virtual]
 

Set the "outside" pixel value. The default value NumericTraits<OutputPixelType>::Zero.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::SetThreshold1 InputPixelType  _arg  )  [virtual]
 

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits<InputPixelType>::NonpositiveMin(). The two upper thresholds default NumericTraits<InputPixelType>::max. Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::SetThreshold2 InputPixelType  _arg  )  [virtual]
 

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits<InputPixelType>::NonpositiveMin(). The two upper thresholds default NumericTraits<InputPixelType>::max. Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::SetThreshold3 InputPixelType  _arg  )  [virtual]
 

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits<InputPixelType>::NonpositiveMin(). The two upper thresholds default NumericTraits<InputPixelType>::max. Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.

template<class TInputImage, class TOutputImage>
virtual void itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::SetThreshold4 InputPixelType  _arg  )  [virtual]
 

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits<InputPixelType>::NonpositiveMin(). The two upper thresholds default NumericTraits<InputPixelType>::max. Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.


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