ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkReinitializeLevelSetImageFilter.h>
Reinitialize the level set to the signed distance function.
ReinitializeLevelSetImageFilter reinitializes the input level set to the approximated signed distance function from a particular level set. The output is a level set of the same type as the input.
For some level set algorithms, it is useful to periodically reinitialize the level set function to prevent numerical accuracy problems in computing derivatives and curvature values where level sets are densely bunched together.
This class is templated over the image type which represents the level set.
This class supports narrowbanding. If the input narrowband is provided, the algorithm will only locate the level set within the input narrowband. For the output, the reinitialize level set is only valid for a distance of OutputNarrowBandwidth / 2 of either side of the level set of interest.
Implementation of this class is based on Chapter 11 of "Level Set Methods and Fast Marching Methods", J.A. Sethian, Cambridge Press, Second edition, 1999.
Definition at line 55 of file itkReinitializeLevelSetImageFilter.h.
typedef SmartPointer< const Self > itk::ReinitializeLevelSetImageFilter< TLevelSet >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 63 of file itkReinitializeLevelSetImageFilter.h.
typedef FastMarchingImageFilter< TLevelSet, SpeedImageType > itk::ReinitializeLevelSetImageFilter< TLevelSet >::FastMarchingImageFilterType [protected] |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 147 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetType::LevelSetConstPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::LevelSetConstPointer |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 75 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetType::LevelSetImageType itk::ReinitializeLevelSetImageFilter< TLevelSet >::LevelSetImageType |
Definition at line 73 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetType::LevelSetPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::LevelSetPointer |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 74 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetTypeDefault< TLevelSet > itk::ReinitializeLevelSetImageFilter< TLevelSet >::LevelSetType |
LevelSetType typedef support.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 69 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetNeighborhoodExtractor< TLevelSet > itk::ReinitializeLevelSetImageFilter< TLevelSet >::LocatorType [protected] |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 146 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetType::NodeContainer itk::ReinitializeLevelSetImageFilter< TLevelSet >::NodeContainer |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 78 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetType::NodeContainerPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::NodeContainerPointer |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 79 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetType::NodeType itk::ReinitializeLevelSetImageFilter< TLevelSet >::NodeType |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 77 of file itkReinitializeLevelSetImageFilter.h.
typedef LevelSetType::PixelType itk::ReinitializeLevelSetImageFilter< TLevelSet >::PixelType |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 76 of file itkReinitializeLevelSetImageFilter.h.
typedef SmartPointer< Self > itk::ReinitializeLevelSetImageFilter< TLevelSet >::Pointer |
Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 62 of file itkReinitializeLevelSetImageFilter.h.
typedef ReinitializeLevelSetImageFilter itk::ReinitializeLevelSetImageFilter< TLevelSet >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 60 of file itkReinitializeLevelSetImageFilter.h.
typedef Image< float, itkGetStaticConstMacro(SetDimension) > itk::ReinitializeLevelSetImageFilter< TLevelSet >::SpeedImageType [protected] |
Internal typedefs.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 145 of file itkReinitializeLevelSetImageFilter.h.
typedef ImageToImageFilter< TLevelSet, TLevelSet > itk::ReinitializeLevelSetImageFilter< TLevelSet >::Superclass |
Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 61 of file itkReinitializeLevelSetImageFilter.h.
itk::ReinitializeLevelSetImageFilter< TLevelSet >::ReinitializeLevelSetImageFilter | ( | ) | [protected] |
End concept checking
itk::ReinitializeLevelSetImageFilter< TLevelSet >::~ReinitializeLevelSetImageFilter | ( | ) | [inline, protected] |
End concept checking
Definition at line 140 of file itkReinitializeLevelSetImageFilter.h.
itk::ReinitializeLevelSetImageFilter< TLevelSet >::ReinitializeLevelSetImageFilter | ( | const Self & | ) | [private] |
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::AllocateOutput | ( | ) | [protected, virtual] |
virtual::itk::LightObject::Pointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::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.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::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.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::GenerateData | ( | void | ) | [protected, virtual] |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TLevelSet >.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::GenerateDataFull | ( | ) | [protected, virtual] |
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::GenerateDataNarrowBand | ( | ) | [protected, virtual] |
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::GenerateInputRequestedRegion | ( | void | ) | [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< TLevelSet, TLevelSet >.
NodeContainerPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetInputNarrowBand | ( | ) | const [inline] |
Definition at line 122 of file itkReinitializeLevelSetImageFilter.h.
virtual double itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetInputNarrowBandwidth | ( | ) | const [virtual] |
Set/Get the input narrow bandwidth. The default value is 12.
virtual double itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetLevelSetValue | ( | ) | const [virtual] |
Set/Get the value of the level set to be located. The default value is 0.
virtual const char* itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
virtual bool itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetNarrowBanding | ( | ) | const [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
NodeContainerPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetOutputNarrowBand | ( | ) | const [inline] |
Get the output narrowband.
Definition at line 126 of file itkReinitializeLevelSetImageFilter.h.
virtual double itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetOutputNarrowBandwidth | ( | ) | const [virtual] |
Set/Get the output narrow bandwidth. The default value is 12.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::NarrowBandingOff | ( | ) | [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::NarrowBandingOn | ( | ) | [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
static Pointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::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< TLevelSet, TLevelSet >.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
End concept checking
Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetInputNarrowBand | ( | NodeContainer * | ptr | ) |
Set/Get the input narrowband.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetInputNarrowBandwidth | ( | double | _arg | ) | [virtual] |
Set/Get the input narrow bandwidth. The default value is 12.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetLevelSetValue | ( | double | _arg | ) | [virtual] |
Set/Get the value of the level set to be located. The default value is 0.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetNarrowBanding | ( | bool | _arg | ) | [virtual] |
Set/Get the narrowbanding flag. By default, narrowbanding is switched off.
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetNarrowBandwidth | ( | double | value | ) | [inline] |
Set the bandwidth for both the input and output narrowband, By default, both the input and output are set to 12.
Definition at line 112 of file itkReinitializeLevelSetImageFilter.h.
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetOutputNarrowBand | ( | NodeContainer * | ptr | ) | [inline, protected] |
Definition at line 161 of file itkReinitializeLevelSetImageFilter.h.
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetOutputNarrowBandwidth | ( | double | _arg | ) | [virtual] |
Set/Get the output narrow bandwidth. The default value is 12.
itk::ReinitializeLevelSetImageFilter< TLevelSet >::typedef | ( | Concept::AdditiveOperators< PixelType, double > | ) |
Begin concept checking This class requires LevelSetDoubleAdditiveOperatorsCheck in the form of ( Concept::AdditiveOperators< PixelType, double > )
itk::ReinitializeLevelSetImageFilter< TLevelSet >::typedef | ( | Concept::OStreamWritable< PixelType > | ) |
This class requires LevelSetOStreamWritableCheck in the form of ( Concept::OStreamWritable< PixelType > )
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
NodeContainerPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_InputNarrowBand [private] |
Definition at line 176 of file itkReinitializeLevelSetImageFilter.h.
double itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_InputNarrowBandwidth [private] |
Definition at line 174 of file itkReinitializeLevelSetImageFilter.h.
double itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_LevelSetValue [private] |
Definition at line 167 of file itkReinitializeLevelSetImageFilter.h.
LocatorType::Pointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_Locator [private] |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 169 of file itkReinitializeLevelSetImageFilter.h.
FastMarchingImageFilterType::Pointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_Marcher [private] |
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 171 of file itkReinitializeLevelSetImageFilter.h.
bool itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_NarrowBanding [private] |
Definition at line 173 of file itkReinitializeLevelSetImageFilter.h.
NodeContainerPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_OutputNarrowBand [private] |
Definition at line 177 of file itkReinitializeLevelSetImageFilter.h.
double itk::ReinitializeLevelSetImageFilter< TLevelSet >::m_OutputNarrowBandwidth [private] |
Definition at line 175 of file itkReinitializeLevelSetImageFilter.h.
const unsigned int itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetDimension = LevelSetType::SetDimension [static] |
SetDimension enumeration.
Reimplemented in itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >.
Definition at line 83 of file itkReinitializeLevelSetImageFilter.h.