34 #if defined(FMMPointFunctors_RECURSES)
35 #error Recursive header files inclusion detected in FMMPointFunctors.h
36 #else // defined(FMMPointFunctors_RECURSES)
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"
795 #endif // !defined FMMPointFunctors_h
797 #undef FMMPointFunctors_RECURSES
798 #endif // else defined(FMMPointFunctors_RECURSES)
void selfDisplay(std::ostream &out) const
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
Value gradientNorm(const Value &aValue, const Values &aValueList) const
L2FirstOrderLocalDistance(const L2FirstOrderLocalDistance &other)
L1LocalDistance(const L1LocalDistance &other)
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Value compute(Values &aValueList) const
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
Value getValue(const Value &aValue1, const Value &aValue2) const
L2SecondOrderLocalDistance(const L2SecondOrderLocalDistance &other)
Map * myMap
Aliasing pointer on the underlying mapping.
std::vector< Value > Values
Value operator()(const Point &aPoint)
Image * myImgPtr
Aliasing pointer on the underlying image.
LInfLocalDistance(Image &aImg, TSet &aSet)
Image * myImgPtr
Aliasing pointer on the underlying image.
LInfLocalDistance(const LInfLocalDistance &other)
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
std::vector< Value > Values
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance...
std::vector< CoeffValue > List
LInfLocalDistance & operator=(const LInfLocalDistance &other)
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
L2SecondOrderLocalDistance(Image &aImg, TSet &aSet)
L2FirstOrderLocalDistance(Image &aImg, TSet &aSet)
L2FirstOrderLocalDistance & operator=(const L2FirstOrderLocalDistance &other)
Image * myImgPtr
Aliasing pointer on the underlying image.
Aim: Class for the computation of the LInf-distance at some point p, from the available distance valu...
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
L2SecondOrderLocalDistance & operator=(const L2SecondOrderLocalDistance &other)
Value operator()(const Point &aPoint)
Set * mySetPtr
Aliasing pointer on the underlying set.
L2FirstOrderLocalDistanceFromCells(const L2FirstOrderLocalDistanceFromCells &other)
Value compute(List &aList) const
Value compute(Values &aValueList) const
DGtal is the top-level namespace which contains all DGtal functions and types.
~L2SecondOrderLocalDistance()
void selfDisplay(std::ostream &out) const
Value operator()(const Point &aPoint)
std::vector< Value > Values
void selfDisplay(std::ostream &out) const
Value compute(Values &aValueList) const
std::vector< Value > Values
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
const KSpace * myKSpace
Aliasing pointer on the underlying cellular grid.
Set * mySetPtr
Aliasing pointer on the underlying set.
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance...
~L2FirstOrderLocalDistanceFromCells()
Set * mySetPtr
Aliasing pointer on the underlying set.
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TSet >))
set
Image * myImgPtr
Aliasing pointer on the underlying image.
void selfDisplay(std::ostream &out) const
void selfDisplay(std::ostream &out) const
Aim: Class for the computation of the L1-distance at some point p, from the available distance values...
~L2FirstOrderLocalDistance()
BOOST_CONCEPT_ASSERT((concepts::CImage< TImage >))
image
L1LocalDistance & operator=(const L1LocalDistance &other)
Aim: Defines a functor on points.
std::pair< double, Value > CoeffValue
BOOST_STATIC_ASSERT((boost::is_same< Point, typename TSet::Point >::value))
L2FirstOrderLocalDistanceFromCells(ConstAlias< KSpace > aK, Map &aMap)
L1LocalDistance(Image &aImg, TSet &aSet)
Value compute(Values &aValueList) const
TKSpace KSpace
cellular grid
Value operator()(const Point &aPoint)
Aim: Represents a set of points within the given domain. This set of points is modifiable by the user...
Value operator()(const Point &aPoint)
L2FirstOrderLocalDistanceFromCells & operator=(const L2FirstOrderLocalDistanceFromCells &other)
Set * mySetPtr
Aliasing pointer on the underlying set.
Aim: Class for the computation of the Euclidean distance at some point p, from the available distance...
Aim: Defines the concept describing a read/write image, having an output iterator.