ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkCurvatureFlowFunction.h>
This class encapsulate the finite difference equation which drives a curvature flow denoising algorithm.
This class uses a zero flux Neumann boundary condition when computing derivatives near the data boundary.
This class operates as part of the finite difference solver hierarchy.
Definition at line 43 of file itkCurvatureFlowFunction.h.
Public Member Functions | |
TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const override |
PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
void * | GetGlobalDataPointer () const override |
virtual const char * | GetNameOfClass () const |
const TimeStepType & | GetTimeStep () const |
void | ReleaseGlobalDataPointer (void *GlobalData) const override |
void | SetTimeStep (const TimeStepType &t) |
Public Member Functions inherited from itk::FiniteDifferenceFunction< TImage > | |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0))=0 |
const RadiusType & | GetRadius () const |
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
virtual void | InitializeIteration () |
void | SetRadius (const RadiusType &r) |
void | SetScaleCoefficients (PixelRealType vals[ImageDimension]) |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
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::FiniteDifferenceFunction< TImage > | |
static constexpr unsigned int | ImageDimension |
Protected Member Functions | |
CurvatureFlowFunction () | |
~CurvatureFlowFunction () 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 | |
TimeStepType | m_TimeStep |
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::CurvatureFlowFunction< TImage >::ConstPointer = SmartPointer< const Self > |
Definition at line 53 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::FloatOffsetType = typename Superclass::FloatOffsetType |
Definition at line 70 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::ImageType = typename Superclass::ImageType |
Inherit some parameters from the superclass type.
Definition at line 63 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::NeighborhoodScalesType = typename Superclass::NeighborhoodScalesType |
Definition at line 69 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::NeighborhoodType = typename Superclass::NeighborhoodType |
Definition at line 68 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::PixelRealType = typename Superclass::PixelRealType |
Definition at line 67 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::PixelType = typename Superclass::PixelType |
Definition at line 64 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::Pointer = SmartPointer< Self > |
Definition at line 52 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::RadiusType = typename Superclass::RadiusType |
Definition at line 65 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::ScalarValueType = PixelType |
Definition at line 66 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::Self = CurvatureFlowFunction |
Standard class type aliases.
Definition at line 50 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::Superclass = FiniteDifferenceFunction< TImage > |
Definition at line 51 of file itkCurvatureFlowFunction.h.
using itk::CurvatureFlowFunction< TImage >::TimeStepType = typename Superclass::TimeStepType |
Definition at line 71 of file itkCurvatureFlowFunction.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
Computes the time step for an update given a global data structure. The data used in the computation may take different forms depending on the nature of the equations. This global data cannot be kept in the instance of the equation object itself since the equation object must remain stateless for thread safety. The global data is therefore managed for each thread by the finite difference solver filters.
Currently, this function returns the user specified constant time step.
Implements itk::FiniteDifferenceFunction< TImage >.
|
override |
This method computes the solution update for each pixel that does not lie on a the data set boundary.
|
virtual |
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 from itk::LightObject.
Reimplemented in itk::MinMaxCurvatureFlowFunction< TImage >.
|
inlineoverridevirtual |
Returns a pointer to a global data structure that is passed to this object from the solver at each calculation. The idea is that the solver holds the state of any global values needed to calculate the time step, while the equation object performs the actual calculations. The global data should also be initialized in this method.
Implements itk::FiniteDifferenceFunction< TImage >.
Definition at line 93 of file itkCurvatureFlowFunction.h.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::FiniteDifferenceFunction< TImage >.
Reimplemented in itk::MinMaxCurvatureFlowFunction< TImage >.
|
inline |
Get the time step parameter
Definition at line 113 of file itkCurvatureFlowFunction.h.
|
static |
Method for creation through the object factory.
|
inlineoverridevirtual |
When the finite difference solver filter has finished using a global data pointer, it passes it to this method, which frees the memory. The solver cannot free the memory because it does not know the type to which the pointer points.
Implements itk::FiniteDifferenceFunction< TImage >.
Definition at line 105 of file itkCurvatureFlowFunction.h.
|
inline |
Set the time step parameter
Definition at line 109 of file itkCurvatureFlowFunction.h.
|
static |
Extract superclass dimension.
Definition at line 74 of file itkCurvatureFlowFunction.h.
|
private |
Definition at line 145 of file itkCurvatureFlowFunction.h.