18 #ifndef sitkCannySegmentationLevelSetImageFilter_h
19 #define sitkCannySegmentationLevelSetImageFilter_h
144 SITK_RETURN_SELF_TYPE_HEADER
SetVariance (
double Variance ) { this->m_Variance = Variance;
return *
this; }
153 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumRMSError (
double MaximumRMSError ) { this->m_MaximumRMSError = MaximumRMSError;
return *
this; }
161 SITK_RETURN_SELF_TYPE_HEADER
SetPropagationScaling (
double PropagationScaling ) { this->m_PropagationScaling = PropagationScaling;
return *
this; }
169 SITK_RETURN_SELF_TYPE_HEADER
SetCurvatureScaling (
double CurvatureScaling ) { this->m_CurvatureScaling = CurvatureScaling;
return *
this; }
177 SITK_RETURN_SELF_TYPE_HEADER
SetAdvectionScaling (
double AdvectionScaling ) { this->m_AdvectionScaling = AdvectionScaling;
return *
this; }
193 SITK_RETURN_SELF_TYPE_HEADER
SetReverseExpansionDirection (
bool ReverseExpansionDirection ) { this->m_ReverseExpansionDirection = ReverseExpansionDirection;
return *
this; }
205 SITK_RETURN_SELF_TYPE_HEADER
SetIsoSurfaceValue (
double IsoSurfaceValue ) { this->m_IsoSurfaceValue = IsoSurfaceValue;
return *
this; }
236 std::string
GetName()
const {
return std::string (
"CannySegmentationLevelSetImageFilter"); }
239 std::string ToString()
const;
246 Image Execute (
const Image & initialImage,
const Image & featureImage );
253 template <
class TImageType>
Image ExecuteInternal (
const Image * initialImage,
const Image * featureImage );
261 double m_Threshold{0.0};
263 double m_Variance{0.0};
266 double m_MaximumRMSError{0.02};
269 double m_PropagationScaling{1.0};
272 double m_CurvatureScaling{1.0};
275 double m_AdvectionScaling{1.0};
281 bool m_ReverseExpansionDirection{
false};
284 double m_IsoSurfaceValue{0.0};
289 double m_RMSChange{0.0};
294 bool m_InPlace{
false};
307 SITKBasicFilters_EXPORT Image CannySegmentationLevelSet (
Image && initialImage,
const Image & featureImage,
double threshold = 0.0,
double variance = 0.0,
double maximumRMSError = 0.02,
double propagationScaling = 1.0,
double curvatureScaling = 1.0,
double advectionScaling = 1.0,
uint32_t numberOfIterations = 1000u,
bool reverseExpansionDirection =
false,
double isoSurfaceValue = 0.0 );
309 SITKBasicFilters_EXPORT Image CannySegmentationLevelSet (
const Image & initialImage,
const Image & featureImage,
double threshold = 0.0,
double variance = 0.0,
double maximumRMSError = 0.02,
double propagationScaling = 1.0,
double curvatureScaling = 1.0,
double advectionScaling = 1.0,
uint32_t numberOfIterations = 1000u,
bool reverseExpansionDirection =
false,
double isoSurfaceValue = 0.0 );