28 #ifndef CPosePDFParticles_H
29 #define CPosePDFParticles_H
40 using namespace mrpt::bayes;
88 void copyFrom(
const CPosePDF &o);
95 void resetDeterministic(
96 const CPose2D &location,
97 size_t particlesCount = 0);
104 const double & x_min,
105 const double & x_max,
106 const double & y_min,
107 const double & y_max,
108 const double & phi_min = -
M_PI,
109 const double & phi_max =
M_PI,
110 const int &particlesCount = -1);
115 void getMean(CPose2D &mean_pose)
const;
124 CPose2D getParticlePose(
size_t i)
const;
132 inline size_t size()
const {
return m_particles.size(); }
136 void performSubstitution( std::vector<int> &indx );
141 void changeCoordinatesReference(
const CPose3D &newReferenceBase );
145 void drawSingleSample(CPose2D &outPart )
const;
157 void inverse(CPosePDF &o)
const;
161 CPose2D getMostLikelyParticle()
const;
165 void bayesianFusion(
const CPosePDF &p1,
const CPosePDF &p2,
const double & minMahalanobisDistToDrop = 0 );
170 double evaluatePDF_parzen(
174 const double & stdXY,
175 const double & stdPhi )
const;
180 void saveParzenPDFToTextFile(
181 const char *fileName,
182 const double & x_min,
183 const double & x_max,
184 const double & y_min,
185 const double & y_max,
187 const double & stepSizeXY,
188 const double & stdXY,
189 const double & stdPhi )
const;