RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
Loading...
Searching...
No Matches
Statistics.h
1/*
2Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions are met:
7 * Redistributions of source code must retain the above copyright
8 notice, this list of conditions and the following disclaimer.
9 * Redistributions in binary form must reproduce the above copyright
10 notice, this list of conditions and the following disclaimer in the
11 documentation and/or other materials provided with the distribution.
12 * Neither the name of the Universite de Sherbrooke nor the
13 names of its contributors may be used to endorse or promote products
14 derived from this software without specific prior written permission.
15
16THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
20DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*/
27
28#ifndef STATISTICS_H_
29#define STATISTICS_H_
30
31#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
32
33#include <opencv2/core/core.hpp>
34#if CV_MAJOR_VERSION < 5
35#include <opencv2/features2d/features2d.hpp>
36#else
37#include <opencv2/features.hpp>
38#endif
39#include <opencv2/imgproc/imgproc.hpp>
40#include <list>
41#include <vector>
42#include <rtabmap/core/Signature.h>
43#include <rtabmap/core/Link.h>
45
46namespace rtabmap {
47
69#define RTABMAP_STATS(PREFIX, NAME, UNIT) \
70 public: \
71 static std::string k##PREFIX##NAME() {return #PREFIX "/" #NAME "/" #UNIT;} \
72 private: \
73 class Dummy##PREFIX##NAME { \
74 public: \
75 Dummy##PREFIX##NAME() {if(!_defaultDataInitialized)_defaultData.insert(std::pair<std::string, float>(#PREFIX "/" #NAME "/" #UNIT, 0.0f));} \
76 }; \
77 Dummy##PREFIX##NAME dummy##PREFIX##NAME
78
107class RTABMAP_CORE_EXPORT Statistics
108{
109 RTABMAP_STATS(Loop, Id,); // Combined loop or proximity detection
110 RTABMAP_STATS(Loop, RejectedHypothesis,);
111 RTABMAP_STATS(Loop, Accepted_hypothesis_id,);
112 RTABMAP_STATS(Loop, Suppressed_hypothesis_id,);
113 RTABMAP_STATS(Loop, Highest_hypothesis_id,);
114 RTABMAP_STATS(Loop, Highest_hypothesis_value,);
115 RTABMAP_STATS(Loop, Vp_hypothesis,);
116 RTABMAP_STATS(Loop, Reactivate_id,);
117 RTABMAP_STATS(Loop, Hypothesis_ratio,);
118 RTABMAP_STATS(Loop, Hypothesis_reactivated,);
119 RTABMAP_STATS(Loop, Map_id,);
120 RTABMAP_STATS(Loop, Visual_words,);
121 RTABMAP_STATS(Loop, Visual_inliers,);
122 RTABMAP_STATS(Loop, Visual_inliers_ratio,);
123 RTABMAP_STATS(Loop, Visual_matches,);
124 RTABMAP_STATS(Loop, Visual_variance,);
125 RTABMAP_STATS(Loop, Distance_since_last_loc, m);
126 RTABMAP_STATS(Loop, Last_id,);
127 RTABMAP_STATS(Loop, Optimization_max_error, m);
128 RTABMAP_STATS(Loop, Optimization_max_error_ratio, );
129 RTABMAP_STATS(Loop, Optimization_max_ang_error, deg);
130 RTABMAP_STATS(Loop, Optimization_max_ang_error_ratio, );
131 RTABMAP_STATS(Loop, Optimization_error, );
132 RTABMAP_STATS(Loop, Optimization_iterations, );
133 RTABMAP_STATS(Loop, Optimization_max_error_from_id, );
134 RTABMAP_STATS(Loop, Optimization_max_error_to_id, );
135 RTABMAP_STATS(Loop, Optimization_max_ang_error_from_id, );
136 RTABMAP_STATS(Loop, Optimization_max_ang_error_to_id, );
137 RTABMAP_STATS(Loop, Optimization_max_error_removed_from_id, );
138 RTABMAP_STATS(Loop, Optimization_max_error_removed_to_id, );
139 RTABMAP_STATS(Loop, Optimization_max_error_removed_count, );
140 RTABMAP_STATS(Loop, Linear_variance,);
141 RTABMAP_STATS(Loop, Angular_variance,);
142 RTABMAP_STATS(Loop, Landmark_detected,);
143 RTABMAP_STATS(Loop, Landmark_detected_node_ref,);
144 RTABMAP_STATS(Loop, Visual_inliers_mean_dist,m);
145 RTABMAP_STATS(Loop, Visual_inliers_distribution,);
146 RTABMAP_STATS(Loop, Proximity_links_cleared,);
147 //Odom correction
148 RTABMAP_STATS(Loop, Odom_correction_norm, m);
149 RTABMAP_STATS(Loop, Odom_correction_angle, deg);
150 RTABMAP_STATS(Loop, Odom_correction_x, m);
151 RTABMAP_STATS(Loop, Odom_correction_y, m);
152 RTABMAP_STATS(Loop, Odom_correction_z, m);
153 RTABMAP_STATS(Loop, Odom_correction_roll, deg);
154 RTABMAP_STATS(Loop, Odom_correction_pitch, deg);
155 RTABMAP_STATS(Loop, Odom_correction_yaw, deg);
156 // Map to Odom
157 RTABMAP_STATS(Loop, MapToOdom_norm, m);
158 RTABMAP_STATS(Loop, MapToOdom_angle, deg);
159 RTABMAP_STATS(Loop, MapToOdom_x, m);
160 RTABMAP_STATS(Loop, MapToOdom_y, m);
161 RTABMAP_STATS(Loop, MapToOdom_z, m);
162 RTABMAP_STATS(Loop, MapToOdom_roll, deg);
163 RTABMAP_STATS(Loop, MapToOdom_pitch, deg);
164 RTABMAP_STATS(Loop, MapToOdom_yaw, deg);
165 // Map to Base
166 RTABMAP_STATS(Loop, MapToBase_x, m);
167 RTABMAP_STATS(Loop, MapToBase_y, m);
168 RTABMAP_STATS(Loop, MapToBase_z, m);
169 RTABMAP_STATS(Loop, MapToBase_roll, deg);
170 RTABMAP_STATS(Loop, MapToBase_pitch, deg);
171 RTABMAP_STATS(Loop, MapToBase_yaw, deg);
172 RTABMAP_STATS(Loop, MapToBase_lin_std, m);
173 RTABMAP_STATS(Loop, MapToBase_lin_var, m2);
174
175 RTABMAP_STATS(Proximity, Time_detections,);
176 RTABMAP_STATS(Proximity, Space_last_detection_id,);
177 RTABMAP_STATS(Proximity, Space_paths,);
178 RTABMAP_STATS(Proximity, Space_visual_paths_checked,);
179 RTABMAP_STATS(Proximity, Space_scan_paths_checked,);
180 RTABMAP_STATS(Proximity, Space_detections_added_visually,);
181 RTABMAP_STATS(Proximity, Space_detections_added_icp_multi,);
182 RTABMAP_STATS(Proximity, Space_detections_added_icp_global,);
183
184 RTABMAP_STATS(NeighborLinkRefining, Accepted,);
185 RTABMAP_STATS(NeighborLinkRefining, Inliers,);
186 RTABMAP_STATS(NeighborLinkRefining, ICP_inliers_ratio,);
187 RTABMAP_STATS(NeighborLinkRefining, ICP_rotation, rad);
188 RTABMAP_STATS(NeighborLinkRefining, ICP_translation, m);
189 RTABMAP_STATS(NeighborLinkRefining, ICP_complexity,);
190 RTABMAP_STATS(NeighborLinkRefining, Variance,);
191 RTABMAP_STATS(NeighborLinkRefining, Pts,);
192
193 RTABMAP_STATS(Memory, Working_memory_size,);
194 RTABMAP_STATS(Memory, Working_memory_inter_size,);
195 RTABMAP_STATS(Memory, Short_time_memory_size,);
196 RTABMAP_STATS(Memory, Short_time_memory_inter_size,);
197 RTABMAP_STATS(Memory, Database_memory_used, MB);
198 RTABMAP_STATS(Memory, Signatures_removed,);
199 RTABMAP_STATS(Memory, Immunized_globally,);
200 RTABMAP_STATS(Memory, Immunized_locally,);
201 RTABMAP_STATS(Memory, Immunized_locally_max,);
202 RTABMAP_STATS(Memory, Signatures_retrieved,);
203 RTABMAP_STATS(Memory, Images_buffered,);
204 RTABMAP_STATS(Memory, Rehearsal_sim,);
205 RTABMAP_STATS(Memory, Rehearsal_id,);
206 RTABMAP_STATS(Memory, Rehearsal_merged,);
207 RTABMAP_STATS(Memory, Local_graph_size,);
208 RTABMAP_STATS(Memory, Odom_cache_poses,);
209 RTABMAP_STATS(Memory, Odom_cache_links,);
210 RTABMAP_STATS(Memory, Small_movement,);
211 RTABMAP_STATS(Memory, Fast_movement,);
212 RTABMAP_STATS(Memory, New_landmark,);
213 RTABMAP_STATS(Memory, Odometry_variance_ang,);
214 RTABMAP_STATS(Memory, Odometry_variance_lin,);
215 RTABMAP_STATS(Memory, Distance_travelled, m);
216 RTABMAP_STATS(Memory, RAM_usage, MB);
217 RTABMAP_STATS(Memory, RAM_estimated, MB);
218 RTABMAP_STATS(Memory, Triangulated_points, );
219 RTABMAP_STATS(Memory, Closest_node_distance, m);
220 RTABMAP_STATS(Memory, Closest_node_angle, rad);
221
222 RTABMAP_STATS(Timing, Memory_update, ms);
223 RTABMAP_STATS(Timing, Neighbor_link_refining, ms);
224 RTABMAP_STATS(Timing, Proximity_by_time, ms);
225 RTABMAP_STATS(Timing, Proximity_by_space_search, ms);
226 RTABMAP_STATS(Timing, Proximity_by_space_visual, ms);
227 RTABMAP_STATS(Timing, Proximity_by_space, ms);
228 RTABMAP_STATS(Timing, Cleaning_neighbors, ms);
229 RTABMAP_STATS(Timing, Reactivation, ms);
230 RTABMAP_STATS(Timing, Add_loop_closure_link, ms);
231 RTABMAP_STATS(Timing, Map_optimization, ms);
232 RTABMAP_STATS(Timing, Likelihood_computation, ms);
233 RTABMAP_STATS(Timing, Posterior_computation, ms);
234 RTABMAP_STATS(Timing, Hypotheses_creation, ms);
235 RTABMAP_STATS(Timing, Hypotheses_validation, ms);
236 RTABMAP_STATS(Timing, Statistics_creation, ms);
237 RTABMAP_STATS(Timing, Memory_cleanup, ms);
238 RTABMAP_STATS(Timing, Total, ms);
239 RTABMAP_STATS(Timing, Forgetting, ms);
240 RTABMAP_STATS(Timing, Joining_trash, ms);
241 RTABMAP_STATS(Timing, Emptying_trash, ms);
242 RTABMAP_STATS(Timing, Finalizing_statistics, ms);
243 RTABMAP_STATS(Timing, RAM_estimation, ms);
244
245 RTABMAP_STATS(TimingMem, Pre_update, ms);
246 RTABMAP_STATS(TimingMem, Signature_creation, ms);
247 RTABMAP_STATS(TimingMem, Rehearsal, ms);
248 RTABMAP_STATS(TimingMem, Keypoints_detection, ms);
249 RTABMAP_STATS(TimingMem, Subpixel, ms);
250 RTABMAP_STATS(TimingMem, Stereo_correspondences, ms);
251 RTABMAP_STATS(TimingMem, Descriptors_extraction, ms);
252 RTABMAP_STATS(TimingMem, Rectification, ms);
253 RTABMAP_STATS(TimingMem, Keypoints_3D, ms);
254 RTABMAP_STATS(TimingMem, Keypoints_3D_motion, ms);
255 RTABMAP_STATS(TimingMem, Joining_dictionary_update, ms);
256 RTABMAP_STATS(TimingMem, Add_new_words, ms);
257 RTABMAP_STATS(TimingMem, Compressing_data, ms);
258 RTABMAP_STATS(TimingMem, Post_decimation, ms);
259 RTABMAP_STATS(TimingMem, Scan_filtering, ms);
260 RTABMAP_STATS(TimingMem, Occupancy_grid, ms);
261 RTABMAP_STATS(TimingMem, Markers_detection, ms);
262
263 RTABMAP_STATS(Keypoint, Dictionary_size, words);
264 RTABMAP_STATS(Keypoint, Current_frame, words);
265 RTABMAP_STATS(Keypoint, Indexed_words, words);
266 RTABMAP_STATS(Keypoint, Index_memory_usage, KB);
267
268 RTABMAP_STATS(Gt, Translational_rmse, m);
269 RTABMAP_STATS(Gt, Translational_mean, m);
270 RTABMAP_STATS(Gt, Translational_median, m);
271 RTABMAP_STATS(Gt, Translational_std, m);
272 RTABMAP_STATS(Gt, Translational_min, m);
273 RTABMAP_STATS(Gt, Translational_max, m);
274 RTABMAP_STATS(Gt, Rotational_rmse, deg);
275 RTABMAP_STATS(Gt, Rotational_mean, deg);
276 RTABMAP_STATS(Gt, Rotational_median, deg);
277 RTABMAP_STATS(Gt, Rotational_std, deg);
278 RTABMAP_STATS(Gt, Rotational_min, deg);
279 RTABMAP_STATS(Gt, Rotational_max, deg);
280 RTABMAP_STATS(Gt, Localization_linear_error, m);
281 RTABMAP_STATS(Gt, Localization_angular_error, deg);
282
283public:
292 static const std::map<std::string, float> & defaultData();
293
307 static std::string serializeData(const std::map<std::string, float> & data);
308
321 static std::map<std::string, float> deserializeData(const std::string & data);
322
323public:
333
337 virtual ~Statistics();
338
354 void addStatistic(const std::string & name, float value);
355
356 // setters
357
367 void setExtended(bool extended) {_extended = extended;}
368
373 void setRefImageId(int id) {_refImageId = id;}
374
379 void setRefImageMapId(int id) {_refImageMapId = id;}
380
385 void setLoopClosureId(int id) {_loopClosureId = id;}
386
391 void setLoopClosureMapId(int id) {_loopClosureMapId = id;}
392
397 void setProximityDetectionId(int id) {_proximiyDetectionId = id;}
398
403 void setProximityDetectionMapId(int id) {_proximiyDetectionMapId = id;}
404
409 void setStamp(double stamp) {_stamp = stamp;}
410
418 RTABMAP_DEPRECATED void setLastSignatureData(const Signature & data);
419
430 void addSignatureData(const Signature & data) {uInsert(_signaturesData, std::make_pair(data.id(), data));}
431
436 void setSignaturesData(const std::map<int, Signature> & data) {_signaturesData = data;}
437
446 void setPoses(const std::map<int, Transform> & poses) {_poses = poses;}
447
456 void setConstraints(const std::multimap<int, Link> & constraints) {_constraints = constraints;}
457
467 void setMapCorrection(const Transform & mapCorrection) {_mapCorrection = mapCorrection;}
468
476 void setLoopClosureTransform(const Transform & loopClosureTransform) {_loopClosureTransform = loopClosureTransform;}
477
485 void setLocalizationCovariance(const cv::Mat & covariance) {_localizationCovariance = covariance;}
486
491 void setLabels(const std::map<int, std::string> & labels) {_labels = labels;}
492
497 void setWeights(const std::map<int, int> & weights) {_weights = weights;}
498
504 void setPosterior(const std::map<int, float> & posterior) {_posterior = posterior;}
505
513 void setLikelihood(const std::map<int, float> & likelihood) {_likelihood = likelihood;}
514
519 void setRawLikelihood(const std::map<int, float> & rawLikelihood) {_rawLikelihood = rawLikelihood;}
520
528 void setLocalPath(const std::vector<int> & localPath) {_localPath=localPath;}
529
534 void setCurrentGoalId(int goal) {_currentGoalId=goal;}
535
543 void setReducedIds(const std::map<int, int> & reducedIds) {_reducedIds = reducedIds;}
544
552 void setWmState(const std::vector<int> & state) {_wmState = state;}
553
561 void setOdomCachePoses(const std::map<int, Transform> & poses) {_odomCachePoses = poses;}
562
570 void setOdomCacheConstraints(const std::multimap<int, Link> & constraints) {_odomCacheConstraints = constraints;}
571
572 // getters
573
578 bool extended() const {return _extended;}
579
584 int refImageId() const {return _refImageId;}
585
590 int refImageMapId() const {return _refImageMapId;}
591
596 int loopClosureId() const {return _loopClosureId;}
597
602 int loopClosureMapId() const {return _loopClosureMapId;}
603
608 int proximityDetectionId() const {return _proximiyDetectionId;}
609
614 int proximityDetectionMapId() const {return _proximiyDetectionMapId;}
615
620 double stamp() const {return _stamp;}
621
630 const Signature & getLastSignatureData() const {return _signaturesData.empty()?_dummyEmptyData:_signaturesData.rbegin()->second;}
631
636 const std::map<int, Signature> & getSignaturesData() const {return _signaturesData;}
637
642 const std::map<int, Transform> & poses() const {return _poses;}
643
648 const std::multimap<int, Link> & constraints() const {return _constraints;}
649
657 const Transform & mapCorrection() const {return _mapCorrection;}
658
663 const Transform & loopClosureTransform() const {return _loopClosureTransform;}
664
669 const cv::Mat & localizationCovariance() const {return _localizationCovariance;}
670
675 const std::map<int, std::string> & labels() const {return _labels;}
676
681 const std::map<int, int> & weights() const {return _weights;}
682
687 const std::map<int, float> & posterior() const {return _posterior;}
688
693 const std::map<int, float> & likelihood() const {return _likelihood;}
694
699 const std::map<int, float> & rawLikelihood() const {return _rawLikelihood;}
700
705 const std::vector<int> & localPath() const {return _localPath;}
706
711 int currentGoalId() const {return _currentGoalId;}
712
717 const std::map<int, int> & reducedIds() const {return _reducedIds;}
718
723 const std::vector<int> & wmState() const {return _wmState;}
724
729 const std::map<int, Transform> & odomCachePoses() const {return _odomCachePoses;}
730
735 const std::multimap<int, Link> & odomCacheConstraints() const {return _odomCacheConstraints;}
736
748 const std::map<std::string, float> & data() const {return _data;}
749
750private:
751 bool _extended;
752
753 int _refImageId;
754 int _refImageMapId;
755 int _loopClosureId;
756 int _loopClosureMapId;
757 int _proximiyDetectionId;
758 int _proximiyDetectionMapId;
759 double _stamp;
760
761 std::map<int, Signature> _signaturesData;
762 Signature _dummyEmptyData;
763
764 std::map<int, Transform> _poses;
765 std::multimap<int, Link> _constraints;
766 Transform _mapCorrection;
767 Transform _loopClosureTransform;
768 cv::Mat _localizationCovariance;
769
770 std::map<int, std::string> _labels;
771 std::map<int, int> _weights;
772 std::map<int, float> _posterior;
773 std::map<int, float> _likelihood;
774 std::map<int, float> _rawLikelihood;
775
776 std::vector<int> _localPath;
777 int _currentGoalId;
778
779 std::map<int, int> _reducedIds;
780
781 std::vector<int> _wmState;
782
783 std::map<int, Transform> _odomCachePoses;
784 std::multimap<int, Link> _odomCacheConstraints;
785
795 std::map<std::string, float> _data;
796
797 static std::map<std::string, float> _defaultData;
798 static bool _defaultDataInitialized;
799 // end extended data
800};
801
802}// end namespace rtabmap
803
804#endif /* STATISTICS_H_ */
Wrappers of STL for convenient functions.
void uInsert(std::map< K, V > &map, const std::pair< K, V > &pair)
Definition UStl.h:441
Three-tiered memory management (STM, WM, LTM) for RTAB-Map.
Definition Memory.h:102
Represents a node in RTAB-Map's pose graph.
Definition Signature.h:84
int id() const
Returns the signature ID.
Definition Signature.h:168
Collects and manages runtime statistics for RTAB-Map.
Definition Statistics.h:108
int proximityDetectionId() const
Returns the proximity detection ID.
Definition Statistics.h:608
const std::vector< int > & wmState() const
Returns the working memory state.
Definition Statistics.h:723
void setStamp(double stamp)
Sets the timestamp for these statistics.
Definition Statistics.h:409
static std::map< std::string, float > deserializeData(const std::string &data)
Deserializes a statistics data map from a string.
void setLoopClosureId(int id)
Sets the loop closure detection ID.
Definition Statistics.h:385
int loopClosureMapId() const
Returns the loop closure map ID.
Definition Statistics.h:602
bool extended() const
Returns whether extended statistics mode is enabled.
Definition Statistics.h:578
void setRawLikelihood(const std::map< int, float > &rawLikelihood)
Sets raw likelihood values (before normalization)
Definition Statistics.h:519
double stamp() const
Returns the timestamp.
Definition Statistics.h:620
void addStatistic(const std::string &name, float value)
Adds a statistic value to the data map.
void setProximityDetectionId(int id)
Sets the proximity detection ID.
Definition Statistics.h:397
const std::multimap< int, Link > & constraints() const
Returns the constraint graph.
Definition Statistics.h:648
const Transform & loopClosureTransform() const
Returns the loop closure transform.
Definition Statistics.h:663
void setRefImageMapId(int id)
Sets the reference image map ID.
Definition Statistics.h:379
void setLoopClosureMapId(int id)
Sets the loop closure map ID.
Definition Statistics.h:391
void setLocalPath(const std::vector< int > &localPath)
Sets the local path (sequence of node IDs)
Definition Statistics.h:528
const std::multimap< int, Link > & odomCacheConstraints() const
Returns odometry cache constraints.
Definition Statistics.h:735
int refImageMapId() const
Returns the reference image map ID.
Definition Statistics.h:590
const std::map< int, float > & rawLikelihood() const
Returns raw likelihood values.
Definition Statistics.h:699
int refImageId() const
Returns the reference image ID.
Definition Statistics.h:584
const cv::Mat & localizationCovariance() const
Returns the localization covariance matrix.
Definition Statistics.h:669
const std::map< int, float > & likelihood() const
Returns likelihood values.
Definition Statistics.h:693
void setRefImageId(int id)
Sets the reference image ID (current/last processed signature ID)
Definition Statistics.h:373
void addSignatureData(const Signature &data)
Adds signature data to the statistics.
Definition Statistics.h:430
const Signature & getLastSignatureData() const
Returns the last signature data.
Definition Statistics.h:630
void setProximityDetectionMapId(int id)
Sets the proximity detection map ID.
Definition Statistics.h:403
Statistics()
Default constructor.
void setOdomCachePoses(const std::map< int, Transform > &poses)
Sets odometry cache poses.
Definition Statistics.h:561
void setMapCorrection(const Transform &mapCorrection)
Sets the map correction transform.
Definition Statistics.h:467
int loopClosureId() const
Returns the loop closure detection ID.
Definition Statistics.h:596
void setLocalizationCovariance(const cv::Mat &covariance)
Sets the localization covariance matrix.
Definition Statistics.h:485
const Transform & mapCorrection() const
Returns the map correction transform.
Definition Statistics.h:657
const std::vector< int > & localPath() const
Returns the local path.
Definition Statistics.h:705
void setCurrentGoalId(int goal)
Sets the current goal node ID.
Definition Statistics.h:534
void setLikelihood(const std::map< int, float > &likelihood)
Sets likelihood values for loop closure hypotheses.
Definition Statistics.h:513
const std::map< int, int > & reducedIds() const
Returns the reduced IDs mapping.
Definition Statistics.h:717
const std::map< int, Transform > & odomCachePoses() const
Returns odometry cache poses.
Definition Statistics.h:729
void setPosterior(const std::map< int, float > &posterior)
Sets posterior probabilities for loop closure hypotheses.
Definition Statistics.h:504
static const std::map< std::string, float > & defaultData()
Returns the default statistics data map.
void setWeights(const std::map< int, int > &weights)
Sets node weights.
Definition Statistics.h:497
void setExtended(bool extended)
Sets whether extended statistics mode is enabled.
Definition Statistics.h:367
void setWmState(const std::vector< int > &state)
Sets the working memory state.
Definition Statistics.h:552
void setLabels(const std::map< int, std::string > &labels)
Sets node labels.
Definition Statistics.h:491
const std::map< int, int > & weights() const
Returns node weights.
Definition Statistics.h:681
static std::string serializeData(const std::map< std::string, float > &data)
Serializes a statistics data map to a string.
const std::map< std::string, float > & data() const
Returns the statistics data map.
Definition Statistics.h:748
const std::map< int, Signature > & getSignaturesData() const
Returns all signature data.
Definition Statistics.h:636
void setReducedIds(const std::map< int, int > &reducedIds)
Sets the reduced IDs mapping.
Definition Statistics.h:543
void setLoopClosureTransform(const Transform &loopClosureTransform)
Sets the loop closure transform.
Definition Statistics.h:476
void setConstraints(const std::multimap< int, Link > &constraints)
Sets the constraint graph (links between nodes)
Definition Statistics.h:456
const std::map< int, float > & posterior() const
Returns posterior probabilities.
Definition Statistics.h:687
const std::map< int, Transform > & poses() const
Returns the pose graph.
Definition Statistics.h:642
void setPoses(const std::map< int, Transform > &poses)
Sets the pose graph (node poses)
Definition Statistics.h:446
void setSignaturesData(const std::map< int, Signature > &data)
Sets all signature data at once.
Definition Statistics.h:436
int currentGoalId() const
Returns the current goal node ID.
Definition Statistics.h:711
void setOdomCacheConstraints(const std::multimap< int, Link > &constraints)
Sets odometry cache constraints.
Definition Statistics.h:570
RTABMAP_DEPRECATED void setLastSignatureData(const Signature &data)
Sets the last signature data (deprecated)
int proximityDetectionMapId() const
Returns the proximity detection map ID.
Definition Statistics.h:614
virtual ~Statistics()
Virtual destructor.
const std::map< int, std::string > & labels() const
Returns node labels.
Definition Statistics.h:675
Represents a 3D rigid body transformation (rotation + translation).
Definition Transform.h:53