ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage > Class Template Reference

Create a map of the approximate signed distance from the boundaries of a binary image. More...

#include <itkApproximateSignedDistanceMapImageFilter.h>

Inheritance diagram for itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >:
Collaboration diagram for itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
InputImageType::ConstPointer 
InputImagePointer
typedef TInputImage InputImageType
typedef InputImageType::PixelType InputPixelType
typedef OutputImageType::Pointer OutputImagePointer
typedef TOutputImage OutputImageType
typedef OutputImageType::PixelType OutputPixelType
typedef OutputImageType::SizeType OutputSizeType
typedef
OutputSizeType::SizeValueType 
OutputSizeValueType
typedef SmartPointer< SelfPointer
typedef
ApproximateSignedDistanceMapImageFilter 
Self
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
 typedef (Concept::EqualityComparable< typename InputImageType::PixelType >) InputEqualityComparableCheck
virtual void SetInsideValue (InputPixelType _arg)
virtual InputPixelType GetInsideValue () const
virtual void SetOutsideValue (InputPixelType _arg)
virtual InputPixelType GetOutsideValue () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int InputImageDimension = InputImageType::ImageDimension

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const
 ApproximateSignedDistanceMapImageFilter ()
virtual ~ApproximateSignedDistanceMapImageFilter ()
virtual void GenerateData ()

Private Types

typedef
FastChamferDistanceImageFilter
< OutputImageType,
OutputImageType
ChamferType
typedef
IsoContourDistanceImageFilter
< InputImageType,
OutputImageType
IsoContourType

Private Member Functions

 ApproximateSignedDistanceMapImageFilter (const Self &)
void operator= (const Self &)

Private Attributes

ChamferType::Pointer m_ChamferFilter
InputPixelType m_InsideValue
IsoContourType::Pointer m_IsoContourFilter
InputPixelType m_OutsideValue

Detailed Description

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

Create a map of the approximate signed distance from the boundaries of a binary image.

The ApproximateSignedDistanceMapImageFilter takes as input a binary image and produces a signed distance map. Each pixel value in the output contains the approximate distance from that pixel to the nearest "object" in the binary image. This filter differs from the DanielssonDistanceMapImageFilter in that it calculates the distance to the "object edge" for pixels within the object.

Negative values in the output indicate that the pixel at that position is within an object in the input image. The absolute value of a negative pixel represents the approximate distance to the nearest object boundary pixel.

WARNING: This filter requires that the output type be floating-point. Otherwise internal calculations will not be performed to the appropriate precision, resulting in completely incorrect (read: zero-valued) output.

The distances computed by this filter are Chamfer distances, which are only an approximation to Euclidian distances, and are not as exact approximations as those calculated by the DanielssonDistanceMapImageFilter. On the other hand, this filter is faster.

This filter requires that an "inside value" and "outside value" be set as parameters. The "inside value" is the intensity value of the binary image which corresponds to objects, and the "outside value" is the intensity of the background. (A typical binary image often repesents objects as black (0) and background as white (usually 255), or vice-versa.) Note that this filter is slightly faster if the inside value is less than the outside value. Otherwise an extra iteration through the image is required.

This filter uses the FastChamferDistanceImageFilter and the IsoContourDistanceImageFilter inernally to perform the distance calculations.

See also:
DanielssonDistanceMapImageFilter, SignedDanielssonDistanceMapImageFilter
FastChamferDistanceImageFilter, IsoContourDistanceImageFilter
Author:
Zach Pincus
Wiki Examples:

Definition at line 72 of file itkApproximateSignedDistanceMapImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef FastChamferDistanceImageFilter< OutputImageType, OutputImageType > itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::ChamferType [private]
template<class TInputImage , class TOutputImage >
typedef SmartPointer< const Self > itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef InputImageType::ConstPointer itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::InputImagePointer

Pointer Type for input image.

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

Definition at line 108 of file itkApproximateSignedDistanceMapImageFilter.h.

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

Type for input image.

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

Definition at line 85 of file itkApproximateSignedDistanceMapImageFilter.h.

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

Type for the pixels of the input image.

Definition at line 94 of file itkApproximateSignedDistanceMapImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef IsoContourDistanceImageFilter< InputImageType, OutputImageType > itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::IsoContourType [private]
template<class TInputImage , class TOutputImage >
typedef OutputImageType::Pointer itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::OutputImagePointer

Pointer Type for the output image.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 111 of file itkApproximateSignedDistanceMapImageFilter.h.

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

Type for the output image.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 91 of file itkApproximateSignedDistanceMapImageFilter.h.

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

Type for the pixels of the output image.

Definition at line 97 of file itkApproximateSignedDistanceMapImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::SizeType itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::OutputSizeType

Type of input image size and size value

Definition at line 100 of file itkApproximateSignedDistanceMapImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputSizeType::SizeValueType itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::OutputSizeValueType
template<class TInputImage , class TOutputImage >
typedef SmartPointer< Self > itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::Pointer
template<class TInputImage , class TOutputImage >
typedef ApproximateSignedDistanceMapImageFilter itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::Self

Standard typedefs

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

Definition at line 76 of file itkApproximateSignedDistanceMapImageFilter.h.

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

Constructor & Destructor Documentation

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

End concept checking

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

End concept checking

Definition at line 133 of file itkApproximateSignedDistanceMapImageFilter.h.

template<class TInputImage , class TOutputImage >
itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::ApproximateSignedDistanceMapImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TOutputImage >
virtual::itk::LightObject::Pointer itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

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

End concept checking

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual InputPixelType itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::GetInsideValue ( ) const [virtual]

Set/Get intensity value representing the interior of objects in the mask

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

Run-time type information (and related methods).

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

template<class TInputImage , class TOutputImage >
virtual InputPixelType itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::GetOutsideValue ( ) const [virtual]

Set/Get intensity value representing non-objects in the mask

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

standard New() method support

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage >
void itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

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

template<class TInputImage , class TOutputImage >
void itk::ApproximateSignedDistanceMapImageFilter< 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::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::SetInsideValue ( InputPixelType  _arg) [virtual]

Set/Get intensity value representing the interior of objects in the mask

template<class TInputImage , class TOutputImage >
virtual void itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::SetOutsideValue ( InputPixelType  _arg) [virtual]

Set/Get intensity value representing non-objects in the mask

template<class TInputImage , class TOutputImage >
itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::typedef ( Concept::EqualityComparable< typename InputImageType::PixelType >  )

Begin concept checking This class requires InputEqualityComparableCheck in the form of ( Concept::EqualityComparable< typename InputImageType::PixelType > )


Member Data Documentation

template<class TInputImage , class TOutputImage >
const unsigned int itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::InputImageDimension = InputImageType::ImageDimension [static]

The dimension of the input image.

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

Definition at line 105 of file itkApproximateSignedDistanceMapImageFilter.h.

template<class TInputImage , class TOutputImage >
ChamferType::Pointer itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::m_ChamferFilter [private]
template<class TInputImage , class TOutputImage >
InputPixelType itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::m_InsideValue [private]
template<class TInputImage , class TOutputImage >
IsoContourType::Pointer itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::m_IsoContourFilter [private]
template<class TInputImage , class TOutputImage >
InputPixelType itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::m_OutsideValue [private]

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