ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkLevelSetEvolutionBase.h>
Class for iterating and evolving the dense level-set function.
TEquationContainer | Container holding the system of level set of equations |
Definition at line 43 of file itkLevelSetEvolutionBase.h.
Public Types | |
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 = TLevelSet |
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 |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = InputImageType::ImageDimension |
Protected Member Functions | |
virtual void | AllocateUpdateBuffer () |
void | CheckSetUp () |
virtual void | ComputeIteration () |
virtual void | ComputeTimeStepForNextIteration () |
void | Evolve () |
void | InitializeIteration () |
LevelSetEvolutionBase () | |
virtual void | UpdateEquations ()=0 |
virtual void | UpdateLevelSets ()=0 |
~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 &time) |
~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 | |
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 |
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 () |
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::CacheImageType = typename LevelSetContainerType::CacheImageType |
Definition at line 86 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ConstPointer = SmartPointer< const Self > |
Definition at line 50 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::DomainMapImageFilterType = typename LevelSetContainerType::DomainMapImageFilterType |
Definition at line 88 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::EquationContainerPointer = typename EquationContainerType::Pointer |
Definition at line 57 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::EquationContainerType = TEquationContainer |
Definition at line 56 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListConstIterator = typename LevelSetContainerType::IdListConstIterator |
Definition at line 84 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListImageType = typename LevelSetContainerType::IdListImageType |
Definition at line 85 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListIterator = typename LevelSetContainerType::IdListIterator |
Definition at line 83 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListType = typename LevelSetContainerType::IdListType |
Definition at line 82 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageConstPointer = typename InputImageType::ConstPointer |
Definition at line 66 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImagePixelType = typename InputImageType::PixelType |
Definition at line 65 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageRegionType = typename InputImageType::RegionType |
Definition at line 67 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageType = typename TermContainerType::InputImageType |
Definition at line 64 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputPixelRealType = typename NumericTraits<InputImagePixelType>::RealType |
Definition at line 68 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetContainerType = typename TermContainerType::LevelSetContainerType |
Definition at line 72 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetDataType = typename LevelSetType::LevelSetDataType |
Definition at line 80 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetIdentifierType = typename LevelSetContainerType::LevelSetIdentifierType |
Definition at line 74 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetInputType = typename LevelSetType::InputType |
Definition at line 77 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetOutputRealType = typename LevelSetType::OutputRealType |
Definition at line 79 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetOutputType = typename LevelSetType::OutputType |
Definition at line 78 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetType = TLevelSet |
Definition at line 76 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Pointer = SmartPointer< Self > |
Definition at line 49 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Self = LevelSetEvolutionBase |
Definition at line 48 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::StoppingCriterionPointer = typename StoppingCriterionType::Pointer |
Definition at line 91 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::StoppingCriterionType = LevelSetEvolutionStoppingCriterion<LevelSetContainerType> |
Definition at line 90 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Superclass = Object |
Definition at line 51 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermContainerPointer = typename TermContainerType::Pointer |
Definition at line 59 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermContainerType = typename EquationContainerType::TermContainerType |
Definition at line 58 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermPointer = typename TermType::Pointer |
Definition at line 62 of file itkLevelSetEvolutionBase.h.
using itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermType = typename TermContainerType::TermType |
Definition at line 61 of file itkLevelSetEvolutionBase.h.
|
protected |
|
overrideprotecteddefault |
|
protectedvirtual |
Initialize the update buffers for all level sets to hold the updates of equations in each iteration. No-op by default.
Reimplemented in itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >, and itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >.
|
protected |
|
protectedvirtual |
Computer the update at each pixel and store in the update buffer. No-op by default.
Reimplemented in itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >, and itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >.
|
protectedvirtual |
Compute the time-step for the next iteration. No-op by default.
Reimplemented in itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >, and itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >.
|
protected |
Run the iterative loops of calculating levelset function updates until the stopping criterion is satisfied. Calls AllocateUpdateBuffer, ComputeIteration, ComputeTimeStepForNextIteration, UpdateLevelSets, UpdateEquations.
|
virtual |
Set/Get the value of alpha for computing the time-step using CFL conditions
|
virtual |
Set/Get the equation container for updating all the level sets
|
virtual |
|
virtual |
Set/Get the equation container for updating all the level sets
|
virtual |
|
virtual |
Set/Get the Stopping Criterion
|
virtual |
Run-time type information
Reimplemented from itk::Object.
Reimplemented in itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >, itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >, itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >, and itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >.
|
virtual |
Get the number of iterations that have occurred.
|
virtual |
Set/Get the Stopping Criterion
|
protected |
Initialize the iteration by computing parameters in the terms of the level set equation
|
virtual |
Set/Get the value of alpha for computing the time-step using CFL conditions
|
virtual |
Set/Get the equation container for updating all the level sets
|
virtual |
|
virtual |
Set/Get the Stopping Criterion
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::SetTimeStep | ( | const LevelSetOutputRealType & | iDt | ) |
Set a user-specified value of the time-step
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Update | ( | ) |
Update the filter by computing the output level function by calling Evolve() once the instantiation of necessary variables is verified
|
protectedpure virtual |
Implemented in itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >, itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >, itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >, and itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >.
|
protectedpure virtual |
Implemented in itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >, itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >, itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >, and itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >.
|
static |
Definition at line 70 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 158 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 159 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 155 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 156 of file itkLevelSetEvolutionBase.h.
|
protected |
Helper members for threading.
Definition at line 165 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 166 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 162 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 160 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 153 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 161 of file itkLevelSetEvolutionBase.h.