18 #ifndef __itkNarrowBandLevelSetImageFilter_h
19 #define __itkNarrowBandLevelSetImageFilter_h
142 template<
class TInputImage,
144 class TOutputPixelType = float,
145 class TOutputImage = Image< TOutputPixelType,
183 m_SegmentationFunction->SetFeatureImage(f);
200 {
return m_SegmentationFunction->GetSpeedImage(); }
203 {
return m_SegmentationFunction->GetAdvectionImage(); }
208 void SetUseNegativeFeaturesOn()
211 <<
"SetUseNegativeFeaturesOn has been deprecated. Please use ReverseExpansionDirectionOn() instead");
212 this->ReverseExpansionDirectionOn();
216 void SetUseNegativeFeaturesOff()
219 <<
"SetUseNegativeFeaturesOff has been deprecated. Please use ReverseExpansionDirectionOff() instead");
220 this->ReverseExpansionDirectionOff();
225 void SetUseNegativeFeatures(
bool u)
227 itkWarningMacro(<<
"SetUseNegativeFeatures has been deprecated. Please use SetReverseExpansionDirection instead");
230 this->SetReverseExpansionDirection(
false);
234 this->SetReverseExpansionDirection(
true);
239 bool GetUseNegativeFeatures()
const
241 itkWarningMacro(<<
"GetUseNegativeFeatures has been deprecated. Please use GetReverseExpansionDirection() instead");
242 if ( this->GetReverseExpansionDirection() ==
false )
260 itkSetMacro(ReverseExpansionDirection,
bool);
261 itkGetConstMacro(ReverseExpansionDirection,
bool);
262 itkBooleanMacro(ReverseExpansionDirection);
271 if ( v != m_SegmentationFunction->GetPropagationWeight() )
273 this->SetPropagationScaling(v);
275 if ( v != m_SegmentationFunction->GetAdvectionWeight() )
277 this->SetAdvectionScaling(v);
286 if ( v != m_SegmentationFunction->GetPropagationWeight() )
288 m_SegmentationFunction->SetPropagationWeight(v);
295 return m_SegmentationFunction->GetPropagationWeight();
302 if ( v != m_SegmentationFunction->GetAdvectionWeight() )
304 m_SegmentationFunction->SetAdvectionWeight(v);
311 return m_SegmentationFunction->GetAdvectionWeight();
320 if ( v != m_SegmentationFunction->GetCurvatureWeight() )
322 m_SegmentationFunction->SetCurvatureWeight(v);
329 return m_SegmentationFunction->GetCurvatureWeight();
334 virtual void SetSegmentationFunction(SegmentationFunctionType *s);
337 {
return m_SegmentationFunction; }
341 void SetMaximumIterations(
unsigned int i)
343 itkWarningMacro(
"SetMaximumIterations is deprecated. Please use SetNumberOfIterations instead.");
344 this->SetNumberOfIterations(i);
348 unsigned int GetMaximumIterations()
350 itkWarningMacro(
"GetMaximumIterations is deprecated. Please use GetNumberOfIterations instead.");
351 return this->GetNumberOfIterations();
354 virtual void SetMaximumRMSError(
const double)
357 "The current implmentation of this solver does not compute maximum RMS change. The maximum RMS error value will not be set or used.");
360 #ifdef ITK_USE_CONCEPT_CHECKING
373 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
375 void operator=(
const Self &);
378 virtual void InitializeIteration()
380 Superclass::InitializeIteration();
382 this->SetProgress( (
float)( (
float)this->GetElapsedIterations()
383 / (
float)this->GetNumberOfIterations() ) );
390 virtual void CreateNarrowBand();
416 #ifndef ITK_MANUAL_INSTANTIATION
417 #include "itkNarrowBandLevelSetImageFilter.hxx"