ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkIsoContourDistanceImageFilter.h>
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 57 of file itkIsoContourDistanceImageFilter.h.
typedef NarrowBandType::Iterator itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::BandIterator |
Definition at line 105 of file itkIsoContourDistanceImageFilter.h.
typedef BandNode< IndexType, PixelType > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::BandNodeType |
NarrowBand typedef support.
Definition at line 100 of file itkIsoContourDistanceImageFilter.h.
typedef NarrowBandType::ConstIterator itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ConstBandIterator |
Definition at line 104 of file itkIsoContourDistanceImageFilter.h.
typedef SmartPointer< const Self > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 65 of file itkIsoContourDistanceImageFilter.h.
typedef OutputImageType::IndexType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::IndexType |
Definition at line 95 of file itkIsoContourDistanceImageFilter.h.
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.
typedef InputImageType::IndexType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::InputIndexType |
Definition at line 94 of file itkIsoContourDistanceImageFilter.h.
typedef ConstNeighborhoodIterator< InputImageType > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::InputNeighbordIteratorType [protected] |
Definition at line 174 of file itkIsoContourDistanceImageFilter.h.
typedef InputImageType::PixelType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::InputPixelType |
Definition at line 88 of file itkIsoContourDistanceImageFilter.h.
typedef InputImageType::SizeType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::InputSizeType |
Definition at line 91 of file itkIsoContourDistanceImageFilter.h.
typedef InputImageType::SpacingType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::InputSpacingType |
Definition at line 97 of file itkIsoContourDistanceImageFilter.h.
typedef NarrowBandType::Pointer itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandPointer |
Definition at line 102 of file itkIsoContourDistanceImageFilter.h.
typedef NarrowBand< BandNodeType > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandType |
Definition at line 101 of file itkIsoContourDistanceImageFilter.h.
typedef OutputImageType::RegionType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Superclass typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 89 of file itkIsoContourDistanceImageFilter.h.
typedef Superclass::OutputImageType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 75 of file itkIsoContourDistanceImageFilter.h.
typedef NeighborhoodIterator< OutputImageType > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::OutputNeighborhoodIteratorType [protected] |
Definition at line 175 of file itkIsoContourDistanceImageFilter.h.
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 87 of file itkIsoContourDistanceImageFilter.h.
typedef SmartPointer< Self > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 64 of file itkIsoContourDistanceImageFilter.h.
typedef NarrowBandType::RegionType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::RegionType |
Definition at line 103 of file itkIsoContourDistanceImageFilter.h.
typedef IsoContourDistanceImageFilter itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 62 of file itkIsoContourDistanceImageFilter.h.
typedef OutputImageType::SizeType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::SizeType |
Definition at line 92 of file itkIsoContourDistanceImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 63 of file itkIsoContourDistanceImageFilter.h.
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::IsoContourDistanceImageFilter | ( | ) | [protected] |
End concept checking
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::~IsoContourDistanceImageFilter | ( | ) | [inline, protected] |
End concept checking
Definition at line 155 of file itkIsoContourDistanceImageFilter.h.
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::IsoContourDistanceImageFilter | ( | const Self & | ) | [private] |
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData | ( | void | ) | [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 >.
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ComputeValue | ( | const InputNeighbordIteratorType & | inNeigIt, |
OutputNeighborhoodIteratorType & | outNeigIt, | ||
unsigned int | center, | ||
const std::vector< OffsetValueType > & | stride | ||
) | [protected] |
virtual::itk::LightObject::Pointer itk::IsoContourDistanceImageFilter< 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.
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.
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.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual PixelType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetFarValue | ( | ) | const [virtual] |
Set/Get the value of the level set to be located. The default value is 0.
virtual InputPixelType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetLevelSetValue | ( | ) | const [virtual] |
Set/Get the value of the level set to be located. The default value is 0.
virtual const char* itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
NarrowBandPointer itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetNarrowBand | ( | ) | const [inline] |
Definition at line 129 of file itkIsoContourDistanceImageFilter.h.
virtual bool itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::GetNarrowBanding | ( | ) | const [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
virtual void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandingOff | ( | ) | [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
virtual void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::NarrowBandingOn | ( | ) | [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
static Pointer itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::IsoContourDistanceImageFilter< 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 >.
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
End concept checking
Reimplemented from itk::ImageToImageFilter< TInputImage, 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.
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.
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::SetNarrowBand | ( | NarrowBandType * | ptr | ) |
Set/Get the narrowband.
virtual void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::SetNarrowBanding | ( | bool | _arg | ) | [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData | ( | const OutputImageRegionType & | outputRegionForThread, |
ThreadIdType | 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).
Reimplemented from itk::ImageSource< TOutputImage >.
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ThreadedGenerateDataBand | ( | const OutputImageRegionType & | outputRegionForThread, |
ThreadIdType | threadId | ||
) | [protected] |
void itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ThreadedGenerateDataFull | ( | const OutputImageRegionType & | outputRegionForThread, |
ThreadIdType | threadId | ||
) | [protected] |
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::EqualityComparable< InputPixelType > | ) |
Begin concept checking This class requires InputEqualityComparableCheck in the form of ( Concept::EqualityComparable< InputPixelType > )
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::EqualityComparable< PixelType > | ) |
This class requires OutputEqualityComparableCheck in the form of ( Concept::EqualityComparable< PixelType > )
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::SameDimension< ImageDimension, OutputImageDimension > | ) |
This class requires SameDimensionCheck in the form of ( Concept::SameDimension< ImageDimension, OutputImageDimension > )
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::Convertible< double, PixelType > | ) |
This class requires DoubleConvertibleToOutputCheck in the form of ( Concept::Convertible< double, PixelType > )
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::Convertible< InputPixelType, PixelType > | ) |
This class requires InputConvertibleToOutputCheck in the form of ( Concept::Convertible< InputPixelType, PixelType > )
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::AdditiveOperators< PixelType > | ) |
This class requires OutputAdditiveOperatorsCheck in the form of ( Concept::AdditiveOperators< PixelType > )
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::OStreamWritable< InputPixelType > | ) |
This class requires InputOStreamWritableCheck in the form of ( Concept::OStreamWritable< InputPixelType > )
itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::OStreamWritable< PixelType > | ) |
This class requires OutputOStreamWritableCheck in the form of ( Concept::OStreamWritable< PixelType > )
const unsigned int itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension [static] |
Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass.
Definition at line 80 of file itkIsoContourDistanceImageFilter.h.
Barrier::Pointer itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::m_Barrier [private] |
A global barrier used for synchronization between all threads.
Definition at line 196 of file itkIsoContourDistanceImageFilter.h.
PixelType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::m_FarValue [private] |
Definition at line 187 of file itkIsoContourDistanceImageFilter.h.
InputPixelType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::m_LevelSetValue [private] |
Definition at line 186 of file itkIsoContourDistanceImageFilter.h.
NarrowBandPointer itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::m_NarrowBand [private] |
Definition at line 192 of file itkIsoContourDistanceImageFilter.h.
bool itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::m_NarrowBanding [private] |
Definition at line 191 of file itkIsoContourDistanceImageFilter.h.
std::vector< RegionType > itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::m_NarrowBandRegion [private] |
Definition at line 193 of file itkIsoContourDistanceImageFilter.h.
InputSpacingType itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::m_Spacing [private] |
Definition at line 189 of file itkIsoContourDistanceImageFilter.h.
const unsigned int itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::OutputImageDimension = TOutputImage::ImageDimension [static] |
Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 82 of file itkIsoContourDistanceImageFilter.h.