34 #if defined(FMMPointFunctors_RECURSES)
35 #error Recursive header files inclusion detected in FMMPointFunctors.h
38 #define FMMPointFunctors_RECURSES
40 #if !defined FMMPointFunctors_h
42 #define FMMPointFunctors_h
50 #include "DGtal/base/Common.h"
51 #include "DGtal/base/ConstAlias.h"
53 #include "DGtal/kernel/sets/CDigitalSet.h"
54 #include "DGtal/kernel/CPointFunctor.h"
55 #include "DGtal/images/CImage.h"
56 #include "DGtal/images/ImageHelper.h"
92 template <
typename TImage,
typename TSet>
227 template <
typename TImage,
typename TSet>
249 typedef std::vector<CoeffValue>
List;
356 template <
typename TImage,
typename TSet>
471 template <
typename TImage,
typename TSet>
584 template <
typename TKSpace,
typename TMap,
bool isIndirect = false>
594 typedef typename Map::mapped_type
Value;
703 template <
typename TDistanceImage,
typename TSet,
typename TSpeedFunctor>
790 #include "DGtal/geometry/volumes/distance/FMMPointFunctors.ih"
797 #undef FMMPointFunctors_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: Class for the computation of the L1-distance at some point p, from the available distance values...
L1LocalDistance(const L1LocalDistance &other)
Set * mySetPtr
Aliasing pointer on the underlying set.
std::vector< Value > Values
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
Image * myImgPtr
Aliasing pointer on the underlying image.
Value compute(Values &aValueList) const
L1LocalDistance & operator=(const L1LocalDistance &other)
Value operator()(const Point &aPoint)
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
void selfDisplay(std::ostream &out) const
L1LocalDistance(Image &aImg, TSet &aSet)
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance...
Value operator()(const Point &aPoint)
Value compute(Values &aValueList) const
L2FirstOrderLocalDistanceFromCells & operator=(const L2FirstOrderLocalDistanceFromCells &other)
std::vector< Value > Values
TKSpace KSpace
cellular grid
~L2FirstOrderLocalDistanceFromCells()
L2FirstOrderLocalDistanceFromCells(ConstAlias< KSpace > aK, Map &aMap)
L2FirstOrderLocalDistanceFromCells(const L2FirstOrderLocalDistanceFromCells &other)
void selfDisplay(std::ostream &out) const
const KSpace * myKSpace
Aliasing pointer on the underlying cellular grid.
Map * myMap
Aliasing pointer on the underlying mapping.
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance...
void selfDisplay(std::ostream &out) const
~L2FirstOrderLocalDistance()
L2FirstOrderLocalDistance(Image &aImg, TSet &aSet)
Value operator()(const Point &aPoint)
Value gradientNorm(const Value &aValue, const Values &aValueList) const
Value compute(Values &aValueList) const
L2FirstOrderLocalDistance & operator=(const L2FirstOrderLocalDistance &other)
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
Set * mySetPtr
Aliasing pointer on the underlying set.
Image * myImgPtr
Aliasing pointer on the underlying image.
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
L2FirstOrderLocalDistance(const L2FirstOrderLocalDistance &other)
std::vector< Value > Values
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance...
std::pair< double, Value > CoeffValue
Value operator()(const Point &aPoint)
Set * mySetPtr
Aliasing pointer on the underlying set.
std::vector< CoeffValue > List
void selfDisplay(std::ostream &out) const
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
~L2SecondOrderLocalDistance()
Value getValue(const Value &aValue1, const Value &aValue2) const
Value compute(List &aList) const
L2SecondOrderLocalDistance(const L2SecondOrderLocalDistance &other)
L2SecondOrderLocalDistance(Image &aImg, TSet &aSet)
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
Image * myImgPtr
Aliasing pointer on the underlying image.
L2SecondOrderLocalDistance & operator=(const L2SecondOrderLocalDistance &other)
Aim: Class for the computation of the LInf-distance at some point p, from the available distance valu...
LInfLocalDistance(Image &aImg, TSet &aSet)
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
std::vector< Value > Values
LInfLocalDistance & operator=(const LInfLocalDistance &other)
Value compute(Values &aValueList) const
Set * mySetPtr
Aliasing pointer on the underlying set.
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
void selfDisplay(std::ostream &out) const
Value operator()(const Point &aPoint)
Image * myImgPtr
Aliasing pointer on the underlying image.
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
LInfLocalDistance(const LInfLocalDistance &other)
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Represents a set of points within the given domain. This set of points is modifiable by the user...
Aim: Defines the concept describing a read/write image, having an output iterator.
Aim: Defines a functor on points.