Orfeo Toolbox  3.16
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType > Class Template Reference

#include <itkSegmentationLevelSetFunction.h>

+ Inheritance diagram for itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >:
+ Collaboration diagram for itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >:

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef
InterpolatorType::ContinuousIndexType 
ContinuousIndexType
 
typedef
ZeroFluxNeumannBoundaryCondition
< ImageType
DefaultBoundaryConditionType
 
typedef TFeatureImageType FeatureImageType
 
typedef FeatureImageType::PixelType FeatureScalarType
 
typedef Superclass::FloatOffsetType FloatOffsetType
 
typedef
Superclass::GlobalDataStruct 
GlobalDataStruct
 
typedef Superclass::ImageType ImageType
 
typedef ImageType::IndexType IndexType
 
typedef
LinearInterpolateImageFunction
< ImageType
InterpolatorType
 
typedef
Superclass::NeighborhoodScalesType 
NeighborhoodScalesType
 
typedef
Superclass::NeighborhoodType 
NeighborhoodType
 
typedef Superclass::PixelRealType PixelRealType
 
typedef Superclass::PixelType PixelType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RadiusType RadiusType
 
typedef Superclass::ScalarValueType ScalarValueType
 
typedef
SegmentationLevelSetFunction 
Self
 
typedef LevelSetFunction
< TImageType > 
Superclass
 
typedef double TimeStepType
 
typedef Image< VectorType,
itkGetStaticConstMacro(ImageDimension)> 
VectorImageType
 
typedef
VectorLinearInterpolateImageFunction
< VectorImageType
VectorInterpolatorType
 
typedef Superclass::VectorType VectorType
 

Public Member Functions

virtual void AllocateAdvectionImage ()
 
virtual void AllocateSpeedImage ()
 
virtual void CalculateAdvectionImage ()
 
virtual void CalculateSpeedImage ()
 
virtual ScalarValueType Compute3DMinimalCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
virtual ScalarValueType ComputeCurvatureTerm (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
virtual TimeStepType ComputeGlobalTimeStep (void *GlobalData) const
 
virtual ScalarValueType ComputeMeanCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
virtual ScalarValueType ComputeMinimalCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
const NeighborhoodScalesType ComputeNeighborhoodScales () const
 
virtual PixelType ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0))
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual ScalarValueType CurvatureSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
 
virtual void Delete ()
 
virtual VectorImageTypeGetAdvectionImage () const
 
ScalarValueType GetAdvectionWeight () const
 
ScalarValueType GetCurvatureWeight () const
 
ScalarValueType GetEpsilonMagnitude () const
 
virtual const FeatureImageTypeGetFeatureImage () const
 
virtual void * GetGlobalDataPointer () const
 
ScalarValueType GetLaplacianSmoothingWeight () const
 
virtual const char * GetNameOfClass () const
 
ScalarValueType GetPropagationWeight () const
 
const RadiusTypeGetRadius () const
 
virtual int GetReferenceCount () const
 
virtual ImageTypeGetSpeedImage ()
 
bool GetUseMinimalCurvature () const
 
virtual void Initialize (const RadiusType &r)
 
virtual void InitializeIteration ()
 
virtual ScalarValueType LaplacianSmoothingSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void ReleaseGlobalDataPointer (void *GlobalData) const
 
virtual void ReverseExpansionDirection ()
 
void SetAdvectionImage (VectorImageType *s)
 
virtual void SetAdvectionWeight (const ScalarValueType a)
 
virtual void SetCurvatureWeight (const ScalarValueType c)
 
void SetEpsilonMagnitude (const ScalarValueType e)
 
virtual void SetFeatureImage (const FeatureImageType *f)
 
void SetLaplacianSmoothingWeight (const ScalarValueType c)
 
virtual void SetPropagationWeight (const ScalarValueType p)
 
void SetRadius (const RadiusType &r)
 
virtual void SetReferenceCount (int)
 
void SetScaleCoefficients (PixelRealType vals[ImageDimension])
 
void SetSpeedImage (ImageType *s)
 
void SetUseMinimalCurvature (bool b)
 
virtual void UnRegister () const
 
void UseMinimalCurvatureOff ()
 
void UseMinimalCurvatureOn ()
 

Static Public Member Functions

static void BreakOnError ()
 
static double GetMaximumCurvatureTimeStep ()
 
static double GetMaximumPropagationTimeStep ()
 
static Pointer New ()
 
