23 #ifndef itkAnisotropicDiffusionLBRImageFilter_h
24 #define itkAnisotropicDiffusionLBRImageFilter_h
45 template< typename TImage, typename TScalar = typename NumericTraits< typename TImage::PixelType >::RealType >
63 static const unsigned int Dimension = ImageType::ImageDimension;
79 itkSetMacro(RatioToMaxStableTimeStep,
ScalarType);
80 itkGetConstMacro(RatioToMaxStableTimeStep,
ScalarType);
81 itkSetMacro(MaxTimeStepsBetweenTensorUpdates,
int);
82 itkGetConstMacro(MaxTimeStepsBetweenTensorUpdates,
int);
90 itkSetMacro(Adimensionize,
bool);
91 itkGetConstMacro(Adimensionize,
bool);
100 itkExceptionMacro(
"Undefined tensor eigenvalues transform");
131 struct DiffusionTensorFunctor;
136 #ifndef ITK_MANUAL_INSTANTIATION
137 #include "itkAnisotropicDiffusionLBRImageFilter.hxx"
int m_MaxTimeStepsBetweenTensorUpdates
AnisotropicDiffusionLBRImageFilter()
Light weight base class for most itk classes.
ScalarType m_FeatureScale
static const unsigned int Dimension
Represent a symmetric tensor of second rank.
virtual void ComputeDiffusionTensors(ImageType *)
virtual TensorImageType::Pointer GetLastTensorImage()
Computes the structure tensor.
typename TensorType::EigenValuesArrayType EigenValuesArrayType
ScalarType m_RatioToMaxStableTimeStep
Anisotropic diffusion using lattice basis reduction.
typename ImageType::PixelType PixelType
std::vector< std::pair< ScalarType, int > > EffectiveTimesAndIterationsType
ScalarType m_DiffusionTime
virtual EigenValuesArrayType EigenValuesTransform(const EigenValuesArrayType &) const
EffectiveTimesAndIterationsType m_LinearFilterEffectiveTimesAndIterations
Non-linear anisotropic diffusion using lattice basis reduction.
~AnisotropicDiffusionLBRImageFilter() override
Base class for filters that take an image as input and produce an image as output.
FixedArray< TComponent, NDimension > EigenValuesArrayType
void GenerateData() override
TensorImageType::Pointer m_TensorImage
Templated n-dimensional image class.