ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension > Class Template Referenceabstract

#include <itkShapeSignedDistanceFunction.h>

Detailed Description

template<typename TCoordinate, unsigned int VSpaceDimension>
class itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >

Base class for functions which evaluates the signed distance from a shape.

ShapeSignedDistanceFunction is the base class for functions which returns the signed distance from a shape at an arbitrary point. A shape assumed to be defined by a set of shape and pose parameters.

Note that Initialize() must be called before use. This allows the class an opportunity to validate any inputs.

This class is templated over the coordinate representation type (e.g. float or double) and the space dimension.

ShapeSignedDistanceFunction is used to encapsulate the shape prior in ShapePriorSegmentationLevelSetFunctions.

See also
SpatialFunction
ShapePriorSegmentationLevelSetFunction

Definition at line 53 of file itkShapeSignedDistanceFunction.h.

+ Inheritance diagram for itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >:
+ Collaboration diagram for itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CoordinateType = TCoordinate
 
using ParametersType = OptimizerParameters< double >
 
using Pointer = SmartPointer< Self >
 
using PointType = InputType
 
using Self = ShapeSignedDistanceFunction
 
using Superclass = SpatialFunction< double, VSpaceDimension, Point< TCoordinate, VSpaceDimension > >
 
- Public Types inherited from itk::SpatialFunction< double, VSpaceDimension, Point< TCoordinate, VSpaceDimension > >
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = SpatialFunction
 
using Superclass = FunctionBase< Point< TCoordinate, VSpaceDimension >, double >
 
- Public Types inherited from itk::FunctionBase< Point< TCoordinate, VSpaceDimension >, double >
using ConstPointer = SmartPointer< const Self >
 
using InputType = Point< TCoordinate, VSpaceDimension >
 
using OutputType = double
 
using Pointer = SmartPointer< Self >
 
using Self = FunctionBase
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

OutputType Evaluate (const PointType &point) const override=0
 
const char * GetNameOfClass () const override
 
virtual unsigned int GetNumberOfParameters () const
 
virtual unsigned int GetNumberOfPoseParameters () const =0
 
virtual unsigned int GetNumberOfShapeParameters () const =0
 
virtual ParametersTypeGetParameters ()
 
virtual void Initialize ()
 
virtual void SetParameters (const ParametersType &)=0
 
- Public Member Functions inherited from itk::SpatialFunction< double, VSpaceDimension, Point< TCoordinate, VSpaceDimension > >
const char * GetNameOfClass () const override
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Attributes

static constexpr unsigned int SpaceDimension = VSpaceDimension
 
- Static Public Attributes inherited from itk::SpatialFunction< double, VSpaceDimension, Point< TCoordinate, VSpaceDimension > >
static constexpr unsigned int ImageDimension
 

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const override
 
 ShapeSignedDistanceFunction ()=default
 
 ~ShapeSignedDistanceFunction () override=default
 
- Protected Member Functions inherited from itk::SpatialFunction< double, VSpaceDimension, Point< TCoordinate, VSpaceDimension > >
void PrintSelf (std::ostream &os, Indent indent) const override
 
 SpatialFunction ()=default
 
 ~SpatialFunction () override=default
 
- Protected Member Functions inherited from itk::FunctionBase< Point< TCoordinate, VSpaceDimension >, double >
 FunctionBase ()=default
 
 ~FunctionBase () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- 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 ()
 

Protected Attributes

ParametersType m_Parameters {}
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Member Typedef Documentation

◆ ConstPointer

template<typename TCoordinate , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::ConstPointer = SmartPointer<const Self>

Definition at line 64 of file itkShapeSignedDistanceFunction.h.

◆ CoordinateType

template<typename TCoordinate , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::CoordinateType = TCoordinate

CoordRep type alias support

Definition at line 79 of file itkShapeSignedDistanceFunction.h.

◆ ParametersType

template<typename TCoordinate , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::ParametersType = OptimizerParameters<double>

Type of the shape parameters.

Definition at line 89 of file itkShapeSignedDistanceFunction.h.