static void SetMaximumCurvatureTimeStep (double n)
 
static void SetMaximumPropagationTimeStep (double n)
 

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
 

Protected Types

typedef int InternalReferenceCountType
 

Protected Member Functions

 SegmentationLevelSetFunction ()
 
virtual ~SegmentationLevelSetFunction ()
 
virtual VectorType AdvectionField (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd) const
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
void PrintSelf (std::ostream &s, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ScalarValueType PropagationSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd) const
 

Static Protected Member Functions

static VectorType InitializeZeroVectorConstant ()
 

Protected Attributes

VectorImageType::Pointer m_AdvectionImage
 
ScalarValueType m_AdvectionWeight
 
::vcl_size_t m_Center
 
ScalarValueType m_CurvatureWeight
 
ScalarValueType m_EpsilonMagnitude
 
FeatureImageType::ConstPointer m_FeatureImage
 
InterpolatorType::Pointer m_Interpolator
 
ScalarValueType m_LaplacianSmoothingWeight
 
ScalarValueType m_PropagationWeight
 
RadiusType m_Radius
 
InternalReferenceCountType m_ReferenceCount
 
SimpleFastMutexLock m_ReferenceCountLock
 
PixelRealType m_ScaleCoefficients [ImageDimension]
 
ImageType::Pointer m_SpeedImage
 
bool m_UseMinimalCurvature
 
Functor::VectorCast< typename
VectorInterpolatorType::OutputType,
VectorType
m_VectorCast
 
VectorInterpolatorType::Pointer m_VectorInterpolator
 
::vcl_size_t m_xStride [itkGetStaticConstMacro(ImageDimension)]
 
std::slice x_slice [itkGetStaticConstMacro(ImageDimension)]
 

Static Protected Attributes

static double m_DT = 1.0/(2.0 * ImageDimension)
 
static double m_WaveDT = 1.0/(2.0 * ImageDimension)
 
static VectorType m_ZeroVectorConstant
 

Private Member Functions

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

Detailed Description

template<class TImageType, class TFeatureImageType = TImageType>
class itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >

This object defines the API for a class of function objects which perform level set based segmentations. The SegmentationLevelSetImageFilter objects use these SegmentationLevelSetFunction objects to perform the numerical calculations which move a level set front to lock onto image features.
In order to create a working function object, you must subclass the CalculateSpeedImage method to produce a "feature image" that is used by the parent LevelSetFunction class as the PropagationSpeed for its calculations.
See Also
SegmentationLevelSetImageFilter
LevelSetFunction

Definition at line 45 of file itkSegmentationLevelSetFunction.h.

Member Typedef Documentation

template<class TImageType, class TFeatureImageType = TImageType>
typedef SmartPointer<const Self> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ConstPointer

Definition at line 53 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef InterpolatorType::ContinuousIndexType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ContinuousIndexType

Continuous index type recognized by the interpolator

Definition at line 85 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
typedef ZeroFluxNeumannBoundaryCondition<ImageType> itk::FiniteDifferenceFunction< TImageType >::DefaultBoundaryConditionType
inherited

The default boundary condition for finite difference functions that is used unless overridden in the Evaluate() method.

Definition at line 91 of file itkFiniteDifferenceFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef TFeatureImageType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::FeatureImageType

Definition at line 62 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef FeatureImageType::PixelType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::FeatureScalarType

Definition at line 66 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::FloatOffsetType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::FloatOffsetType

Definition at line 63 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::GlobalDataStruct itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GlobalDataStruct

Definition at line 69 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::ImageType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ImageType

Extract some parameters from the superclass.

Definition at line 56 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef ImageType::IndexType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::IndexType

Definition at line 67 of file itkSegmentationLevelSetFunction.h.

typedef int itk::LightObject::InternalReferenceCountType
protectedinherited

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 137 of file itkLightObject.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef LinearInterpolateImageFunction<ImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::InterpolatorType

Define a scalar interpolator

Definition at line 79 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
typedef Superclass::NeighborhoodScalesType itk::LevelSetFunction< TImageType >::NeighborhoodScalesType
inherited

Definition at line 91 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::NeighborhoodType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::NeighborhoodType

Definition at line 65 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::PixelRealType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::PixelRealType

Definition at line 61 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
typedef Superclass::PixelType itk::LevelSetFunction< TImageType >::PixelType
inherited

Definition at line 86 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef SmartPointer<Self> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Pointer

