DGtal 1.4.0
|
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1). More...
#include <DGtal/geometry/volumes/distance/FMMPointFunctors.h>
Public Types | |
typedef TImage | Image |
typedef Image::Point | Point |
typedef Image::Value | Value |
typedef TSet | Set |
Public Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CImage< TImage >)) | |
image | |
BOOST_CONCEPT_ASSERT ((concepts::CDigitalSet< TSet >)) | |
set | |
BOOST_STATIC_ASSERT ((boost::is_same< Point, typename TSet::Point >::value)) | |
L2FirstOrderLocalDistance (Image &aImg, TSet &aSet) | |
L2FirstOrderLocalDistance (const L2FirstOrderLocalDistance &other) | |
L2FirstOrderLocalDistance & | operator= (const L2FirstOrderLocalDistance &other) |
~L2FirstOrderLocalDistance () | |
Value | operator() (const Point &aPoint) |
void | selfDisplay (std::ostream &out) const |
Data Fields | |
Image * | myImgPtr |
Aliasing pointer on the underlying image. | |
Set * | mySetPtr |
Aliasing pointer on the underlying set. | |
Private Types | |
typedef std::vector< Value > | Values |
Private Member Functions | |
Value | compute (Values &aValueList) const |
Value | gradientNorm (const Value &aValue, const Values &aValueList) const |
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1).
Description of template class 'L2FirstOrderLocalDistance'
The computed value is such that the upwind gradient of the distance map is one, ie. it is the minimum solution \( \Phi \) over all quadrants, verifying the following quadratic equation: \( \sum_{i = 1 \ldots d } ( \Phi - \Phi_i )^2 = 1 \) where \( \Phi_i \) is the distance value of the point preceeding or following p along the \( i \) axis.
It is a model of CPointFunctor.
TImage | model of CImage used for the mapping point-distance value |
TSet | model of CDigitalSet for storing points whose distance value is known |
Definition at line 93 of file FMMPointFunctors.h.
typedef TImage DGtal::L2FirstOrderLocalDistance< TImage, TSet >::Image |
Definition at line 102 of file FMMPointFunctors.h.
typedef Image::Point DGtal::L2FirstOrderLocalDistance< TImage, TSet >::Point |
Definition at line 103 of file FMMPointFunctors.h.
typedef TSet DGtal::L2FirstOrderLocalDistance< TImage, TSet >::Set |
Definition at line 108 of file FMMPointFunctors.h.
typedef Image::Value DGtal::L2FirstOrderLocalDistance< TImage, TSet >::Value |
Definition at line 104 of file FMMPointFunctors.h.
|
private |
Definition at line 113 of file FMMPointFunctors.h.
DGtal::L2FirstOrderLocalDistance< TImage, TSet >::L2FirstOrderLocalDistance | ( | Image & | aImg, |
TSet & | aSet ) |
Constructor from an image and a set. NB: only pointers are stored
aImg | any distance map |
aSet | any digital set |
DGtal::L2FirstOrderLocalDistance< TImage, TSet >::L2FirstOrderLocalDistance | ( | const L2FirstOrderLocalDistance< TImage, TSet > & | other | ) |
Copy constructor.
other | the object to clone. |
DGtal::L2FirstOrderLocalDistance< TImage, TSet >::~L2FirstOrderLocalDistance | ( | ) |
Destructor. Does nothing.
DGtal::L2FirstOrderLocalDistance< TImage, TSet >::BOOST_CONCEPT_ASSERT | ( | (concepts::CDigitalSet< TSet >) | ) |
set
DGtal::L2FirstOrderLocalDistance< TImage, TSet >::BOOST_CONCEPT_ASSERT | ( | (concepts::CImage< TImage >) | ) |
image
DGtal::L2FirstOrderLocalDistance< TImage, TSet >::BOOST_STATIC_ASSERT | ( | (boost::is_same< Point, typename TSet::Point >::value) | ) |
|
private |
Returns an approximation of the Euclidean distance at some point, knowing the distance of its neighbors
aValueList | the distance of (some of) the neighbors |
|
private |
Returns the squared euclidean norm of the gradient of the distance map
aValue | the distance value of the point where the gradient is computed |
aValueList | the distance value of (some of) the neighbors |
Value DGtal::L2FirstOrderLocalDistance< TImage, TSet >::operator() | ( | const Point & | aPoint | ) |
Euclidean distance computation at aPoint , from the available distance values of the 1-neighbors of aPoint .
aPoint | the point for which the distance is computed |
L2FirstOrderLocalDistance & DGtal::L2FirstOrderLocalDistance< TImage, TSet >::operator= | ( | const L2FirstOrderLocalDistance< TImage, TSet > & | other | ) |
Assignment.
other | the object to copy. |
void DGtal::L2FirstOrderLocalDistance< TImage, TSet >::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
Image* DGtal::L2FirstOrderLocalDistance< TImage, TSet >::myImgPtr |
Aliasing pointer on the underlying image.
Definition at line 118 of file FMMPointFunctors.h.
Set* DGtal::L2FirstOrderLocalDistance< TImage, TSet >::mySetPtr |
Aliasing pointer on the underlying set.
Definition at line 120 of file FMMPointFunctors.h.