DGtal  1.4.beta
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor > Class Template Reference

Aim: Class for the computation of the a speed value at some point p, from the available distance values and speed values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1) in order to extrapolate a speed field in the normal direction to the interface. More...

#include <DGtal/geometry/volumes/distance/FMMPointFunctors.h>

Public Types

typedef TDistanceImage DistanceImage
 
typedef DistanceImage::Point Point
 
typedef DistanceImage::Value DistanceValue
 
typedef TSpeedFunctor SpeedFunctor
 
typedef SpeedFunctor::Value Value
 
typedef TSet Set
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CImage< TDistanceImage >))
 image More...
 
 BOOST_CONCEPT_ASSERT ((concepts::CPointFunctor< TSpeedFunctor >))
 
 BOOST_STATIC_ASSERT ((boost::is_same< Point, typename SpeedFunctor::Point >::value))
 
 BOOST_CONCEPT_ASSERT ((concepts::CDigitalSet< TSet >))
 set More...
 
 BOOST_STATIC_ASSERT ((boost::is_same< Point, typename TSet::Point >::value))
 
 SpeedExtrapolator (const DistanceImage &aDistImg, const TSet &aSet, SpeedFunctor &aSpeedFunc)
 
 SpeedExtrapolator (const SpeedExtrapolator &other)
 
SpeedExtrapolatoroperator= (const SpeedExtrapolator &other)
 
 ~SpeedExtrapolator ()
 
Value operator() (const Point &aPoint)
 

Data Fields

const DistanceImagemyDistImgPtr
 Aliasing pointer on the underlying image of distance values. More...
 
const SetmySetPtr
 
SpeedFunctormySpeedFuncPtr
 Aliasing pointer on the underlying image of speed values. More...
 

Detailed Description

template<typename TDistanceImage, typename TSet, typename TSpeedFunctor>
class DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >

Aim: Class for the computation of the a speed value at some point p, from the available distance values and speed values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1) in order to extrapolate a speed field in the normal direction to the interface.

Description of template class 'SpeedExtrapolator'

The computed value is such that the dot product of the gradients of the speed function and of the distance function is zero, ie. \( \nabla S . \nabla \Phi = 0 \).

Note
see [Adalsteinsson and Sethian, Fast Construction of Extension Velocities in Level Set Methods, J. Comput. Phys. 148, 2-22, 1999]

It is a model of CPointFunctor.

Template Parameters
TDistanceImagemodel of CImage used for the mapping point-distance value
TSetmodel of CDigitalSet for storing points whose distance value is known
TSpeedFunctormodel of CImage used for the mapping point-speed value
See also
FMM

Definition at line 704 of file FMMPointFunctors.h.

Member Typedef Documentation

◆ DistanceImage

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
typedef TDistanceImage DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::DistanceImage

Definition at line 713 of file FMMPointFunctors.h.

◆ DistanceValue

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
typedef DistanceImage::Value DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::DistanceValue

Definition at line 715 of file FMMPointFunctors.h.

◆ Point

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
typedef DistanceImage::Point DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::Point

Definition at line 714 of file FMMPointFunctors.h.

◆ Set

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
typedef TSet DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::Set

Definition at line 723 of file FMMPointFunctors.h.

◆ SpeedFunctor

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
typedef TSpeedFunctor DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::SpeedFunctor

Definition at line 717 of file FMMPointFunctors.h.

◆ Value

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
typedef SpeedFunctor::Value DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::Value

Definition at line 719 of file FMMPointFunctors.h.

Constructor & Destructor Documentation

◆ SpeedExtrapolator() [1/2]

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::SpeedExtrapolator ( const DistanceImage aDistImg,
const TSet &  aSet,
SpeedFunctor aSpeedFunc 
)

Constructor from images and set. NB: only pointers are stored

Parameters
aDistImgany distance map
aSetany digital set
aSpeedFuncany speed map

◆ SpeedExtrapolator() [2/2]

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::SpeedExtrapolator ( const SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor > &  other)

Copy constructor.

Parameters
otherthe object to clone.

◆ ~SpeedExtrapolator()

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::~SpeedExtrapolator ( )

Destructor. Does nothing.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT() [1/3]

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CDigitalSet< TSet >)  )

set

◆ BOOST_CONCEPT_ASSERT() [2/3]

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CImage< TDistanceImage >)  )

image

◆ BOOST_CONCEPT_ASSERT() [3/3]

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CPointFunctor< TSpeedFunctor >)  )

◆ BOOST_STATIC_ASSERT() [1/2]

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::BOOST_STATIC_ASSERT ( (boost::is_same< Point, typename SpeedFunctor::Point >::value)  )

◆ BOOST_STATIC_ASSERT() [2/2]

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::BOOST_STATIC_ASSERT ( (boost::is_same< Point, typename TSet::Point >::value)  )

◆ operator()()

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
Value DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::operator() ( const Point aPoint)

Speed value computation at aPoint , from the available distance/speed values of the 1-neighbors of aPoint .

Parameters
aPointthe point for which the speed is computed
Returns
the speed value at aPoint.

◆ operator=()

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
SpeedExtrapolator& DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::operator= ( const SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor > &  other)

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'.

Field Documentation

◆ myDistImgPtr

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
const DistanceImage* DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::myDistImgPtr

Aliasing pointer on the underlying image of distance values.

Definition at line 729 of file FMMPointFunctors.h.

◆ mySetPtr

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
const Set* DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::mySetPtr

Aliasing pointer on the underlying set of points whose distance value is known

Definition at line 732 of file FMMPointFunctors.h.

◆ mySpeedFuncPtr

template<typename TDistanceImage , typename TSet , typename TSpeedFunctor >
SpeedFunctor* DGtal::SpeedExtrapolator< TDistanceImage, TSet, TSpeedFunctor >::mySpeedFuncPtr

Aliasing pointer on the underlying image of speed values.

Definition at line 734 of file FMMPointFunctors.h.


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