Definition at line 52 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::RadiusType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::RadiusType

Definition at line 60 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::ScalarValueType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ScalarValueType

Definition at line 64 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef SegmentationLevelSetFunction itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Self

Standard class typedefs.

Definition at line 50 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef LevelSetFunction<TImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Superclass

Definition at line 51 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
typedef double itk::LevelSetFunction< TImageType >::TimeStepType
inherited

Convenient typedefs.

Definition at line 84 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Image<VectorType, itkGetStaticConstMacro(ImageDimension)> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorImageType

Define an image type for the advection field.

Definition at line 75 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef VectorLinearInterpolateImageFunction<VectorImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorInterpolatorType

Define a vector interpolator

Definition at line 82 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::VectorType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorType

Definition at line 68 of file itkSegmentationLevelSetFunction.h.

Constructor & Destructor Documentation

template<class TImageType, class TFeatureImageType = TImageType>
virtual itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::~SegmentationLevelSetFunction ( )
inlineprotectedvirtual

Definition at line 164 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::SegmentationLevelSetFunction ( )
inlineprotected

Definition at line 165 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::SegmentationLevelSetFunction ( const Self )
private

Member Function Documentation

template<class TImageType , class TFeatureImageType >
SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AdvectionField ( const NeighborhoodType neighborhood,
const FloatOffsetType offset,
GlobalDataStruct gd 
) const
protectedvirtual

Advection field. Returns a vector from the computed advectionfield.

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 102 of file itkSegmentationLevelSetFunction.txx.

References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetIndex().

template<class TImageType , class TFeatureImageType >
void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AllocateAdvectionImage ( )
virtual

Allocates the image that will be used for the level set function's Advection field term. See LevelSetFunction for more information.

Definition at line 68 of file itkSegmentationLevelSetFunction.txx.

template<class TImageType , class TFeatureImageType >
void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AllocateSpeedImage ( )
virtual

Allocates the image that will be used for the level set function's Propagation Speed term. See LevelSetFunction for more information.

Definition at line 57 of file itkSegmentationLevelSetFunction.txx.

void itk::LightObject::BreakOnError ( )
staticinherited

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

Definition at line 149 of file itkLightObject.cxx.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateAdvectionImage ( )
inlinevirtual

This method must be defined in a subclass to implement a working function object. This method is called before the solver begins its work to produce the speed image used as the level set function's Advection field term. See LevelSetFunction for more information.

Reimplemented in itk::GeodesicActiveContourShapePriorLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::CurvesLevelSetFunction< TImageType, TFeatureImageType >, and itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 119 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateSpeedImage ( )
inlinevirtual
template<class TImageType >
LevelSetFunction< TImageType >::ScalarValueType itk::LevelSetFunction< TImageType >::Compute3DMinimalCurvature ( const NeighborhoodType neighborhood,
const FloatOffsetType offset,
GlobalDataStruct gd = 0 
)
virtualinherited
template<class TImageType >
LevelSetFunction< TImageType >::ScalarValueType itk::LevelSetFunction< TImageType >::ComputeCurvatureTerm ( const NeighborhoodType neighborhood,
const FloatOffsetType offset,
GlobalDataStruct gd = 0 
)
virtualinherited

Definition at line 27 of file itkLevelSetFunction.txx.

template<class TImageType >
LevelSetFunction< TImageType >::TimeStepType itk::LevelSetFunction< TImageType >::ComputeGlobalTimeStep ( void *  GlobalData) const
virtualinherited

Computes the time step for an update given a global data structure. The data used in the computation may take different forms depending on the nature of the equations. This global data cannot be kept in the instance of the equation object itself since the equation object must remain stateless for thread safety. The global data is therefore managed for each thread by the finite difference solver filters.

Implements itk::FiniteDifferenceFunction< TImageType >.

Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >.

Definition at line 227 of file itkLevelSetFunction.txx.

References itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxAdvectionChange, itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxCurvatureChange, and itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxPropagationChange.

template<class TImageType >
LevelSetFunction< TImageType >::ScalarValueType itk::LevelSetFunction< TImageType >::ComputeMeanCurvature ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct gd = 0 
)
virtualinherited
template<class TImageType >
LevelSetFunction< TImageType >::ScalarValueType itk::LevelSetFunction< TImageType >::ComputeMinimalCurvature ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct gd = 0 
)
virtualinherited
template<class TImageType >
const FiniteDifferenceFunction< TImageType >::NeighborhoodScalesType itk::FiniteDifferenceFunction< TImageType >::ComputeNeighborhoodScales ( ) const
inherited

