ITK  5.4.0
Insight Toolkit
itkThresholdSegmentationLevelSetImageFilter.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 #ifndef itkThresholdSegmentationLevelSetImageFilter_h
19 #define itkThresholdSegmentationLevelSetImageFilter_h
20 
23 
24 namespace itk
25 {
83 template <typename TInputImage, typename TFeatureImage, typename TOutputPixelType = float>
85  : public SegmentationLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType>
86 {
87 public:
88  ITK_DISALLOW_COPY_AND_MOVE(ThresholdSegmentationLevelSetImageFilter);
89 
95 
97  using typename Superclass::ValueType;
98  using typename Superclass::OutputImageType;
99  using typename Superclass::FeatureImageType;
100 
104 
106  itkOverrideGetNameOfClassMacro(ThresholdSegmentationLevelSetImageFilter);
107 
109  itkNewMacro(Self);
110 
113  void
115  {
116  this->m_ThresholdFunction->SetUpperThreshold(v);
117  this->Modified();
118  }
121  void
123  {
124  this->m_ThresholdFunction->SetLowerThreshold(v);
125  this->Modified();
126  }
127 
128  ValueType
130  {
131  return m_ThresholdFunction->GetUpperThreshold();
132  }
133 
134  ValueType
136  {
137  return m_ThresholdFunction->GetLowerThreshold();
138  }
139 
142  void
144  {
145  this->m_ThresholdFunction->SetEdgeWeight(v);
146  this->Modified();
147  }
150  ValueType
152  {
153  return m_ThresholdFunction->GetEdgeWeight();
154  }
155 
159  void
161  {
162  this->m_ThresholdFunction->SetSmoothingIterations(v);
163  this->Modified();
164  }
167  int
169  {
170  return m_ThresholdFunction->GetSmoothingIterations();
171  }
172 
176  void
178  {
179  this->m_ThresholdFunction->SetSmoothingTimeStep(v);
180  this->Modified();
181  }
184  ValueType
186  {
187  return m_ThresholdFunction->GetSmoothingTimeStep();
188  }
189 
193  void
195  {
196  this->m_ThresholdFunction->SetSmoothingConductance(v);
197  this->Modified();
198  }
201  ValueType
203  {
204  return m_ThresholdFunction->GetSmoothingConductance();
205  }
206 
207 protected:
208  ~ThresholdSegmentationLevelSetImageFilter() override = default;
210 
211  void
212  PrintSelf(std::ostream & os, Indent indent) const override;
213 
214 private:
215  ThresholdFunctionPointer m_ThresholdFunction{};
216 };
217 } // end namespace itk
218 
219 #ifndef ITK_MANUAL_INSTANTIATION
220 # include "itkThresholdSegmentationLevelSetImageFilter.hxx"
221 #endif
222 
223 #endif
itk::ThresholdSegmentationLevelSetImageFilter::SetSmoothingConductance
void SetSmoothingConductance(ValueType v)
Definition: itkThresholdSegmentationLevelSetImageFilter.h:194
itk::SegmentationLevelSetImageFilter
A base class which defines the API for implementing a special class of image segmentation filters usi...
Definition: itkSegmentationLevelSetImageFilter.h:144
Pointer
SmartPointer< Self > Pointer
Definition: itkAddImageFilter.h:93
itk::ThresholdSegmentationLevelSetImageFilter::GetLowerThreshold
ValueType GetLowerThreshold() const
Definition: itkThresholdSegmentationLevelSetImageFilter.h:135
itk::ThresholdSegmentationLevelSetImageFilter
Segments structures in images based on intensity values.
Definition: itkThresholdSegmentationLevelSetImageFilter.h:84
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::ThresholdSegmentationLevelSetImageFilter::GetSmoothingTimeStep
ValueType GetSmoothingTimeStep() const
Definition: itkThresholdSegmentationLevelSetImageFilter.h:185
itkThresholdSegmentationLevelSetFunction.h
itk::ThresholdSegmentationLevelSetImageFilter::GetSmoothingConductance
ValueType GetSmoothingConductance() const
Definition: itkThresholdSegmentationLevelSetImageFilter.h:202
itkSegmentationLevelSetImageFilter.h
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::ThresholdSegmentationLevelSetImageFilter::SetUpperThreshold
void SetUpperThreshold(ValueType v)
Definition: itkThresholdSegmentationLevelSetImageFilter.h:114
itk::ThresholdSegmentationLevelSetImageFilter::ThresholdFunctionPointer
typename ThresholdFunctionType::Pointer ThresholdFunctionPointer
Definition: itkThresholdSegmentationLevelSetImageFilter.h:103
itk::ThresholdSegmentationLevelSetFunction
This function is used in ThresholdSegmentationLevelSetImageFilter to segment structures in images bas...
Definition: itkThresholdSegmentationLevelSetFunction.h:57
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::ThresholdSegmentationLevelSetImageFilter::SetSmoothingTimeStep
void SetSmoothingTimeStep(ValueType v)
Definition: itkThresholdSegmentationLevelSetImageFilter.h:177
itk::ThresholdSegmentationLevelSetImageFilter::SetLowerThreshold
void SetLowerThreshold(ValueType v)
Definition: itkThresholdSegmentationLevelSetImageFilter.h:122
itk::SparseFieldLevelSetImageFilter< TInputImage, Image< TOutputPixelType, TInputImage::ImageDimension > >::ValueType
typename OutputImageType::ValueType ValueType
Definition: itkSparseFieldLevelSetImageFilter.h:274
itk::ThresholdSegmentationLevelSetImageFilter::GetEdgeWeight
ValueType GetEdgeWeight() const
Definition: itkThresholdSegmentationLevelSetImageFilter.h:151
itk::ThresholdSegmentationLevelSetImageFilter::GetUpperThreshold
ValueType GetUpperThreshold() const
Definition: itkThresholdSegmentationLevelSetImageFilter.h:129
itk::ThresholdSegmentationLevelSetImageFilter::GetSmoothingIterations
int GetSmoothingIterations() const
Definition: itkThresholdSegmentationLevelSetImageFilter.h:168
itk::ThresholdSegmentationLevelSetImageFilter::SetEdgeWeight
void SetEdgeWeight(ValueType v)
Definition: itkThresholdSegmentationLevelSetImageFilter.h:143
itk::ThresholdSegmentationLevelSetImageFilter::SetSmoothingIterations
void SetSmoothingIterations(int v)
Definition: itkThresholdSegmentationLevelSetImageFilter.h:160