ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer > Class Template Reference

Abstract class to represents a term in the level-set evolution PDE. More...

#include <itkLevelSetEquationTermBase.h>

Inheritance diagram for itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >:
Collaboration diagram for itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >:

List of all members.

Public Types

typedef
LevelSetContainerType::CacheImageType 
CacheImageType
typedef SmartPointer< const SelfConstPointer
typedef
LevelSetContainerType::DomainMapImageFilterType 
DomainMapImageFilterType
typedef HeavisideType::ConstPointer HeavisideConstPointer
typedef
HeavisideStepFunctionBase
< LevelSetOutputRealType,
LevelSetOutputRealType
HeavisideType
typedef InputImageType::Pointer InputImagePointer
typedef TInputImage InputImageType
typedef NumericTraits
< InputPixelType >::RealType 
InputPixelRealType
typedef InputImageType::PixelType InputPixelType
typedef
LevelSetContainerType::Pointer 
LevelSetContainerPointer
typedef TLevelSetContainer LevelSetContainerType
typedef
LevelSetContainerType::LevelSetDataType 
LevelSetDataType
typedef
LevelSetContainerType::GradientType 
LevelSetGradientType
typedef
LevelSetContainerType::HessianType 
LevelSetHessianType
typedef
LevelSetContainerType::LevelSetIdentifierType 
LevelSetIdentifierType
typedef
LevelSetContainerType::InputIndexType 
LevelSetInputIndexType
typedef
LevelSetContainerType::OutputType 
LevelSetOutputPixelType
typedef
LevelSetContainerType::OutputRealType 
LevelSetOutputRealType
typedef
LevelSetContainerType::LevelSetPointer 
LevelSetPointer
typedef
LevelSetContainerType::LevelSetType 
LevelSetType
typedef SmartPointer< SelfPointer
typedef itksys::hash_set
< std::string > 
RequiredDataType
typedef LevelSetEquationTermBase Self
typedef Object Superclass

Public Member Functions

virtual LevelSetOutputRealType Evaluate (const LevelSetInputIndexType &iP)
virtual LevelSetOutputRealType Evaluate (const LevelSetInputIndexType &iP, const LevelSetDataType &iData)
virtual LevelSetOutputRealType GetCFLContribution () const
virtual LevelSetOutputRealType GetCoefficient ()
virtual LevelSetIdentifierType GetCurrentLevelSetId ()
virtual LevelSetTypeGetCurrentLevelSetPointer ()
virtual LevelSetContainerTypeGetLevelSetContainer ()
virtual const char * GetNameOfClass () const
const RequiredDataTypeGetRequiredData () const
virtual void Initialize (const LevelSetInputIndexType &iP)=0
virtual void InitializeParameters ()=0
virtual void SetCoefficient (LevelSetOutputRealType _arg)
virtual void SetCurrentLevelSetId (LevelSetIdentifierType _arg)
virtual void SetLevelSetContainer (LevelSetContainerType *ptr)
virtual void Update ()=0
virtual void UpdatePixel (const LevelSetInputIndexType &iP, const LevelSetOutputRealType &oldValue, const LevelSetOutputRealType &newValue)=0
virtual void SetInput (InputImageType *_arg)
virtual InputImageTypeGetInput ()
virtual void SetTermName (const char *_arg)
virtual const char * GetTermName () const

Protected Member Functions

 LevelSetEquationTermBase ()
void SetUp ()
virtual LevelSetOutputRealType Value (const LevelSetInputIndexType &iP)=0
virtual LevelSetOutputRealType Value (const LevelSetInputIndexType &iP, const LevelSetDataType &iData)=0
virtual ~LevelSetEquationTermBase ()

Protected Attributes

LevelSetOutputRealType m_CFLContribution
LevelSetOutputRealType m_Coefficient
LevelSetIdentifierType m_CurrentLevelSetId
LevelSetPointer m_CurrentLevelSetPointer
HeavisideConstPointer m_Heaviside
InputImagePointer m_Input
LevelSetContainerPointer m_LevelSetContainer
RequiredDataType m_RequiredData
std::string m_TermName

Private Member Functions

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

Detailed Description

template<class TInputImage, class TLevelSetContainer>
class itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >

Abstract class to represents a term in the level-set evolution PDE.

Template Parameters:
TInputInput Image Type
TLevelSetContainerLevel set function container type

Evolving single level-set function $ \phi $ can be expressed as follows:

\[ \frac{\partial \phi(p)}{\partial \tau} = \sum\limits_{i=1}^{N} \alpha_{i} \cdot \omega_i(p) \]

where $\omega_i$ is a term which could depend on the level-set function, the input image; and $\alpha_i$ is a weight to balance the contribution of each term in the PDE.

See also:
LevelSetEquationContainerBase

Definition at line 49 of file itkLevelSetEquationTermBase.h.


