ITK
6.0.0
Insight Toolkit
|
#include <itkVectorGradientNDAnisotropicDiffusionFunction.h>
This class is a simple extension of the GradientNDAnisotropicDiffusionFunction to pixel types of multiple components. Vector components are diffused separately, but diffusion of each component is limited by a conductance term which depends on all components.
For more information, please see GradientNDAnisotropicDiffusionFunction.
Definition at line 44 of file itkVectorGradientNDAnisotropicDiffusionFunction.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::VectorAnisotropicDiffusionFunction< TImage > | |
void | CalculateAverageGradientMagnitudeSquared (TImage *) 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 constexpr unsigned int | VectorDimension = Superclass::VectorDimension |
Static Public Attributes inherited from itk::VectorAnisotropicDiffusionFunction< TImage > | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
static constexpr unsigned int | VectorDimension = PixelType::Dimension |
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 | |
VectorGradientNDAnisotropicDiffusionFunction () | |
~VectorGradientNDAnisotropicDiffusionFunction () override=default | |
Protected Member Functions inherited from itk::VectorAnisotropicDiffusionFunction< TImage > | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
VectorAnisotropicDiffusionFunction ()=default | |
~VectorAnisotropicDiffusionFunction () override=default | |
Protected Member Functions inherited from itk::AnisotropicDiffusionFunction< TImage > | |
AnisotropicDiffusionFunction () | |
~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 () |
Private Attributes | |
SizeValueType | m_Center {} |
DerivativeOperator< ScalarValueType, Self::ImageDimension > | m_DerivativeOperator {} |
VectorNeighborhoodInnerProduct< ImageType > | m_InnerProduct {} |
ScalarValueType | m_K {} |
SizeValueType | m_Stride [ImageDimension] {} |
std::slice | x_slice [ImageDimension] |
std::slice | xa_slice [ImageDimension][ImageDimension] |
std::slice | xd_slice [ImageDimension][ImageDimension] |
Static Private Attributes | |
static double | m_MIN_NORM |
Additional Inherited Members | |
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 {} |
using itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 54 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
using itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::Pointer = SmartPointer<Self> |
Definition at line 53 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
using itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::ScalarValueType = typename PixelType::ValueType |
Type of a value in a vector (double, float, etc.)
Definition at line 75 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
using itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::Self = VectorGradientNDAnisotropicDiffusionFunction |
Standard class type aliases.
Definition at line 51 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
using itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::Superclass = VectorAnisotropicDiffusionFunction<TImage> |
Definition at line 52 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
Compute the equation value.
Implements itk::FiniteDifferenceFunction< TImage >.
|
overridevirtual |
Reimplemented from itk::VectorAnisotropicDiffusionFunction< TImage >.
|
inlineoverridevirtual |
This method is called prior to each iteration of the solver.
Reimplemented from itk::FiniteDifferenceFunction< TImage >.
Definition at line 85 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
static |
Method for creation through the object factory.
Referenced by itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::VectorGradientAnisotropicDiffusionImageFilter().
|
staticconstexpr |
Extract vector and image dimension from superclass.
Definition at line 71 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Definition at line 113 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Derivative operators.
Definition at line 105 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Inner product function.
Definition at line 97 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Modified global average gradient magnitude term.
Definition at line 108 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
staticprivate |
Definition at line 110 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Definition at line 112 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
staticconstexpr |
Definition at line 72 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Slices for the ND neighborhood.
Definition at line 100 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Definition at line 101 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.
|
private |
Definition at line 102 of file itkVectorGradientNDAnisotropicDiffusionFunction.h.