50 const std::string & filePath,
52 const std::map<int, Transform> & poses,
53 const std::multimap<int, Link> & constraints = std::multimap<int, Link>(),
54 const std::map<int, double> & stamps = std::map<int, double>(),
58 const std::string & filePath,
60 std::map<int, Transform> & poses,
61 std::multimap<int, Link> * constraints = 0,
62 std::map<int, double> * stamps = 0);
65 const std::string & filePath,
66 const std::map<int, GPS> & gpsValues,
67 unsigned int rgba = 0xFFFFFFFF);
78 const std::vector<Transform> &poses_gt,
79 const std::vector<Transform> &poses_result,
91 const std::vector<Transform> &poses_gt,
92 const std::vector<Transform> &poses_result,
105 const std::map<int, Transform> &groundTruth,
106 const std::map<int, Transform> &poses,
107 float & translational_rmse,
108 float & translational_mean,
109 float & translational_median,
110 float & translational_std,
111 float & translational_min,
112 float & translational_max,
113 float & rotational_rmse,
114 float & rotational_mean,
115 float & rotational_median,
116 float & rotational_std,
117 float & rotational_min,
118 float & rotational_max);
121 const std::map<int, Transform> & poses,
122 const std::multimap<int, Link> & links,
123 float & maxLinearErrorRatio,
124 float & maxAngularErrorRatio,
125 float & maxLinearError,
126 float & maxAngularError,
127 const Link ** maxLinearErrorLink = 0,
128 const Link ** maxAngularErrorLink = 0);
133 std::multimap<int, Link> & links,
136 bool checkBothWays =
true);
138 std::multimap<int, int> & links,
141 bool checkBothWays =
true);
143 const std::multimap<int, Link> & links,
146 bool checkBothWays =
true,
149 const std::multimap<int, int> & links,
152 bool checkBothWays =
true);
154 const std::multimap<int, Link> & links,
158 const std::multimap<int, Link> & links);
163 const std::multimap<int, Link> & links,
165 bool inverted =
false);
170 const std::map<int, Link> & links,
172 bool inverted =
false);
176 const std::map<int, Transform> & poses,
178 float horizontalFOV = 45.0
f,
179 float verticalFOV = 45.0
f,
180 float nearClipPlaneDistance = 0.1
f,
181 float farClipPlaneDistance = 100.0
f,
182 bool negative =
false);
193 const std::map<int, Transform> & poses,
196 bool keepLatest =
true);
206 const std::map<int, Transform> & poses,
211 const std::map<int, Transform> & poses,
212 const std::multimap<int, Link> & links,
213 std::multimap<int, int> & hyperNodes,
214 std::multimap<int, Link> & hyperLinks);
226 const std::map<int, rtabmap::Transform> & poses,
227 const std::multimap<int, int> & links,
230 bool updateNewCosts =
false);
243 const std::multimap<int, Link> & links,
246 bool updateNewCosts =
false,
247 bool useSameCostForAllLinks =
false);
262 bool lookInDatabase =
true,
263 bool updateNewCosts =
false,
264 float linearVelocity = 0.0
f,
265 float angularVelocity = 0.0
f);
275 const std::map<int, rtabmap::Transform> & nodes,
287 const std::map<int, rtabmap::Transform> & nodes,
300 const std::map<int, Transform> & nodes,
304 const std::map<int, Transform> & nodes,
308 const std::map<int, Transform> & nodes,
313 const std::map<int, Transform> & nodes,
318 const std::vector<std::pair<int, Transform> > & path,
319 unsigned int fromIndex = 0,
320 unsigned int toIndex = 0);
324 const std::map<int, Transform> & path);
327 std::map<int, Transform> poses,
328 const std::multimap<int, Link> & links);
std::list< Link > RTABMAP_EXP findLinks(const std::multimap< int, Link > &links, int from)
std::map< int, Transform > RTABMAP_EXP getPosesInRadius(int nodeId, const std::map< int, Transform > &nodes, float radius, float angle=0.0f)
void reduceGraph(const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, std::multimap< int, int > &hyperNodes, std::multimap< int, Link > &hyperLinks)
std::map< int, Transform > RTABMAP_EXP radiusPosesFiltering(const std::map< int, Transform > &poses, float radius, float angle, bool keepLatest=true)
bool RTABMAP_EXP exportGPS(const std::string &filePath, const std::map< int, GPS > &gpsValues, unsigned int rgba=0xFFFFFFFF)
std::map< std::string, std::string > ParametersMap
GLM_FUNC_DECL genType::value_type distance(genType const &p0, genType const &p1)
std::multimap< int, Link > RTABMAP_EXP filterLinks(const std::multimap< int, Link > &links, Link::Type filteredType, bool inverted=false)
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
std::multimap< int, Link > RTABMAP_EXP filterDuplicateLinks(const std::multimap< int, Link > &links)
int RTABMAP_EXP findNearestNode(const std::map< int, rtabmap::Transform > &nodes, const rtabmap::Transform &targetPose, float *distance=0)
void RTABMAP_EXP computeMaxGraphErrors(const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, float &maxLinearErrorRatio, float &maxAngularErrorRatio, float &maxLinearError, float &maxAngularError, const Link **maxLinearErrorLink=0, const Link **maxAngularErrorLink=0)
Transform RTABMAP_EXP calcRMSE(const std::map< int, Transform > &groundTruth, const std::map< int, Transform > &poses, float &translational_rmse, float &translational_mean, float &translational_median, float &translational_std, float &translational_min, float &translational_max, float &rotational_rmse, float &rotational_mean, float &rotational_median, float &rotational_std, float &rotational_min, float &rotational_max)
std::vector< double > RTABMAP_EXP getMaxOdomInf(const std::multimap< int, Link > &links)
std::list< std::pair< int, Transform > > RTABMAP_EXP computePath(const std::map< int, rtabmap::Transform > &poses, const std::multimap< int, int > &links, int from, int to, bool updateNewCosts=false)
std::multimap< int, int > RTABMAP_EXP radiusPosesClustering(const std::map< int, Transform > &poses, float radius, float angle)
bool RTABMAP_EXP exportPoses(const std::string &filePath, int format, const std::map< int, Transform > &poses, const std::multimap< int, Link > &constraints=std::multimap< int, Link >(), const std::map< int, double > &stamps=std::map< int, double >(), const ParametersMap ¶meters=ParametersMap())
std::map< int, float > RTABMAP_EXP getNodesInRadius(int nodeId, const std::map< int, Transform > &nodes, float radius)
std::multimap< int, Link >::iterator RTABMAP_EXP findLink(std::multimap< int, Link > &links, int from, int to, bool checkBothWays=true)
void RTABMAP_EXP calcRelativeErrors(const std::vector< Transform > &poses_gt, const std::vector< Transform > &poses_result, float &t_err, float &r_err)
bool RTABMAP_EXP importPoses(const std::string &filePath, int format, std::map< int, Transform > &poses, std::multimap< int, Link > *constraints=0, std::map< int, double > *stamps=0)
std::list< std::map< int, Transform > > RTABMAP_EXP getPaths(std::map< int, Transform > poses, const std::multimap< int, Link > &links)
float RTABMAP_EXP computePathLength(const std::vector< std::pair< int, Transform > > &path, unsigned int fromIndex=0, unsigned int toIndex=0)
std::map< int, Transform > RTABMAP_EXP frustumPosesFiltering(const std::map< int, Transform > &poses, const Transform &cameraPose, float horizontalFOV=45.0f, float verticalFOV=45.0f, float nearClipPlaneDistance=0.1f, float farClipPlaneDistance=100.0f, bool negative=false)
std::map< int, float > RTABMAP_EXP findNearestNodes(const std::map< int, rtabmap::Transform > &nodes, const rtabmap::Transform &targetPose, int k)
void RTABMAP_EXP calcKittiSequenceErrors(const std::vector< Transform > &poses_gt, const std::vector< Transform > &poses_result, float &t_err, float &r_err)