Compute the scales that weight the neighborhood during difference operations to properly account for spacing and neighborhood radius

Definition at line 37 of file itkFiniteDifferenceFunction.txx.

References itk::FixedArray< TValueType, VLength >::Fill().

template<class TImageType >
LevelSetFunction< TImageType >::PixelType itk::LevelSetFunction< TImageType >::ComputeUpdate ( const NeighborhoodType neighborhood,
void *  globalData,
const FloatOffsetType offset = FloatOffsetType(0.0) 
)
virtualinherited
template<class TImageType>
virtual::itk::LightObject::Pointer itk::LevelSetFunction< TImageType >::CreateAnother ( void  ) const
virtualinherited

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::LightObject.

template<class TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::CurvatureSpeed ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct = 0 
) const
inlinevirtualinherited

Curvature speed. Can be used to spatially modify the effects of curvature . The default implementation returns one.

Definition at line 137 of file itkLevelSetFunction.h.

void itk::LightObject::Delete ( )
virtualinherited

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

Delete a itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C++ delete method will not work with reference counting.

Definition at line 88 of file itkLightObject.cxx.

template<class TImageType, class TFeatureImageType = TImageType>
virtual VectorImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetAdvectionImage ( ) const
inlinevirtual

Get/Set the image used as the advection field in the level set equation

Definition at line 99 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetAdvectionWeight ( ) const
inlineinherited

Definition at line 152 of file itkLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetCurvatureWeight ( ) const
inlineinherited

Definition at line 164 of file itkLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetEpsilonMagnitude ( ) const
inlineinherited

Definition at line 176 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual const FeatureImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetFeatureImage ( ) const
inlinevirtual

Set/Get the image which will be used to calculate the speed function.

Definition at line 88 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
virtual void* itk::LevelSetFunction< TImageType >::GetGlobalDataPointer ( ) const
inlinevirtualinherited

Returns a pointer to a global data structure that is passed to this object from the solver at each calculation. The idea is that the solver holds the state of any global values needed to calculate the time step, while the equation object performs the actual calculations. The global data should also be initialized in this method. Global data can be used for caching any values used or reused by the FunctionObject. Each thread should receive its own global data struct.

Implements itk::FiniteDifferenceFunction< TImageType >.

Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 199 of file itkLevelSetFunction.h.

References itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxAdvectionChange, itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxCurvatureChange, and itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxPropagationChange.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetLaplacianSmoothingWeight ( ) const
inlineinherited

Definition at line 170 of file itkLevelSetFunction.h.

template<class TImageType>
static double itk::LevelSetFunction< TImageType >::GetMaximumCurvatureTimeStep ( )
inlinestaticinherited

Definition at line 266 of file itkLevelSetFunction.h.

template<class TImageType>
static double itk::LevelSetFunction< TImageType >::GetMaximumPropagationTimeStep ( )
inlinestaticinherited

Definition at line 279 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual const char* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetNameOfClass ( ) const
virtual
template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetPropagationWeight ( ) const
inlineinherited

Definition at line 158 of file itkLevelSetFunction.h.

template<class TImageType>
const RadiusType& itk::FiniteDifferenceFunction< TImageType >::GetRadius ( void  ) const
inlineinherited

Returns the radius of the neighborhood this FiniteDifferenceFunction needs to perform its calculations.

Definition at line 145 of file itkFiniteDifferenceFunction.h.

Referenced by otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetNCCRadius().

virtual int itk::LightObject::GetReferenceCount ( ) const
inlinevirtualinherited

Gets the reference count on this object.

Definition at line 105 of file itkLightObject.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual ImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetSpeedImage ( )
inlinevirtual

Get/Set the image used as the speed function in the level set equation

Definition at line 94 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
bool itk::LevelSetFunction< TImageType >::GetUseMinimalCurvature ( ) const
inlineinherited

Definition at line 245 of file itkLevelSetFunction.h.

template<class TImageType , class TFeatureImageType >
void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Initialize ( const RadiusType r)
virtual

This method creates the appropriate member variable operators for the level-set calculations. The argument to this function is a the radius necessary for performing the level-set calculations.

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 50 of file itkSegmentationLevelSetFunction.txx.

