ITK  5.2.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer > Class Template Reference

#include <itkLevelSetEquationLaplacianTerm.h>

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

Public Types

using ConstPointer = SmartPointer< const Self >
 
using DefaultBoundaryConditionType = ZeroFluxNeumannBoundaryCondition< InputImageType >
 
using HeavisideConstPointer = typename Superclass::HeavisideConstPointer
 
using HeavisideType = typename Superclass::HeavisideType
 
using InputImagePointer = typename Superclass::InputImagePointer
 
using InputImageType = typename Superclass::InputImageType
 
using InputPixelRealType = typename Superclass::InputPixelRealType
 
using InputPixelType = typename Superclass::InputPixelType
 
using LevelSetContainerPointer = typename Superclass::LevelSetContainerPointer
 
using LevelSetContainerType = typename Superclass::LevelSetContainerType
 
using LevelSetDataType = typename Superclass::LevelSetDataType
 
using LevelSetGradientType = typename Superclass::LevelSetGradientType
 
using LevelSetHessianType = typename Superclass::LevelSetHessianType
 
using LevelSetIdentifierType = typename Superclass::LevelSetIdentifierType
 
using LevelSetInputIndexType = typename Superclass::LevelSetInputIndexType
 
using LevelSetOutputPixelType = typename Superclass::LevelSetOutputPixelType
 
using LevelSetOutputRealType = typename Superclass::LevelSetOutputRealType
 
using LevelSetPointer = typename Superclass::LevelSetPointer
 
using LevelSetType = typename Superclass::LevelSetType
 
using NeighborhoodScalesType = Vector< LevelSetOutputRealType, Self::ImageDimension >
 
using NeighborhoodType = ConstNeighborhoodIterator< InputImageType, DefaultBoundaryConditionType >
 
using Pointer = SmartPointer< Self >
 
using RadiusType = typename ConstNeighborhoodIterator< InputImageType >::RadiusType
 
using Self = LevelSetEquationLaplacianTerm
 
using Superclass = LevelSetEquationTermBase< TInput, TLevelSetContainer >
 
- Public Types inherited from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >
using CacheImageType = typename LevelSetContainerType::CacheImageType
 
using ConstPointer = SmartPointer< const Self >
 
using DomainMapImageFilterType = typename LevelSetContainerType::DomainMapImageFilterType
 
using HeavisideConstPointer = typename HeavisideType::ConstPointer
 
using HeavisideType = HeavisideStepFunctionBase< LevelSetOutputRealType, LevelSetOutputRealType >
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageType = TInput
 
using InputPixelRealType = typename NumericTraits< InputPixelType >::RealType
 
using InputPixelType = typename InputImageType::PixelType
 
using LevelSetContainerPointer = typename LevelSetContainerType::Pointer
 
using LevelSetContainerType = TLevelSetContainer
 
using LevelSetDataType = typename LevelSetContainerType::LevelSetDataType
 
using LevelSetGradientType = typename LevelSetContainerType::GradientType
 
using LevelSetHessianType = typename LevelSetContainerType::HessianType
 
using LevelSetIdentifierType = typename LevelSetContainerType::LevelSetIdentifierType
 
using LevelSetInputIndexType = typename LevelSetContainerType::InputIndexType
 
using LevelSetOutputPixelType = typename LevelSetContainerType::OutputType
 
using LevelSetOutputRealType = typename LevelSetContainerType::OutputRealType
 
using LevelSetPointer = typename LevelSetContainerType::LevelSetPointer
 
using LevelSetType = typename LevelSetContainerType::LevelSetType
 
using Pointer = SmartPointer< Self >
 
using Self = LevelSetEquationTermBase
 
using Superclass = Object
 
using RequiredDataType = std::unordered_set< std::string >
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
void Initialize (const LevelSetInputIndexType &) override
 
void InitializeParameters () override
 
void Update () override
 
void UpdatePixel (const LevelSetInputIndexType &iP, const LevelSetOutputRealType &oldValue, const LevelSetOutputRealType &newValue) override
 
- Public Member Functions inherited from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >
virtual void SetInput (InputImageType *_arg)
 
virtual InputImageTypeGetModifiableInput ()
 
virtual const InputImageTypeGetInput () const
 
virtual void SetCoefficient (LevelSetOutputRealType _arg)
 
virtual LevelSetOutputRealType GetCoefficient ()
 
virtual void SetCurrentLevelSetId (LevelSetIdentifierType _arg)
 
virtual LevelSetIdentifierType GetCurrentLevelSetId ()
 
virtual LevelSetTypeGetModifiableCurrentLevelSetPointer ()
 
virtual const LevelSetTypeGetCurrentLevelSetPointer () const
 
