ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > > Class Template Reference

#include <itkLevelSetEvolution.h>

Detailed Description

template<typename TEquationContainer, typename TOutput, unsigned int VDimension>
class itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >

Definition at line 190 of file itkLevelSetEvolution.h.

+ Inheritance diagram for itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >:
+ Collaboration diagram for itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using InputImageConstIteratorType = ImageRegionConstIteratorWithIndex< InputImageType >
 
using LevelSetLabelMapPointer = typename LevelSetType::LabelMapPointer
 
using LevelSetLabelMapType = typename LevelSetType::LabelMapType
 
using LevelSetLayerType = typename LevelSetType::LayerType
 
using LevelSetType = WhitakerSparseLevelSetImage< TOutput, VDimension >
 
using Pointer = SmartPointer< Self >
 
using Self = LevelSetEvolution
 
using Superclass = LevelSetEvolutionBase< TEquationContainer, LevelSetType >
 
using UpdateLevelSetFilterPointer = typename UpdateLevelSetFilterType::Pointer
 
using UpdateLevelSetFilterType = UpdateWhitakerSparseLevelSet< ImageDimension, LevelSetOutputType, EquationContainerType >
 
- Public Types inherited from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >
using CacheImageType = typename LevelSetContainerType::CacheImageType
 
using ConstPointer = SmartPointer< const Self >
 
using DomainMapImageFilterType = typename LevelSetContainerType::DomainMapImageFilterType
 
using EquationContainerPointer = typename EquationContainerType::Pointer
 
using EquationContainerType = TEquationContainer
 
using IdListConstIterator = typename LevelSetContainerType::IdListConstIterator
 
using IdListImageType = typename LevelSetContainerType::IdListImageType
 
using IdListIterator = typename LevelSetContainerType::IdListIterator
 
using IdListType = typename LevelSetContainerType::IdListType
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = typename TermContainerType::InputImageType
 
using InputPixelRealType = typename NumericTraits< InputImagePixelType >::RealType
 
using LevelSetContainerType = typename TermContainerType::LevelSetContainerType
 
using LevelSetDataType = typename LevelSetType::LevelSetDataType
 
using LevelSetIdentifierType = typename LevelSetContainerType::LevelSetIdentifierType
 
using LevelSetInputType = typename LevelSetType::InputType
 
using LevelSetOutputRealType = typename LevelSetType::OutputRealType
 
using LevelSetOutputType = typename LevelSetType::OutputType
 
using LevelSetType = WhitakerSparseLevelSetImage< TOutput, VDimension >
 
using Pointer = SmartPointer< Self >
 
using Self = LevelSetEvolutionBase
 
using StoppingCriterionPointer = typename StoppingCriterionType::Pointer
 
using StoppingCriterionType = LevelSetEvolutionStoppingCriterion< LevelSetContainerType >
 
using Superclass = Object
 
using TermContainerPointer = typename TermContainerType::Pointer
 
using TermContainerType = typename EquationContainerType::TermContainerType
 
using TermPointer = typename TermType::Pointer
 
using TermType = typename TermContainerType::TermType
 
- 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

const char * GetNameOfClass () const override
 
ThreadIdType GetNumberOfWorkUnits () const
 
void SetNumberOfWorkUnits (const ThreadIdType numberOfThreads)
 
- Public Member Functions inherited from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >
virtual LevelSetContainerTypeGetModifiableLevelSetContainer ()
 
const char * GetNameOfClass () const override
 
virtual IdentifierType GetNumberOfIterations () const
 
virtual void SetLevelSetContainer (LevelSetContainerType *_arg)
 
void SetTimeStep (const LevelSetOutputRealType &iDt)
 
void Update ()
 
virtual void SetAlpha (LevelSetOutputRealType _arg)
 
virtual LevelSetOutputRealType GetAlpha ()
 
virtual void SetEquationContainer (EquationContainerType *_arg)
 
virtual EquationContainerTypeGetModifiableEquationContainer ()
 
virtual void SetStoppingCriterion (StoppingCriterionType *_arg)
 
virtual StoppingCriterionTypeGetModifiableStoppingCriterion ()
 
- 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
 
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
 
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
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
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 val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >
static constexpr unsigned int ImageDimension
 

Protected Types

using NodePairType = std::pair< LevelSetInputType, LevelSetOutputType >
 
using SplitLevelSetComputeIterationThreaderType = LevelSetEvolutionComputeIterationThreader< LevelSetType, SplitLevelSetPartitionerType, Self >
 
using SplitLevelSetPartitionerType = ThreadedIteratorRangePartitioner< typename LevelSetType::LayerConstIterator >
 

Protected Member Functions

void AllocateUpdateBuffer () override
 
void ComputeIteration () override
 
void ComputeTimeStepForNextIteration () override
 
 LevelSetEvolution ()
 
void UpdateEquations () override
 
void UpdateLevelSets () override
 
 ~LevelSetEvolution () override
 
- Protected Member Functions inherited from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >
void CheckSetUp ()
 
void Evolve ()
 
void InitializeIteration ()
 
 LevelSetEvolutionBase ()
 
 ~LevelSetEvolutionBase () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- 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

SplitLevelSetComputeIterationThreaderType::Pointer m_SplitLevelSetComputeIterationThreader {}
 
std::map< IdentifierType, LevelSetLayerType * > m_UpdateBuffer {}
 
- Protected Attributes inherited from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >
LevelSetOutputRealType m_Alpha
 
LevelSetOutputRealType m_Dt
 
EquationContainerPointer m_EquationContainer
 
LevelSetContainerType::Pointer m_LevelSetContainer
 
LevelSetContainerType::Iterator m_LevelSetContainerIteratorToProcessWhenThreading
 
