1 #ifndef PLANNING_DENSITY_ESTIMATOR_H 2 #define PLANNING_DENSITY_ESTIMATOR_H 4 #include <KrisLibrary/math/vector.h> 5 #include <KrisLibrary/geometry/GridSubdivision.h> 6 #include "PointLocation.h" 21 virtual void Clear()=0;
24 virtual double Density(
const Config& x)=0;
25 virtual void* RandomNear(
const Math::Vector& x) {
return NULL; }
26 virtual void* Random() {
return NULL; }
49 void Randomize(
int numSourceDims,
int numMapped,
const Vector& hsource);
50 void Randomize(
int numSourceDims,
int numMapped,Real h);
54 virtual double Density(
const Config& x);
56 virtual void* Random();
58 std::vector<int> mappedDims;
64 std::vector<Geometry::GridSubdivision::ObjectSet*> flattenedBuckets;
83 virtual double Density(
const Config& x);
85 virtual void* Random();
87 int numDims,numMappedDims;
89 std::vector<GridDensityEstimator> grids;
98 enum KernelType { KernelUniform, KernelGaussian, KernelTriangular};
100 virtual void Clear();
103 virtual double Density(
const Config& x);
105 virtual void* Random();
108 KernelType kernelType;
109 Math::Real kernelRadius,kernelTruncationFactor;
110 std::vector<Math::Vector> pointList;
111 std::vector<void*> dataList;
112 std::shared_ptr<PointLocationBase> pointLocation;
An ND grid with a list of arbitrary objects (given by void pointers)
Definition: GridSubdivision.h:230
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
A multiple-grid based density estimator that attempts to avoid data fragmentation by collecting histo...
Definition: DensityEstimator.h:74
A grid-based (n-d projected histogram) density estimator.
Definition: DensityEstimator.h:43
A base class for density estimators. Each point in an N dimensional space is attached to some data po...
Definition: DensityEstimator.h:17
a Kernel Density Estimation density estimator.
Definition: DensityEstimator.h:95