ITK
4.8.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 | |
virtual TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const override |
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
virtual void * | GetGlobalDataPointer () const override |
virtual const char * | GetNameOfClass () const |
const TimeStepType & | GetTimeStep () const |
virtual void | ReleaseGlobalDataPointer (void *GlobalData) const override |
void | SetTimeStep (const TimeStepType &t) |
Public Member Functions inherited from itk::FiniteDifferenceFunction< TImage > | |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
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 const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceFunction< TImage > | |
static const unsigned int | ImageDimension |
Protected Member Functions | |
CurvatureFlowFunction () | |
~CurvatureFlowFunction () | |
Protected Member Functions inherited from itk::FiniteDifferenceFunction< TImage > | |
FiniteDifferenceFunction () | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
~FiniteDifferenceFunction () | |
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 Member Functions | |
CurvatureFlowFunction (const Self &) | |
void | operator= (const Self &) |
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 | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::CurvatureFlowFunction< TImage >::ConstPointer |
Definition at line 51 of file itkCurvatureFlowFunction.h.
typedef Superclass::FloatOffsetType itk::CurvatureFlowFunction< TImage >::FloatOffsetType |
Definition at line 68 of file itkCurvatureFlowFunction.h.
typedef Superclass::ImageType itk::CurvatureFlowFunction< TImage >::ImageType |
Inherit some parameters from the superclass type.
Definition at line 58 of file itkCurvatureFlowFunction.h.
typedef Superclass::NeighborhoodScalesType itk::CurvatureFlowFunction< TImage >::NeighborhoodScalesType |
Definition at line 67 of file itkCurvatureFlowFunction.h.
typedef Superclass::NeighborhoodType itk::CurvatureFlowFunction< TImage >::NeighborhoodType |
Definition at line 66 of file itkCurvatureFlowFunction.h.
typedef Superclass::PixelRealType itk::CurvatureFlowFunction< TImage >::PixelRealType |
Definition at line 65 of file itkCurvatureFlowFunction.h.
typedef Superclass::PixelType itk::CurvatureFlowFunction< TImage >::PixelType |
Definition at line 62 of file itkCurvatureFlowFunction.h.
typedef SmartPointer< Self > itk::CurvatureFlowFunction< TImage >::Pointer |
Definition at line 50 of file itkCurvatureFlowFunction.h.
typedef Superclass::RadiusType itk::CurvatureFlowFunction< TImage >::RadiusType |
Definition at line 63 of file itkCurvatureFlowFunction.h.
typedef PixelType itk::CurvatureFlowFunction< TImage >::ScalarValueType |
Definition at line 64 of file itkCurvatureFlowFunction.h.
typedef CurvatureFlowFunction itk::CurvatureFlowFunction< TImage >::Self |
Standard class typedefs.
Definition at line 48 of file itkCurvatureFlowFunction.h.
typedef FiniteDifferenceFunction< TImage > itk::CurvatureFlowFunction< TImage >::Superclass |
Definition at line 49 of file itkCurvatureFlowFunction.h.
typedef Superclass::TimeStepType itk::CurvatureFlowFunction< TImage >::TimeStepType |
Definition at line 69 of file itkCurvatureFlowFunction.h.
|
protected |
|
inlineprotected |
Definition at line 140 of file itkCurvatureFlowFunction.h.
|
private |
|
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 >.
|
overridevirtual |
This method computes the solution update for each pixel that does not lie on a the data set boundary.
Implements itk::FiniteDifferenceFunction< TImage >.
Reimplemented in itk::MinMaxCurvatureFlowFunction< TImage >, and itk::BinaryMinMaxCurvatureFlowFunction< TImage >.
|
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 91 of file itkCurvatureFlowFunction.h.
References itk::NumericTraits< T >::ZeroValue().
|
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 111 of file itkCurvatureFlowFunction.h.
References itk::CurvatureFlowFunction< TImage >::m_TimeStep.
|
static |
Method for creation through the object factory.
|
private |
|
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 103 of file itkCurvatureFlowFunction.h.
|
inline |
Set the time step parameter
Definition at line 107 of file itkCurvatureFlowFunction.h.
References itk::CurvatureFlowFunction< TImage >::m_TimeStep.
|
static |
Extract superclass dimension.
Definition at line 72 of file itkCurvatureFlowFunction.h.
|
private |
Definition at line 146 of file itkCurvatureFlowFunction.h.
Referenced by itk::CurvatureFlowFunction< TImage >::GetTimeStep(), and itk::CurvatureFlowFunction< TImage >::SetTimeStep().