31#if defined(VoronoiCovarianceMeasure_RECURSES)
32#error Recursive header files inclusion detected in VoronoiCovarianceMeasure.h
35#define VoronoiCovarianceMeasure_RECURSES
37#if !defined VoronoiCovarianceMeasure_h
39#define VoronoiCovarianceMeasure_h
45#include "DGtal/base/Common.h"
46#include "DGtal/math/BasicMathFunctions.h"
47#include "DGtal/kernel/BasicPointPredicates.h"
48#include "DGtal/kernel/domains/HyperRectDomain.h"
49#include "DGtal/math/linalg/SimpleMatrix.h"
50#include "DGtal/kernel/Point2ScalarFunctors.h"
51#include "DGtal/images/ImageContainerBySTLVector.h"
52#include "DGtal/geometry/volumes/distance/VoronoiMap.h"
53#include "DGtal/geometry/tools/SpatialCubicalSubdivision.h"
78 template <
typename TSpace,
typename TSeparableMetric>
172 template <
typename Po
intInputIterator>
173 void init( PointInputIterator itb, PointInputIterator ite );
200 template <
typename Po
int2ScalarFunction>
281 template <
typename TSpace,
typename TSeparableMetric>
291#include "DGtal/geometry/volumes/estimation/VoronoiCovarianceMeasure.ih"
298#undef VoronoiCovarianceMeasure_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: Parallelepidec region of a digital space, model of a 'CDomain'.
Aim: implements basic MxN Matrix services (M,N>=1).
TInteger Integer
Arithmetic ring induced by (+,-,*) and Integer numbers.
size_t Size
Type used to represent sizes in the digital space.
static const Dimension dimension
static constants to store the dimension.
Aim: This class is a data structure that subdivides a rectangular domains into cubical domains of siz...
Aim: This class precomputes the Voronoi Covariance Measure of a set of points. It can compute the cov...
DGtal::ImageContainerBySTLVector< Domain, bool > CharacteristicSet
the type of a binary image that is the characteristic function of K.
VoronoiCovarianceMeasure(const VoronoiCovarianceMeasure &other)
MatrixNN::RowVector VectorN
the type for N-vector of real numbers
~VoronoiCovarianceMeasure()
DGtal::HyperRectDomain< Space > Domain
the type of rectangular domain of the VCM.
ProximityStructure * myProximityStructure
The structure used for proximity queries.
MatrixNN measure(Point2ScalarFunction chi_r, Point p) const
Space::Integer Integer
the type of each digital point coordinate, some integral type
VoronoiCovarianceMeasure(double _R, double _r, Metric aMetric=Metric(), bool verbose=false)
DGtal::SpatialCubicalSubdivision< Space > ProximityStructure
the structure used for proximity queries.
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
VoronoiCovarianceMeasure()
std::map< Point, MatrixNN > Point2MatrixNN
Associates a matrix to points.
const Voronoi & voronoiMap() const
const Point2MatrixNN & vcmMap() const
Voronoi * myVoronoi
Stores the voronoi map.
Space::Point Point
the type of digital point
DGtal::functors::NotPointPredicate< CharacteristicSetPredicate > NotPredicate
the type of the point predicate used by the voronoi map.
VoronoiCovarianceMeasure & operator=(const VoronoiCovarianceMeasure &other)
Metric myMetric
The metric chosen for the Voronoi map.
DGtal::VoronoiMap< Space, NotPredicate, Metric > Voronoi
the type of the Voronoi map.
void init(PointInputIterator itb, PointInputIterator ite)
CharacteristicSet * myCharSet
A binary image that defines the characteristic set of K.
void selfDisplay(std::ostream &out) const
Domain myDomain
The domain in which all computations are done.
const Domain & domain() const
std::vector< Point > PointContainer
the list of points
bool myVerbose
Tells if it is verbose mode.
double Scalar
the type for "real" numbers.
BOOST_CONCEPT_ASSERT((concepts::CSeparableMetric< TSeparableMetric >))
Point2MatrixNN myVCM
The map point -> VCM.
TSeparableMetric Metric
the type of metric
DGtal::SimpleMatrix< Scalar, Space::dimension, Space::dimension > MatrixNN
the type for nxn matrix of real numbers.
TSpace Space
the type of digital space
double myBigR
The parameter R in the VCM, i.e. the offset radius for the compact set K.
Space::Size Size
the type for counting elements
Aim: Implementation of the linear in time Voronoi map construction.
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Space::Point Point
the type of digital point
const CharacteristicSet * ptrSet
Self & operator=(const Self &other)
CharacteristicSetPredicate(const Self &other)
CharacteristicSetPredicate()
CharacteristicSetPredicate(ConstAlias< CharacteristicSet > aSet)
bool operator()(const Point &p) const
CharacteristicSetPredicate Self
Aim: defines the concept of separable metrics.
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.
Aim: The predicate returns true when the point predicate given at construction return false....