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

itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage > Class Template Reference
[Image Feature Extraction Filters]

#include <itkZeroCrossingBasedEdgeDetectionImageFilter.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef ZeroCrossingBasedEdgeDetectionImageFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef TInputImage InputImageType
typedef TOutputImage OutputImageType
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TInputImage::PixelType InputImagePixelType
typedef TOutputImage::PixelType OutputImagePixelType
typedef TOutputImage::RegionType OutputImageRegionType
typedef FixedArray< double,
itkGetStaticConstMacro(ImageDimension) 
ArrayType )

Public Member Functions

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
void SetVariance (const typename ArrayType::ValueType v)
void SetMaximumError (const typename ArrayType::ValueType v)
virtual void SetVariance (ArrayType _arg)
virtual const ArrayType GetVariance ()
virtual void SetMaximumError (ArrayType _arg)
virtual const ArrayType GetMaximumError ()
virtual OutputImagePixelType GetBackgroundValue ()
virtual void SetBackgroundValue (OutputImagePixelType _arg)
virtual OutputImagePixelType GetForegroundValue ()
virtual void SetForegroundValue (OutputImagePixelType _arg)

Static Public Member Functions

Pointer New ()

Protected Member Functions

 ZeroCrossingBasedEdgeDetectionImageFilter ()
 ~ZeroCrossingBasedEdgeDetectionImageFilter ()
 ZeroCrossingBasedEdgeDetectionImageFilter (const Self &)
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateData ()

Detailed Description

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

This filter implements a zero-crossing based edge detecor. The zero-crossing based edge detector looks for pixels in the Laplacian of an image where the value of the Laplacian passes through zero --- points where the Laplacian changes sign. Such points often occur at ``edges'' in images --- i.e. points where the intensity of the image changes rapidly, but they also occur at places that are not as easy to associate with edges. It is best to think of the zero crossing detector as some sort of feature detector rather than as a specific edge detector.

/par Zero crossings always lie on closed contours and so the output from the zero crossing detector is usually a binary image with single pixel thickness lines showing the positions of the zero crossing points.

/par In this implementation, the input image is first smoothed with a Gaussian filter, then the LaplacianImageFilter is applied to smoothed image. Finally the zero-crossing of the Laplacian of the smoothed image is detected. The output is a binary image.

/par Inputs and Outputs The input to the filter should be a scalar, itk::Image of arbitrary dimension. The output image is a binary, labeled image. See itkZeroCrossingImageFilter for more information on requirements of the data type of the output.

/par To use this filter, first set the parameters (variance and maximum error) needed by the embedded DiscreteGaussianImageFilter, i.e. See DiscreteGaussianImageFilter for information about these parameters. Optionally, you may also set foreground and background values for the zero-crossing filter. The default label values are Zero for the background and One for the foreground, as defined in NumericTraits for the data type of the output image.

See also:
DiscreteGaussianImageFilter

LaplacianImageFilter

ZeroCrossingImageFilter

Definition at line 70 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage>
typedef FixedArray<double, itkGetStaticConstMacro(ImageDimension) itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::ArrayType)
 

Typedef of double containers Definition at line 104 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

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

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

Definition at line 84 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

Define pixel type

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

Definition at line 87 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

Image typedef support

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

Definition at line 79 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 88 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

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

Typedef to describe the output image region type.

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

Definition at line 94 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 80 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

SmartPointer typedef support

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

Definition at line 83 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

Standard "Self" & Superclass typedef.

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

Definition at line 75 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

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

Definition at line 76 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.


Constructor & Destructor Documentation

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

Definition at line 133 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

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

Definition at line 140 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

template<class TInputImage, class TOutputImage>
itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::ZeroCrossingBasedEdgeDetectionImageFilter const Self  )  [inline, protected]
 

Definition at line 141 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

References itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::ArrayType, and itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::OutputImagePixelType.


Member Function Documentation

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

Standard pipeline method. While this class does not implement a ThreadedGenerateData(), its GenerateData() delegates all calculations to the pipeline of a DiscreteGaussianImageFilter, a LaplacianImageFilter and a ZeroCrossingImageFilter. Since these filters are multithreaded, this filter is multithreaded by default.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual OutputImagePixelType itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::GetBackgroundValue  )  [virtual]
 

Get/Set the label values for the ZeroCrossingImageFilter

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

Run-time type information (and related methods).

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

template<class TInputImage, class TOutputImage>
virtual OutputImagePixelType itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::GetForegroundValue  )  [virtual]
 

Get/Set the label values for the ZeroCrossingImageFilter

template<class TInputImage, class TOutputImage>
virtual const ArrayType itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::GetMaximumError  )  [virtual]
 

Standard get/set macros for Gaussian filter parameters.

template<class TInputImage, class TOutputImage>
virtual const ArrayType itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::GetVariance  )  [virtual]
 

Standard get/set macros for Gaussian filter parameters.

template<class TInputImage, class TOutputImage>
itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension 
 

ImageDimension enumeration

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

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage>
void itk::ZeroCrossingBasedEdgeDetectionImageFilter< 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::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::SetBackgroundValue OutputImagePixelType  _arg  )  [virtual]
 

Get/Set the label values for the ZeroCrossingImageFilter

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

Get/Set the label values for the ZeroCrossingImageFilter

template<class TInputImage, class TOutputImage>
void itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::SetMaximumError const typename ArrayType::ValueType  v  )  [inline]
 

Set the MaximumError parameter needed by the embedded gaussian filter Definition at line 127 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual void itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::SetMaximumError ArrayType  _arg  )  [virtual]
 

Standard get/set macros for Gaussian filter parameters.

template<class TInputImage, class TOutputImage>
void itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::SetVariance const typename ArrayType::ValueType  v  )  [inline]
 

Set the variance parameter needed by the embedded gaussian filter Definition at line 121 of file itkZeroCrossingBasedEdgeDetectionImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual void itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::SetVariance ArrayType  _arg  )  [virtual]
 

Standard get/set macros for Gaussian filter parameters.


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 02:58:19 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000