virtual void SetLevelSetContainer (LevelSetContainerType *ptr)
 
virtual LevelSetContainerTypeGetModifiableLevelSetContainer ()
 
virtual const LevelSetContainerTypeGetLevelSetContainer () const
 
virtual LevelSetOutputRealType Evaluate (const LevelSetInputIndexType &iP)
 
virtual LevelSetOutputRealType Evaluate (const LevelSetInputIndexType &iP, const LevelSetDataType &iData)
 
virtual void Initialize (const LevelSetInputIndexType &iP)=0
 
virtual void UpdatePixel (const LevelSetInputIndexType &iP, const LevelSetOutputRealType &oldValue, const LevelSetOutputRealType &newValue)=0
 
virtual LevelSetOutputRealType GetCFLContribution () const
 
virtual void SetTermName (const char *_arg)
 
virtual const char * GetTermName () const
 
const RequiredDataTypeGetRequiredData () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
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
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
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
 

Static Public Member Functions

static Pointer New ()
 
- 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 ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = InputImageType::ImageDimension
 

Protected Member Functions

LevelSetOutputRealType LaplacianSpeed (const LevelSetInputIndexType &iP) const
 
 LevelSetEquationLaplacianTerm ()
 
LevelSetOutputRealType Value (const LevelSetInputIndexType &iP) override
 
 ~LevelSetEquationLaplacianTerm () override=default
 
LevelSetOutputRealType Value (const LevelSetInputIndexType &iP, const LevelSetDataType &iData) override
 
- Protected Member Functions inherited from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >
 LevelSetEquationTermBase ()
 
 ~LevelSetEquationTermBase () override=default
 
void SetUp ()
 
virtual LevelSetOutputRealType Value (const LevelSetInputIndexType &iP)=0
 
virtual LevelSetOutputRealType Value (const LevelSetInputIndexType &iP, const LevelSetDataType &iData)=0
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
 ~Object () override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
- 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 ()
 

Additional Inherited Members

- Protected Attributes inherited from itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >
InputImagePointer m_Input
 
LevelSetContainerPointer m_LevelSetContainer
 
LevelSetIdentifierType m_CurrentLevelSetId
 
LevelSetPointer m_CurrentLevelSetPointer
 
LevelSetOutputRealType m_Coefficient
 
LevelSetOutputRealType m_CFLContribution
 
HeavisideConstPointer m_Heaviside
 
std::string m_TermName
 
RequiredDataType m_RequiredData
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount
 

Detailed Description

template<typename TInput, typename TLevelSetContainer>
class itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >

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

\[ LaplacianImage( p ) \cdot \Delta \phi( p ) \]

Template Parameters
TInputInput Image Type
TLevelSetContainerLevel set function container type

Definition at line 47 of file itkLevelSetEquationLaplacianTerm.h.

Member Typedef Documentation

◆ ConstPointer

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::ConstPointer = SmartPointer<const Self>

Definition at line 54 of file itkLevelSetEquationLaplacianTerm.h.

◆ DefaultBoundaryConditionType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::DefaultBoundaryConditionType = ZeroFluxNeumannBoundaryCondition<InputImageType>

Neighborhood radius type

Definition at line 87 of file itkLevelSetEquationLaplacianTerm.h.

◆ HeavisideConstPointer

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::HeavisideConstPointer = typename Superclass::HeavisideConstPointer

Definition at line 80 of file itkLevelSetEquationLaplacianTerm.h.

◆ HeavisideType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::HeavisideType = typename Superclass::HeavisideType

Definition at line 79 of file itkLevelSetEquationLaplacianTerm.h.

◆ InputImagePointer

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::InputImagePointer = typename Superclass::InputImagePointer

Definition at line 64 of file itkLevelSetEquationLaplacianTerm.h.

◆ InputImageType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::InputImageType = typename Superclass::InputImageType

Definition at line 63 of file itkLevelSetEquationLaplacianTerm.h.

◆ InputPixelRealType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::InputPixelRealType = typename Superclass::InputPixelRealType

Definition at line 66 of file itkLevelSetEquationLaplacianTerm.h.

◆ InputPixelType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::InputPixelType = typename Superclass::InputPixelType

Definition at line 65 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetContainerPointer

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetContainerPointer = typename Superclass::LevelSetContainerPointer

Definition at line 69 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetContainerType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetContainerType = typename Superclass::LevelSetContainerType

Definition at line 68 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetDataType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetDataType = typename Superclass::LevelSetDataType

Definition at line 82 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetGradientType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetGradientType = typename Superclass::LevelSetGradientType

Definition at line 75 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetHessianType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetHessianType = typename Superclass::LevelSetHessianType

