ITK  4.13.0
Insight Segmentation and Registration Toolkit
itkFastMarchingNumberOfElementsStoppingCriterion.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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 >
42 public FastMarchingStoppingCriterionBase< TInput, TOutput >
43 {
44 public:
49 
51  itkNewMacro(Self);
52 
56 
58  typedef typename Superclass::NodeType NodeType;
59 
61  itkSetMacro( TargetNumberOfElements, IdentifierType );
62  itkGetMacro( TargetNumberOfElements, IdentifierType );
64 
65  bool IsSatisfied() const ITK_OVERRIDE
66  {
67  return ( this->m_CurrentNumberOfElements >= this->m_TargetNumberOfElements );
68  }
69 
70  std::string GetDescription() const ITK_OVERRIDE
71  {
72  return "Current Number of Elements >= Target Number of Elements";
73  }
74 
75 protected:
79  {}
80 
82 
85 
86  void SetCurrentNode( const NodeType& ) ITK_OVERRIDE
87  {
89  }
90 
91  void Reset() ITK_OVERRIDE
92  {
94  }
95 
96 private:
97  ITK_DISALLOW_COPY_AND_ASSIGN(FastMarchingNumberOfElementsStoppingCriterion);
98 };
99 
100 }
101 #endif // itkFastMarchingNumberOfElementsStoppingCriterion_h
Light weight base class for most itk classes.
SizeValueType IdentifierType
Definition: itkIntTypes.h:147
Abstract Stopping Criterion dedicated for Fast Marching Methods.
Define additional traits for native types such as int or float.
Stopping Criterion is verified when Current Number of Elements is equal to or greater than the provid...