33 #if defined(PowerMap_RECURSES) 34 #error Recursive header files inclusion detected in PowerMap.h 35 #else // defined(PowerMap_RECURSES) 37 #define PowerMap_RECURSES 39 #if !defined PowerMap_h 48 #include "DGtal/base/Common.h" 49 #include "DGtal/base/CountedPtr.h" 50 #include "DGtal/base/ConstAlias.h" 51 #include "DGtal/images/ImageContainerBySTLVector.h" 52 #include "DGtal/kernel/domains/HyperRectDomain.h" 53 #include "DGtal/images/CConstImage.h" 54 #include "DGtal/images/CImage.h" 55 #include "DGtal/geometry/volumes/distance/CPowerSeparableMetric.h" 56 #include "DGtal/kernel/domains/HyperRectDomain.h" 105 template <
typename TWeightImage,
106 typename TPowerSeparableMetric,
107 typename TImageContainer =
108 ImageContainerBySTLVector<HyperRectDomain<typename TWeightImage::Domain::Space>,
420 template <
typename W,
424 operator<< ( std::ostream & out, const PowerMap<W,Sep,Image> & object );
431 #include "DGtal/geometry/volumes/distance/PowerMap.ih" 436 #endif // !defined PowerMap_h 438 #undef PowerMap_RECURSES 439 #endif // else defined(PowerMap_RECURSES)
HyperRectDomain< Space > Domain
TWeightImage WeightImage
Copy of the distance image types.
Aim: implements association bewteen points lying in a digital domain and values.
OutputImage::ConstRange ConstRange
Definition of the image value type.
const Domain & domain() const
Self & operator=(const Self &aOtherPowerMap)=default
void computeOtherSteps(const Dimension dim) const
std::vector< Dimension > myPeriodicityIndex
Index of the periodic dimensions.
Component Coordinate
Type for Point elements.
Point projectPoint(Point aPoint) const
Value operator()(const Point &aPoint) const
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
DGtal::uint32_t Dimension
Point myInfinity
Value to act as a +infinity value.
Image::ConstRange ConstRange
WeightImage::Domain::Space Space
const WeightImage * weightImagePtr() const
Aim: Parallelepidec region of a digital space, model of a 'CDomain'.
std::array< bool, Space::dimension > PeriodicitySpec
Periodicity specification type.
TWeightImage::Value Weight
DGtal::Dimension Dimension
Copy of the type used for the dimension.
const PowerSeparableMetric * metricPtr() const
void computeOtherStep1D(const Point &row, const Dimension dim) const
const Domain * myDomainPtr
Pointer to the computation domain.
CountedPtr< OutputImage > myImagePtr
Power map image.
ConstRange constRange() const
Point myUpperBoundCopy
Copy of the image lower bound.
Aim: Implementation of the linear in time Power map construction.
Aim: defines the concept of separable metrics.
const WeightImage * myWeightImagePtr
Pointer to the point predicate.
BOOST_STATIC_ASSERT((boost::is_same< typename TWeightImage::Domain::Space, typename TImageContainer::Domain::Space >::value))
BOOST_CONCEPT_ASSERT((concepts::CImage< TImageContainer >))
Point myLowerBoundCopy
Copy of the image lower bound.
DGtal is the top-level namespace which contains all DGtal functions and types.
UnsignedInteger Size
Type used to represent sizes in the digital space.
PeriodicitySpec const & getPeriodicitySpec() const
unsigned int dim(const Vector &z)
Space::Dimension Dimension
FreemanChain< int >::Vector Vector
bool isPeriodic(const Dimension n) const
TImageContainer::Domain Domain
Definition of the underlying domain type.
Space::Point::Coordinate Abscissa
PointVector< dim, Integer > Point
Points in DGtal::SpaceND.
const PowerSeparableMetric * myMetricPtr
Pointer to the separable metric instance.
TPowerSeparableMetric PowerSeparableMetric
We construct the type associated to the separable metric.
TImageContainer OutputImage
Type of resulting image.
Point myDomainExtent
Domain extent.
PowerMap< TWeightImage, TPowerSeparableMetric, TImageContainer > Self
Self type.
Aim: Defines the concept describing a read-only image, which is a refinement of CPointFunctor.
Aim: Defines the concept describing a read/write image, having an output iterator.
Point::Coordinate projectCoordinate(typename Point::Coordinate aCoordinate, const Dimension aDim) const
Vector Value
Definition of the image model value type.
PeriodicitySpec myPeriodicitySpec
Periodicity along each dimension.
void selfDisplay(std::ostream &out) const