18#ifndef sitkThresholdSegmentationLevelSetImageFilter_h
19#define sitkThresholdSegmentationLevelSetImageFilter_h
172 std::string
GetName()
const {
return std::string (
"ThresholdSegmentationLevelSetImageFilter"); }
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 );
The Image class for SimpleITK.
uint32_t m_NumberOfIterations
uint32_t m_ElapsedIterations
Image Execute(Image &&initialImage, const Image &featureImage)
Image(Self::*)(const Image *initialImage, const Image *featureImage) MemberFunctionType
double m_CurvatureScaling
Self & SetReverseExpansionDirection(bool ReverseExpansionDirection)
Self & SetUpperThreshold(double UpperThreshold)
bool m_ReverseExpansionDirection
double GetPropagationScaling() const
Self & SetNumberOfIterations(uint32_t NumberOfIterations)
Image ExecuteInternal(const Image *initialImage, const Image *featureImage)
uint32_t GetElapsedIterations() const
Number of iterations run.
double GetLowerThreshold() const
double GetUpperThreshold() const
Self & SetLowerThreshold(double LowerThreshold)
Self & ReverseExpansionDirectionOn()
Self & SetMaximumRMSError(double MaximumRMSError)
Self & SetPropagationScaling(double PropagationScaling)
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
double m_PropagationScaling
double GetRMSChange() const
The Root Mean Square of the levelset upon termination.
double GetMaximumRMSError() const
Self & ReverseExpansionDirectionOff()
virtual ~ThresholdSegmentationLevelSetImageFilter()
bool GetReverseExpansionDirection() const
ThresholdSegmentationLevelSetImageFilter()
Self & SetCurvatureScaling(double CurvatureScaling)
uint32_t GetNumberOfIterations() const
Image Execute(const Image &initialImage, const Image &featureImage)
ThresholdSegmentationLevelSetImageFilter Self
std::string GetName() const
std::string ToString() const
RealPixelIDTypeList PixelIDTypeList
double GetCurvatureScaling() const
typelist2::typelist< BasicPixelID< float >, BasicPixelID< double > > RealPixelIDTypeList
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)
Segments structures in images based on intensity values.
#define SITKBasicFilters_EXPORT