#include <itkGradientNDAnisotropicDiffusionFunction.h>
Inheritance diagram for itk::GradientNDAnisotropicDiffusionFunction< TImage >:
.
VectorAnisotropicDiffusionFunction
VectorGradientAnisotropicDiffusionFunction
Definition at line 59 of file itkGradientNDAnisotropicDiffusionFunction.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef ZeroFluxNeumannBoundaryCondition< ImageType > | DefaultBoundaryConditionType |
typedef Superclass::FloatOffsetType | FloatOffsetType |
typedef Superclass::ImageType | ImageType |
typedef Superclass::NeighborhoodType | NeighborhoodType |
typedef double | PixelRealType |
typedef Superclass::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::RadiusType | RadiusType |
typedef GradientNDAnisotropicDiffusionFunction | Self |
typedef ScalarAnisotropicDiffusionFunction< TImage > | Superclass |
typedef Superclass::TimeStepType | TimeStepType |
Public Member Functions | |
virtual void | CalculateAverageGradientMagnitudeSquared (ImageType *)=0 |
virtual void | CalculateAverageGradientMagnitudeSquared (TImage *) |
virtual TimeStepType | ComputeGlobalTimeStep (void *) const |
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0))=0 |
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual void * | GetGlobalDataPointer () const |
virtual const char * | GetNameOfClass () const |
const RadiusType & | GetRadius () const |
virtual int | GetReferenceCount () const |
virtual void | InitializeIteration () |
itkStaticConstMacro (ImageDimension, unsigned int, ImageType::ImageDimension) | |
itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension) | |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | ReleaseGlobalDataPointer (void *) const |
void | SetRadius (const RadiusType &r) |
virtual void | SetReferenceCount (int) |
void | SetScaleCoefficients (PixelRealType vals[ImageDimension]) |
virtual void | UnRegister () const |
const double & | GetAverageGradientMagnitudeSquared () const |
void | SetAverageGradientMagnitudeSquared (const double &c) |
const double & | GetConductanceParameter () const |
void | SetConductanceParameter (const double &c) |
const TimeStepType & | GetTimeStep () const |
void | SetTimeStep (const TimeStepType &t) |
Static Public Member Functions | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
GradientNDAnisotropicDiffusionFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
~GradientNDAnisotropicDiffusionFunction () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
Protected Attributes | |
DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)> | dx_op |
unsigned long | m_Center |
NeighborhoodInnerProduct< ImageType > | m_InnerProduct |
PixelType | m_K |
RadiusType | m_Radius |
volatile int | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
PixelRealType | m_ScaleCoefficients [ImageDimension] |
unsigned long | m_Stride [ImageDimension] |
std::slice | x_slice [ImageDimension] |
std::slice | xa_slice [ImageDimension][ImageDimension] |
std::slice | xd_slice [ImageDimension][ImageDimension] |
Static Protected Attributes | |
static double | m_MIN_NORM |
typedef SmartPointer<const Self> itk::GradientNDAnisotropicDiffusionFunction< TImage >::ConstPointer |
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 67 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef ZeroFluxNeumannBoundaryCondition<ImageType> itk::FiniteDifferenceFunction< TImage >::DefaultBoundaryConditionType [inherited] |
The default boundary condition for finite difference functions that is used unless overridden in the Evaluate() method.
Definition at line 93 of file itkFiniteDifferenceFunction.h.
typedef Superclass::FloatOffsetType itk::GradientNDAnisotropicDiffusionFunction< TImage >::FloatOffsetType |
A floating point offset from an image grid location. Used for interpolation among grid values in a neighborhood.
Reimplemented from itk::AnisotropicDiffusionFunction< TImage >.
Definition at line 82 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef Superclass::ImageType itk::GradientNDAnisotropicDiffusionFunction< TImage >::ImageType |
Inherit some parameters from the superclass type.
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 74 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef Superclass::NeighborhoodType itk::GradientNDAnisotropicDiffusionFunction< TImage >::NeighborhoodType |
The type of data structure that is passed to this function object to evaluate at a pixel that does not lie on a data set boundary.
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 81 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef double itk::FiniteDifferenceFunction< TImage >::PixelRealType [inherited] |
Definition at line 82 of file itkFiniteDifferenceFunction.h.
typedef Superclass::PixelType itk::GradientNDAnisotropicDiffusionFunction< TImage >::PixelType |
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 78 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef SmartPointer<Self> itk::GradientNDAnisotropicDiffusionFunction< TImage >::Pointer |
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 66 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef Superclass::RadiusType itk::GradientNDAnisotropicDiffusionFunction< TImage >::RadiusType |
Neighborhood radius type
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 80 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef GradientNDAnisotropicDiffusionFunction itk::GradientNDAnisotropicDiffusionFunction< TImage >::Self |
Standard class typedefs.
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 64 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef ScalarAnisotropicDiffusionFunction<TImage> itk::GradientNDAnisotropicDiffusionFunction< TImage >::Superclass |
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 65 of file itkGradientNDAnisotropicDiffusionFunction.h.
typedef Superclass::TimeStepType itk::GradientNDAnisotropicDiffusionFunction< TImage >::TimeStepType |
Define the TimeStepType to always be double.
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 79 of file itkGradientNDAnisotropicDiffusionFunction.h.
itk::GradientNDAnisotropicDiffusionFunction< TImage >::GradientNDAnisotropicDiffusionFunction | ( | ) | [protected] |
itk::GradientNDAnisotropicDiffusionFunction< TImage >::~GradientNDAnisotropicDiffusionFunction | ( | ) | [inline, protected] |
Definition at line 102 of file itkGradientNDAnisotropicDiffusionFunction.h.
static void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
virtual void itk::AnisotropicDiffusionFunction< TImage >::CalculateAverageGradientMagnitudeSquared | ( | ImageType * | ) | [pure virtual, inherited] |
This method is called before each iteration. It calculates a scalar value that is the average of the gradient magnitude squared at each pixel in the output image (intermediate solution). The average gradient magnitude value is typically used in the anisotropic diffusion equations to calibrate the conductance term.
virtual void itk::ScalarAnisotropicDiffusionFunction< TImage >::CalculateAverageGradientMagnitudeSquared | ( | TImage * | ) | [virtual, inherited] |
virtual TimeStepType itk::AnisotropicDiffusionFunction< TImage >::ComputeGlobalTimeStep | ( | void * | ) | const [inline, virtual, inherited] |
Returns the time step supplied by the user. We don't need to use the global data supplied since we are returning a fixed value.
Implements itk::FiniteDifferenceFunction< TImage >.
Definition at line 192 of file itkAnisotropicDiffusionFunction.h.
virtual PixelType itk::FiniteDifferenceFunction< TImage >::ComputeUpdate | ( | const NeighborhoodType & | neighborhood, | |
void * | globalData, | |||
const FloatOffsetType & | offset = FloatOffsetType(0.0) | |||
) | [pure virtual, inherited] |
This method is called by a finite difference solver image filter at each pixel that does not lie on a data set boundary. The width of the data set boundary is defined by the width of the neighborhood being evaluated.
The neighborhood argument is the neighborhood data. The globalData argument is a pointer to a data structure that holds values that need to be persistent across calls to this function, but cannot be stored in the function object itself for thread-safety reasons. Examples are values needed to compute the time-step for an iteration of the solver.
virtual PixelType itk::GradientNDAnisotropicDiffusionFunction< TImage >::ComputeUpdate | ( | const NeighborhoodType & | neighborhood, | |
void * | globalData, | |||
const FloatOffsetType & | offset = FloatOffsetType(0.0) | |||
) | [virtual] |
Compute the equation value.
virtual Pointer itk::LightObject::CreateAnother | ( | ) | const [virtual, inherited] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented in itk::Object.
virtual void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
const double& itk::AnisotropicDiffusionFunction< TImage >::GetAverageGradientMagnitudeSquared | ( | ) | const [inline, inherited] |
Set/Get the average gradient magnitude squared.
Definition at line 184 of file itkAnisotropicDiffusionFunction.h.
const double& itk::AnisotropicDiffusionFunction< TImage >::GetConductanceParameter | ( | ) | const [inline, inherited] |
Definition at line 179 of file itkAnisotropicDiffusionFunction.h.
virtual void* itk::AnisotropicDiffusionFunction< TImage >::GetGlobalDataPointer | ( | ) | const [inline, virtual, inherited] |
The anisotropic diffusion classes don't use this particular parameter so it's safe to return a null value.
Implements itk::FiniteDifferenceFunction< TImage >.
Definition at line 197 of file itkAnisotropicDiffusionFunction.h.
virtual const char* itk::GradientNDAnisotropicDiffusionFunction< TImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods)
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
const RadiusType& itk::FiniteDifferenceFunction< TImage >::GetRadius | ( | void | ) | const [inline, inherited] |
Returns the radius of the neighborhood this FiniteDifferenceFunction needs to perform its calculations.
Definition at line 143 of file itkFiniteDifferenceFunction.h.
virtual int itk::LightObject::GetReferenceCount | ( | ) | const [inline, virtual, inherited] |
Gets the reference count on this object.
Definition at line 98 of file itkLightObject.h.
const TimeStepType& itk::AnisotropicDiffusionFunction< TImage >::GetTimeStep | ( | ) | const [inline, inherited] |
Definition at line 172 of file itkAnisotropicDiffusionFunction.h.
virtual void itk::GradientNDAnisotropicDiffusionFunction< TImage >::InitializeIteration | ( | ) | [inline, virtual] |
This method is called prior to each iteration of the solver.
Reimplemented from itk::FiniteDifferenceFunction< TImage >.
Definition at line 94 of file itkGradientNDAnisotropicDiffusionFunction.h.
itk::FiniteDifferenceFunction< TImage >::itkStaticConstMacro | ( | ImageDimension | , | |
unsigned | int, | |||
ImageType::ImageDimension | ||||
) | [inherited] |
Save image dimension.
itk::GradientNDAnisotropicDiffusionFunction< TImage >::itkStaticConstMacro | ( | ImageDimension | , | |
unsigned | int, | |||
Superclass::ImageDimension | ||||
) |
Inherit some parameters from the superclass type.
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
static Pointer itk::GradientNDAnisotropicDiffusionFunction< TImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::LightObject.
void itk::LightObject::Print | ( | std::ostream & | os, | |
Indent | indent = 0 | |||
) | const [inherited] |
Cause the object to print itself out.
Referenced by itk::WeakPointer< itk::ProcessObject >::Print().
virtual void itk::LightObject::PrintHeader | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
void itk::GradientNDAnisotropicDiffusionFunction< TImage >::PrintSelf | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [inline, protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ScalarAnisotropicDiffusionFunction< TImage >.
Definition at line 104 of file itkGradientNDAnisotropicDiffusionFunction.h.
References HardConnectedComponentImageFilter::PrintSelf().
virtual void itk::LightObject::PrintTrailer | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
virtual void itk::LightObject::Register | ( | ) | const [virtual, inherited] |
Increase the reference count (mark as used by another object).
Reimplemented in itk::Object.
virtual void itk::AnisotropicDiffusionFunction< TImage >::ReleaseGlobalDataPointer | ( | void * | ) | const [inline, virtual, inherited] |
Does nothing. No global data is used in this class of equations.
Implements itk::FiniteDifferenceFunction< TImage >.
Definition at line 201 of file itkAnisotropicDiffusionFunction.h.
void itk::AnisotropicDiffusionFunction< TImage >::SetAverageGradientMagnitudeSquared | ( | const double & | c | ) | [inline, inherited] |
Set/Get the average gradient magnitude squared.
Definition at line 186 of file itkAnisotropicDiffusionFunction.h.
void itk::AnisotropicDiffusionFunction< TImage >::SetConductanceParameter | ( | const double & | c | ) | [inline, inherited] |
Set/Get the conductance parameter. The conductance parameter
Definition at line 177 of file itkAnisotropicDiffusionFunction.h.
void itk::FiniteDifferenceFunction< TImage >::SetRadius | ( | const RadiusType & | r | ) | [inline, inherited] |
Sets the radius of the neighborhood this FiniteDifferenceFunction needs to perform its calculations.
Definition at line 138 of file itkFiniteDifferenceFunction.h.
virtual void itk::LightObject::SetReferenceCount | ( | int | ) | [virtual, inherited] |
Sets the reference count on this object. This is a dangerous method, use it with care.
Reimplemented in itk::Object.
void itk::FiniteDifferenceFunction< TImage >::SetScaleCoefficients | ( | PixelRealType | vals[ImageDimension] | ) | [inline, inherited] |
Set the ScaleCoefficients for the difference operators. The defaults a 1.0. These can be set to take the image spacing into account.
Definition at line 149 of file itkFiniteDifferenceFunction.h.
void itk::AnisotropicDiffusionFunction< TImage >::SetTimeStep | ( | const TimeStepType & | t | ) | [inline, inherited] |
Set/Get the time step. For this class of anisotropic diffusion filters, the time-step is supplied by the user and remains fixed for all updates.
Definition at line 170 of file itkAnisotropicDiffusionFunction.h.
virtual void itk::LightObject::UnRegister | ( | ) | const [virtual, inherited] |
Decrease the reference count (release by another object).
Reimplemented in itk::Object.
DerivativeOperator<PixelType, itkGetStaticConstMacro(ImageDimension)> itk::GradientNDAnisotropicDiffusionFunction< TImage >::dx_op [protected] |
Derivative operator.
Definition at line 116 of file itkGradientNDAnisotropicDiffusionFunction.h.
unsigned long itk::GradientNDAnisotropicDiffusionFunction< TImage >::m_Center [protected] |
Definition at line 121 of file itkGradientNDAnisotropicDiffusionFunction.h.
NeighborhoodInnerProduct<ImageType> itk::GradientNDAnisotropicDiffusionFunction< TImage >::m_InnerProduct [protected] |
Inner product function.
Definition at line 108 of file itkGradientNDAnisotropicDiffusionFunction.h.
PixelType itk::GradientNDAnisotropicDiffusionFunction< TImage >::m_K [protected] |
Modified global average gradient magnitude term.
Definition at line 119 of file itkGradientNDAnisotropicDiffusionFunction.h.
double itk::GradientNDAnisotropicDiffusionFunction< TImage >::m_MIN_NORM [static, protected] |
Definition at line 124 of file itkGradientNDAnisotropicDiffusionFunction.h.
RadiusType itk::FiniteDifferenceFunction< TImage >::m_Radius [protected, inherited] |
Definition at line 195 of file itkFiniteDifferenceFunction.h.
volatile int itk::LightObject::m_ReferenceCount [mutable, protected, inherited] |
Number of uses of this object by other objects.
Definition at line 119 of file itkLightObject.h.
SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited] |
Mutex lock to protect modification to the reference count
Definition at line 122 of file itkLightObject.h.
PixelRealType itk::FiniteDifferenceFunction< TImage >::m_ScaleCoefficients[ImageDimension] [protected, inherited] |
Definition at line 196 of file itkFiniteDifferenceFunction.h.
unsigned long itk::GradientNDAnisotropicDiffusionFunction< TImage >::m_Stride[ImageDimension] [protected] |
Definition at line 122 of file itkGradientNDAnisotropicDiffusionFunction.h.
std::slice itk::GradientNDAnisotropicDiffusionFunction< TImage >::x_slice[ImageDimension] [protected] |
Slices for the ND neighborhood.
Definition at line 111 of file itkGradientNDAnisotropicDiffusionFunction.h.
std::slice itk::GradientNDAnisotropicDiffusionFunction< TImage >::xa_slice[ImageDimension][ImageDimension] [protected] |
Definition at line 112 of file itkGradientNDAnisotropicDiffusionFunction.h.
std::slice itk::GradientNDAnisotropicDiffusionFunction< TImage >::xd_slice[ImageDimension][ImageDimension] [protected] |
Definition at line 113 of file itkGradientNDAnisotropicDiffusionFunction.h.