ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer > Class Template Referenceabstract

#include <itkLevelSetEquationTermBase.h>

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

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
LevelSetEquationContainer

Definition at line 49 of file itkLevelSetEquationTermBase.h.

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 Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

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 const LevelSetTypeGetCurrentLevelSetPointer () const
 
virtual const
LevelSetContainerType
GetLevelSetContainer () const
 
virtual LevelSetTypeGetModifiableCurrentLevelSetPointer ()
 
virtual LevelSetContainerTypeGetModifiableLevelSetContainer ()
 
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 InputImageTypeGetModifiableInput ()
 
virtual const InputImageTypeGetInput () const
 
virtual void SetTermName (const char *_arg)
 
virtual const char * GetTermName () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual LightObject::Pointer CreateAnother () const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary (void)
 
const MetaDataDictionaryGetMetaDataDictionary (void) const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) 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 Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

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 &)
 

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)
 
- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 

Member Typedef Documentation

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::CacheImageType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::CacheImageType

Definition at line 82 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef SmartPointer< const Self > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::ConstPointer

Definition at line 54 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::DomainMapImageFilterType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::DomainMapImageFilterType

Definition at line 81 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef HeavisideType::ConstPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::HeavisideConstPointer

Definition at line 88 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef HeavisideStepFunctionBase< LevelSetOutputRealType, LevelSetOutputRealType > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::HeavisideType

Definition at line 86 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef InputImageType::Pointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InputImagePointer

Definition at line 61 of file itkLevelSetEquationTermBase.h.

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

Definition at line 58 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef NumericTraits< InputPixelType >::RealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InputPixelRealType

Definition at line 64 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef InputImageType::PixelType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::InputPixelType

Definition at line 62 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::Pointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetContainerPointer

Definition at line 70 of file itkLevelSetEquationTermBase.h.

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

Level-set function container type

Definition at line 67 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetDataType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetDataType

Definition at line 79 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::GradientType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetGradientType

Definition at line 76 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::HessianType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetHessianType

Definition at line 77 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetIdentifierType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetIdentifierType

Definition at line 69 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::InputIndexType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetInputIndexType

Definition at line 75 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::OutputType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetOutputPixelType

Definition at line 73 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::OutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetOutputRealType

Definition at line 74 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetPointer

Definition at line 72 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef LevelSetContainerType::LevelSetType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetType

Definition at line 71 of file itkLevelSetEquationTermBase.h.

template<class TInputImage, class TLevelSetContainer>
typedef SmartPointer< Self > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Pointer

Definition at line 53 of file itkLevelSetEquationTermBase.h.

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

Definition at line 52 of file itkLevelSetEquationTermBase.h.

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

Definition at line 55 of file itkLevelSetEquationTermBase.h.

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 ( )
protectedvirtual

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 const LevelSetType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetCurrentLevelSetPointer ( ) const
virtual
template<class TInputImage, class TLevelSetContainer>
virtual const InputImageType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetInput ( ) const
virtual

Set/Get the image to be segmented

template<class TInputImage, class TLevelSetContainer>
virtual const LevelSetContainerType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetLevelSetContainer ( ) const
virtual
template<class TInputImage, class TLevelSetContainer>
virtual LevelSetType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetModifiableCurrentLevelSetPointer ( )
virtual
template<class TInputImage, class TLevelSetContainer>
virtual InputImageType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetModifiableInput ( )
virtual

Set/Get the image to be segmented

template<class TInputImage, class TLevelSetContainer>
virtual LevelSetContainerType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetModifiableLevelSetContainer ( )
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)
protectedpure 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.

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

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: