23 #ifndef itkAnisotropicDiffusionLBRImageFilter_h
24 #define itkAnisotropicDiffusionLBRImageFilter_h
45 template<
typename TImage,
typename TScalar =
typename TImage::PixelType>
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 *)
Image< TensorType, Dimension > TensorImageType
virtual TensorImageType::Pointer GetLastTensorImage()
StructureTensorImageFilter< ImageType, TensorImageType > StructureTensorFilterType
Computes the structure tensor.
ImageToImageFilter< TImage, TImage > Superclass
AnisotropicDiffusionLBRImageFilter Self
ImageType::PixelType PixelType
ScalarType m_RatioToMaxStableTimeStep
Simulate a standard C array with copy semnatics.
virtual void GenerateData() override
Anisotropic diffusion using lattice basis reduction.
LinearAnisotropicDiffusionLBRImageFilter< ImageType, ScalarType > LinearDiffusionFilterType
ScalarType m_DiffusionTime
virtual EigenValuesArrayType EigenValuesTransform(const EigenValuesArrayType &) const
TensorType::EigenValuesArrayType EigenValuesArrayType
EffectiveTimesAndIterationsType m_LinearFilterEffectiveTimesAndIterations
Non-linear anisotropic diffusion using lattice basis reduction.
SymmetricSecondRankTensor< ScalarType, Dimension > TensorType
Base class for filters that take an image as input and produce an image as output.
virtual ~AnisotropicDiffusionLBRImageFilter()
std::vector< std::pair< ScalarType, int > > EffectiveTimesAndIterationsType
TensorImageType::Pointer m_TensorImage
SmartPointer< Self > Pointer
Templated n-dimensional image class.
SmartPointer< const Self > ConstPointer