ITK  4.9.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<typename TInputImage, typename 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 override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () 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 override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () 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 override
 
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
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Private Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Member Typedef Documentation

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

Definition at line 82 of file itkLevelSetEquationTermBase.h.

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

Definition at line 54 of file itkLevelSetEquationTermBase.h.

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

Definition at line 81 of file itkLevelSetEquationTermBase.h.

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

Definition at line 88 of file itkLevelSetEquationTermBase.h.

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

Definition at line 86 of file itkLevelSetEquationTermBase.h.

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

Definition at line 61 of file itkLevelSetEquationTermBase.h.

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

Definition at line 58 of file itkLevelSetEquationTermBase.h.

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

Definition at line 64 of file itkLevelSetEquationTermBase.h.

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

Definition at line 62 of file itkLevelSetEquationTermBase.h.

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

Definition at line 70 of file itkLevelSetEquationTermBase.h.

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

Level-set function container type

Definition at line 67 of file itkLevelSetEquationTermBase.h.

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

Definition at line 79 of file itkLevelSetEquationTermBase.h.

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

Definition at line 76 of file itkLevelSetEquationTermBase.h.

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

Definition at line 77 of file itkLevelSetEquationTermBase.h.

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

Definition at line 69 of file itkLevelSetEquationTermBase.h.

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

Definition at line 75 of file itkLevelSetEquationTermBase.h.

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

Definition at line 73 of file itkLevelSetEquationTermBase.h.

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

Definition at line 74 of file itkLevelSetEquationTermBase.h.

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

Definition at line 72 of file itkLevelSetEquationTermBase.h.

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

Definition at line 71 of file itkLevelSetEquationTermBase.h.

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

Definition at line 53 of file itkLevelSetEquationTermBase.h.

template<typename TInputImage, typename TLevelSetContainer>
typedef itksys::hash_set< std::string > itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::RequiredDataType

Definition at line 136 of file itkLevelSetEquationTermBase.h.

template<typename TInputImage, typename TLevelSetContainer>
typedef LevelSetEquationTermBase itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Self

Definition at line 52 of file itkLevelSetEquationTermBase.h.

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

Definition at line 55 of file itkLevelSetEquationTermBase.h.

Constructor & Destructor Documentation

template<typename TInputImage, typename TLevelSetContainer>
itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetEquationTermBase ( )
protected

Default Constructor

template<typename TInputImage, typename TLevelSetContainer>
virtual itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::~LevelSetEquationTermBase ( )
protectedvirtual

Destructor

template<typename TInputImage, typename TLevelSetContainer>
itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::LevelSetEquationTermBase ( const Self )
private

Member Function Documentation

template<typename TInputImage, typename 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<typename TInputImage, typename TLevelSetContainer>
virtual LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Evaluate ( const LevelSetInputIndexType iP,
const LevelSetDataType iData 
)
virtual
template<typename TInputImage, typename TLevelSetContainer>
virtual LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetCFLContribution ( ) const
virtual

Get the CFL contribution for the given term

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

Set/Get the image to be segmented

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

Set/Get the image to be segmented

template<typename TInputImage, typename TLevelSetContainer>
virtual LevelSetContainerType* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetModifiableLevelSetContainer ( )
virtual
template<typename TInputImage, typename TLevelSetContainer>
virtual const char* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetNameOfClass ( ) const
virtual
template<typename TInputImage, typename TLevelSetContainer>
const RequiredDataType& itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetRequiredData ( ) const
template<typename TInputImage, typename TLevelSetContainer>
virtual const char* itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::GetTermName ( ) const
virtual

Set/Get the term name

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

Set/Get the image to be segmented

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

Set/Get the term name

template<typename TInputImage, typename TLevelSetContainer>
void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::SetUp ( )
protected
template<typename TInputImage, typename TLevelSetContainer>
virtual void itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Update ( )
pure virtual
template<typename TInputImage, typename 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<typename TInputImage, typename 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<typename TInputImage, typename TLevelSetContainer>
virtual LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::Value ( const LevelSetInputIndexType iP,
const LevelSetDataType iData 
)
protectedpure virtual

Member Data Documentation

template<typename TInputImage, typename 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<typename TInputImage, typename TLevelSetContainer>
LevelSetOutputRealType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_Coefficient
protected

Coefficient $ \alpha_i $

Definition at line 170 of file itkLevelSetEquationTermBase.h.

template<typename TInputImage, typename 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<typename TInputImage, typename TLevelSetContainer>
LevelSetPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_CurrentLevelSetPointer
protected

Definition at line 167 of file itkLevelSetEquationTermBase.h.

template<typename TInputImage, typename 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<typename TInputImage, typename TLevelSetContainer>
InputImagePointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_Input
protected

Input image

Definition at line 159 of file itkLevelSetEquationTermBase.h.

template<typename TInputImage, typename TLevelSetContainer>
LevelSetContainerPointer itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_LevelSetContainer
protected

Container of level-set function

Definition at line 162 of file itkLevelSetEquationTermBase.h.

template<typename TInputImage, typename TLevelSetContainer>
RequiredDataType itk::LevelSetEquationTermBase< TInputImage, TLevelSetContainer >::m_RequiredData
protected

Definition at line 187 of file itkLevelSetEquationTermBase.h.

template<typename TInputImage, typename 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: