19 #ifndef itkLevelSetEvolutionNumberOfIterationsStoppingCriterion_h
20 #define itkLevelSetEvolutionNumberOfIterationsStoppingCriterion_h
31 template <
typename TLevelSetContainer>
32 class ITK_TEMPLATE_EXPORT LevelSetEvolutionNumberOfIterationsStoppingCriterion
33 :
public LevelSetEvolutionStoppingCriterion<TLevelSetContainer>
36 ITK_DISALLOW_COPY_AND_MOVE(LevelSetEvolutionNumberOfIterationsStoppingCriterion);
38 using Self = LevelSetEvolutionNumberOfIterationsStoppingCriterion;
39 using Superclass = LevelSetEvolutionStoppingCriterion<TLevelSetContainer>;
40 using Pointer = SmartPointer<Self>;
41 using ConstPointer = SmartPointer<const Self>;
47 itkTypeMacro(LevelSetEvolutionNumberOfIterationsStoppingCriterion, LevelSetEvolutionStoppingCriterion);
49 using LevelSetContainerType = TLevelSetContainer;
50 using LevelSetContainerPointer =
typename LevelSetContainerType::Pointer;
52 using LevelSetIdentifierType =
typename LevelSetContainerType::LevelSetIdentifierType;
53 using LevelSetType =
typename LevelSetContainerType::LevelSetType;
54 using LevelSetPointer =
typename LevelSetContainerType::LevelSetPointer;
56 using InputIndexType =
typename LevelSetContainerType::InputIndexType;
57 using OutputType =
typename LevelSetContainerType::OutputType;
58 using OutputRealType =
typename LevelSetContainerType::OutputRealType;
59 using GradientType =
typename LevelSetContainerType::GradientType;
60 using HessianType =
typename LevelSetContainerType::HessianType;
62 using HeavisideType =
typename LevelSetContainerType::HeavisideType;
63 using HeavisidePointer =
typename LevelSetContainerType::HeavisideType;
66 IsSatisfied()
const override;
69 GetDescription()
const override;
73 LevelSetEvolutionNumberOfIterationsStoppingCriterion() =
default;