ITK
6.0.0
Insight Toolkit
|
#include <itkGradientNDAnisotropicDiffusionFunction.h>
This class implements an N-dimensional version of the classic Perona-Malik anisotropic diffusion equation for scalar-valued images. See itkAnisotropicDiffusionFunction for an overview of the anisotropic diffusion framework and equation.
\[C(\mathbf{x}) = e^{-(\frac{\parallel \nabla U(\mathbf{x}) \parallel}{K})^2}\]
.
Definition at line 61 of file itkGradientNDAnisotropicDiffusionFunction.h.
Public Member Functions | |
PixelType | ComputeUpdate (const NeighborhoodType &it, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override |
const char * | GetNameOfClass () const override |
void | InitializeIteration () override |
Public Member Functions inherited from itk::ScalarAnisotropicDiffusionFunction< TImage > | |
void | CalculateAverageGradientMagnitudeSquared (TImage *) override |
const char * | GetNameOfClass () const override |
Public Member Functions inherited from itk::AnisotropicDiffusionFunction< TImage > | |
TimeStepType | ComputeGlobalTimeStep (void *) const override |
const double & | GetAverageGradientMagnitudeSquared () const |
const double & | GetConductanceParameter () const |
void * | GetGlobalDataPointer () const override |
const TimeStepType & | GetTimeStep () const |
void | ReleaseGlobalDataPointer (void *) const override |
void | SetAverageGradientMagnitudeSquared (const double c) |
void | SetConductanceParameter (const double c) |
void | SetTimeStep (const TimeStepType &t) |
Public Member Functions inherited from itk::FiniteDifferenceFunction< TImage > | |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
const char * | GetNameOfClass () const override |
const RadiusType & | GetRadius () const |
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
void | SetRadius (const RadiusType &r) |
void | SetScaleCoefficients (const PixelRealType vals[ImageDimension]) |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::ScalarAnisotropicDiffusionFunction< TImage > | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::AnisotropicDiffusionFunction< TImage > | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceFunction< TImage > | |
static constexpr unsigned int | ImageDimension |
Protected Member Functions | |
GradientNDAnisotropicDiffusionFunction () | |
~GradientNDAnisotropicDiffusionFunction () override=default | |
Protected Member Functions inherited from itk::ScalarAnisotropicDiffusionFunction< TImage > | |
ScalarAnisotropicDiffusionFunction ()=default | |
~ScalarAnisotropicDiffusionFunction () override=default | |
Protected Member Functions inherited from itk::AnisotropicDiffusionFunction< TImage > | |
AnisotropicDiffusionFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~AnisotropicDiffusionFunction () override=default | |
Protected Member Functions inherited from itk::FiniteDifferenceFunction< TImage > | |
FiniteDifferenceFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~FiniteDifferenceFunction () override=default | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes | |
NeighborhoodSizeValueType | m_Center {} |
DerivativeOperator< PixelType, Self::ImageDimension > | m_DerivativeOperator {} |
NeighborhoodInnerProduct< ImageType > | m_InnerProduct {} |
PixelType | m_K {} |
NeighborhoodSizeValueType | m_Stride [ImageDimension] {} |
std::slice | x_slice [ImageDimension] |
std::slice | xa_slice [ImageDimension][ImageDimension] |
std::slice | xd_slice [ImageDimension][ImageDimension] |
Protected Attributes inherited from itk::FiniteDifferenceFunction< TImage > | |
RadiusType | m_Radius |
PixelRealType | m_ScaleCoefficients [ImageDimension] |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
Static Protected Attributes | |
static double | m_MIN_NORM |
using itk::GradientNDAnisotropicDiffusionFunction< TImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 70 of file itkGradientNDAnisotropicDiffusionFunction.h.
using itk::GradientNDAnisotropicDiffusionFunction< TImage >::NeighborhoodSizeValueType = SizeValueType |
Definition at line 87 of file itkGradientNDAnisotropicDiffusionFunction.h.
using itk::GradientNDAnisotropicDiffusionFunction< TImage >::Pointer = SmartPointer<Self> |
Definition at line 69 of file itkGradientNDAnisotropicDiffusionFunction.h.
using itk::GradientNDAnisotropicDiffusionFunction< TImage >::Self = GradientNDAnisotropicDiffusionFunction |
Standard class type aliases.
Definition at line 67 of file itkGradientNDAnisotropicDiffusionFunction.h.
using itk::GradientNDAnisotropicDiffusionFunction< TImage >::Superclass = ScalarAnisotropicDiffusionFunction<TImage> |
Definition at line 68 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
Compute the equation value.
Implements itk::FiniteDifferenceFunction< TImage >.
|
overridevirtual |
Reimplemented from itk::AnisotropicDiffusionFunction< TImage >.
|
inlineoverridevirtual |
This method is called prior to each iteration of the solver.
Reimplemented from itk::FiniteDifferenceFunction< TImage >.
Definition at line 100 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
static |
Method for creation through the object factory.
Referenced by itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GradientAnisotropicDiffusionImageFilter().
|
staticconstexpr |
Inherit some parameters from the superclass type.
Definition at line 90 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 124 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Derivative operator.
Definition at line 119 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Inner product function.
Definition at line 111 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Modified global average gradient magnitude term.
Definition at line 122 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
staticprotected |
Definition at line 127 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 125 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Slices for the ND neighborhood.
Definition at line 114 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 115 of file itkGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 116 of file itkGradientNDAnisotropicDiffusionFunction.h.