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 );
84 template<
typename T >
89 m_Name( iName ), m_Computed( false )
92 m_Value( iData.m_Value ), m_Computed( iData.m_Computed )
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);
182 virtual void Initialize() ITK_OVERRIDE;
185 virtual
void UpdateOutputInformation() ITK_OVERRIDE;
187 virtual
void SetRequestedRegionToLargestPossibleRegion() ITK_OVERRIDE;
189 virtual
void CopyInformation(const
DataObject *data) ITK_OVERRIDE;
191 virtual
void Graft(const
DataObject *data) ITK_OVERRIDE;
193 virtual
bool RequestedRegionIsOutsideOfTheBufferedRegion() ITK_OVERRIDE;
195 virtual
bool VerifyRequestedRegion() ITK_OVERRIDE;
201 virtual
void SetRequestedRegion( const
DataObject *data) ITK_OVERRIDE;
204 virtual
void SetRequestedRegion(const
RegionType & region);
206 itkGetConstMacro(RequestedRegion,
RegionType);
209 virtual
void SetBufferedRegion(const RegionType & region);
211 itkGetConstMacro(BufferedRegion, RegionType);
215 virtual ~LevelSetBase() ITK_OVERRIDE {}
235 void operator = (
const Self& );
240 #ifndef ITK_MANUAL_INSTANTIATION
241 #include "itkLevelSetBase.hxx"
244 #endif // itkLevelSetBase_h
IdentifierType RegionType
A templated class holding a M x N size Matrix.
SmartPointer< const Self > ConstPointer
DataType< OutputRealType > Laplacian
RegionType m_NumberOfRegions
Abstract base class for the representation of a level-set function.
CovariantVector< OutputRealType, VDimension > GradientType
DataType< OutputRealType > GradientNorm
SmartPointer< Self > Pointer
DataType< OutputRealType > MeanCurvature
DataType< GradientType > Gradient
SizeValueType IdentifierType
RegionType m_RequestedNumberOfRegions
DataType< OutputType > Value
RegionType m_MaximumNumberOfRegions
NumericTraits< OutputType >::RealType OutputRealType
Convenient data structure to cache computed characteristics.
const unsigned int Dimension
LevelSetDataType(const LevelSetDataType &iData)
DataType(const std::string &iName)
DataType(const DataType &iData)
Matrix< OutputRealType, VDimension, VDimension > HessianType
DataType< GradientType > ForwardGradient
DataType< HessianType > Hessian
Define additional traits for native types such as int or float.
Internal class used for one computed characteritic.
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.