19#ifndef itkLevelSetBase_h
20#define itkLevelSetBase_h
42template <
typename TInput,
unsigned int VDimension,
typename TOutput,
typename TDomain>
56 static constexpr unsigned int Dimension = VDimension;
120 this->m_Name = iData.
m_Name;
279#ifndef ITK_MANUAL_INSTANTIATION
280# include "itkLevelSetBase.hxx"
A templated class holding a n-Dimensional covariant vector.
Internal class used for one computed characteristic.
DataType(const DataType &iData)
DataType(std::string iName)
void operator=(const DataType &iData)
RegionType m_MaximumNumberOfRegions
void UpdateOutputInformation() override
typename NumericTraits< OutputType >::RealType OutputRealType
void Initialize() override
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
RegionType m_RequestedRegion
virtual void EvaluateGradientNorm(const InputType &iP, LevelSetDataType &ioData) const
~LevelSetBase() override=default
CovariantVector< OutputRealType, VDimension > GradientType
virtual void SetRequestedRegion(const RegionType ®ion)
virtual HessianType EvaluateHessian(const InputType &iP) const =0
virtual void EvaluateMeanCurvature(const InputType &iP, LevelSetDataType &ioData) const
RegionType m_RequestedNumberOfRegions
void Graft(const DataObject *data) override
virtual void SetBufferedRegion(const RegionType ®ion)
void SetRequestedRegion(const DataObject *data) override
virtual OutputRealType EvaluateLaplacian(const InputType &iP) const =0
RegionType m_NumberOfRegions
virtual OutputRealType EvaluateGradientNorm(const InputType &iP) const
virtual void EvaluateGradient(const InputType &iP, LevelSetDataType &ioData) const =0
IdentifierType RegionType
void SetRequestedRegionToLargestPossibleRegion() override
virtual void EvaluateForwardGradient(const InputType &iP, LevelSetDataType &ioData) const =0
RegionType m_BufferedRegion
virtual void EvaluateLaplacian(const InputType &iP, LevelSetDataType &ioData) const =0
virtual void EvaluateHessian(const InputType &iP, LevelSetDataType &ioData) const =0
virtual OutputType Evaluate(const InputType &iP) const =0
static constexpr unsigned int Dimension
void CopyInformation(const DataObject *data) override
Matrix< OutputRealType, VDimension, VDimension > HessianType
virtual void EvaluateBackwardGradient(const InputType &iP, LevelSetDataType &ioData) const =0
virtual GradientType EvaluateGradient(const InputType &iP) const =0
bool RequestedRegionIsOutsideOfTheBufferedRegion() override
virtual OutputRealType EvaluateMeanCurvature(const InputType &iP) const =0
bool VerifyRequestedRegion() override
virtual bool IsInside(const InputType &iP) const
virtual void Evaluate(const InputType &iP, LevelSetDataType &ioData) const =0
A templated class holding a M x N size Matrix.
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType IdentifierType
DataType< OutputRealType > Laplacian
LevelSetDataType(const LevelSetDataType &iData)
~LevelSetDataType()=default
DataType< HessianType > Hessian
void operator=(const LevelSetDataType &iData)
DataType< OutputType > Value
DataType< OutputRealType > GradientNorm
DataType< OutputRealType > MeanCurvature
DataType< GradientType > ForwardGradient
DataType< GradientType > BackwardGradient
DataType< GradientType > Gradient