18 #ifndef sitkShapeDetectionLevelSetImageFilter_h
19 #define sitkShapeDetectionLevelSetImageFilter_h
112 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumRMSError (
double MaximumRMSError ) { this->m_MaximumRMSError = MaximumRMSError;
return *
this; }
120 SITK_RETURN_SELF_TYPE_HEADER
SetPropagationScaling (
double PropagationScaling ) { this->m_PropagationScaling = PropagationScaling;
return *
this; }
128 SITK_RETURN_SELF_TYPE_HEADER
SetCurvatureScaling (
double CurvatureScaling ) { this->m_CurvatureScaling = CurvatureScaling;
return *
this; }
136 SITK_RETURN_SELF_TYPE_HEADER
SetNumberOfIterations ( uint32_t NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations;
return *
this; }
144 SITK_RETURN_SELF_TYPE_HEADER
SetReverseExpansionDirection (
bool ReverseExpansionDirection ) { this->m_ReverseExpansionDirection = ReverseExpansionDirection;
return *
this; }
171 std::string
GetName()
const {
return std::string (
"ShapeDetectionLevelSetImageFilter"); }
174 std::string ToString()
const;
181 Image Execute (
const Image & initialImage,
const Image & featureImage );
188 template <
class TImageType>
Image ExecuteInternal (
const Image * initialImage,
const Image * featureImage );
197 double m_MaximumRMSError{0.02};
200 double m_PropagationScaling{1.0};
203 double m_CurvatureScaling{1.0};
206 uint32_t m_NumberOfIterations{1000u};
209 bool m_ReverseExpansionDirection{
false};
212 uint32_t m_ElapsedIterations{0};
214 double m_RMSChange{0.0};
217 bool m_InPlace{
false};