34#if defined(ReverseDistanceTransformation_RECURSES)
35#error Recursive header files inclusion detected in ReverseDistanceTransformation.h
38#define ReverseDistanceTransformation_RECURSES
40#if !defined ReverseDistanceTransformation_h
42#define ReverseDistanceTransformation_h
48#include "DGtal/base/Common.h"
49#include "DGtal/kernel/NumberTraits.h"
50#include "DGtal/geometry/volumes/distance/CPowerSeparableMetric.h"
51#include "DGtal/geometry/volumes/distance/PowerMap.h"
52#include "DGtal/images/DefaultConstImageRange.h"
53#include "DGtal/kernel/domains/HyperRectDomain.h"
54#include "DGtal/images/ImageContainerBySTLVector.h"
55#include "DGtal/images/CImage.h"
56#include "DGtal/base/ConstAlias.h"
87 template <
typename TWeightImage,
88 typename TPSeparableMetric,
90 ImageContainerBySTLVector<HyperRectDomain<typename TWeightImage::Domain::Space>,
91 typename TWeightImage::Domain::Space::Vector>
94 :
public PowerMap<TWeightImage, TPSeparableMetric, TImageContainer>
110 typedef typename PowerSeparableMetric::Value
Value;
113 typedef typename TWeightImage::Domain::Space::Point
Point;
116 typedef typename TWeightImage::Domain::Space::Vector
Vector;
119 typedef typename PowerSeparableMetric::Weight
Weight;
133 typedef typename PowerMap< TWeightImage,TPSeparableMetric,
201 this->myWeightImagePtr->operator()( this->myImagePtr->operator()(
aPoint)));
230 out <<
"[ReverseDistanceTransformation] underlying PowerMap={";
254 template <
typename W,
typename TSep>
260 object.selfDisplay( out );
273#undef ReverseDistanceTransformation_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: model of CConstBidirectionalRangeFromPoint that adapts the domain of an image in order to iterat...
Aim: Implementation of the linear in time Power map construction.
std::array< bool, Space::dimension > PeriodicitySpec
Periodicity specification type.
const PowerSeparableMetric * myMetricPtr
Pointer to the separable metric instance.
const Domain & domain() const
const PowerSeparableMetric * metricPtr() const
void selfDisplay(std::ostream &out) const
CountedPtr< OutputImage > myImagePtr
Power map image.
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: Defines the concept describing a read/write image, having an output iterator.
HyperRectDomain< Space > Domain
ImageContainerBySTLVector< HyperRectDomain< Z2i::Space >, std::unordered_set< Z2i::Point > > TImageContainer