Referenced by itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, TOutputImage >::SetSegmentationFunction(), and itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetSegmentationFunction().

template<class TImageType>
virtual void itk::FiniteDifferenceFunction< TImageType >::InitializeIteration ( )
inlinevirtualinherited

This method allows the function to set its state before each iteration of the finite difference solver (image filter) that uses it. This is a thread-safe time to manipulate the object's state.

An example of how this can be used: the Anisotropic diffusion class of FiniteDifferenceFunctions use this method to pre-calculate an average gradient magnitude across the entire image region. This value is set in the function object and used by the ComputeUpdate methods that are called at each pixel as a constant.

Reimplemented in itk::ESMDemonsRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::DemonsRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::FastSymmetricForcesDemonsRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::MeanSquareRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::NCCRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::MIRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >, itk::CurvatureNDAnisotropicDiffusionFunction< TImage >, itk::GradientNDAnisotropicDiffusionFunction< TImage >, itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >, and itk::VectorCurvatureNDAnisotropicDiffusionFunction< TImage >.

Definition at line 117 of file itkFiniteDifferenceFunction.h.

template<class TImageType >
LevelSetFunction< TImageType >::VectorType itk::LevelSetFunction< TImageType >::InitializeZeroVectorConstant ( )
staticprotectedinherited

This method's only purpose is to initialize the zero vector constant.

Definition at line 186 of file itkLevelSetFunction.txx.

template<class TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::LaplacianSmoothingSpeed ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct = 0 
) const
inlinevirtualinherited

Laplacian smoothing speed. Can be used to spatially modify the effects of laplacian smoothing of the level set function

Definition at line 144 of file itkLevelSetFunction.h.

template<class TImageType>
static Pointer itk::LevelSetFunction< TImageType >::New ( )
staticinherited

Method for creation through the object factory.

template<class TImageType, class TFeatureImageType = TImageType>
void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::operator= ( const Self )
private
void itk::LightObject::Print ( std::ostream &  os,
Indent  indent = 0 
) const
inherited

Cause the object to print itself out.

Avoid DLL boundary problems. This function will be common to all itk objects. It just calls the header/self/trailer virtual print methods, which can be overriden by subclasses (any itk object).

Definition at line 135 of file itkLightObject.cxx.

References itk::Indent::GetNextIndent().

Referenced by itk::operator<<().

void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const
protectedvirtualinherited

Define a default print header for all objects.

Definition at line 320 of file itkLightObject.cxx.

template<class TImageType >
void itk::LevelSetFunction< TImageType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtualinherited

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.

Chaining method to print an object's instance variables, as well as its superclasses.

Reimplemented from itk::FiniteDifferenceFunction< TImageType >.

Definition at line 205 of file itkLevelSetFunction.txx.

void itk::LightObject::PrintTrailer ( std::ostream &  os,
Indent  indent 
) const
protectedvirtualinherited

Define a default print trailer for all objects.

Definition at line 331 of file itkLightObject.cxx.

template<class TImageType , class TFeatureImageType >
SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ScalarValueType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::PropagationSpeed ( const NeighborhoodType neighborhood,
const FloatOffsetType offset,
GlobalDataStruct gd 
) const
protectedvirtual

Returns the propagation speed from the precalculated speed image.

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 80 of file itkSegmentationLevelSetFunction.txx.

References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetIndex().

void itk::LightObject::Register ( ) const
virtualinherited

Increase the reference count (mark as used by another object).

Reimplemented in itk::ExceptionObject::ReferenceCountedExceptionData, and itk::Object.

Definition at line 160 of file itkLightObject.cxx.

Referenced by itk::ExceptionObject::ReferenceCountedExceptionData::Register().

template<class TImageType>
virtual void itk::LevelSetFunction< TImageType >::ReleaseGlobalDataPointer ( void *  GlobalData) const
inlinevirtualinherited

When the finite difference solver filter has finished using a global data pointer, it passes it to this method, which frees the memory. The solver cannot free the memory because it does not know the type to which the pointer points.

Implements itk::FiniteDifferenceFunction< TImageType >.

Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 217 of file itkLevelSetFunction.h.

template<class TImageType , class TFeatureImageType >
void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ReverseExpansionDirection ( )
virtual

Determines whether Positive or Negative speed terms will cause surface expansion. This method flips the sign of all of the speed, advection, etc terms. By convention, filters should be written so that POSITIVE speed terms cause surface expansion. Calling this method will toggle between the standard POSITIVE EXPANSION convention and the nonstandard NEGATIVE EXPANSION convention.

