ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkNarrowBandThresholdSegmentationLevelSetImageFilter.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 itkNarrowBandThresholdSegmentationLevelSetImageFilter_h
19#define itkNarrowBandThresholdSegmentationLevelSetImageFilter_h
20
23
24namespace itk
25{
83template <typename TInputImage, typename TFeatureImage, typename TOutputPixelType = float>
85 : public NarrowBandLevelSetImageFilter<TInputImage,
86 TFeatureImage,
87 TOutputPixelType,
88 Image<TOutputPixelType, TInputImage::ImageDimension>>
89{
90public:
94 TFeatureImage,
95 TOutputPixelType,
99
101 using typename Superclass::ValueType;
102 using typename Superclass::OutputImageType;
103 using typename Superclass::FeatureImageType;
104
108
111
113 itkNewMacro(Self);
114
117 void
119 {
120 this->m_ThresholdFunction->SetUpperThreshold(v);
121 this->Modified();
122 }
123
124
125 void
127 {
128 this->m_ThresholdFunction->SetLowerThreshold(v);
129 this->Modified();
130 }
131
132 ValueType
134 {
135 return m_ThresholdFunction->GetUpperThreshold();
136 }
137
138 ValueType
140 {
141 return m_ThresholdFunction->GetLowerThreshold();
142 }
143
146 void
148 {
149 this->m_ThresholdFunction->SetEdgeWeight(v);
150 this->Modified();
151 }
152
153
154 ValueType
156 {
157 return m_ThresholdFunction->GetEdgeWeight();
158 }
159
163 void
165 {
166 this->m_ThresholdFunction->SetSmoothingIterations(v);
167 this->Modified();
168 }
169
170
171 int
173 {
174 return m_ThresholdFunction->GetSmoothingIterations();
175 }
176
180 void
182 {
183 this->m_ThresholdFunction->SetSmoothingTimeStep(v);
184 this->Modified();
185 }
186
187
188 ValueType
190 {
191 return m_ThresholdFunction->GetSmoothingTimeStep();
192 }
193
197 void
199 {
200 this->m_ThresholdFunction->SetSmoothingConductance(v);
201 this->Modified();
202 }
203
204
205 ValueType
207 {
208 return m_ThresholdFunction->GetSmoothingConductance();
209 }
210
211 itkConceptMacro(OutputHasNumericTraitsCheck, (Concept::HasNumericTraits<TOutputPixelType>));
212
213protected:
216
217 void
218 PrintSelf(std::ostream & os, Indent indent) const override;
219
221 // not impl.
222 void
223 operator=(const Self &); // purposely
224 // not
225 // implemented
226
227private:
229};
230} // end namespace itk
231
232#ifndef ITK_MANUAL_INSTANTIATION
233# include "itkNarrowBandThresholdSegmentationLevelSetImageFilter.hxx"
234#endif
235
236#endif
Templated n-dimensional image class.
Definition itkImage.h:89
Control indentation during Print() invocation.
Definition itkIndent.h:50
NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > > Superclass
void PrintSelf(std::ostream &os, Indent indent) const override
typename OutputImageType::ValueType ValueType
ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType > ThresholdFunctionType
virtual void Modified() const
Implements transparent reference counting.
This function is used in ThresholdSegmentationLevelSetImageFilter to segment structures in images bas...
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....