ITK  5.2.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  * 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 itkFastMarchingThresholdStoppingCriterion_h
20 #define itkFastMarchingThresholdStoppingCriterion_h
21 
23 #include "itkObjectFactory.h"
24 
25 namespace itk
26 {
34 template <typename TInput, typename TOutput>
35 class FastMarchingThresholdStoppingCriterion : public FastMarchingStoppingCriterionBase<TInput, TOutput>
36 {
37 public:
38  ITK_DISALLOW_COPY_AND_MOVE(FastMarchingThresholdStoppingCriterion);
39 
41  using Superclass = FastMarchingStoppingCriterionBase<TInput, TOutput>;
44 
46  itkNewMacro(Self);
47 
49  itkTypeMacro(FastMarchingThresholdStoppingCriterion, FastMarchingStoppingCriterionBase);
50 
51  using OutputPixelType = typename Superclass::OutputPixelType;
52  using NodeType = typename Superclass::NodeType;
53 
55  itkSetMacro(Threshold, OutputPixelType);
56  itkGetMacro(Threshold, OutputPixelType);
58 
59  bool
60  IsSatisfied() const override
61  {
62  return (this->m_CurrentValue >= this->m_Threshold);
63  }
64 
65  std::string
66  GetDescription() const override
67  {
68  return "Current Value >= Threshold";
69  }
70 
71 protected:
73  : Superclass()
75  {}
76 
77  ~FastMarchingThresholdStoppingCriterion() override = default;
78 
80 
81  void
82  SetCurrentNode(const NodeType &) override
83  {}
84 
85  void
86  Reset() override
87  {}
88 };
89 
90 } // namespace itk
91 #endif // itkFastMarchingThresholdStoppingCriterion_h
itkObjectFactory.h
itk::FastMarchingThresholdStoppingCriterion::NodeType
typename Superclass::NodeType NodeType
Definition: itkFastMarchingThresholdStoppingCriterion.h:52
itk::FastMarchingThresholdStoppingCriterion::~FastMarchingThresholdStoppingCriterion
~FastMarchingThresholdStoppingCriterion() override=default
itk::FastMarchingThresholdStoppingCriterion::FastMarchingThresholdStoppingCriterion
FastMarchingThresholdStoppingCriterion()
Definition: itkFastMarchingThresholdStoppingCriterion.h:72
itk::FastMarchingThresholdStoppingCriterion::Superclass
FastMarchingStoppingCriterionBase< TInput, TOutput > Superclass
Definition: itkFastMarchingThresholdStoppingCriterion.h:41
itk::SmartPointer< Self >
itk::FastMarchingThresholdStoppingCriterion::GetDescription
std::string GetDescription() const override
Definition: itkFastMarchingThresholdStoppingCriterion.h:66
itk::FastMarchingThresholdStoppingCriterion::IsSatisfied
bool IsSatisfied() const override
Definition: itkFastMarchingThresholdStoppingCriterion.h:60
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:86
itk::FastMarchingThresholdStoppingCriterion::m_Threshold
OutputPixelType m_Threshold
Definition: itkFastMarchingThresholdStoppingCriterion.h:79
itk::NumericTraits
Define additional traits for native types such as int or float.
Definition: itkNumericTraits.h:58
itk::FastMarchingThresholdStoppingCriterion::OutputPixelType
typename Superclass::OutputPixelType OutputPixelType
Definition: itkFastMarchingThresholdStoppingCriterion.h:51
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:82