IMPORTANT: When adding terms to the level-set equation through subclassing you may need to override this function so that your new terms will be properly adjusted.

Definition at line 42 of file itkSegmentationLevelSetFunction.txx.

template<class TImageType , class TFeatureImageType >
void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::SetAdvectionImage ( VectorImageType s)

Definition at line 34 of file itkSegmentationLevelSetFunction.txx.

template<class TImageType>
virtual void itk::LevelSetFunction< TImageType >::SetAdvectionWeight ( const ScalarValueType  a)
inlinevirtualinherited

Alpha. Scales all advection term values.

Definition at line 150 of file itkLevelSetFunction.h.

template<class TImageType>
virtual void itk::LevelSetFunction< TImageType >::SetCurvatureWeight ( const ScalarValueType  c)
inlinevirtualinherited

Gamma. Scales all curvature weight values

Definition at line 162 of file itkLevelSetFunction.h.

template<class TImageType>
void itk::LevelSetFunction< TImageType >::SetEpsilonMagnitude ( const ScalarValueType  e)
inlineinherited

Epsilon.

Definition at line 174 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::SetFeatureImage ( const FeatureImageType f)
inlinevirtual

Definition at line 90 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
void itk::LevelSetFunction< TImageType >::SetLaplacianSmoothingWeight ( const ScalarValueType  c)
inlineinherited

Weight of the laplacian smoothing term

Definition at line 168 of file itkLevelSetFunction.h.

template<class TImageType>
static void itk::LevelSetFunction< TImageType >::SetMaximumCurvatureTimeStep ( double  n)
inlinestaticinherited

Set/Get the maximum constraint for the curvature term factor in the time step calculation. Changing this value from the default is not recommended or necessary, but can be used to speed up the surface evolution at the risk of creating an unstable solution.

Definition at line 262 of file itkLevelSetFunction.h.

Referenced by itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetMaximumCurvatureTimeStep().

template<class TImageType>
static void itk::LevelSetFunction< TImageType >::SetMaximumPropagationTimeStep ( double  n)
inlinestaticinherited

Set/Get the maximum constraint for the scalar/vector term factor of the time step calculation. Changing this value from the default is not recommended or necessary, but can be used to speed up the surface evolution at the risk of creating an unstable solution.

Definition at line 275 of file itkLevelSetFunction.h.

template<class TImageType>
virtual void itk::LevelSetFunction< TImageType >::SetPropagationWeight ( const ScalarValueType  p)
inlinevirtualinherited

Beta. Scales all propagation term values.

Definition at line 156 of file itkLevelSetFunction.h.

template<class TImageType>
void itk::FiniteDifferenceFunction< TImageType >::SetRadius ( const RadiusType r)
inlineinherited

Sets the radius of the neighborhood this FiniteDifferenceFunction needs to perform its calculations.

Definition at line 140 of file itkFiniteDifferenceFunction.h.

Referenced by otb::NCCRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetNCCRadius().

void itk::LightObject::SetReferenceCount ( int  ref)
virtualinherited

Sets the reference count on this object. This is a dangerous method, use it with care.

Sets the reference count (use with care)

Reimplemented in itk::Object.

Definition at line 244 of file itkLightObject.cxx.

template<class TImageType>
void itk::FiniteDifferenceFunction< TImageType >::SetScaleCoefficients ( PixelRealType  vals[ImageDimension])
inlineinherited

Set the ScaleCoefficients for the difference operators. The defaults a 1.0. These can be set to take the image spacing into account.

Definition at line 151 of file itkFiniteDifferenceFunction.h.

template<class TImageType , class TFeatureImageType >
void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::SetSpeedImage ( ImageType s)

Definition at line 26 of file itkSegmentationLevelSetFunction.txx.

template<class TImageType>
void itk::LevelSetFunction< TImageType >::SetUseMinimalCurvature ( bool  b)
inlineinherited

Definition at line 241 of file itkLevelSetFunction.h.

void itk::LightObject::UnRegister ( ) const
virtualinherited

Decrease the reference count (release by another object).

Reimplemented in itk::ExceptionObject::ReferenceCountedExceptionData, and itk::Object.

Definition at line 192 of file itkLightObject.cxx.

Referenced by itk::LightObject::New(), and itk::ExceptionObject::ReferenceCountedExceptionData::UnRegister().

