ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer > Class Template Reference

#include <itkLevelSetEquationAdvectionTerm.h>

+ Inheritance diagram for itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >:
+ Collaboration diagram for itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >:

List of all members.

Public Types

typedef AdvectionImageType::Pointer AdvectionImagePointer
typedef Image< VectorType,
itkGetStaticConstMacro(ImageDimension) > 
AdvectionImageType
typedef SmartPointer< const SelfConstPointer
typedef
ZeroFluxNeumannBoundaryCondition
< InputImageType
DefaultBoundaryConditionType
typedef
Superclass::HeavisideConstPointer 
HeavisideConstPointer
typedef Superclass::HeavisideType HeavisideType
typedef
Superclass::InputImagePointer 
InputImagePointer
typedef Superclass::InputImageType InputImageType
typedef
Superclass::InputPixelRealType 
InputPixelRealType
typedef Superclass::InputPixelType InputPixelType
typedef
Superclass::LevelSetContainerPointer 
LevelSetContainerPointer
typedef
Superclass::LevelSetContainerType 
LevelSetContainerType
typedef
Superclass::LevelSetDataType 
LevelSetDataType
typedef
Superclass::LevelSetGradientType 
LevelSetGradientType
typedef
Superclass::LevelSetHessianType 
LevelSetHessianType
typedef
Superclass::LevelSetIdentifierType 
LevelSetIdentifierType
typedef
Superclass::LevelSetInputIndexType 
LevelSetInputIndexType
typedef
Superclass::LevelSetOutputPixelType 
LevelSetOutputPixelType
typedef
Superclass::LevelSetOutputRealType 
LevelSetOutputRealType
typedef Superclass::LevelSetPointer LevelSetPointer
typedef Superclass::LevelSetType LevelSetType
typedef Vector
< LevelSetOutputRealType,
itkGetStaticConstMacro(ImageDimension) > 
NeighborhoodScalesType
typedef
ConstNeighborhoodIterator
< InputImageType,
DefaultBoundaryConditionType
NeighborhoodType
typedef SmartPointer< SelfPointer
typedef
ConstNeighborhoodIterator
< InputImageType >::RadiusType 
RadiusType
typedef
LevelSetEquationAdvectionTerm 
Self
typedef
LevelSetEquationTermBase
< TInput, TLevelSetContainer > 
Superclass
typedef LevelSetGradientType VectorType

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual AdvectionImageTypeGetAdvectionImage ()
virtual LevelSetOutputRealType GetDerivativeSigma ()
virtual const char * GetNameOfClass () const
virtual void Initialize (const LevelSetInputIndexType &)
virtual void InitializeParameters ()
void SetAdvectionImage (AdvectionImageType *iImage)
virtual void SetDerivativeSigma (LevelSetOutputRealType _arg)
virtual void Update ()
virtual void UpdatePixel (const LevelSetInputIndexType &iP, const LevelSetOutputRealType &oldValue, const LevelSetOutputRealType &newValue)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = InputImageType::ImageDimension

Protected Member Functions

VectorType AdvectionSpeed (const LevelSetInputIndexType &iP) const
 LevelSetEquationAdvectionTerm ()
virtual ~LevelSetEquationAdvectionTerm ()
virtual LevelSetOutputRealType Value (const LevelSetInputIndexType &iP)
virtual LevelSetOutputRealType Value (const LevelSetInputIndexType &iP, const LevelSetDataType &iData)

Protected Attributes

AdvectionImagePointer m_AdvectionImage
LevelSetOutputRealType m_NeighborhoodScales [ImageDimension]

Private Member Functions

void GenerateAdvectionImage ()
 LevelSetEquationAdvectionTerm (const Self &)
void operator= (const Self &)

Private Attributes

bool m_AutoGenerateAdvectionImage
LevelSetOutputRealType m_DerivativeSigma

Detailed Description

template<class TInput, class TLevelSetContainer>
class itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >

Derived class to represents an advection term in the level-set evolution PDE.

\[ AdvectionImage\left( p \right) \bullet \nabla \phi\left( p \right) \]

The advection image can be directly provided by the user; or by default, it is computed as the gradient of the input image. In this last case, it can be smoothed by the means of DerivativeSigma.

Template Parameters:
TInputInput Image Type
TLevelSetContainerLevel set function container type

Definition at line 52 of file itkLevelSetEquationAdvectionTerm.h.


Member Typedef Documentation

template<class TInput , class TLevelSetContainer >
typedef AdvectionImageType::Pointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::AdvectionImagePointer

Definition at line 94 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef Image< VectorType, itkGetStaticConstMacro(ImageDimension) > itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::AdvectionImageType

Definition at line 93 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef SmartPointer< const Self > itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::ConstPointer
template<class TInput , class TLevelSetContainer >
typedef ZeroFluxNeumannBoundaryCondition< InputImageType > itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::DefaultBoundaryConditionType

Neighborhood radius type

Definition at line 101 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef Superclass::HeavisideConstPointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::HeavisideConstPointer
template<class TInput , class TLevelSetContainer >
typedef Superclass::HeavisideType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::HeavisideType
template<class TInput , class TLevelSetContainer >
typedef Superclass::InputImagePointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::InputImagePointer
template<class TInput , class TLevelSetContainer >
typedef Superclass::InputImageType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::InputImageType
template<class TInput , class TLevelSetContainer >
typedef Superclass::InputPixelRealType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::InputPixelRealType
template<class TInput , class TLevelSetContainer >
typedef Superclass::InputPixelType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::InputPixelType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetContainerPointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetContainerPointer
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetContainerType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetContainerType

