17 #ifndef __itkNarrowBandLevelSetImageFilter_h
18 #define __itkNarrowBandLevelSetImageFilter_h
139 template <
class TInputImage,
141 class TOutputPixelType = float,
142 class TOutputImage = Image<TOutputPixelType,
179 m_SegmentationFunction->SetFeatureImage(f);
194 {
return m_SegmentationFunction->GetSpeedImage(); }
197 {
return m_SegmentationFunction->GetAdvectionImage(); }
202 void SetUseNegativeFeaturesOn()
204 itkWarningMacro( <<
"SetUseNegativeFeaturesOn has been deprecated. Please use ReverseExpansionDirectionOn() instead" );
205 this->ReverseExpansionDirectionOn();
207 void SetUseNegativeFeaturesOff()
209 itkWarningMacro( <<
"SetUseNegativeFeaturesOff has been deprecated. Please use ReverseExpansionDirectionOff() instead" );
210 this->ReverseExpansionDirectionOff();
215 void SetUseNegativeFeatures(
bool u )
217 itkWarningMacro( <<
"SetUseNegativeFeatures has been deprecated. Please use SetReverseExpansionDirection instead" );
220 this->SetReverseExpansionDirection(
false);
224 this->SetReverseExpansionDirection(
true);
227 bool GetUseNegativeFeatures()
const
229 itkWarningMacro( <<
"GetUseNegativeFeatures has been deprecated. Please use GetReverseExpansionDirection() instead" );
230 if ( this->GetReverseExpansionDirection() ==
false)
248 itkSetMacro(ReverseExpansionDirection,
bool);
249 itkGetConstMacro(ReverseExpansionDirection,
bool);
250 itkBooleanMacro(ReverseExpansionDirection);
258 if (v != m_SegmentationFunction->GetPropagationWeight())
260 this->SetPropagationScaling(v);
262 if (v != m_SegmentationFunction->GetAdvectionWeight())
264 this->SetAdvectionScaling(v);
272 if (v != m_SegmentationFunction->GetPropagationWeight())
274 m_SegmentationFunction->SetPropagationWeight(v);
279 return m_SegmentationFunction->GetPropagationWeight();
286 if (v != m_SegmentationFunction->GetAdvectionWeight())
288 m_SegmentationFunction->SetAdvectionWeight(v);
293 return m_SegmentationFunction->GetAdvectionWeight();
302 if (v != m_SegmentationFunction->GetCurvatureWeight())
304 m_SegmentationFunction->SetCurvatureWeight(v);
309 return m_SegmentationFunction->GetCurvatureWeight();
314 virtual void SetSegmentationFunction(SegmentationFunctionType *s);
316 {
return m_SegmentationFunction; }
320 void SetMaximumIterations (
unsigned int i)
322 itkWarningMacro(
"SetMaximumIterations is deprecated. Please use SetNumberOfIterations instead.");
323 this->SetNumberOfIterations(i);
325 unsigned int GetMaximumIterations()
327 itkWarningMacro(
"GetMaximumIterations is deprecated. Please use GetNumberOfIterations instead.");
328 return this->GetNumberOfIterations();
331 virtual void SetMaximumRMSError(
const double)
333 itkWarningMacro(
"The current implmentation of this solver does not compute maximum RMS change. The maximum RMS error value will not be set or used.");
336 #ifdef ITK_USE_CONCEPT_CHECKING
348 virtual void PrintSelf(std::ostream& os,
Indent indent)
const;
349 void operator=(
const Self&);
352 virtual void InitializeIteration()
354 Superclass::InitializeIteration();
356 this->SetProgress( (
float) ((
float)this->GetElapsedIterations()
357 / (
float)this->GetNumberOfIterations()) );
363 virtual void CreateNarrowBand ();
389 #ifndef ITK_MANUAL_INSTANTIATION