18 #ifndef itkLevelSetEvolution_h
19 #define itkLevelSetEvolution_h
47 template<
typename TEquationContainer,
typename TLevelSet >
51 template<
typename TEquationContainer,
typename TImage >
77 using TermType =
typename Superclass::TermType;
86 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
121 void SetNumberOfWorkUnits(
const ThreadIdType threads );
133 void AllocateUpdateBuffer()
override;
136 void ComputeIteration()
override;
139 void ComputeTimeStepForNextIteration()
override;
142 void UpdateLevelSets()
override;
145 void UpdateEquations()
override;
148 void ReinitializeToSignedDistance();
154 typename SplitLevelSetComputeIterationThreaderType::Pointer m_SplitLevelSetComputeIterationThreader;
160 typename SplitDomainMapComputeIterationThreaderType::Pointer m_SplitDomainMapComputeIterationThreader;
164 typename SplitLevelSetUpdateLevelSetsThreaderType::Pointer m_SplitLevelSetUpdateLevelSetsThreader;
171 template< typename TEquationContainer, typename TOutput, unsigned int VDimension >
172 class ITK_TEMPLATE_EXPORT
LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > > :
173 public LevelSetEvolutionBase< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >
205 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
236 void SetNumberOfWorkUnits(
const ThreadIdType threads );
245 using NodePairType = std::pair< LevelSetInputType, LevelSetOutputType >;
252 void AllocateUpdateBuffer()
override;
255 void ComputeIteration()
override;
258 void ComputeTimeStepForNextIteration()
override;
261 void UpdateLevelSets()
override;
264 void UpdateEquations()
override;
274 template<
typename TEquationContainer,
unsigned int VDimension >
310 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
346 void UpdateLevelSets()
override;
349 void UpdateEquations()
override;
353 template<
typename TEquationContainer,
unsigned int VDimension >
388 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
423 void UpdateLevelSets()
override;
424 void UpdateEquations()
override;
428 #ifndef ITK_MANUAL_INSTANTIATION
429 #include "itkLevelSetEvolution.hxx"
432 #endif // itkLevelSetEvolution_h
typename Superclass::TermPointer TermPointer
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
typename Superclass::IdListIterator IdListIterator
typename Superclass::TermContainerPointer TermContainerPointer
typename Superclass::EquationContainerType EquationContainerType
typename Superclass::InputImageType InputImageType
typename Superclass::CacheImageType CacheImageType
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
Light weight base class for most itk classes.
typename LevelSetType::LabelMapType LevelSetLabelMapType
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
typename Superclass::TermType TermType
typename Superclass::TermType TermType
typename Superclass::LevelSetDataType LevelSetDataType
typename Superclass::LevelSetContainerType LevelSetContainerType
typename Superclass::InputImagePixelType InputImagePixelType
typename Superclass::LevelSetDataType LevelSetDataType
typename Superclass::InputPixelRealType InputPixelRealType
typename Superclass::InputImageConstPointer InputImageConstPointer
typename Superclass::StoppingCriterionType StoppingCriterionType
typename Superclass::IdListType IdListType
Threade the UpdateLevelSets method.
typename Superclass::LayerIterator LayerIterator
typename Superclass::StoppingCriterionType StoppingCriterionType
typename Superclass::IdListImageType IdListImageType
typename UpdateLevelSetFilterType::Pointer UpdateLevelSetFilterPointer
typename Superclass::EquationContainerType EquationContainerType
typename Superclass::LevelSetContainerType LevelSetContainerType
Derived class for the shi representation of level-set function.
typename Superclass::LevelSetInputType LevelSetInputType
typename Superclass::TermPointer TermPointer
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
typename Superclass::TermPointer TermPointer
typename Superclass::IdListIterator IdListIterator
typename Superclass::LevelSetDataType LevelSetDataType
typename Superclass::IdListImageType IdListImageType
typename Superclass::InputImageConstPointer InputImageConstPointer
Class for partitioning of an ImageRegion.
typename UpdateLevelSetFilterType::Pointer UpdateLevelSetFilterPointer
typename Superclass::LevelSetOutputType LevelSetOutputType
std::pair< LevelSetInputType, LevelSetOutputType > NodePairType
typename Superclass::IdListIterator IdListIterator
typename Superclass::IdListConstIterator IdListConstIterator
typename Superclass::IdListType IdListType
typename Superclass::TermContainerType TermContainerType
typename Superclass::LayerType LayerType
typename Superclass::InputImagePixelType InputImagePixelType
typename Superclass::LevelSetContainerType LevelSetContainerType
typename LevelSetType::LayerType LevelSetLayerType
typename LevelSetType::LayerType LevelSetLayerType
typename Superclass::EquationContainerType EquationContainerType
typename Superclass::EquationContainerType EquationContainerType
typename LevelSetType::ImageType LevelSetImageType
typename Superclass::IdListType IdListType
typename Superclass::InputImagePixelType InputImagePixelType
typename LevelSetType::LabelMapPointer LevelSetLabelMapPointer
typename Superclass::TermContainerPointer TermContainerPointer
typename Superclass::LevelSetInputType LevelSetInputType
typename Superclass::InputImageRegionType InputImageRegionType
typename LevelSetType::LayerIterator LevelSetLayerIterator
LevelSetContainerType::Pointer m_UpdateBuffer
A multi-dimensional iterator templated over image type that walks an image region and is specialized ...
typename Superclass::CacheImageType CacheImageType
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
typename Superclass::TermType TermType
typename Superclass::LevelSetOutputType LevelSetOutputType
Class for iterating and evolving the level-set function.
typename Superclass::EquationContainerPointer EquationContainerPointer
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
typename Superclass::EquationContainerPointer EquationContainerPointer
typename Superclass::IdListImageType IdListImageType
This filter calculates the Euclidean distance transform of a binary image in linear time for arbitrar...
typename Superclass::TermPointer TermPointer
Binarize an input image by thresholding.
typename Superclass::LabelMapType LabelMapType
Thread the ComputeIteration method.
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
typename Superclass::LabelMapPointer LabelMapPointer
Derived class for the Malcolm representation of level-set function.
typename Superclass::InputImageConstPointer InputImageConstPointer
typename Superclass::InputImageRegionType InputImageRegionType
typename Superclass::InputImageRegionType InputImageRegionType
Derived class for the sparse-field representation of level-set function.
typename Superclass::TermContainerType TermContainerType
typename Superclass::TermType TermType
typename MaurerType::Pointer MaurerPointer
typename Superclass::CacheImageType CacheImageType
typename Superclass::IdListImageType IdListImageType
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
A multi-dimensional iterator templated over image type that walks pixels within a region and is speci...
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
typename DomainMapImageFilterType::DomainMapType::const_iterator DomainMapConstIteratorType
Base class for the "dense" representation of a level-set function on one image.
typename Superclass::InputImageConstPointer InputImageConstPointer
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
typename Superclass::LabelMapPointer LabelMapPointer
typename Superclass::InputImagePixelType InputImagePixelType
typename ThresholdFilterType::Pointer ThresholdFilterPointer
typename Superclass::InputPixelRealType InputPixelRealType
typename Superclass::InputPixelRealType InputPixelRealType
typename Superclass::CacheImageType CacheImageType
typename LevelSetType::LayerType LevelSetLayerType
Partitions an iterator range for threading.
unsigned int ThreadIdType
std::map< IdentifierType, LevelSetLayerType * > m_UpdateBuffer
SplitLevelSetComputeIterationThreaderType::Pointer m_SplitLevelSetComputeIterationThreader
typename Superclass::LayerType LayerType
Base class for updating the level-set function.
typename Superclass::LabelMapPointer LabelMapPointer
Base class for updating the Shi representation of level-set function.
typename Superclass::LabelMapType LabelMapType
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
typename Superclass::StoppingCriterionType StoppingCriterionType
typename LevelSetType::LabelMapPointer LevelSetLabelMapPointer
typename Superclass::InputImageType InputImageType
typename LevelSetType::LabelMapPointer LevelSetLabelMapPointer
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
typename Superclass::InputImageType InputImageType
typename Superclass::InputImageType InputImageType
typename Superclass::EquationContainerPointer EquationContainerPointer
typename Superclass::EquationContainerPointer EquationContainerPointer
typename LevelSetType::LabelMapType LevelSetLabelMapType
typename UpdateLevelSetFilterType::Pointer UpdateLevelSetFilterPointer
typename Superclass::LayerType LayerType
typename Superclass::LevelSetOutputType LevelSetOutputType
typename Superclass::IdListIterator IdListIterator
typename Superclass::TermContainerType TermContainerType
typename Superclass::LevelSetDataType LevelSetDataType
typename LevelSetType::LabelMapType LevelSetLabelMapType
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
typename Superclass::LevelSetContainerType LevelSetContainerType
typename Superclass::TermContainerPointer TermContainerPointer
typename Superclass::TermContainerPointer TermContainerPointer
typename Superclass::InputPixelRealType InputPixelRealType
typename Superclass::TermContainerType TermContainerType
typename Superclass::LevelSetInputType LevelSetInputType
typename Superclass::StoppingCriterionType StoppingCriterionType
Base class for updating the Malcolm representation of level-set function.
typename Superclass::LabelMapType LabelMapType
typename Superclass::LevelSetOutputType LevelSetOutputType
typename Superclass::IdListType IdListType
Class for iterating and evolving the dense level-set function.
typename Superclass::InputImageRegionType InputImageRegionType