ITK  5.4.0
Insight Toolkit
itkFastMarchingThresholdStoppingCriterion.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  * https://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 itkFastMarchingThresholdStoppingCriterion_h
20 #define itkFastMarchingThresholdStoppingCriterion_h
21 
23 #include "itkObjectFactory.h"
24 
25 namespace itk
26 {
34 template <typename TInput, typename TOutput>
35 class ITK_TEMPLATE_EXPORT FastMarchingThresholdStoppingCriterion
36  : public FastMarchingStoppingCriterionBase<TInput, TOutput>
37 {
38 public:
39  ITK_DISALLOW_COPY_AND_MOVE(FastMarchingThresholdStoppingCriterion);
40 
42  using Superclass = FastMarchingStoppingCriterionBase<TInput, TOutput>;
45 
47  itkNewMacro(Self);
48 
50  itkOverrideGetNameOfClassMacro(FastMarchingThresholdStoppingCriterion);
51 
52  using typename Superclass::OutputPixelType;
53  using typename Superclass::NodeType;
54 
56  itkSetMacro(Threshold, OutputPixelType);
57  itkGetMacro(Threshold, OutputPixelType);
60  bool
61  IsSatisfied() const override
62  {
63  return (this->m_CurrentValue >= this->m_Threshold);
64  }
65 
66  std::string
67  GetDescription() const override
68  {
69  return "Current Value >= Threshold";
70  }
71 
72 protected:
74  : Superclass()
75  , m_Threshold(OutputPixelType{})
76  {}
77 
78  ~FastMarchingThresholdStoppingCriterion() override = default;
79 
80  OutputPixelType m_Threshold{};
81 
82  void
83  SetCurrentNode(const NodeType &) override
84  {}
85 
86  void
87  Reset() override
88  {}
89 };
90 
91 } // namespace itk
92 #endif // itkFastMarchingThresholdStoppingCriterion_h
itkObjectFactory.h
itk::FastMarchingThresholdStoppingCriterion::FastMarchingThresholdStoppingCriterion
FastMarchingThresholdStoppingCriterion()
Definition: itkFastMarchingThresholdStoppingCriterion.h:73
itk::FastMarchingThresholdStoppingCriterion::Superclass
FastMarchingStoppingCriterionBase< TInput, TOutput > Superclass
Definition: itkFastMarchingThresholdStoppingCriterion.h:42
itk::SmartPointer< Self >
itk::FastMarchingThresholdStoppingCriterion::GetDescription
std::string GetDescription() const override
Definition: itkFastMarchingThresholdStoppingCriterion.h:67
itk::FastMarchingThresholdStoppingCriterion::IsSatisfied
bool IsSatisfied() const override
Definition: itkFastMarchingThresholdStoppingCriterion.h:61
itk::FastMarchingThresholdStoppingCriterion
Stopping Criterion is verified when Current Value is equal to or greater than the provided threshold.
Definition: itkFastMarchingThresholdStoppingCriterion.h:35
itk::FastMarchingThresholdStoppingCriterion::Reset
void Reset() override
Definition: itkFastMarchingThresholdStoppingCriterion.h:87
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itkFastMarchingStoppingCriterionBase.h
itk::FastMarchingThresholdStoppingCriterion::SetCurrentNode
void SetCurrentNode(const NodeType &) override
Definition: itkFastMarchingThresholdStoppingCriterion.h:83