23 #ifndef itkLinearAnisotropicDiffusionLBRImageFilter_h
24 #define itkLinearAnisotropicDiffusionLBRImageFilter_h
46 template< typename TImage, typename TScalar = typename NumericTraits< typename TImage::PixelType >::RealType >
68 static const int Dimension = ImageType::ImageDimension;
82 itkGetConstMacro(MaxNumberOfTimeSteps,
int);
85 itkGetConstMacro(RatioToMaxStableTimeStep,
ScalarType);
87 itkGetConstMacro(EffectiveDiffusionTime,
ScalarType);
88 itkGetConstMacro(EffectiveNumberOfTimeSteps,
int);
116 using StencilType = std::pair< StencilBufferIndicesType, StencilCoefficientsType >;
140 struct StencilFunctor;
150 #ifndef ITK_MANUAL_INSTANTIATION
151 #include "itkLinearAnisotropicDiffusionLBRImageFilter.hxx"
ImageType::Pointer m_NextImage
int m_MaxNumberOfTimeSteps
static const unsigned int HalfStencilSize
~LinearAnisotropicDiffusionLBRImageFilter() override
virtual void ImageUpdateLoop()
Automatically called by GenerateData.
Light weight base class for most itk classes.
virtual void ImageUpdate(ScalarType delta)
void SetMaxNumberOfTimeSteps(int n)
void SetRatioToMaxStableTimeStep(ScalarType ratio)
ImageType::Pointer m_PreviousImage
Define numeric traits for std::vector.
Represent a n-dimensional index in a n-dimensional image.
Represent a symmetric tensor of second rank.
ScalarType m_DiffusionTime
void SetMaxDiffusionTime(ScalarType time)
An image region represents a structured region of data.
static const unsigned int StencilSize
void SetInputImage(const ImageType *image)
ImageType::ConstPointer GetInputImage()
ScalarType m_EffectiveDiffusionTime
Anisotropic diffusion using lattice basis reduction.
A templated class holding a n-Dimensional vector.
ScalarType m_RatioToMaxStableTimeStep
TensorImageType::ConstPointer GetInputTensor()
Represent a n-dimensional offset between two n-dimensional indexes of n-dimensional image...
ScalarImageType::Pointer m_DiagonalCoefficients
virtual ScalarType MaxStableTimeStep()
InternalSizeT OutsideBufferIndex() const
StencilImageType::Pointer m_StencilImage
virtual RegionType GetRequestedRegion()
int m_EffectiveNumberOfTimeSteps
SmartPointer< const Self > ConstPointer
virtual void GenerateStencils()
LinearAnisotropicDiffusionLBRImageFilter()
Base class for filters that take an image as input and produce an image as output.
static const int Dimension
std::pair< StencilBufferIndicesType, StencilCoefficientsType > StencilType
Automatically called by GenerateData.
void GenerateData() override
void SetInputTensor(const TensorImageType *tensorImage)
typename ImageType::PixelType PixelType
static ScalarType ScalarProduct(const TensorType &, const VectorType &, const VectorType &)
Templated n-dimensional image class.