DGtal 1.3.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 neighborhood of p, such that only one of their coordinate differ from the coordinates of p by at most two. 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 More... | |
BOOST_CONCEPT_ASSERT ((concepts::CDigitalSet< TSet >)) | |
set More... | |
BOOST_STATIC_ASSERT ((boost::is_same< Point, typename TSet::Point >::value)) | |
L2SecondOrderLocalDistance (Image &aImg, TSet &aSet) | |
L2SecondOrderLocalDistance (const L2SecondOrderLocalDistance &other) | |
L2SecondOrderLocalDistance & | operator= (const L2SecondOrderLocalDistance &other) |
~L2SecondOrderLocalDistance () | |
Value | operator() (const Point &aPoint) |
void | selfDisplay (std::ostream &out) const |
Data Fields | |
Image * | myImgPtr |
Aliasing pointer on the underlying image. More... | |
Set * | mySetPtr |
Aliasing pointer on the underlying set. More... | |
Private Types | |
typedef std::pair< double, Value > | CoeffValue |
typedef std::vector< CoeffValue > | List |
Private Member Functions | |
Value | compute (List &aList) const |
Value | getValue (const Value &aValue1, const Value &aValue2) 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 neighborhood of p, such that only one of their coordinate differ from the coordinates of p by at most two.
Description of template class 'L2SecondOrderLocalDistance'
Like L2FirstOrderLocalDistance, the computed value is such that the upwind gradient of the distance map is one, but instead of using first-order accurate forward and backward differences, L2SecondOrderLocalDistance uses second-order accurate forward and backward difference whenever there are enough points whose distance values are known in order to evaluate these differences.
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 228 of file FMMPointFunctors.h.
|
private |
Definition at line 248 of file FMMPointFunctors.h.
typedef TImage DGtal::L2SecondOrderLocalDistance< TImage, TSet >::Image |
Definition at line 237 of file FMMPointFunctors.h.
|
private |
Definition at line 249 of file FMMPointFunctors.h.
typedef Image::Point DGtal::L2SecondOrderLocalDistance< TImage, TSet >::Point |
Definition at line 238 of file FMMPointFunctors.h.
typedef TSet DGtal::L2SecondOrderLocalDistance< TImage, TSet >::Set |
Definition at line 243 of file FMMPointFunctors.h.
typedef Image::Value DGtal::L2SecondOrderLocalDistance< TImage, TSet >::Value |
Definition at line 239 of file FMMPointFunctors.h.
DGtal::L2SecondOrderLocalDistance< TImage, TSet >::L2SecondOrderLocalDistance | ( | 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::L2SecondOrderLocalDistance< TImage, TSet >::L2SecondOrderLocalDistance | ( | const L2SecondOrderLocalDistance< TImage, TSet > & | other | ) |
Copy constructor.
other | the object to clone. |
DGtal::L2SecondOrderLocalDistance< TImage, TSet >::~L2SecondOrderLocalDistance | ( | ) |
Destructor. Does nothing.
DGtal::L2SecondOrderLocalDistance< TImage, TSet >::BOOST_CONCEPT_ASSERT | ( | (concepts::CDigitalSet< TSet >) | ) |
set
DGtal::L2SecondOrderLocalDistance< TImage, TSet >::BOOST_CONCEPT_ASSERT | ( | (concepts::CImage< TImage >) | ) |
image
DGtal::L2SecondOrderLocalDistance< 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
aList | the distance of (some of) the neighbors |
|
private |
Returns the combination of two distance values for the second-order accurate difference
aValue1 | first value |
aValue2 | second value |
Value DGtal::L2SecondOrderLocalDistance< 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 |
L2SecondOrderLocalDistance & DGtal::L2SecondOrderLocalDistance< TImage, TSet >::operator= | ( | const L2SecondOrderLocalDistance< TImage, TSet > & | other | ) |
Assignment.
other | the object to copy. |
void DGtal::L2SecondOrderLocalDistance< 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::L2SecondOrderLocalDistance< TImage, TSet >::myImgPtr |
Aliasing pointer on the underlying image.
Definition at line 254 of file FMMPointFunctors.h.
Set* DGtal::L2SecondOrderLocalDistance< TImage, TSet >::mySetPtr |
Aliasing pointer on the underlying set.
Definition at line 256 of file FMMPointFunctors.h.