template<class TImageType>
void itk::LevelSetFunction< TImageType >::UseMinimalCurvatureOff ( )
inlineinherited

Definition at line 253 of file itkLevelSetFunction.h.

template<class TImageType>
void itk::LevelSetFunction< TImageType >::UseMinimalCurvatureOn ( )
inlineinherited

Definition at line 249 of file itkLevelSetFunction.h.

Member Data Documentation

template<class TImageType, class TFeatureImageType = TImageType>
const unsigned int itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ImageDimension = Superclass::ImageDimension
static

Extract some parameters from the superclass.

Definition at line 72 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
VectorImageType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_AdvectionImage
protected

The image holding the advection field for front propation

Definition at line 149 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_AdvectionWeight
protectedinherited

Alpha.

Definition at line 322 of file itkLevelSetFunction.h.

template<class TImageType>
::vcl_size_t itk::LevelSetFunction< TImageType >::m_Center
protectedinherited

The offset of the center pixel in the neighborhood.

Definition at line 304 of file itkLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_CurvatureWeight
protectedinherited

Gamma.

Definition at line 328 of file itkLevelSetFunction.h.

template<class TImageType>
double itk::LevelSetFunction< TImageType >::m_DT = 1.0/(2.0 * ImageDimension)
staticprotectedinherited

Definition at line 298 of file itkLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_EpsilonMagnitude
protectedinherited

Epsilon magnitude controls the lower limit for gradient magnitude.

Definition at line 319 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
FeatureImageType::ConstPointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_FeatureImage
protected

The image whose features will be used to create a speed image

Definition at line 143 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
InterpolatorType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_Interpolator
protected

Definition at line 173 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_LaplacianSmoothingWeight
protectedinherited

Laplacean smoothing term

Definition at line 331 of file itkLevelSetFunction.h.

template<class TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_PropagationWeight
protectedinherited

Beta.

Definition at line 325 of file itkLevelSetFunction.h.

template<class TImageType>
RadiusType itk::FiniteDifferenceFunction< TImageType >::m_Radius
protectedinherited

Definition at line 201 of file itkFiniteDifferenceFunction.h.

InternalReferenceCountType itk::LightObject::m_ReferenceCount
mutableprotectedinherited

Number of uses of this object by other objects.

Definition at line 141 of file itkLightObject.h.

SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock
mutableprotectedinherited

Mutex lock to protect modification to the reference count

Definition at line 144 of file itkLightObject.h.

template<class TImageType>
PixelRealType itk::FiniteDifferenceFunction< TImageType >::m_ScaleCoefficients[ImageDimension]
protectedinherited

Definition at line 202 of file itkFiniteDifferenceFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
ImageType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_SpeedImage
protected

The image holding the speed values for front propagation

Definition at line 146 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
bool itk::LevelSetFunction< TImageType >::m_UseMinimalCurvature
protectedinherited

Definition at line 309 of file itkLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
Functor::VectorCast< typename VectorInterpolatorType::OutputType, VectorType > itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_VectorCast
protected

A casting functor to convert between vector types.

Definition at line 153 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
VectorInterpolatorType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_VectorInterpolator
protected

Definition at line 174 of file itkSegmentationLevelSetFunction.h.

template<class TImageType>
double itk::LevelSetFunction< TImageType >::m_WaveDT = 1.0/(2.0 * ImageDimension)
staticprotectedinherited

Constants used in the time step calculation.

Definition at line 297 of file itkLevelSetFunction.h.

template<class TImageType>
::vcl_size_t itk::LevelSetFunction< TImageType >::m_xStride[itkGetStaticConstMacro(ImageDimension)]
protectedinherited

Stride length along the y-dimension.

Definition at line 307 of file itkLevelSetFunction.h.

template<class TImageType>
LevelSetFunction< TImageType >::VectorType itk::LevelSetFunction< TImageType >::m_ZeroVectorConstant
staticprotectedinherited
Initial value:

Zero vector constant.

Definition at line 316 of file itkLevelSetFunction.h.

template<class TImageType>
std::slice itk::LevelSetFunction< TImageType >::x_slice[itkGetStaticConstMacro(ImageDimension)]
protectedinherited

Slices for the ND neighborhood.

Definition at line 301 of file itkLevelSetFunction.h.


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

Generated at Sun May 19 2013 02:30:25 for Orfeo Toolbox with doxygen 1.8.3.1