ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkThresholdSegmentationLevelSetImageFilter.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 #ifndef itkThresholdSegmentationLevelSetImageFilter_h
19 #define itkThresholdSegmentationLevelSetImageFilter_h
20 
23 
24 namespace itk
25 {
83 template< typename TInputImage,
84  typename TFeatureImage,
85  typename TOutputPixelType = float >
86 class ITK_TEMPLATE_EXPORT ThresholdSegmentationLevelSetImageFilter:
87  public SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >
88 {
89 public:
90  ITK_DISALLOW_COPY_AND_ASSIGN(ThresholdSegmentationLevelSetImageFilter);
91 
94  using Superclass =
98 
100  using ValueType = typename Superclass::ValueType;
101  using OutputImageType = typename Superclass::OutputImageType;
102  using FeatureImageType = typename Superclass::FeatureImageType;
103 
108 
111 
113  itkNewMacro(Self);
114 
118  {
119  this->m_ThresholdFunction->SetUpperThreshold(v);
120  this->Modified();
121  }
123 
125  {
126  this->m_ThresholdFunction->SetLowerThreshold(v);
127  this->Modified();
128  }
129 
131  {
132  return m_ThresholdFunction->GetUpperThreshold();
133  }
134 
136  {
137  return m_ThresholdFunction->GetLowerThreshold();
138  }
139 
143  {
144  this->m_ThresholdFunction->SetEdgeWeight(v);
145  this->Modified();
146  }
148 
150  {
151  return m_ThresholdFunction->GetEdgeWeight();
152  }
153 
158  {
159  this->m_ThresholdFunction->SetSmoothingIterations(v);
160  this->Modified();
161  }
163 
165  {
166  return m_ThresholdFunction->GetSmoothingIterations();
167  }
168 
173  {
174  this->m_ThresholdFunction->SetSmoothingTimeStep(v);
175  this->Modified();
176  }
178 
180  {
181  return m_ThresholdFunction->GetSmoothingTimeStep();
182  }
183 
188  {
189  this->m_ThresholdFunction->SetSmoothingConductance(v);
190  this->Modified();
191  }
193 
195  {
196  return m_ThresholdFunction->GetSmoothingConductance();
197  }
198 
199 protected:
200  ~ThresholdSegmentationLevelSetImageFilter() override = default;
202 
203  void PrintSelf(std::ostream & os, Indent indent) const override;
204 
205 private:
207 };
208 } // end namespace itk
209 
210 #ifndef ITK_MANUAL_INSTANTIATION
211 #include "itkThresholdSegmentationLevelSetImageFilter.hxx"
212 #endif
213 
214 #endif
Light weight base class for most itk classes.
Segments structures in images based on intensity values.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
A base class which defines the API for implementing a special class of image segmentation filters usi...
Templated n-dimensional image class.
Definition: itkImage.h:75
This function is used in ThresholdSegmentationLevelSetImageFilter to segment structures in images bas...