ITK
6.0.0
Insight 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 |
Public Member Functions | |
virtual LevelSetContainerType * | GetModifiableLevelSetContainer () |
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 EquationContainerType * | GetModifiableEquationContainer () |
virtual void | SetStoppingCriterion (StoppingCriterionType *_arg) |
virtual StoppingCriterionType * | GetModifiableStoppingCriterion () |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) 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 |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () 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) const |
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 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 &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 | |
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 val) |
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 Stopping Criterion
|
overridevirtual |
Reimplemented from itk::Object.
|
virtual |
Get the number of iterations that have occurred.
|
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 > >.
|
staticconstexpr |
Definition at line 70 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 168 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 169 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 165 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 166 of file itkLevelSetEvolutionBase.h.
|
protected |
Helper members for threading.
Definition at line 175 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 176 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 172 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 170 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 163 of file itkLevelSetEvolutionBase.h.
|
protected |
Definition at line 171 of file itkLevelSetEvolutionBase.h.