18 #ifndef itkNormalVectorDiffusionFunction_h
19 #define itkNormalVectorDiffusionFunction_h
59 template<
typename TSparseImageType >
76 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
89 using NodeType =
typename Superclass::NodeType;
98 { m_NormalProcessType = npt; }
102 {
return m_NormalProcessType; }
111 m_ConductanceParameter = cp +
static_cast< NodeValueType >( 0.001 );
115 ( -1.0 / ( m_ConductanceParameter * m_ConductanceParameter ) );
121 {
return m_ConductanceParameter; }
125 {
return m_FluxStopConstant; }
131 void PrecomputeSparseUpdate(NeighborhoodType & it)
const override;
134 NormalVectorType ComputeSparseUpdate(NeighborhoodType & neighborhood,
136 const FloatOffsetType & offset)
const override;
141 void PrintSelf(std::ostream & os,
Indent indent)
const override;
149 else {
return static_cast< NodeValueType >( std::exp(m_FluxStopConstant * v) ); }
167 #ifndef ITK_MANUAL_INSTANTIATION
168 #include "itkNormalVectorDiffusionFunction.hxx"
NodeValueType m_FluxStopConstant
Light weight base class for most itk classes.
NodeValueType GetFluxStopConstant() const
typename SparseImageType::IndexType IndexType
Define numeric traits for std::vector.
typename Superclass::NormalVectorType NormalVectorType
typename Superclass::NeighborhoodType NeighborhoodType
This class defines the common functionality for Sparse Image neighborhoods of unit vectors...
int GetNormalProcessType() const
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
NodeValueType m_ConductanceParameter
typename Superclass::FloatOffsetType FloatOffsetType
NodeValueType FluxStopFunction(const NodeValueType v) const
typename SparseImageType::NodeType NodeType
This class defines all the necessary functionality for performing isotropic and anisotropic diffusion...
typename ConstNeighborhoodIterator< TSparseImageType >::RadiusType RadiusType
typename Superclass::TimeStepType TimeStepType
A templated class holding a n-Dimensional vector.
typename Superclass::ImageType SparseImageType
ImageBaseType::IndexType IndexType
void SetConductanceParameter(NodeValueType cp)
typename Superclass::NeighborhoodScalesType NeighborhoodScalesType
typename Superclass::RadiusType RadiusType
void SetNormalProcessType(int npt)
NodeValueType GetConductanceParameter() const
Control indentation during Print() invocation.
typename Superclass::NodeValueType NodeValueType
typename NodeType::NodeValueType NodeValueType