18#ifndef sitkScalarChanAndVeseDenseLevelSetImageFilter_h
19#define sitkScalarChanAndVeseDenseLevelSetImageFilter_h
193 HeavisideStepFunctionType
233 std::string
GetName()
const {
return std::string(
"ScalarChanAndVeseDenseLevelSetImageFilter"); }
246 initialImage,
const Image *
249 initialImage,
const Image *
310 const Image &initialImage,
const Image &featureImage,
double maximumRMSError = 0.02, uint32_t numberOfIterations = 1000u,
double lambda1 = 1.0,
double lambda2 = 1.0,
double epsilon = 1.0,
double curvatureWeight = 1.0,
double areaWeight = 0.0,
double reinitializationSmoothingWeight = 0.0,
double volume = 0.0,
double volumeMatchingWeight = 0.0,
ScalarChanAndVeseDenseLevelSetImageFilter::HeavisideStepFunctionType heavisideStepFunction =
itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::AtanRegularizedHeaviside,
bool useImageSpacing =
true
The Image class for SimpleITK.
void SetReinitializationSmoothingWeight(double ReinitializationSmoothingWeight)
double GetCurvatureWeight() const
double GetReinitializationSmoothingWeight() const
void SetUseImageSpacing(bool UseImageSpacing)
HeavisideStepFunctionType m_HeavisideStepFunction
double m_ReinitializationSmoothingWeight
void SetVolumeMatchingWeight(double VolumeMatchingWeight)
uint32_t m_NumberOfIterations
ScalarChanAndVeseDenseLevelSetImageFilter()
double m_VolumeMatchingWeight
uint32_t GetNumberOfIterations() const
HeavisideStepFunctionType
@ SinRegularizedHeaviside
@ AtanRegularizedHeaviside
Image ExecuteInternal(const Image *initialImage, const Image *featureImage)
ScalarChanAndVeseDenseLevelSetImageFilter Self
std::string GetName() const
void SetEpsilon(double Epsilon)
void SetLambda1(double Lambda1)
bool GetUseImageSpacing() const
double GetAreaWeight() const
double GetVolumeMatchingWeight() const
double GetLambda2() const
double GetEpsilon() const
uint32_t m_ElapsedIterations
Image Execute(const Image &initialImage, const Image &featureImage)
double GetRMSChange() const
The Root Mean Square of the levelset upon termination.
double GetMaximumRMSError() const
Image(Self::*)(const Image * initialImage, const Image * featureImage) MemberFunctionType
uint32_t GetElapsedIterations() const
Number of iterations run.
std::string ToString() const
void SetMaximumRMSError(double MaximumRMSError)
void SetVolume(double Volume)
RealPixelIDTypeList PixelIDTypeList
void SetCurvatureWeight(double CurvatureWeight)
double GetLambda1() const
void SetNumberOfIterations(uint32_t NumberOfIterations)
HeavisideStepFunctionType GetHeavisideStepFunction() const
void SetAreaWeight(double AreaWeight)
void UseImageSpacingOff()
static const detail::MemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
void SetHeavisideStepFunction(HeavisideStepFunctionType HeavisideStepFunction)
virtual ~ScalarChanAndVeseDenseLevelSetImageFilter()
void SetLambda2(double Lambda2)
A class used to instantiate and generate function object to templated member functions.
Image ScalarChanAndVeseDenseLevelSet(const Image &initialImage, const Image &featureImage, double maximumRMSError=0.02, uint32_t numberOfIterations=1000u, double lambda1=1.0, double lambda2=1.0, double epsilon=1.0, double curvatureWeight=1.0, double areaWeight=0.0, double reinitializationSmoothingWeight=0.0, double volume=0.0, double volumeMatchingWeight=0.0, ScalarChanAndVeseDenseLevelSetImageFilter::HeavisideStepFunctionType heavisideStepFunction=itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::AtanRegularizedHeaviside, bool useImageSpacing=true)
Dense implementation of the Chan and Vese multiphase level set image filter.
typelist2::typelist< BasicPixelID< float >, BasicPixelID< double > > RealPixelIDTypeList
#define SITKBasicFilters_EXPORT