LevelSetContainerType::Iterator m_LevelSetUpdateContainerIteratorToProcessWhenThreading
 
IdentifierType m_NumberOfIterations
 
LevelSetOutputRealType m_RMSChangeAccumulator
 
StoppingCriterionPointer m_StoppingCriterion
 
bool m_UserGloballyDefinedTimeStep
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Friends

class LevelSetEvolutionComputeIterationThreader< LevelSetType, SplitLevelSetPartitionerType, Self >
 

Member Typedef Documentation

◆ ConstPointer

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::ConstPointer = SmartPointer<const Self>

Definition at line 200 of file itkLevelSetEvolution.h.

◆ InputImageConstIteratorType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::InputImageConstIteratorType = ImageRegionConstIteratorWithIndex<InputImageType>

Definition at line 248 of file itkLevelSetEvolution.h.

◆ LevelSetLabelMapPointer

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetLabelMapPointer = typename LevelSetType::LabelMapPointer

Definition at line 236 of file itkLevelSetEvolution.h.

◆ LevelSetLabelMapType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetLabelMapType = typename LevelSetType::LabelMapType

Definition at line 235 of file itkLevelSetEvolution.h.

◆ LevelSetLayerType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetLayerType = typename LevelSetType::LayerType

Definition at line 233 of file itkLevelSetEvolution.h.

◆ LevelSetType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetType = WhitakerSparseLevelSetImage<TOutput, VDimension>

Definition at line 196 of file itkLevelSetEvolution.h.

◆ NodePairType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::NodePairType = std::pair<LevelSetInputType, LevelSetOutputType>
protected

Definition at line 266 of file itkLevelSetEvolution.h.

◆ Pointer

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::Pointer = SmartPointer<Self>

Definition at line 199 of file itkLevelSetEvolution.h.

◆ Self

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::Self = LevelSetEvolution

Definition at line 198 of file itkLevelSetEvolution.h.

◆ SplitLevelSetComputeIterationThreaderType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::SplitLevelSetComputeIterationThreaderType = LevelSetEvolutionComputeIterationThreader<LevelSetType, SplitLevelSetPartitionerType, Self>
protected

Definition at line 295 of file itkLevelSetEvolution.h.

◆ SplitLevelSetPartitionerType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::SplitLevelSetPartitionerType = ThreadedIteratorRangePartitioner<typename LevelSetType::LayerConstIterator>
protected

Definition at line 292 of file itkLevelSetEvolution.h.

◆ Superclass

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::Superclass = LevelSetEvolutionBase<TEquationContainer, LevelSetType>

Definition at line 201 of file itkLevelSetEvolution.h.

◆ UpdateLevelSetFilterPointer

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::UpdateLevelSetFilterPointer = typename UpdateLevelSetFilterType::Pointer

Definition at line 252 of file itkLevelSetEvolution.h.

◆ UpdateLevelSetFilterType

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
using itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::UpdateLevelSetFilterType = UpdateWhitakerSparseLevelSet<ImageDimension, LevelSetOutputType, EquationContainerType>

Definition at line 251 of file itkLevelSetEvolution.h.

Constructor & Destructor Documentation

◆ LevelSetEvolution()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetEvolution ( )
protected

◆ ~LevelSetEvolution()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::~LevelSetEvolution ( )
overrideprotected

Member Function Documentation

◆ AllocateUpdateBuffer()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
void itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::AllocateUpdateBuffer ( )
overrideprotectedvirtual

Initialize the update buffers for all level sets to hold the updates of equations in each iteration

Reimplemented from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >.

◆ ComputeIteration()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
void itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::ComputeIteration ( )
overrideprotectedvirtual

Compute the update at each pixel and store in the update buffer

Reimplemented from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >.

◆ ComputeTimeStepForNextIteration()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
void itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::ComputeTimeStepForNextIteration ( )
overrideprotectedvirtual

Compute the time-step for the next iteration

Reimplemented from itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >.

◆ GetNameOfClass()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
const char* itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

◆ GetNumberOfWorkUnits()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
ThreadIdType itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::GetNumberOfWorkUnits ( ) const

Set the maximum number of threads to be used.

◆ New()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
static Pointer itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::New ( )
static

Method for creation through object factory

◆ SetNumberOfWorkUnits()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
void itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::SetNumberOfWorkUnits ( const ThreadIdType  numberOfThreads)

Set the maximum number of threads to be used.

◆ UpdateEquations()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
void itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::UpdateEquations ( )
overrideprotectedvirtual

◆ UpdateLevelSets()

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
void itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::UpdateLevelSets ( )
overrideprotectedvirtual

Update the levelset by 1 iteration from the computed updates

Implements itk::LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >.

Friends And Related Function Documentation

◆ LevelSetEvolutionComputeIterationThreader< LevelSetType, SplitLevelSetPartitionerType, Self >

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
friend class LevelSetEvolutionComputeIterationThreader< LevelSetType, SplitLevelSetPartitionerType, Self >
friend

Definition at line 293 of file itkLevelSetEvolution.h.

Member Data Documentation

◆ ImageDimension

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
constexpr unsigned int itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::ImageDimension = Superclass::ImageDimension
staticconstexpr

Definition at line 223 of file itkLevelSetEvolution.h.

◆ m_SplitLevelSetComputeIterationThreader

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
SplitLevelSetComputeIterationThreaderType::Pointer itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::m_SplitLevelSetComputeIterationThreader {}
protected

Definition at line 296 of file itkLevelSetEvolution.h.

◆ m_UpdateBuffer

template<typename TEquationContainer , typename TOutput , unsigned int VDimension>
std::map<IdentifierType, LevelSetLayerType *> itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::m_UpdateBuffer {}
protected

Definition at line 269 of file itkLevelSetEvolution.h.


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