ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkNarrowBandLevelSetImageFilter.h>
A base class which defines the API for implementing a special class of image segmentation filters using level set methods.
TInputImage is the image type of the initial model you will input to the filter using SetInput() or SetInitialImage().
TFeatureImage is the image type of the image from which the filter will calculate the speed term for segmentation (see INPUTS).
TOutputPixelType is the data type used for the output image phi, the implicit level set image. This should really only ever be set as float (default) or double.
You must identify the initial front (surface) in the input image. You do this by specifying its isovalue through the method SetIsoSurfaceValue(float f). The algorithm will then initialize its solution using the front represented by value f. Note that the front is always represented by isosurface zero in the output and not the isosurface you specified for the input. This is because, for simplicity, the filter will shift your input image so that the active front has zero values.
This parameter can be safely changed as appropriate for a particular application or data set to achieve the desired behavior.
Definition at line 148 of file itkNarrowBandLevelSetImageFilter.h.
Protected Types | |
typedef FastChamferDistanceImageFilter < OutputImageType, OutputImageType > | ChamferFilterType |
typedef IsoContourDistanceImageFilter < OutputImageType, OutputImageType > | IsoFilterType |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Protected Attributes | |
ChamferFilterType::Pointer | m_ChamferFilter |
IsoFilterType::Pointer | m_IsoFilter |
bool | m_ReverseExpansionDirection |
Protected Attributes inherited from itk::NarrowBandImageFilterBase< TInputImage, TOutputImage > | |
Barrier::Pointer | m_Barrier |
ValueType | m_IsoSurfaceValue |
NarrowBandPointer | m_NarrowBand |
std::vector< RegionType > | m_RegionList |
IdentifierType | m_ReinitializationFrequency |
IdentifierType | m_Step |
bool | m_Touched |
std::vector< bool > | m_TouchedForThread |
Protected Attributes inherited from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage > | |
IdentifierType | m_ElapsedIterations |
bool | m_IsInitialized |
bool | m_ManualReinitialization |
double | m_MaximumRMSError |
IdentifierType | m_NumberOfIterations |
double | m_RMSChange |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
Private Attributes | |
SegmentationFunctionType * | m_SegmentationFunction |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes inherited from itk::NarrowBandImageFilterBase< TInputImage, TOutputImage > | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | ImageDimension = OutputImageType::ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
|
protected |
Definition at line 406 of file itkNarrowBandLevelSetImageFilter.h.
typedef SmartPointer< const Self > itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::ConstPointer |
Definition at line 157 of file itkNarrowBandLevelSetImageFilter.h.
typedef TFeatureImage itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::FeatureImageType |
Definition at line 167 of file itkNarrowBandLevelSetImageFilter.h.
typedef Superclass::IndexType itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::IndexType |
Definition at line 161 of file itkNarrowBandLevelSetImageFilter.h.
typedef Superclass::InputImageType itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::InputImageType |
Definition at line 163 of file itkNarrowBandLevelSetImageFilter.h.
|
protected |
Reinitialization filters Internal filter types used for reinitialization
Definition at line 404 of file itkNarrowBandLevelSetImageFilter.h.
typedef TOutputImage itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::OutputImageType |
Local image typedefs
Definition at line 166 of file itkNarrowBandLevelSetImageFilter.h.
typedef SmartPointer< Self > itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::Pointer |
Definition at line 156 of file itkNarrowBandLevelSetImageFilter.h.
typedef SegmentationLevelSetFunction< OutputImageType, FeatureImageType > itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::SegmentationFunctionType |
The generic level set function type
Definition at line 171 of file itkNarrowBandLevelSetImageFilter.h.
typedef NarrowBandLevelSetImageFilter itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::Self |
Standard class typedefs
Definition at line 154 of file itkNarrowBandLevelSetImageFilter.h.
typedef NarrowBandImageFilterBase< TInputImage, TOutputImage > itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::Superclass |
Definition at line 155 of file itkNarrowBandLevelSetImageFilter.h.
typedef Superclass::TimeStepType itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::TimeStepType |
Definition at line 162 of file itkNarrowBandLevelSetImageFilter.h.
typedef Superclass::ValueType itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::ValueType |
Inherited typedef from the superclass.
Definition at line 160 of file itkNarrowBandLevelSetImageFilter.h.
typedef SegmentationFunctionType::VectorImageType itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::VectorImageType |
The type used for the advection field
Definition at line 174 of file itkNarrowBandLevelSetImageFilter.h.
|
inlineprotectedvirtual |
Definition at line 369 of file itkNarrowBandLevelSetImageFilter.h.
|
protected |
|
protected |
|
overrideprotectedvirtual |
Tells the solver how to reinitialize the narrowband when the reinitialization criterion meets
Reimplemented from itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >.
|
overrideprotectedvirtual |
Overridden from ProcessObject to set certain values before starting the finite difference solver and then create an appropriate output
Reimplemented from itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >.
|
inlinevirtual |
Definition at line 203 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Definition at line 310 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Definition at line 328 of file itkNarrowBandLevelSetImageFilter.h.
|
inlinevirtual |
Definition at line 188 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Definition at line 349 of file itkNarrowBandLevelSetImageFilter.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >.
Reimplemented in itk::NarrowBandCurvesLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >, and itk::NarrowBandThresholdSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >.
|
inline |
Definition at line 294 of file itkNarrowBandLevelSetImageFilter.h.
|
virtual |
Turn On/Off the flag which determines whether Positive or Negative speed terms will cause surface expansion. If set to TRUE then negative speed terms will cause the surface to expand and positive speed terms will cause the surface to contract. If set to FALSE (default) then positive speed terms will cause the surface to expand and negative speed terms will cause the surface to contract. This method can be safely used to reverse the expansion/contraction as appropriate to a particular application or data set.
|
inlinevirtual |
Definition at line 337 of file itkNarrowBandLevelSetImageFilter.h.
|
inlinevirtual |
Definition at line 200 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Definition at line 240 of file itkNarrowBandLevelSetImageFilter.h.
|
inlineoverrideprotectedvirtual |
Overrides parent implementation
Reimplemented from itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >.
Definition at line 378 of file itkNarrowBandLevelSetImageFilter.h.
|
protected |
|
overrideprotectedvirtual |
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::NarrowBandImageFilterBase< TInputImage, TOutputImage >.
Reimplemented in itk::NarrowBandThresholdSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >, and itk::NarrowBandCurvesLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >.
|
virtual |
Turn On/Off the flag which determines whether Positive or Negative speed terms will cause surface expansion. If set to TRUE then negative speed terms will cause the surface to expand and positive speed terms will cause the surface to contract. If set to FALSE (default) then positive speed terms will cause the surface to expand and negative speed terms will cause the surface to contract. This method can be safely used to reverse the expansion/contraction as appropriate to a particular application or data set.
|
virtual |
Turn On/Off the flag which determines whether Positive or Negative speed terms will cause surface expansion. If set to TRUE then negative speed terms will cause the surface to expand and positive speed terms will cause the surface to contract. If set to FALSE (default) then positive speed terms will cause the surface to expand and negative speed terms will cause the surface to contract. This method can be safely used to reverse the expansion/contraction as appropriate to a particular application or data set.
|
inline |
Set/Get the scaling of the advection field. Setting the FeatureScaling parameter will override any existing value for AdvectionScaling.
Definition at line 301 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Set/Get the scaling of the curvature. Use this parameter to increase the influence of curvature on the movement of the surface. Higher values relative to Advection and Propagation values will give smoother surfaces.
Definition at line 319 of file itkNarrowBandLevelSetImageFilter.h.
|
inlinevirtual |
Set/Get the feature image to be used for speed function of the level set equation. Equivalent to calling Set/GetInput(1, ..)
Definition at line 181 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Combined scaling of the propagation and advection speed terms. You should use either this -or- Get/SetPropagationScaling and Get/SetAdvectionScaling (if appropriate). See subclasses for details on when and whether to set these parameters.
Definition at line 270 of file itkNarrowBandLevelSetImageFilter.h.
|
inlinevirtual |
Set/Get the initial level set model. Equivalent to calling SetInput(..)
Definition at line 195 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Set/Get the maximum number of iterations allowed for the solver. This prevents infinite loops if a solution "bounces".
Definition at line 342 of file itkNarrowBandLevelSetImageFilter.h.
|
inlineoverridevirtual |
Set/Get the maximum error allowed in the solution. This may not be defined for all solvers and its meaning may change with the application.
Reimplemented from itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.
Definition at line 355 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Set/Get the scaling of the propagation speed. Setting the FeatureScaling parameter overrides any previous values set for PropagationScaling.
Definition at line 285 of file itkNarrowBandLevelSetImageFilter.h.
|
virtual |
Turn On/Off the flag which determines whether Positive or Negative speed terms will cause surface expansion. If set to TRUE then negative speed terms will cause the surface to expand and positive speed terms will cause the surface to contract. If set to FALSE (default) then positive speed terms will cause the surface to expand and negative speed terms will cause the surface to contract. This method can be safely used to reverse the expansion/contraction as appropriate to a particular application or data set.
|
virtual |
Set the segmentation function. In general, this should only be called by a subclass of this object. It is made public to allow itk::Command objects access.
|
inline |
Set/Get the value of the UseNegativeFeatures flag. This method is deprecated. Use Set/Get ReverseExpansionDirection instead.
Definition at line 226 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
Definition at line 217 of file itkNarrowBandLevelSetImageFilter.h.
|
inline |
THIS METHOD IS DEPRECATED AND SHOULD NOT BE USED. This method reverses the speed function direction, effectively changing inside feature values to outside feature values and vice versa.
Definition at line 209 of file itkNarrowBandLevelSetImageFilter.h.
itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::typedef | ( | Concept::HasNumericTraits< typename TOutputImage::PixelType > | ) |
This class requires OutputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename TOutputImage::PixelType > )
|
protected |
Definition at line 410 of file itkNarrowBandLevelSetImageFilter.h.
|
protected |
Definition at line 408 of file itkNarrowBandLevelSetImageFilter.h.
|
protected |
Flag which sets the inward/outward direction of propagation speed. See SetReverseExpansionDirection for more information.
Definition at line 398 of file itkNarrowBandLevelSetImageFilter.h.
|
private |
Definition at line 413 of file itkNarrowBandLevelSetImageFilter.h.
Referenced by itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::GetAdvectionImage(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::GetAdvectionScaling(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::GetCurvatureScaling(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::GetPropagationScaling(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::GetSegmentationFunction(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::GetSpeedImage(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetAdvectionScaling(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetCurvatureScaling(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetFeatureImage(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetFeatureScaling(), and itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetPropagationScaling().