18 #ifndef __itkSegmentationLevelSetImageFilter_h
19 #define __itkSegmentationLevelSetImageFilter_h
142 template<
class TInputImage,
144 class TOutputPixelType =
float >
147 TInputImage::ImageDimension > >
186 void SetMaximumIterations(
unsigned int i)
188 itkWarningMacro(
"SetMaximumIterations is deprecated. Please use SetNumberOfIterations instead.");
189 this->SetNumberOfIterations(i);
193 unsigned int GetMaximumIterations()
195 itkWarningMacro(
"GetMaximumIterations is deprecated. Please use GetNumberOfIterations instead.");
196 return this->GetNumberOfIterations();
204 m_SegmentationFunction->SetFeatureImage(f);
221 this->SetFeatureImage(input);
228 { m_SegmentationFunction->SetSpeedImage(s); }
234 { m_SegmentationFunction->SetAdvectionImage(v); }
239 {
return m_SegmentationFunction->GetSpeedImage(); }
244 {
return m_SegmentationFunction->GetAdvectionImage(); }
249 void SetUseNegativeFeaturesOn()
252 <<
"SetUseNegativeFeaturesOn has been deprecated. Please use ReverseExpansionDirectionOn() instead");
253 this->ReverseExpansionDirectionOn();
257 void SetUseNegativeFeaturesOff()
260 <<
"SetUseNegativeFeaturesOff has been deprecated. Please use ReverseExpansionDirectionOff() instead");
261 this->ReverseExpansionDirectionOff();
266 void SetUseNegativeFeatures(
bool u)
268 itkWarningMacro(<<
"SetUseNegativeFeatures has been deprecated. Please use SetReverseExpansionDirection instead");
271 this->SetReverseExpansionDirection(
false);
275 this->SetReverseExpansionDirection(
true);
280 bool GetUseNegativeFeatures()
const
282 itkWarningMacro(<<
"GetUseNegativeFeatures has been deprecated. Please use GetReverseExpansionDirection() instead");
283 if ( m_ReverseExpansionDirection ==
false )
301 itkSetMacro(ReverseExpansionDirection,
bool);
302 itkGetConstMacro(ReverseExpansionDirection,
bool);
303 itkBooleanMacro(ReverseExpansionDirection);
311 itkSetMacro(AutoGenerateSpeedAdvection,
bool);
312 itkGetConstMacro(AutoGenerateSpeedAdvection,
bool);
313 itkBooleanMacro(AutoGenerateSpeedAdvection);
322 if ( v != m_SegmentationFunction->GetPropagationWeight() )
324 this->SetPropagationScaling(v);
326 if ( v != m_SegmentationFunction->GetAdvectionWeight() )
328 this->SetAdvectionScaling(v);
337 if ( v != m_SegmentationFunction->GetPropagationWeight() )
339 m_SegmentationFunction->SetPropagationWeight(v);
347 return m_SegmentationFunction->GetPropagationWeight();
354 if ( v != m_SegmentationFunction->GetAdvectionWeight() )
356 m_SegmentationFunction->SetAdvectionWeight(v);
364 return m_SegmentationFunction->GetAdvectionWeight();
373 if ( v != m_SegmentationFunction->GetCurvatureWeight() )
375 m_SegmentationFunction->SetCurvatureWeight(v);
383 return m_SegmentationFunction->GetCurvatureWeight();
387 void SetUseMinimalCurvature(
bool b)
389 if ( m_SegmentationFunction->GetUseMinimalCurvature() != b )
391 m_SegmentationFunction->SetUseMinimalCurvature(b);
397 bool GetUseMinimalCurvature()
const
399 return m_SegmentationFunction->GetUseMinimalCurvature();
402 void UseMinimalCurvatureOn()
404 this->SetUseMinimalCurvature(
true);
407 void UseMinimalCurvatureOff()
409 this->SetUseMinimalCurvature(
false);
419 m_SegmentationFunction = s;
425 this->SetDifferenceFunction(m_SegmentationFunction);
430 {
return m_SegmentationFunction; }
436 void SetMaximumCurvatureTimeStep(
double n)
438 if ( n != m_SegmentationFunction->GetMaximumCurvatureTimeStep() )
446 double GetMaximumCurvatureTimeStep()
const
448 return m_SegmentationFunction->GetMaximumCurvatureTimeStep();
455 void SetMaximumPropagationTimeStep(
double n)
457 if ( n != m_SegmentationFunction->GetMaximumPropagationTimeStep() )
459 m_SegmentationFunction->SetMaximumPropagationTimeStep(n);
465 double GetMaximumPropagationTimeStep()
const
467 return m_SegmentationFunction->GetMaximumPropagationTimeStep();
473 void GenerateSpeedImage();
478 void GenerateAdvectionImage();
480 #ifdef ITK_USE_CONCEPT_CHECKING
492 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
495 virtual void InitializeIteration()
497 Superclass::InitializeIteration();
499 this->SetProgress( (
float)( (
float)this->GetElapsedIterations()
500 / (
float)this->GetNumberOfIterations() ) );
520 void operator=(
const Self &);
526 #ifndef ITK_MANUAL_INSTANTIATION
527 #include "itkSegmentationLevelSetImageFilter.hxx"