◆ Pointer

template<typename TCoordinate , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::Pointer = SmartPointer<Self>

Definition at line 63 of file itkShapeSignedDistanceFunction.h.

◆ PointType

template<typename TCoordinate , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::PointType = InputType

Point type alias support

Definition at line 86 of file itkShapeSignedDistanceFunction.h.

◆ Self

template<typename TCoordinate , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::Self = ShapeSignedDistanceFunction

Standard class type aliases.

Definition at line 60 of file itkShapeSignedDistanceFunction.h.

◆ Superclass

template<typename TCoordinate , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::Superclass = SpatialFunction<double, VSpaceDimension, Point<TCoordinate, VSpaceDimension> >

Definition at line 61 of file itkShapeSignedDistanceFunction.h.

Constructor & Destructor Documentation

◆ ShapeSignedDistanceFunction()

template<typename TCoordinate , unsigned int VSpaceDimension>
itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::ShapeSignedDistanceFunction ( )
protecteddefault

◆ ~ShapeSignedDistanceFunction()

template<typename TCoordinate , unsigned int VSpaceDimension>
itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::~ShapeSignedDistanceFunction ( )
overrideprotecteddefault

Member Function Documentation

◆ Evaluate()

template<typename TCoordinate , unsigned int VSpaceDimension>
OutputType itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::Evaluate ( const PointType point) const
overridepure virtual

◆ GetNameOfClass()

template<typename TCoordinate , unsigned int VSpaceDimension>
const char* itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::GetNameOfClass ( ) const
overridevirtual

◆ GetNumberOfParameters()

template<typename TCoordinate , unsigned int VSpaceDimension>
virtual unsigned int itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::GetNumberOfParameters ( ) const
inlinevirtual

Definition at line 107 of file itkShapeSignedDistanceFunction.h.

◆ GetNumberOfPoseParameters()

template<typename TCoordinate , unsigned int VSpaceDimension>
virtual unsigned int itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::GetNumberOfPoseParameters ( ) const
pure virtual

◆ GetNumberOfShapeParameters()

template<typename TCoordinate , unsigned int VSpaceDimension>
virtual unsigned int itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::GetNumberOfShapeParameters ( ) const
pure virtual

◆ GetParameters()

template<typename TCoordinate , unsigned int VSpaceDimension>
virtual ParametersType& itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::GetParameters ( )
inlinevirtual

Definition at line 96 of file itkShapeSignedDistanceFunction.h.

◆ Initialize()

template<typename TCoordinate , unsigned int VSpaceDimension>
virtual void itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::Initialize ( )
inlinevirtual

Initialize must be called before the first call of SetParameters() or Evaluate() to allow the class to validate any inputs.

Reimplemented in itk::PCAShapeSignedDistanceFunction< TCoordinate, VSpaceDimension, TImage >.

Definition at line 119 of file itkShapeSignedDistanceFunction.h.

◆ PrintSelf()

template<typename TCoordinate , unsigned int VSpaceDimension>
void itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
inlineoverrideprotectedvirtual

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::Object.

Reimplemented in itk::SphereSignedDistanceFunction< TCoordinate, VSpaceDimension >.

Definition at line 128 of file itkShapeSignedDistanceFunction.h.

◆ SetParameters()

template<typename TCoordinate , unsigned int VSpaceDimension>
virtual void itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::SetParameters ( const ParametersType )
pure virtual

Member Data Documentation

◆ m_Parameters

template<typename TCoordinate , unsigned int VSpaceDimension>
ParametersType itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::m_Parameters {}
protected

Definition at line 134 of file itkShapeSignedDistanceFunction.h.

◆ SpaceDimension

template<typename TCoordinate , unsigned int VSpaceDimension>
constexpr unsigned int itk::ShapeSignedDistanceFunction< TCoordinate, VSpaceDimension >::SpaceDimension = VSpaceDimension
staticconstexpr

Dimension underlying input image.

Definition at line 76 of file itkShapeSignedDistanceFunction.h.


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