Definition at line 76 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetIdentifierType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetIdentifierType = typename Superclass::LevelSetIdentifierType

Definition at line 77 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetInputIndexType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetInputIndexType = typename Superclass::LevelSetInputIndexType

Definition at line 74 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetOutputPixelType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetOutputPixelType = typename Superclass::LevelSetOutputPixelType

Definition at line 72 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetOutputRealType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetOutputRealType = typename Superclass::LevelSetOutputRealType

Definition at line 73 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetPointer

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetPointer = typename Superclass::LevelSetPointer

Definition at line 71 of file itkLevelSetEquationLaplacianTerm.h.

◆ LevelSetType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetType = typename Superclass::LevelSetType

Definition at line 70 of file itkLevelSetEquationLaplacianTerm.h.

◆ NeighborhoodScalesType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::NeighborhoodScalesType = Vector<LevelSetOutputRealType, Self::ImageDimension>

Definition at line 91 of file itkLevelSetEquationLaplacianTerm.h.

◆ NeighborhoodType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::NeighborhoodType = ConstNeighborhoodIterator<InputImageType, DefaultBoundaryConditionType>

Definition at line 89 of file itkLevelSetEquationLaplacianTerm.h.

◆ Pointer

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::Pointer = SmartPointer<Self>

Definition at line 53 of file itkLevelSetEquationLaplacianTerm.h.

◆ RadiusType

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::RadiusType = typename ConstNeighborhoodIterator<InputImageType>::RadiusType

Definition at line 88 of file itkLevelSetEquationLaplacianTerm.h.

◆ Self

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::Self = LevelSetEquationLaplacianTerm

Definition at line 52 of file itkLevelSetEquationLaplacianTerm.h.

◆ Superclass

template<typename TInput , typename TLevelSetContainer >
using itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::Superclass = LevelSetEquationTermBase<TInput, TLevelSetContainer>

Definition at line 55 of file itkLevelSetEquationLaplacianTerm.h.

Constructor & Destructor Documentation

◆ LevelSetEquationLaplacianTerm()

template<typename TInput , typename TLevelSetContainer >
itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LevelSetEquationLaplacianTerm ( )
protected

◆ ~LevelSetEquationLaplacianTerm()

template<typename TInput , typename TLevelSetContainer >
itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::~LevelSetEquationLaplacianTerm ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<typename TInput , typename TLevelSetContainer >
virtual::itk::LightObject::Pointer itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::CreateAnother ( ) 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.

◆ GetNameOfClass()

template<typename TInput , typename TLevelSetContainer >
virtual const char* itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::GetNameOfClass ( ) const
virtual

Run-time type information

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

◆ Initialize()

template<typename TInput , typename TLevelSetContainer >
void itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::Initialize ( const LevelSetInputIndexType )
override
Todo:
to be documented.

◆ InitializeParameters()

template<typename TInput , typename TLevelSetContainer >
void itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::InitializeParameters ( )
overridevirtual

Initialize the parameters in the terms prior to an iteration

Implements itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >.

◆ LaplacianSpeed()

template<typename TInput , typename TLevelSetContainer >
LevelSetOutputRealType itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::LaplacianSpeed ( const LevelSetInputIndexType iP) const
protected

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

◆ New()

template<typename TInput , typename TLevelSetContainer >
static Pointer itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::New ( )
static

Method for creation through object factory

◆ Update()

template<typename TInput , typename TLevelSetContainer >
void itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::Update ( )
overridevirtual

Update the term parameter values at end of iteration

Implements itk::LevelSetEquationTermBase< TInput, TLevelSetContainer >.

◆ UpdatePixel()

template<typename TInput , typename TLevelSetContainer >
void itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::UpdatePixel ( const LevelSetInputIndexType iP,
const LevelSetOutputRealType oldValue,
const LevelSetOutputRealType newValue 
)
override

Supply updates at pixels to keep the term parameters always updated

◆ Value() [1/2]

template<typename TInput , typename TLevelSetContainer >
LevelSetOutputRealType itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::Value ( const LevelSetInputIndexType iP)
overrideprotected

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

◆ Value() [2/2]

template<typename TInput , typename TLevelSetContainer >
LevelSetOutputRealType itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::Value ( const LevelSetInputIndexType iP,
const LevelSetDataType iData 
)
overrideprotected

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

Member Data Documentation

◆ ImageDimension

template<typename TInput , typename TLevelSetContainer >
constexpr unsigned int itk::LevelSetEquationLaplacianTerm< TInput, TLevelSetContainer >::ImageDimension = InputImageType::ImageDimension
staticconstexpr

Definition at line 84 of file itkLevelSetEquationLaplacianTerm.h.


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