18#ifndef itkSegmentationLevelSetImageFilter_h
19#define itkSegmentationLevelSetImageFilter_h
143template <
typename TInputImage,
typename TFeatureImage,
typename TOutputPixelType =
float>
187 itkWarningMacro(
"SetMaximumIterations is deprecated. Please use SetNumberOfIterations instead.");
195 itkWarningMacro(
"GetMaximumIterations is deprecated. Please use GetNumberOfIterations instead.");
204 itkDebugMacro(
"setting input FeatureImage to " << f);
248 virtual const SpeedImageType *
256 virtual const VectorImageType *
269 <<
"SetUseNegativeFeaturesOn has been deprecated. Please use ReverseExpansionDirectionOn() instead");
278 <<
"SetUseNegativeFeaturesOff has been deprecated. Please use ReverseExpansionDirectionOff() instead");
287 itkWarningMacro(
"SetUseNegativeFeatures has been deprecated. Please use SetReverseExpansionDirection instead");
303 <<
"GetUseNegativeFeatures has been deprecated. Please use GetReverseExpansionDirection() instead");
320 itkSetMacro(ReverseExpansionDirection,
bool);
321 itkGetConstMacro(ReverseExpansionDirection,
bool);
322 itkBooleanMacro(ReverseExpansionDirection);
330 itkSetMacro(AutoGenerateSpeedAdvection,
bool);
331 itkGetConstMacro(AutoGenerateSpeedAdvection,
bool);
332 itkBooleanMacro(AutoGenerateSpeedAdvection);
459 virtual SegmentationFunctionType *
559#ifndef ITK_MANUAL_INSTANTIATION
560# include "itkSegmentationLevelSetImageFilter.hxx"
virtual void InitializeIteration()
virtual const IdentifierType & GetNumberOfIterations() const
virtual void SetDifferenceFunction(FiniteDifferenceFunctionType *_arg)
virtual const IdentifierType & GetElapsedIterations() const
virtual void SetNumberOfIterations(IdentifierType _arg)
Templated n-dimensional image class.
Control indentation during Print() invocation.
virtual void Modified() const
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
Protected method for setting indexed and named inputs.
void UpdateProgress(float progress)
Update the progress of the process object.
DataObject * GetInput(const DataObjectIdentifierType &key)
Return an input.
Image< VectorType, Self::ImageDimension > VectorImageType
OutputImageType ImageType
void SetAdvectionImage(VectorImageType *v)
virtual void SetReverseExpansionDirection(bool _arg)
void GenerateData() override
typename SegmentationFunctionType::ImageType SpeedImageType
void SetUseMinimalCurvature(bool b)
void SetPropagationScaling(ValueType v)
ValueType GetPropagationScaling() const
itkGetInputMacro(InitialImage, InputImageType)
void GenerateAdvectionImage()
void SetUseNegativeFeaturesOn()
virtual const SpeedImageType * GetSpeedImage() const
void UseMinimalCurvatureOff()
void PrintSelf(std::ostream &os, Indent indent) const override
bool m_AutoGenerateSpeedAdvection
SegmentationLevelSetFunction< OutputImageType, FeatureImageType > SegmentationFunctionType
typename SegmentationFunctionType::VectorImageType VectorImageType
virtual void SetFeatureImage(const FeatureImageType *f)
void SetInput2(const FeatureImageType *input)
void SetAdvectionScaling(ValueType v)
virtual const VectorImageType * GetAdvectionImage() const
bool GetUseNegativeFeatures() const
SparseFieldLevelSetImageFilter< TInputImage, OutputImageType > Superclass
void SetMaximumPropagationTimeStep(double n)
double GetMaximumPropagationTimeStep() const
Image< TOutputPixelType, Self::InputImageDimension > OutputImageType
virtual void SetSegmentationFunction(SegmentationFunctionType *s)
void InitializeIteration() override
bool GetUseMinimalCurvature() const
itkGetInputMacro(FeatureImage, FeatureImageType)
void SetCurvatureScaling(ValueType v)
virtual SegmentationFunctionType * GetSegmentationFunction()
TInputImage InputImageType
SegmentationLevelSetImageFilter()
virtual void ReverseExpansionDirectionOff()
unsigned int GetMaximumIterations()
void SetUseNegativeFeatures(bool u)
void SetMaximumIterations(unsigned int i)
void SetMaximumCurvatureTimeStep(double n)
~SegmentationLevelSetImageFilter() override=default
void GenerateSpeedImage()
void UseMinimalCurvatureOn()
itkSetInputMacro(InitialImage, InputImageType)
double GetMaximumCurvatureTimeStep() const
typename OutputImageType::ValueType ValueType
ValueType GetCurvatureScaling() const
void SetSpeedImage(SpeedImageType *s)
SegmentationLevelSetImageFilter Self
bool m_ReverseExpansionDirection
virtual void ReverseExpansionDirectionOn()
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
void SetUseNegativeFeaturesOff()
ValueType GetAdvectionScaling() const
void SetFeatureScaling(ValueType v)
TFeatureImage FeatureImageType
SegmentationFunctionType * m_SegmentationFunction
Implements transparent reference counting.
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
SparseFieldLevelSetImageFilter()
typename OutputImageType::IndexType IndexType
TInputImage InputImageType
typename OutputImageType::ValueType ValueType
#define itkConceptMacro(name, concept)
bool NotExactlyEquals(const TInput1 &x1, const TInput2 &x2)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
constexpr TContainer MakeFilled(typename TContainer::const_reference value)
TTarget itkDynamicCastInDebugMode(TSource x)