Member Typedef Documentation

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::CacheImageType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::CacheImageType
template<class TInputImage, class TLevelSetContainer>
typedef SmartPointer< const Self > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::ConstPointer
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::DomainMapImageFilterType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::DomainMapImageFilterType
template<class TInputImage, class TLevelSetContainer>
typedef HeavisideType::ConstPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::HeavisideConstPointer
template<class TInputImage, class TLevelSetContainer>
typedef HeavisideStepFunctionBase< LevelSetOutputRealType, LevelSetOutputRealType > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::HeavisideType
template<class TInputImage, class TLevelSetContainer>
typedef InputImageType::Pointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InputImagePointer
template<class TInputImage, class TLevelSetContainer>
typedef TInputImage itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InputImageType
template<class TInputImage, class TLevelSetContainer>
typedef NumericTraits< InputPixelType >::RealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InputPixelRealType
template<class TInputImage, class TLevelSetContainer>
typedef InputImageType::PixelType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InputPixelType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::Pointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetContainerPointer
template<class TInputImage, class TLevelSetContainer>
typedef TLevelSetContainer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetContainerType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetDataType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetDataType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::GradientType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetGradientType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::HessianType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetHessianType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetIdentifierType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetIdentifierType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::InputIndexType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetInputIndexType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::OutputType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetOutputPixelType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::OutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetOutputRealType
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetPointer
template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetType
template<class TInputImage, class TLevelSetContainer>
typedef SmartPointer< Self > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Pointer
template<class TInputImage, class TLevelSetContainer>
typedef itksys::hash_set< std::string > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::RequiredDataType

Definition at line 136 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetEquationTermBase itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Self
template<class TInputImage, class TLevelSetContainer>
typedef Object itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Superclass

Constructor & Destructor Documentation

template<class TInputImage, class TLevelSetContainer>
itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetEquationTermBase ( ) [protected]

Default Constructor

template<class TInputImage, class TLevelSetContainer>
virtual itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::~LevelSetEquationTermBase ( ) [protected, virtual]

Destructor

template<class TInputImage, class TLevelSetContainer>
itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetEquationTermBase ( const Self ) [private]

Member Function Documentation

template<class TInputImage, class TLevelSetContainer>
virtual LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Evaluate ( const LevelSetInputIndexType iP) [virtual]

Returns the weighted term contribution at the given location iP, i.e. $ \alpha_i \cdot \omega_i( p ) $

template<class TInputImage, class TLevelSetContainer>
virtual LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Evaluate ( const LevelSetInputIndexType iP,
const LevelSetDataType iData 
) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetCFLContribution ( ) const [virtual]

Get the CFL contribution for the given term

template<class TInputImage, class TLevelSetContainer>
virtual LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetCoefficient ( ) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual LevelSetIdentifierType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetCurrentLevelSetId ( ) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual LevelSetType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetCurrentLevelSetPointer ( ) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual InputImageType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetInput ( ) [virtual]

Set/Get the image to be segmented

template<class TInputImage, class TLevelSetContainer>
virtual LevelSetContainerType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetLevelSetContainer ( ) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual const char* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetNameOfClass ( ) const [virtual]
template<class TInputImage, class TLevelSetContainer>
const RequiredDataType& itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetRequiredData ( ) const
template<class TInputImage, class TLevelSetContainer>
virtual const char* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetTermName ( ) const [virtual]

Set/Get the term name

template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Initialize ( const LevelSetInputIndexType iP) [pure virtual]
Todo:
to be documented.
template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InitializeParameters ( ) [pure virtual]
template<class TInputImage, class TLevelSetContainer>
void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::operator= ( const Self ) [private]
template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::SetCoefficient ( LevelSetOutputRealType  _arg) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::SetCurrentLevelSetId ( LevelSetIdentifierType  _arg) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::SetInput ( InputImageType _arg) [virtual]

Set/Get the image to be segmented

template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::SetLevelSetContainer ( LevelSetContainerType ptr) [virtual]
template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::SetTermName ( const char *  _arg) [virtual]

Set/Get the term name

template<class TInputImage, class TLevelSetContainer>
void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::SetUp ( ) [protected]
template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Update ( ) [pure virtual]
template<class TInputImage, class TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::UpdatePixel ( const LevelSetInputIndexType iP,
const LevelSetOutputRealType oldValue,
const LevelSetOutputRealType newValue 
) [pure virtual]

Supply updates at pixels to keep the term parameters always updated

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

Returns the term contribution for a given location iP, i.e. $ \omega_i( p ) $. This method must be implemented in all class which inherits from this class.


Member Data Documentation

template<class TInputImage, class TLevelSetContainer>
LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_CFLContribution [protected]

Contribution to the CFL condition (which will be used to compute the the time step at the next iteration

Definition at line 175 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_Coefficient [protected]

Coefficient $ \alpha_i $

Definition at line 170 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
LevelSetIdentifierType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_CurrentLevelSetId [protected]

Id of the current level-set function

Definition at line 165 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
LevelSetPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_CurrentLevelSetPointer [protected]

Definition at line 167 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
HeavisideConstPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_Heaviside [protected]

Heaviside function to be used. Depending on the term expression, this one may need to be provided

Definition at line 180 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
InputImagePointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_Input [protected]

Input image

Definition at line 159 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
LevelSetContainerPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_LevelSetContainer [protected]

Container of level-set function

Definition at line 162 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
RequiredDataType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_RequiredData [protected]

Definition at line 187 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
std::string itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_TermName [protected]

Name to be given to the term. Note by default, one name is provided, but end-users may rename differently each term.

Definition at line 185 of file itkLevelSetEquationTermBase.h.


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