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

#include <itkShapeSignedDistanceFunction.h>

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

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CoordRepType = TCoordRep
 
using InputType = typename Superclass::InputType
 
using OutputType = typename Superclass::OutputType
 
using ParametersType = OptimizerParameters< double >
 
using Pointer = SmartPointer< Self >
 
using PointType = InputType
 
using Self = ShapeSignedDistanceFunction
 
using Superclass = SpatialFunction< double, VSpaceDimension, Point< TCoordRep, VSpaceDimension > >
 
- Public Types inherited from itk::SpatialFunction< double, VSpaceDimension, Point< TCoordRep, VSpaceDimension > >
using ConstPointer = SmartPointer< const Self >
 
using InputType = typename Superclass::InputType
 
using OutputType = typename Superclass::OutputType
 
using Pointer = SmartPointer< Self >
 
using Self = SpatialFunction
 
using Superclass = FunctionBase< Point< TCoordRep, VSpaceDimension >, double >
 
- Public Types inherited from itk::FunctionBase< Point< TCoordRep, VSpaceDimension >, double >
using ConstPointer = SmartPointer< const Self >
 
using InputType = Point< TCoordRep, 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
 
virtual const char * GetNameOfClass () const
 
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< TCoordRep, VSpaceDimension > >
OutputType Evaluate (const InputType &input) const override=0
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) 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)
 
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
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
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< TCoordRep, 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< TCoordRep, VSpaceDimension > >
void PrintSelf (std::ostream &os, Indent indent) const override
 
 SpatialFunction ()=default
 
 ~SpatialFunction () override=default
 
- Protected Member Functions inherited from itk::FunctionBase< Point< TCoordRep, VSpaceDimension >, double >
 FunctionBase ()=default
 
 ~FunctionBase () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
 ~Object () override
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
- 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 flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Detailed Description

template<typename TCoordRep, unsigned int VSpaceDimension>
class itk::ShapeSignedDistanceFunction< TCoordRep, 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.

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 63 of file itkShapeSignedDistanceFunction.h.

◆ CoordRepType

template<typename TCoordRep , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordRep, VSpaceDimension >::CoordRepType = TCoordRep

CoordRep type alias support

Definition at line 78 of file itkShapeSignedDistanceFunction.h.

◆ InputType

template<typename TCoordRep , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordRep, VSpaceDimension >::InputType = typename Superclass::InputType

InputType type alias support

Definition at line 72 of file itkShapeSignedDistanceFunction.h.

◆ OutputType

template<typename TCoordRep , unsigned int VSpaceDimension>
using itk::ShapeSignedDistanceFunction< TCoordRep, VSpaceDimension >::OutputType = typename Superclass::OutputType

OutputType type alias support

Definition at line 69 of file itkShapeSignedDistanceFunction.h.

◆ ParametersType

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

Type of the shape parameters.

Definition at line 84 of file itkShapeSignedDistanceFunction.h.

◆ Pointer

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

Definition at line 62 of file itkShapeSignedDistanceFunction.h.

◆ PointType

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

Point type alias support

Definition at line 81 of file itkShapeSignedDistanceFunction.h.

◆ Self

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

Standard class type aliases.

Definition at line 59 of file itkShapeSignedDistanceFunction.h.

◆ Superclass

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

Definition at line 60 of file itkShapeSignedDistanceFunction.h.

Constructor & Destructor Documentation

◆ ShapeSignedDistanceFunction()

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

◆ ~ShapeSignedDistanceFunction()

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

Member Function Documentation

◆ Evaluate()

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

Evaluate the signed distance from a shape at a given position.

Implemented in itk::SphereSignedDistanceFunction< TCoordRep, VSpaceDimension >.

◆ GetNameOfClass()

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

◆ GetNumberOfParameters()

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

◆ GetNumberOfPoseParameters()

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

◆ GetNumberOfShapeParameters()

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

◆ GetParameters()

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

◆ Initialize()

template<typename TCoordRep , unsigned int VSpaceDimension>
virtual void itk::ShapeSignedDistanceFunction< TCoordRep, 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< TCoordRep, VSpaceDimension, TImage >.

Definition at line 114 of file itkShapeSignedDistanceFunction.h.

◆ PrintSelf()

template<typename TCoordRep , unsigned int VSpaceDimension>
void itk::ShapeSignedDistanceFunction< TCoordRep, 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< TCoordRep, VSpaceDimension >.

Definition at line 123 of file itkShapeSignedDistanceFunction.h.

References itk::SpatialFunction< double, VSpaceDimension, Point< TCoordRep, VSpaceDimension > >::PrintSelf().

◆ SetParameters()

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

A shape is defined by a set of shape parameters.

Implemented in itk::SphereSignedDistanceFunction< TCoordRep, VSpaceDimension >.

Member Data Documentation

◆ m_Parameters

template<typename TCoordRep , unsigned int VSpaceDimension>
ParametersType itk::ShapeSignedDistanceFunction< TCoordRep, VSpaceDimension >::m_Parameters
protected

◆ SpaceDimension

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

Dimension underlying input image.

Definition at line 75 of file itkShapeSignedDistanceFunction.h.


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