ITK  4.4.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< class TInputImage,
84  class TFeatureImage,
85  class TOutputPixelType = float >
87  public SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >
88 {
89 public:
96 
98  typedef typename Superclass::ValueType ValueType;
99  typedef typename Superclass::OutputImageType OutputImageType;
100  typedef typename Superclass::FeatureImageType FeatureImageType;
101 
106 
109 
111  itkNewMacro(Self);
112 
115  void SetUpperThreshold(ValueType v)
116  {
117  this->m_ThresholdFunction->SetUpperThreshold(v);
118  this->Modified();
119  }
121 
122  void SetLowerThreshold(ValueType v)
123  {
124  this->m_ThresholdFunction->SetLowerThreshold(v);
125  this->Modified();
126  }
127 
128  ValueType GetUpperThreshold() const
129  {
130  return m_ThresholdFunction->GetUpperThreshold();
131  }
132 
133  ValueType GetLowerThreshold() const
134  {
135  return m_ThresholdFunction->GetLowerThreshold();
136  }
137 
140  void SetEdgeWeight(ValueType v)
141  {
142  this->m_ThresholdFunction->SetEdgeWeight(v);
143  this->Modified();
144  }
146 
147  ValueType GetEdgeWeight() const
148  {
149  return m_ThresholdFunction->GetEdgeWeight();
150  }
151 
155  void SetSmoothingIterations(int v)
156  {
157  this->m_ThresholdFunction->SetSmoothingIterations(v);
158  this->Modified();
159  }
161 
162  int GetSmoothingIterations() const
163  {
164  return m_ThresholdFunction->GetSmoothingIterations();
165  }
166 
170  void SetSmoothingTimeStep(ValueType v)
171  {
172  this->m_ThresholdFunction->SetSmoothingTimeStep(v);
173  this->Modified();
174  }
176 
177  ValueType GetSmoothingTimeStep() const
178  {
179  return m_ThresholdFunction->GetSmoothingTimeStep();
180  }
181 
185  void SetSmoothingConductance(ValueType v)
186  {
187  this->m_ThresholdFunction->SetSmoothingConductance(v);
188  this->Modified();
189  }
191 
192  ValueType GetSmoothingConductance() const
193  {
194  return m_ThresholdFunction->GetSmoothingConductance();
195  }
196 
197 protected:
200 
201  virtual void PrintSelf(std::ostream & os, Indent indent) const;
202 
203  ThresholdSegmentationLevelSetImageFilter(const Self &); // purposely not impl.
204  void operator=(const Self &); //purposely not
205  // implemented
206 
207 private:
209 };
210 } // end namespace itk
211 
212 #ifndef ITK_MANUAL_INSTANTIATION
213 #include "itkThresholdSegmentationLevelSetImageFilter.hxx"
214 #endif
215 
216 #endif
217