ITK  4.8.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::NormalVectorFunctionBase< TSparseImageType > Class Template Reference

#include <itkNormalVectorFunctionBase.h>

+ Inheritance diagram for itk::NormalVectorFunctionBase< TSparseImageType >:
+ Collaboration diagram for itk::NormalVectorFunctionBase< TSparseImageType >:

Detailed Description

template<typename TSparseImageType>
class itk::NormalVectorFunctionBase< TSparseImageType >

This class defines the common functionality for Sparse Image neighborhoods of unit vectors.

This class is derived from the FiniteDifferenceSparseImageFunction class and adds the functionality needed to process unit normal vector neighborhoods.
This class is the parent class of the NormalVectorDiffusionFunction class which defines all the necessary functionality for performing diffusion operations on unit vectors stored in sparse images. Other (non-diffusion) filters (such as median filtering) on unit vectors can also be derived from this base class.
PARAMETERS
This function class has a time step parameter which is returned by the ComputeGloablTimeStep method. Unlike other finite difference function classes, this class does not use the maximum change magnitude to compute the time step, it returns this predetermined time step.

Definition at line 52 of file itkNormalVectorFunctionBase.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::FloatOffsetType FloatOffsetType
 
typedef Superclass::IndexType IndexType
 
typedef
Superclass::NeighborhoodType 
NeighborhoodType
 
typedef SparseImageType::NodeType NodeType
 
typedef NodeType::NodeValueType NodeValueType
 
typedef NodeType::NodeDataType NormalVectorType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RadiusType RadiusType
 
typedef NormalVectorFunctionBase Self
 
typedef Superclass::SparseImageType SparseImageType
 
typedef
FiniteDifferenceSparseImageFunction
< TSparseImageType > 
Superclass
 
typedef Superclass::TimeStepType TimeStepType
 
- Public Types inherited from itk::FiniteDifferenceSparseImageFunction< TSparseImageType >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::FloatOffsetType FloatOffsetType
 
typedef SparseImageType::IndexType IndexType
 
typedef
Superclass::NeighborhoodType 
NeighborhoodType
 
typedef NodeType::NodeDataType NodeDataType
 
typedef SparseImageType::NodeType NodeType
 
typedef Superclass::PixelType PixelType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RadiusType RadiusType
 
typedef
FiniteDifferenceSparseImageFunction 
Self
 
typedef Superclass::ImageType SparseImageType
 
typedef
FiniteDifferenceFunction
< TSparseImageType > 
Superclass
 
typedef Superclass::TimeStepType TimeStepType
 
- Public Types inherited from itk::FiniteDifferenceFunction< TSparseImageType >
typedef SmartPointer< const SelfConstPointer
 
typedef
ZeroFluxNeumannBoundaryCondition
< ImageType
DefaultBoundaryConditionType
 
typedef Vector< float,
itkGetStaticConstMacro(ImageDimension) > 
FloatOffsetType
 
typedef TSparseImageType ImageType
 
typedef Vector< PixelRealType,
itkGetStaticConstMacro(ImageDimension) > 
NeighborhoodScalesType
 
typedef
ConstNeighborhoodIterator
< TSparseImageType,
DefaultBoundaryConditionType
NeighborhoodType
 
typedef double PixelRealType
 
typedef ImageType::PixelType PixelType
 
typedef SmartPointer< SelfPointer
 
typedef
ConstNeighborhoodIterator
< TSparseImageType >
::RadiusType 
RadiusType
 
typedef FiniteDifferenceFunction Self
 
typedef LightObject Superclass
 
typedef double TimeStepType
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual TimeStepType ComputeGlobalTimeStep (void *) const override
 
virtual const char * GetNameOfClass () const
 
TimeStepType GetTimeStep () const
 
void SetTimeStep (const TimeStepType &ts)
 
virtual void * GetGlobalDataPointer () const override
 
virtual void ReleaseGlobalDataPointer (void *) const override
 
- Public Member Functions inherited from itk::FiniteDifferenceSparseImageFunction< TSparseImageType >
virtual NodeDataType ComputeSparseUpdate (NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) const =0
 
virtual PixelType ComputeUpdate (const NeighborhoodType &, void *, const FloatOffsetType &) override
 
virtual void PrecomputeSparseUpdate (NeighborhoodType &) const
 
- Public Member Functions inherited from itk::FiniteDifferenceFunction< TSparseImageType >
const NeighborhoodScalesType ComputeNeighborhoodScales () const
 
const RadiusTypeGetRadius () 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 Pointer CreateAnother () const
 
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 Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::FiniteDifferenceSparseImageFunction< TSparseImageType >
static const unsigned int ImageDimension = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::FiniteDifferenceFunction< TSparseImageType >
static const unsigned int ImageDimension
 

Protected Member Functions

 NormalVectorFunctionBase ()
 
virtual void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~NormalVectorFunctionBase ()
 
- Protected Member Functions inherited from itk::FiniteDifferenceSparseImageFunction< TSparseImageType >
 FiniteDifferenceSparseImageFunction ()
 
 ~FiniteDifferenceSparseImageFunction ()
 
- Protected Member Functions inherited from itk::FiniteDifferenceFunction< TSparseImageType >
 FiniteDifferenceFunction ()
 
 ~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

 NormalVectorFunctionBase (const Self &)
 
void operator= (const Self &)
 

Private Attributes

TimeStepType m_TimeStep
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Protected Attributes inherited from itk::FiniteDifferenceFunction< TSparseImageType >
RadiusType m_Radius
 
