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

itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage > Class Template Reference
[Level Set-Based Segmentation Filters]

Compute an approximate distance from an interpolated isocontour to the close grid points. More...

#include <itkIsoContourDistanceImageFilter.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef IsoContourDistanceImageFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::InputImageType InputImageType
typedef Superclass::OutputImageType OutputImageType
typedef OutputImageType::PixelType PixelType
typedef InputImageType::PixelType InputPixelType
typedef OutputImageType::RegionType OutputImageRegionType
typedef InputImageType::SizeType InputSizeType
typedef OutputImageType::SizeType SizeType
typedef InputImageType::IndexType InputIndexType
typedef OutputImageType::IndexType IndexType
typedef BandNode< IndexType,
PixelType
BandNodeType
typedef NarrowBand< BandNodeTypeNarrowBandType
typedef NarrowBandType::Pointer NarrowBandPointer
typedef NarrowBandType::RegionType RegionType
typedef NarrowBandType::ConstIterator ConstBandIterator
typedef NarrowBandType::Iterator BandIterator

Public Member Functions

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
virtual void SetLevelSetValue (InputPixelType _arg)
virtual InputPixelType GetLevelSetValue ()
virtual void SetFarValue (PixelType _arg)
virtual PixelType GetFarValue ()
virtual void SetNarrowBanding (bool _arg)
virtual bool GetNarrowBanding ()
virtual void NarrowBandingOn ()
virtual void NarrowBandingOff ()
void SetNarrowBand (NarrowBandType *ptr)
NarrowBandPointer GetNarrowBand () const

Static Public Member Functions

Pointer New ()

Protected Member Functions

 IsoContourDistanceImageFilter ()
 ~IsoContourDistanceImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId)
void ThreadedGenerateDataFull (const OutputImageRegionType &outputRegionForThread, int threadId)
void ThreadedGenerateDataBand (const OutputImageRegionType &outputRegionForThread, int threadId)
void BeforeThreadedGenerateData ()
virtual void GenerateInputRequestedRegion ()
virtual void EnlargeOutputRequestedRegion (DataObject *)

Detailed Description

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

Compute an approximate distance from an interpolated isocontour to the close grid points.

For standard level set algorithms, it is useful to periodically reinitialize the evolving image to prevent numerical accuracy problems in computing derivatives. This reinitialization is done by computing a signed distance map to the current level set. This class provides the first step in this reinitialization by computing an estimate of the distance from the interpolated isocontour to the pixels (or voxels) that are close to it, i.e. for which the isocontour crosses a segment between them and one of their direct neighbors.

This class supports narrowbanding. If the input narrowband is provided, the algorithm will only locate the level set within the input narrowband.