Level-set function container type

Reimplemented from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >.

Definition at line 74 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetDataType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetDataType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetGradientType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetGradientType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetHessianType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetHessianType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetIdentifierType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetIdentifierType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetInputIndexType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetInputIndexType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetOutputPixelType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetOutputPixelType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetOutputRealType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetOutputRealType
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetPointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetPointer
template<class TInput , class TLevelSetContainer >
typedef Superclass::LevelSetType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetType
template<class TInput , class TLevelSetContainer >
typedef Vector< LevelSetOutputRealType, itkGetStaticConstMacro(ImageDimension) > itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::NeighborhoodScalesType

Definition at line 108 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef ConstNeighborhoodIterator< InputImageType, DefaultBoundaryConditionType > itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::NeighborhoodType

Definition at line 106 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef SmartPointer< Self > itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::Pointer
template<class TInput , class TLevelSetContainer >
typedef ConstNeighborhoodIterator< InputImageType >::RadiusType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::RadiusType

Definition at line 105 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef LevelSetEquationAdvectionTerm itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::Self

Smart pointer typedef support.

Reimplemented from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >.

Definition at line 56 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
typedef LevelSetEquationTermBase< TInput, TLevelSetContainer > itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::Superclass
template<class TInput , class TLevelSetContainer >
typedef LevelSetGradientType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::VectorType

Definition at line 91 of file itkLevelSetEquationAdvectionTerm.h.


Constructor & Destructor Documentation

template<class TInput , class TLevelSetContainer >
itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetEquationAdvectionTerm ( ) [protected]
template<class TInput , class TLevelSetContainer >
virtual itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::~LevelSetEquationAdvectionTerm ( ) [protected, virtual]
template<class TInput , class TLevelSetContainer >
itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::LevelSetEquationAdvectionTerm ( const Self ) [private]

Member Function Documentation

template<class TInput , class TLevelSetContainer >
VectorType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::AdvectionSpeed ( const LevelSetInputIndexType iP) const [protected]

Return the spatial speed dependence a given pixel location Usually, it is constant across the image domain

template<class TInput , class TLevelSetContainer >
virtual::itk::LightObject::Pointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::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.

template<class TInput , class TLevelSetContainer >
void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::GenerateAdvectionImage ( ) [private]
template<class TInput , class TLevelSetContainer >
virtual AdvectionImageType* itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::GetAdvectionImage ( ) [virtual]
template<class TInput , class TLevelSetContainer >
virtual LevelSetOutputRealType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::GetDerivativeSigma ( ) [virtual]
template<class TInput , class TLevelSetContainer >
virtual const char* itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::GetNameOfClass ( ) const [virtual]

Run-time type information

Reimplemented from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >.

template<class TInput , class TLevelSetContainer >
virtual void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::Initialize ( const LevelSetInputIndexType ) [virtual]
Todo:
to be documented.
template<class TInput , class TLevelSetContainer >
virtual void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::InitializeParameters ( ) [virtual]

Initialize the parameters in the terms prior to an iteration

Implements itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >.

template<class TInput , class TLevelSetContainer >
static Pointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::New ( ) [static]

Method for creation through object factory

Reimplemented from itk::Object.

template<class TInput , class TLevelSetContainer >
void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

Reimplemented from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >.

template<class TInput , class TLevelSetContainer >
void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::SetAdvectionImage ( AdvectionImageType iImage)
template<class TInput , class TLevelSetContainer >
virtual void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::SetDerivativeSigma ( LevelSetOutputRealType  _arg) [virtual]
template<class TInput , class TLevelSetContainer >
virtual void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::Update ( ) [virtual]
template<class TInput , class TLevelSetContainer >
virtual void itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::UpdatePixel ( const LevelSetInputIndexType iP,
const LevelSetOutputRealType oldValue,
const LevelSetOutputRealType newValue 
) [virtual]

Supply updates at pixels to keep the term parameters always updated

template<class TInput , class TLevelSetContainer >
virtual LevelSetOutputRealType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::Value ( const LevelSetInputIndexType iP) [protected, virtual]

Returns the term contribution for a given location iP, i.e. $ \omega_i( p ) $.

template<class TInput , class TLevelSetContainer >
virtual LevelSetOutputRealType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::Value ( const LevelSetInputIndexType iP,
const LevelSetDataType iData 
) [protected, virtual]

Returns the term contribution for a given location iP, i.e. $ \omega_i( p ) $.


Member Data Documentation

template<class TInput , class TLevelSetContainer >
const unsigned int itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::ImageDimension = InputImageType::ImageDimension [static]

Definition at line 89 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
AdvectionImagePointer itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::m_AdvectionImage [protected]

Definition at line 129 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
bool itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::m_AutoGenerateAdvectionImage [private]

Definition at line 150 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
LevelSetOutputRealType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::m_DerivativeSigma [private]

Definition at line 148 of file itkLevelSetEquationAdvectionTerm.h.

template<class TInput , class TLevelSetContainer >
LevelSetOutputRealType itk::LevelSetEquationAdvectionTerm< TInput, TLevelSetContainer >::m_NeighborhoodScales[ImageDimension] [protected]

Definition at line 142 of file itkLevelSetEquationAdvectionTerm.h.


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