18 #ifndef sitkThresholdSegmentationLevelSetImageFilter_h
19 #define sitkThresholdSegmentationLevelSetImageFilter_h
96 SITK_RETURN_SELF_TYPE_HEADER
SetLowerThreshold (
double LowerThreshold ) { this->m_LowerThreshold = LowerThreshold;
return *
this; }
105 SITK_RETURN_SELF_TYPE_HEADER
SetUpperThreshold (
double UpperThreshold ) { this->m_UpperThreshold = UpperThreshold;
return *
this; }
113 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumRMSError (
double MaximumRMSError ) { this->m_MaximumRMSError = MaximumRMSError;
return *
this; }
121 SITK_RETURN_SELF_TYPE_HEADER
SetPropagationScaling (
double PropagationScaling ) { this->m_PropagationScaling = PropagationScaling;
return *
this; }
129 SITK_RETURN_SELF_TYPE_HEADER
SetCurvatureScaling (
double CurvatureScaling ) { this->m_CurvatureScaling = CurvatureScaling;
return *
this; }
137 SITK_RETURN_SELF_TYPE_HEADER
SetNumberOfIterations ( uint32_t NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations;
return *
this; }
145 SITK_RETURN_SELF_TYPE_HEADER
SetReverseExpansionDirection (
bool ReverseExpansionDirection ) { this->m_ReverseExpansionDirection = ReverseExpansionDirection;
return *
this; }
172 std::string
GetName()
const {
return std::string (
"ThresholdSegmentationLevelSetImageFilter"); }
175 std::string ToString()
const;
182 Image Execute (
const Image & initialImage,
const Image & featureImage );
189 template <
class TImageType>
Image ExecuteInternal (
const Image * initialImage,
const Image * featureImage );
197 double m_LowerThreshold{0.0};
199 double m_UpperThreshold{255.0};
202 double m_MaximumRMSError{0.02};
205 double m_PropagationScaling{1.0};
208 double m_CurvatureScaling{1.0};
211 uint32_t m_NumberOfIterations{1000u};
214 bool m_ReverseExpansionDirection{
false};
217 uint32_t m_ElapsedIterations{0};
219 double m_RMSChange{0.0};
222 bool m_InPlace{
false};
235 SITKBasicFilters_EXPORT Image ThresholdSegmentationLevelSet (
Image && initialImage,
const Image & featureImage,
double lowerThreshold = 0.0,
double upperThreshold = 255.0,
double maximumRMSError = 0.02,
double propagationScaling = 1.0,
double curvatureScaling = 1.0, uint32_t numberOfIterations = 1000u,
bool reverseExpansionDirection =
false );
237 SITKBasicFilters_EXPORT Image ThresholdSegmentationLevelSet (
const Image & initialImage,
const Image & featureImage,
double lowerThreshold = 0.0,
double upperThreshold = 255.0,
double maximumRMSError = 0.02,
double propagationScaling = 1.0,
double curvatureScaling = 1.0, uint32_t numberOfIterations = 1000u,
bool reverseExpansionDirection =
false );