PixelRealType m_ScaleCoefficients [ImageDimension]
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Member Typedef Documentation

template<typename TSparseImageType >
typedef SmartPointer< const Self > itk::NormalVectorFunctionBase< TSparseImageType >::ConstPointer

Definition at line 60 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef Superclass::FloatOffsetType itk::NormalVectorFunctionBase< TSparseImageType >::FloatOffsetType

Definition at line 72 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef Superclass::IndexType itk::NormalVectorFunctionBase< TSparseImageType >::IndexType

Definition at line 73 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef Superclass::NeighborhoodType itk::NormalVectorFunctionBase< TSparseImageType >::NeighborhoodType

Definition at line 71 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef SparseImageType::NodeType itk::NormalVectorFunctionBase< TSparseImageType >::NodeType

The node type for the sparse image.

Definition at line 77 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef NodeType::NodeValueType itk::NormalVectorFunctionBase< TSparseImageType >::NodeValueType

The basic floating point type for the variables.

Definition at line 80 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef NodeType::NodeDataType itk::NormalVectorFunctionBase< TSparseImageType >::NormalVectorType

The vector type for the normals.

Definition at line 83 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef SmartPointer< Self > itk::NormalVectorFunctionBase< TSparseImageType >::Pointer

Definition at line 59 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef Superclass::RadiusType itk::NormalVectorFunctionBase< TSparseImageType >::RadiusType

Definition at line 70 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef NormalVectorFunctionBase itk::NormalVectorFunctionBase< TSparseImageType >::Self

Standard class typedef.

Definition at line 57 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef Superclass::SparseImageType itk::NormalVectorFunctionBase< TSparseImageType >::SparseImageType

Definition at line 74 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef FiniteDifferenceSparseImageFunction< TSparseImageType > itk::NormalVectorFunctionBase< TSparseImageType >::Superclass

Definition at line 58 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
typedef Superclass::TimeStepType itk::NormalVectorFunctionBase< TSparseImageType >::TimeStepType

Typedefs from the superclass.

Definition at line 69 of file itkNormalVectorFunctionBase.h.

Constructor & Destructor Documentation

template<typename TSparseImageType >
itk::NormalVectorFunctionBase< TSparseImageType >::NormalVectorFunctionBase ( )
protected
template<typename TSparseImageType >
itk::NormalVectorFunctionBase< TSparseImageType >::~NormalVectorFunctionBase ( )
inlineprotected

Definition at line 104 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
itk::NormalVectorFunctionBase< TSparseImageType >::NormalVectorFunctionBase ( const Self )
private

Member Function Documentation

template<typename TSparseImageType >
virtual TimeStepType itk::NormalVectorFunctionBase< TSparseImageType >::ComputeGlobalTimeStep ( void *  ) const
inlineoverridevirtual

For the global time step, we return the time step parameter.

Implements itk::FiniteDifferenceFunction< TSparseImageType >.

Definition at line 91 of file itkNormalVectorFunctionBase.h.

References itk::NormalVectorFunctionBase< TSparseImageType >::m_TimeStep.

template<typename TSparseImageType >
virtual void* itk::NormalVectorFunctionBase< TSparseImageType >::GetGlobalDataPointer ( ) const
inlineoverridevirtual

Globaldata methods are not needed in this class.

Implements itk::FiniteDifferenceFunction< TSparseImageType >.

Definition at line 86 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
virtual const char* itk::NormalVectorFunctionBase< TSparseImageType >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods)

Reimplemented from itk::FiniteDifferenceSparseImageFunction< TSparseImageType >.

Reimplemented in itk::NormalVectorDiffusionFunction< TSparseImageType >.

template<typename TSparseImageType >
TimeStepType itk::NormalVectorFunctionBase< TSparseImageType >::GetTimeStep ( ) const
inline

Returns the time step.

Definition at line 99 of file itkNormalVectorFunctionBase.h.

References itk::NormalVectorFunctionBase< TSparseImageType >::m_TimeStep.

template<typename TSparseImageType >
void itk::NormalVectorFunctionBase< TSparseImageType >::operator= ( const Self )
private
template<typename TSparseImageType >
virtual void itk::NormalVectorFunctionBase< TSparseImageType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

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::FiniteDifferenceSparseImageFunction< TSparseImageType >.

Reimplemented in itk::NormalVectorDiffusionFunction< TSparseImageType >.

template<typename TSparseImageType >
virtual void itk::NormalVectorFunctionBase< TSparseImageType >::ReleaseGlobalDataPointer ( void *  ) const
inlineoverridevirtual

Globaldata methods are not needed in this class.

Implements itk::FiniteDifferenceFunction< TSparseImageType >.

Definition at line 87 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
void itk::NormalVectorFunctionBase< TSparseImageType >::SetTimeStep ( const TimeStepType ts)
inline

Sets the time step.

Definition at line 95 of file itkNormalVectorFunctionBase.h.

References itk::NormalVectorFunctionBase< TSparseImageType >::m_TimeStep.

Member Data Documentation

template<typename TSparseImageType >
const unsigned int itk::NormalVectorFunctionBase< TSparseImageType >::ImageDimension = Superclass::ImageDimension
static

Image dimension derived from the superclass.

Definition at line 66 of file itkNormalVectorFunctionBase.h.

template<typename TSparseImageType >
TimeStepType itk::NormalVectorFunctionBase< TSparseImageType >::m_TimeStep
private

The documentation for this class was generated from the following file: