ITK  6.0.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
24namespace itk
25{
83template <typename TInputImage, typename TFeatureImage, typename TOutputPixelType = float>
85 : public SegmentationLevelSetImageFilter<TInputImage, TFeatureImage, TOutputPixelType>
86{
87public:
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
207protected:
210
211 void
212 PrintSelf(std::ostream & os, Indent indent) const override;
213
214private:
215 ThresholdFunctionPointer m_ThresholdFunction{};
216};
217} // end namespace itk
218
219#ifndef ITK_MANUAL_INSTANTIATION
220# include "itkThresholdSegmentationLevelSetImageFilter.hxx"
221#endif
222
223#endif
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
A base class which defines the API for implementing a special class of image segmentation filters usi...
This function is used in ThresholdSegmentationLevelSetImageFilter to segment structures in images bas...
Segments structures in images based on intensity values.
~ThresholdSegmentationLevelSetImageFilter() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....