23 #ifndef itkCoherenceEnhancingDiffusionFilter_h 24 #define itkCoherenceEnhancingDiffusionFilter_h 63 template<
typename TImage,
typename TScalar=
typename TImage::PixelType >
87 itkSetMacro(Exponent, ScalarType);
88 itkSetMacro(Lambda, ScalarType);
89 itkSetMacro(Alpha, ScalarType);
92 itkGetMacro(Exponent, ScalarType);
93 itkGetMacro(Lambda, ScalarType);
94 itkGetMacro(Alpha, ScalarType);
107 ScalarType
g_CED(ScalarType s)
const {
return s<=0 ? m_Alpha : m_Alpha + (1-
m_Alpha)*exp(-pow(m_Lambda/s,m_Exponent));}
108 ScalarType
g_EED(ScalarType s)
const {
return s<=0 ? 1 : 1 - (1-
m_Alpha)*exp(-pow(m_Lambda/s,m_Exponent));}
115 #ifndef ITK_MANUAL_INSTANTIATION 116 #include "itkCoherenceEnhancingDiffusionFilter.hxx" Coherence enhanging diffusion and edge enhancing diffusion.
SmartPointer< const Self > ConstPointer
static const unsigned int Dimension
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
AnisotropicDiffusionLBRImageFilter< TImage, TScalar > Superclass
CoherenceEnhancingDiffusionFilter()
static const unsigned int Dimension
Superclass::ScalarType ScalarType
TensorType::EigenValuesArrayType EigenValuesArrayType
ScalarType g_CED(ScalarType s) const
SmartPointer< Self > Pointer
Non-linear anisotropic diffusion using lattice basis reduction.
EnhancementType m_Enhancement
virtual EigenValuesArrayType EigenValuesTransform(const EigenValuesArrayType &) const
CoherenceEnhancingDiffusionFilter Self
Superclass::EigenValuesArrayType EigenValuesArrayType
ScalarType g_EED(ScalarType s) const