18#ifndef itkThresholdSegmentationLevelSetFunction_h
19#define itkThresholdSegmentationLevelSetFunction_h
56template <
typename TImageType,
typename TFeatureImageType = TImageType>
77 using typename Superclass::ImageType;
78 using typename Superclass::ScalarValueType;
79 using typename Superclass::FeatureScalarType;
80 using typename Superclass::RadiusType;
83 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
94 return m_UpperThreshold;
104 return m_LowerThreshold;
114 Superclass::Initialize(r);
141 m_SmoothingConductance = p;
147 return m_SmoothingConductance;
156 m_SmoothingIterations = p;
162 return m_SmoothingIterations;
171 m_SmoothingTimeStep = i;
177 return m_SmoothingTimeStep;
185 this->SetAdvectionWeight(0.0);
186 this->SetPropagationWeight(1.0);
187 this->SetCurvatureWeight(1.0);
188 this->SetSmoothingIterations(5);
189 this->SetSmoothingConductance(0.8);
190 this->SetSmoothingTimeStep(0.1);
191 this->SetEdgeWeight(0.0);
199 Superclass::PrintSelf(os, indent);
200 os << indent <<
"UpperThreshold: " << m_UpperThreshold << std::endl;
201 os << indent <<
"LowerThreshold: " << m_LowerThreshold << std::endl;
202 os << indent <<
"EdgeWeight: " << m_EdgeWeight << std::endl;
203 os << indent <<
"SmoothingTimeStep: " << m_SmoothingTimeStep << std::endl;
204 os << indent <<
"SmoothingIterations: " << m_SmoothingIterations << std::endl;
205 os << indent <<
"SmoothingConductance: " << m_SmoothingConductance << std::endl;
212 int m_SmoothingIterations{};
217#ifndef ITK_MANUAL_INSTANTIATION
218# include "itkThresholdSegmentationLevelSetFunction.hxx"
typename ConstNeighborhoodIterator< TImageType >::RadiusType RadiusType
Control indentation during Print() invocation.
PixelType ScalarValueType
Light weight base class for most itk classes.
Define additional traits for native types such as int or float.
static constexpr T NonpositiveMin()
static constexpr T max(const T &)
typename FeatureImageType::PixelType FeatureScalarType
This function is used in ThresholdSegmentationLevelSetImageFilter to segment structures in images bas...
ScalarValueType GetEdgeWeight() const
ThresholdSegmentationLevelSetFunction()
FeatureScalarType GetLowerThreshold() const
TFeatureImageType FeatureImageType
~ThresholdSegmentationLevelSetFunction() override=default
FeatureScalarType GetUpperThreshold() const
void SetSmoothingConductance(const ScalarValueType p)
ScalarValueType GetSmoothingTimeStep() const
void Initialize(const RadiusType &r) override
void SetSmoothingTimeStep(const ScalarValueType i)
void CalculateSpeedImage() override
void SetEdgeWeight(const ScalarValueType p)
int GetSmoothingIterations() const
void SetSmoothingIterations(const int p)
void PrintSelf(std::ostream &os, Indent indent) const override
ScalarValueType GetSmoothingConductance() const
void SetLowerThreshold(FeatureScalarType f)
void SetUpperThreshold(FeatureScalarType f)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....