18 #ifndef sitkThresholdSegmentationLevelSetImageFilter_h
19 #define sitkThresholdSegmentationLevelSetImageFilter_h
88 SITK_RETURN_SELF_TYPE_HEADER
SetLowerThreshold (
double LowerThreshold ) { this->m_LowerThreshold = LowerThreshold;
return *
this; }
97 SITK_RETURN_SELF_TYPE_HEADER
SetUpperThreshold (
double UpperThreshold ) { this->m_UpperThreshold = UpperThreshold;
return *
this; }
105 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumRMSError (
double MaximumRMSError ) { this->m_MaximumRMSError = MaximumRMSError;
return *
this; }
113 SITK_RETURN_SELF_TYPE_HEADER
SetPropagationScaling (
double PropagationScaling ) { this->m_PropagationScaling = PropagationScaling;
return *
this; }
121 SITK_RETURN_SELF_TYPE_HEADER
SetCurvatureScaling (
double CurvatureScaling ) { this->m_CurvatureScaling = CurvatureScaling;
return *
this; }
137 SITK_RETURN_SELF_TYPE_HEADER
SetReverseExpansionDirection (
bool ReverseExpansionDirection ) { this->m_ReverseExpansionDirection = ReverseExpansionDirection;
return *
this; }
163 std::string
GetName()
const {
return std::string (
"ThresholdSegmentationLevelSetImageFilter"); }
166 std::string ToString()
const;
174 Image Execute (
const Image& image1,
const Image& image2,
double lowerThreshold,
double upperThreshold,
double maximumRMSError,
double propagationScaling,
double curvatureScaling,
uint32_t numberOfIterations,
bool reverseExpansionDirection );
181 typedef Image (Self::*MemberFunctionType)(
const Image& image1,
const Image& image2 );
182 template <
class TImageType>
Image ExecuteInternal (
const Image& image1,
const Image& image2 );
Self & SetMaximumRMSError(double MaximumRMSError)
double GetLowerThreshold() const
Self & SetReverseExpansionDirection(bool ReverseExpansionDirection)
Self & SetUpperThreshold(double UpperThreshold)
uint32_t m_NumberOfIterations
#define SITKBasicFilters_EXPORT
ThresholdSegmentationLevelSetImageFilter Self
Image ThresholdSegmentationLevelSet(const Image &image1, const Image &image2, 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)
Segments structures in images based on intensity values.
Segments structures in images based on intensity values.
Self & SetCurvatureScaling(double CurvatureScaling)
typelist::MakeTypeList< BasicPixelID< float >, BasicPixelID< double > >::Type RealPixelIDTypeList
Self & SetPropagationScaling(double PropagationScaling)
Self & ReverseExpansionDirectionOff()
uint32_t m_ElapsedIterations
uint32_t GetElapsedIterations() const
Number of iterations run.
Self & SetLowerThreshold(double LowerThreshold)
uint32_t GetNumberOfIterations() const
std::string GetName() const
bool m_ReverseExpansionDirection
Self & SetNumberOfIterations(uint32_t NumberOfIterations)
double GetUpperThreshold() const
RealPixelIDTypeList PixelIDTypeList
double GetCurvatureScaling() const
Self & ReverseExpansionDirectionOn()
double m_CurvatureScaling
bool GetReverseExpansionDirection() const
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
The main Image class for SimpleITK.
double GetPropagationScaling() const
double GetMaximumRMSError() const
double m_PropagationScaling
double GetRMSChange() const
The Root Mean Square of the levelset upon termination.
The base interface for SimpleITK filters that take one input image.