17 #ifndef __itkNormalVectorDiffusionFunction_h
18 #define __itkNormalVectorDiffusionFunction_h
21 #include "itkNumericTraits.h"
57 template <
class TSparseImageType>
72 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
93 void SetNormalProcessType(
int npt )
94 { m_NormalProcessType = npt; }
97 int GetNormalProcessType()
const
98 {
return m_NormalProcessType; }
107 m_ConductanceParameter = cp +
static_cast<NodeValueType> (0.001);
111 (-1.0/(m_ConductanceParameter*m_ConductanceParameter));
116 {
return m_ConductanceParameter; }
120 {
return m_FluxStopConstant; }
126 virtual void PrecomputeSparseUpdate( NeighborhoodType &it )
const;
129 virtual NormalVectorType ComputeSparseUpdate (NeighborhoodType &neighborhood,
131 const FloatOffsetType &offset)
const;
136 void PrintSelf(std::ostream& os,
Indent indent)
const;
143 if (v<=0.0)
return NumericTraits<NodeValueType>::One;
144 else return static_cast<NodeValueType>(vcl_exp(m_FluxStopConstant*v));
159 void operator=(
const Self&);
164 #ifndef ITK_MANUAL_INSTANTIATION