34#if defined(ReducedMedialAxis_RECURSES)
35#error Recursive header files inclusion detected in ReducedMedialAxis.h
38#define ReducedMedialAxis_RECURSES
40#if !defined ReducedMedialAxis_h
42#define ReducedMedialAxis_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/ImageContainerBySTLMap.h"
55#include "DGtal/images/CImage.h"
56#include "DGtal/images/Image.h"
94 template <
typename TPowerMap,
95 typename TImageContainer = ImageContainerBySTLMap<
typename TPowerMap::Domain,
96 typename TPowerMap::PowerSeparableMetric::Value> >
116 for (
typename TPowerMap::Domain::ConstIterator it = aPowerMap.domain().begin(),
117 itend = aPowerMap.domain().end(); it != itend; ++it)
119 const auto v = aPowerMap( *it );
120 const auto pv = aPowerMap.projectPoint( v );
122 if ( aPowerMap.metricPtr()->powerDistance( *it, v, aPowerMap.weightImagePtr()->operator()( pv ) )
124 computedMA->
setValue( v, aPowerMap.weightImagePtr()->operator()( pv ) );
127 return Type( computedMA );
140#undef ReducedMedialAxis_RECURSES
void setValue(const Point &aPoint, const Value &aValue)
Aim: implements association bewteen points lying in a digital domain and values.
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: The traits class for all models of Cinteger.
ImageContainerBySTLVector< HyperRectDomain< Z2i::Space >, std::unordered_set< Z2i::Point > > TImageContainer