ITK  5.3.0
Insight Toolkit
itkFastMarchingNumberOfElementsStoppingCriterion.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef itkFastMarchingNumberOfElementsStoppingCriterion_h
20 #define itkFastMarchingNumberOfElementsStoppingCriterion_h
21 
23 #include "itkObjectFactory.h"
24 
25 namespace itk
26 {
40 template <typename TInput, typename TOutput>
41 class FastMarchingNumberOfElementsStoppingCriterion : public FastMarchingStoppingCriterionBase<TInput, TOutput>
42 {
43 public:
44  ITK_DISALLOW_COPY_AND_MOVE(FastMarchingNumberOfElementsStoppingCriterion);
45 
47  using Superclass = FastMarchingStoppingCriterionBase<TInput, TOutput>;
50 
52  itkNewMacro(Self);
53 
55  itkTypeMacro(FastMarchingNumberOfElementsStoppingCriterion, FastMarchingStoppingCriterionBase);
56 
57  using OutputPixelType = typename Superclass::OutputPixelType;
58  using NodeType = typename Superclass::NodeType;
59 
61  itkSetMacro(TargetNumberOfElements, IdentifierType);
62  itkGetMacro(TargetNumberOfElements, IdentifierType);
64 
65  bool
66  IsSatisfied() const override
67  {
69  }
70 
71  std::string
72  GetDescription() const override
73  {
74  return "Current Number of Elements >= Target Number of Elements";
75  }
76 
77 protected:
79  : Superclass()
82  {}
83 
85 
88 
89  void
90  SetCurrentNode(const NodeType &) override
91  {
93  }
94 
95  void
96  Reset() override
97  {
98  this->m_CurrentNumberOfElements = NumericTraits<IdentifierType>::ZeroValue();
99  }
100 };
101 
102 } // namespace itk
103 #endif // itkFastMarchingNumberOfElementsStoppingCriterion_h
itkObjectFactory.h
itk::FastMarchingNumberOfElementsStoppingCriterion::Superclass
FastMarchingStoppingCriterionBase< TInput, TOutput > Superclass
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:47
itk::SmartPointer< Self >
itk::FastMarchingNumberOfElementsStoppingCriterion::SetCurrentNode
void SetCurrentNode(const NodeType &) override
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:90
itk::FastMarchingNumberOfElementsStoppingCriterion::GetDescription
std::string GetDescription() const override
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:72
itk::FastMarchingNumberOfElementsStoppingCriterion::FastMarchingNumberOfElementsStoppingCriterion
FastMarchingNumberOfElementsStoppingCriterion()
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:78
itk::FastMarchingNumberOfElementsStoppingCriterion::NodeType
typename Superclass::NodeType NodeType
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:58
itk::FastMarchingNumberOfElementsStoppingCriterion
Stopping Criterion is verified when Current Number of Elements is equal to or greater than the provid...
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:41
itk::FastMarchingNumberOfElementsStoppingCriterion::m_TargetNumberOfElements
IdentifierType m_TargetNumberOfElements
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:87
itk::FastMarchingNumberOfElementsStoppingCriterion::m_CurrentNumberOfElements
IdentifierType m_CurrentNumberOfElements
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:86
itk::FastMarchingNumberOfElementsStoppingCriterion::~FastMarchingNumberOfElementsStoppingCriterion
~FastMarchingNumberOfElementsStoppingCriterion() override=default
itk::NumericTraits
Define additional traits for native types such as int or float.
Definition: itkNumericTraits.h:58
itk::NumericTraits::ZeroValue
static T ZeroValue()
Definition: itkNumericTraits.h:148
itk::FastMarchingNumberOfElementsStoppingCriterion::Reset
void Reset() override
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:96
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::FastMarchingNumberOfElementsStoppingCriterion::IsSatisfied
bool IsSatisfied() const override
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:66
itkFastMarchingStoppingCriterionBase.h
itk::FastMarchingNumberOfElementsStoppingCriterion::OutputPixelType
typename Superclass::OutputPixelType OutputPixelType
Definition: itkFastMarchingNumberOfElementsStoppingCriterion.h:57
itk::IdentifierType
SizeValueType IdentifierType
Definition: itkIntTypes.h:87