9 #ifndef CHierarchicalMapMHPartition_H
10 #define CHierarchicalMapMHPartition_H
25 namespace poses {
class CPose3DPDFParticles; }
70 size_t nodeCount()
const;
74 size_t arcCount()
const;
79 CHMHMapNodePtr getFirstNode();
94 CHMHMapNodePtr getNodeByLabel(
const std::string &label,
const THypothesisID &hypothesisID );
99 const CHMHMapNodePtr getNodeByLabel(
const std::string &label,
const THypothesisID &hypothesisID)
const;
114 void saveAreasDiagramForMATLAB(
115 const std::string &filName,
124 void saveAreasDiagramWithEllipsedForMATLAB(
125 const std::string &filName,
128 float uncertaintyExagerationFactor = 1.0f,
129 bool drawArcs =
false,
130 unsigned int numberOfIterationsForOptimalGlobalPoses = 4
138 void saveGlobalMapForMATLAB(
139 const std::string &filName,
147 void findPathBetweenNodes(
152 bool direction=
false)
const;
159 void computeCoordinatesTransformationBetweenNodes(
164 unsigned int particlesCount = 100,
165 float additionalNoiseXYratio = 0.02,
172 float computeMatchProbabilityBetweenNodes(
178 unsigned int monteCarloSamplesPose = 300
183 void findArcsBetweenNodes(
191 void findArcsOfTypeBetweenNodes(
195 const std::string &arcType,
201 CHMHMapArcPtr findArcOfTypeBetweenNodes(
205 const std::string &arcType,
206 bool &isInverted )
const;
210 bool areNodesNeightbour(
214 const char *requiredAnnotation=NULL )
const;
221 void computeGloballyConsistentNodeCoordinates(
225 const unsigned int &numberOfIterations = 2)
const;
234 const unsigned int &numberOfIterationsForOptimalGlobalPoses = 5,
235 const bool &showRobotPoseIDs =
true
247 double computeOverlapProbabilityBetweenNodes(
251 const size_t &monteCarloSamples = 100,
252 const float margin_to_substract = 6