18 #ifndef itkNormalVectorDiffusionFunction_h
19 #define itkNormalVectorDiffusionFunction_h
59 template <
typename TSparseImageType>
75 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
87 using typename Superclass::SparseImageType;
88 using typename Superclass::NodeType;
89 using typename Superclass::NodeValueType;
90 using typename Superclass::NormalVectorType;
99 m_NormalProcessType = npt;
106 return m_NormalProcessType;
117 m_ConductanceParameter = cp + static_cast<NodeValueType>(0.001);
120 m_FluxStopConstant = static_cast<NodeValueType>(-1.0 / (m_ConductanceParameter * m_ConductanceParameter));
128 return m_ConductanceParameter;
135 return m_FluxStopConstant;
143 PrecomputeSparseUpdate(NeighborhoodType & it)
const override;
147 ComputeSparseUpdate(NeighborhoodType & it,
void * globalData,
const FloatOffsetType & offset)
const override;
153 PrintSelf(std::ostream & os,
Indent indent)
const override;
167 return static_cast<NodeValueType>(std::exp(m_FluxStopConstant * v));
181 int m_NormalProcessType{};
185 #ifndef ITK_MANUAL_INSTANTIATION
186 # include "itkNormalVectorDiffusionFunction.hxx"