18 #ifndef itkNormalVectorDiffusionFunction_h
19 #define itkNormalVectorDiffusionFunction_h
59 template<
typename TSparseImageType >
74 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
87 typedef typename Superclass::NodeType
NodeType;
96 { m_NormalProcessType = npt; }
100 {
return m_NormalProcessType; }
109 m_ConductanceParameter = cp +
static_cast< NodeValueType >( 0.001 );
113 ( -1.0 / ( m_ConductanceParameter * m_ConductanceParameter ) );
119 {
return m_ConductanceParameter; }
123 {
return m_FluxStopConstant; }
129 virtual void PrecomputeSparseUpdate(NeighborhoodType & it)
const ITK_OVERRIDE;
132 virtual NormalVectorType ComputeSparseUpdate(NeighborhoodType & neighborhood,
134 const FloatOffsetType & offset)
const ITK_OVERRIDE;
139 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
147 else {
return static_cast< NodeValueType >( std::exp(m_FluxStopConstant * v) ); }
166 #ifndef ITK_MANUAL_INSTANTIATION
167 #include "itkNormalVectorDiffusionFunction.hxx"
NormalVectorDiffusionFunction Self
NodeValueType m_FluxStopConstant
NormalVectorFunctionBase< TSparseImageType > Superclass
Light weight base class for most itk classes.
NodeValueType GetFluxStopConstant() const
NodeType::NodeValueType NodeValueType
Superclass::NormalVectorType NormalVectorType
~NormalVectorDiffusionFunction() override
Superclass::NeighborhoodScalesType NeighborhoodScalesType
Superclass::FloatOffsetType FloatOffsetType
This class defines the common functionality for Sparse Image neighborhoods of unit vectors...
ConstNeighborhoodIterator< TSparseImageType >::RadiusType RadiusType
int GetNormalProcessType() const
Superclass::NeighborhoodType NeighborhoodType
Superclass::RadiusType RadiusType
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
NodeValueType m_ConductanceParameter
Superclass::NodeType NodeType
NodeValueType FluxStopFunction(const NodeValueType v) const
Superclass::SparseImageType SparseImageType
Superclass::TimeStepType TimeStepType
This class defines all the necessary functionality for performing isotropic and anisotropic diffusion...
A templated class holding a n-Dimensional vector.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
void SetConductanceParameter(NodeValueType cp)
void SetNormalProcessType(int npt)
NodeValueType GetConductanceParameter() const
Control indentation during Print() invocation.
Superclass::NodeValueType NodeValueType
ImageBaseType::IndexType IndexType
Superclass::IndexType IndexType