Implementation of this class is based on Fast and Accurate Redistancing for Level Set Methods `Krissian K. and Westin C.F.', EUROCAST NeuroImaging Workshop Las Palmas Spain, Ninth International Conference on Computer Aided Systems Theory , pages 48-51, Feb 2003.

Definition at line 54 of file itkIsoContourDistanceImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage>
typedef NarrowBandType::Iterator itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::BandIterator
 

Definition at line 96 of file itkIsoContourDistanceImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef BandNode<IndexType,PixelType> itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::BandNodeType
 

NarrowBand typedef support. Definition at line 91 of file itkIsoContourDistanceImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef NarrowBandType::ConstIterator itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ConstBandIterator
 

Definition at line 95 of file itkIsoContourDistanceImageFilter.h.

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

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

Definition at line 62 of file itkIsoContourDistanceImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef OutputImageType::IndexType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::IndexType
 

Definition at line 88 of file itkIsoContourDistanceImageFilter.h.

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

Typedefs from the superclass

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

Definition at line 71 of file itkIsoContourDistanceImageFilter.h.

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

Definition at line 87 of file itkIsoContourDistanceImageFilter.h.

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

Definition at line 81 of file itkIsoContourDistanceImageFilter.h.

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

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

Some typedef Definition at line 85 of file itkIsoContourDistanceImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef NarrowBandType::Pointer itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandPointer
 

Definition at line 93 of file itkIsoContourDistanceImageFilter.h.

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

template<class TInputImage, class TOutputImage>
typedef NarrowBand<BandNodeType> itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandType
 

Definition at line 92 of file itkIsoContourDistanceImageFilter.h.

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

Superclass typedefs.

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

Definition at line 82 of file itkIsoContourDistanceImageFilter.h.

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

template<class TInputImage, class TOutputImage>
typedef Superclass::OutputImageType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::OutputImageType
 

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 72 of file itkIsoContourDistanceImageFilter.h.

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

The pixel type of the output image will be used in computations. Inherited from the superclass. Definition at line 80 of file itkIsoContourDistanceImageFilter.h.

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

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

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

Definition at line 61 of file itkIsoContourDistanceImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef NarrowBandType::RegionType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::RegionType
 

Definition at line 94 of file itkIsoContourDistanceImageFilter.h.

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

Standard class typedefs.

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

Definition at line 59 of file itkIsoContourDistanceImageFilter.h.

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

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

Definition at line 86 of file itkIsoContourDistanceImageFilter.h.

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

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

Definition at line 60 of file itkIsoContourDistanceImageFilter.h.


Constructor & Destructor Documentation

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

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

Definition at line 129 of file itkIsoContourDistanceImageFilter.h.

References itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::InputPixelType, itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandPointer, itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::OutputImageRegionType, itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::PixelType, itk::Barrier::Pointer, and itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::Self.


Member Function Documentation

template<class TInputImage, class TOutputImage>
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData  )  [protected, virtual]
 

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion DataObject  )  [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>
virtual void itk::IsoContourDistanceImageFilter< 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 const char* itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

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

template<class TInputImage, class TOutputImage>
virtual PixelType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetFarValue  )  [virtual]
 

Set/Get the value of the level set to be located. The default value is 0.

template<class TInputImage, class TOutputImage>
virtual InputPixelType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetLevelSetValue  )  [virtual]
 

Set/Get the value of the level set to be located. The default value is 0.

template<class TInputImage, class TOutputImage>
NarrowBandPointer itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetNarrowBand  )  const [inline]
 

Set/Get the narrowband. Definition at line 122 of file itkIsoContourDistanceImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual bool itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetNarrowBanding  )  [virtual]
 

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

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

Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass.

template<class TInputImage, class TOutputImage>
virtual void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandingOff  )  [virtual]
 

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

template<class TInputImage, class TOutputImage>
virtual void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandingOn  )  [virtual]
 

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

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

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage>
void itk::IsoContourDistanceImageFilter< 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::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::SetFarValue PixelType  _arg  )  [virtual]
 

Set/Get the value of the level set to be located. The default value is 0.

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

Set/Get the value of the level set to be located. The default value is 0.

template<class TInputImage, class TOutputImage>
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::SetNarrowBand NarrowBandType ptr  ) 
 

Set/Get the narrowband.

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

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

template<class TInputImage, class TOutputImage>
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData const OutputImageRegionType outputRegionForThread,
int  threadId
[protected, virtual]
 

If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). This superclass will automatically split the output image into a number of pieces, spawn multiple threads, and call ThreadedGenerateData() in each thread. Prior to spawning threads, the BeforeThreadedGenerateData() method is called. After all the threads have completed, the AfterThreadedGenerateData() method is called. If an image processing filter cannot support threading, that filter should provide an implementation of the GenerateData() method instead of providing an implementation of ThreadedGenerateData(). If a filter provides a GenerateData() method as its implementation, then the filter is responsible for allocating the output data. If a filter provides a ThreadedGenerateData() method as its implementation, then the output memory will allocated automatically by this superclass. The ThreadedGenerateData() method should only produce the output specified by "outputThreadRegion" parameter. ThreadedGenerateData() cannot write to any other portion of the output image (as this is responsibility of a different thread).

See also:
GenerateData(), SplitRequestedRegion()

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage>
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ThreadedGenerateDataBand const OutputImageRegionType outputRegionForThread,
int  threadId
[protected]
 

template<class TInputImage, class TOutputImage>
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ThreadedGenerateDataFull const OutputImageRegionType outputRegionForThread,
int  threadId
[protected]
 


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 02:38:58 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000