19 #ifndef itkLevelSetBase_h 20 #define itkLevelSetBase_h 40 template<
typename TInput,
unsigned int VDimension,
typename TOutput,
typename TDomain >
52 itkStaticConstMacro (
Dimension,
unsigned int, VDimension );
65 virtual OutputType
Evaluate(
const InputType& iP )
const = 0;
84 template<
typename T >
103 this->m_Name = iData.
m_Name;
119 Hessian(
"Hessian" ), Laplacian(
"Laplacian" ),
120 GradientNorm(
"GradientNorm" ), MeanCurvature(
"MeanCurvature" ),
121 ForwardGradient(
"ForwardGradient" ), BackwardGradient(
"BackwardGradient" )
135 Gradient( iData.Gradient ), Hessian( iData.Hessian ),
136 Laplacian( iData.Laplacian ), GradientNorm( iData.GradientNorm ),
137 MeanCurvature( iData.MeanCurvature ), ForwardGradient( iData.ForwardGradient ),
138 BackwardGradient( iData.BackwardGradient ) {}
175 virtual bool IsInside(
const InputType& iP )
const;
179 itkGetConstMacro(MaximumNumberOfRegions, RegionType);
206 itkGetConstMacro(RequestedRegion, RegionType);
211 itkGetConstMacro(BufferedRegion, RegionType);
215 virtual ~LevelSetBase() {}
240 #ifndef ITK_MANUAL_INSTANTIATION 241 #include "itkLevelSetBase.hxx" 244 #endif // itkLevelSetBase_h IdentifierType RegionType
virtual OutputRealType EvaluateLaplacian(const InputType &iP) const =0
A templated class holding a M x N size Matrix.
SmartPointer< const Self > ConstPointer
virtual OutputType Evaluate(const InputType &iP) const =0
virtual void Initialize() override
virtual void SetRequestedRegionToLargestPossibleRegion() override
DataType< OutputRealType > Laplacian
RegionType m_NumberOfRegions
Abstract base class for the representation of a level-set function.
virtual bool VerifyRequestedRegion() override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
CovariantVector< OutputRealType, VDimension > GradientType
DataType< OutputRealType > GradientNorm
static const unsigned int Dimension
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion() override
virtual void SetBufferedRegion(const RegionType ®ion)
SmartPointer< Self > Pointer
DataType< OutputRealType > MeanCurvature
DataType< GradientType > Gradient
SizeValueType IdentifierType
RegionType m_RequestedNumberOfRegions
virtual void CopyInformation(const DataObject *data) override
DataType< OutputType > Value
RegionType m_MaximumNumberOfRegions
NumericTraits< OutputType >::RealType OutputRealType
Convenient data structure to cache computed characteristics.
virtual void UpdateOutputInformation() override
virtual GradientType EvaluateGradient(const InputType &iP) const =0
virtual OutputRealType EvaluateGradientNorm(const InputType &iP) const
LevelSetDataType(const LevelSetDataType &iData)
virtual OutputRealType EvaluateMeanCurvature(const InputType &iP) const =0
void operator=(const DataType &iData)
virtual void EvaluateBackwardGradient(const InputType &iP, LevelSetDataType &ioData) const =0
DataType(const std::string &iName)
DataType(const DataType &iData)
virtual void Graft(const DataObject *data) override
virtual void EvaluateForwardGradient(const InputType &iP, LevelSetDataType &ioData) const =0
virtual bool IsInside(const InputType &iP) const
Matrix< OutputRealType, VDimension, VDimension > HessianType
DataType< GradientType > ForwardGradient
virtual void SetRequestedRegion(const DataObject *data) override
DataType< HessianType > Hessian
Define additional traits for native types such as int or float.
Internal class used for one computed characteritic.
virtual HessianType EvaluateHessian(const InputType &iP) const =0
A templated class holding a n-Dimensional covariant vector.
RegionType m_RequestedRegion
RegionType m_BufferedRegion
DataType< GradientType > BackwardGradient
Base class for all data objects in ITK.