18 #ifndef itkLevelSetEvolution_h
19 #define itkLevelSetEvolution_h
47 template <
typename TEquationContainer,
typename TLevelSet>
51 template <
typename TEquationContainer,
typename TImage>
76 using TermType =
typename Superclass::TermType;
85 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
121 SetNumberOfWorkUnits(
const ThreadIdType numberOfThreads);
125 GetNumberOfWorkUnits()
const;
135 AllocateUpdateBuffer()
override;
139 ComputeIteration()
override;
143 ComputeTimeStepForNextIteration()
override;
147 UpdateLevelSets()
override;
151 UpdateEquations()
override;
155 ReinitializeToSignedDistance();
164 ThreadedImageRegionPartitioner<TImage::ImageDimension>,
166 typename SplitLevelSetComputeIterationThreaderType::Pointer m_SplitLevelSetComputeIterationThreader;
173 typename SplitDomainMapComputeIterationThreaderType::Pointer m_SplitDomainMapComputeIterationThreader;
176 ThreadedImageRegionPartitioner<TImage::ImageDimension>,
180 ThreadedImageRegionPartitioner<TImage::ImageDimension>,
182 typename SplitLevelSetUpdateLevelSetsThreaderType::Pointer m_SplitLevelSetUpdateLevelSetsThreader;
189 template <typename TEquationContainer, typename TOutput, unsigned int VDimension>
190 class ITK_TEMPLATE_EXPORT
LevelSetEvolution<TEquationContainer, WhitakerSparseLevelSetImage<TOutput, VDimension>>
223 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
256 SetNumberOfWorkUnits(
const ThreadIdType numberOfThreads);
260 GetNumberOfWorkUnits()
const;
274 AllocateUpdateBuffer()
override;
278 ComputeIteration()
override;
282 ComputeTimeStepForNextIteration()
override;
286 UpdateLevelSets()
override;
290 UpdateEquations()
override;
301 template <
typename TEquationContainer,
unsigned int VDimension>
335 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
371 UpdateLevelSets()
override;
375 UpdateEquations()
override;
379 template <
typename TEquationContainer,
unsigned int VDimension>
413 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
449 UpdateLevelSets()
override;
451 UpdateEquations()
override;
455 #ifndef ITK_MANUAL_INSTANTIATION
456 # include "itkLevelSetEvolution.hxx"
459 #endif // itkLevelSetEvolution_h