48 const std::string & filePath,
50 const std::map<int, Transform> & poses,
51 const std::multimap<int, Link> & constraints = std::multimap<int, Link>(),
52 const std::map<int, double> & stamps = std::map<int, double>(),
53 bool g2oRobust =
false);
56 const std::string & filePath,
58 std::map<int, Transform> & poses,
59 std::multimap<int, Link> * constraints = 0,
60 std::map<int, double> * stamps = 0);
63 const std::string & filePath,
64 const std::map<int, GPS> & gpsValues,
65 unsigned int rgba = 0xFFFFFFFF);
76 const std::vector<Transform> &poses_gt,
77 const std::vector<Transform> &poses_result,
90 const std::map<int, Transform> &groundTruth,
91 const std::map<int, Transform> &poses,
92 float & translational_rmse,
93 float & translational_mean,
94 float & translational_median,
95 float & translational_std,
96 float & translational_min,
97 float & translational_max,
98 float & rotational_rmse,
99 float & rotational_mean,
100 float & rotational_median,
101 float & rotational_std,
102 float & rotational_min,
103 float & rotational_max);
106 std::multimap<int, Link> & links,
109 bool checkBothWays =
true);
111 std::multimap<int, int> & links,
114 bool checkBothWays =
true);
116 const std::multimap<int, Link> & links,
119 bool checkBothWays =
true);
121 const std::multimap<int, int> & links,
124 bool checkBothWays =
true);
127 const std::multimap<int, Link> & links);
129 const std::multimap<int, Link> & links,
132 const std::map<int, Link> & links,
137 const std::map<int, Transform> & poses,
139 float horizontalFOV = 45.0
f,
140 float verticalFOV = 45.0
f,
141 float nearClipPlaneDistance = 0.1
f,
142 float farClipPlaneDistance = 100.0
f,
143 bool negative =
false);
154 const std::map<int, Transform> & poses,
157 bool keepLatest =
true);
167 const std::map<int, Transform> & poses,
172 const std::map<int, Transform> & poses,
173 const std::multimap<int, Link> & links,
174 std::multimap<int, int> & hyperNodes,
175 std::multimap<int, Link> & hyperLinks);
187 const std::map<int, rtabmap::Transform> & poses,
188 const std::multimap<int, int> & links,
191 bool updateNewCosts =
false);
204 const std::multimap<int, Link> & links,
207 bool updateNewCosts =
false,
208 bool useSameCostForAllLinks =
false);
223 bool lookInDatabase =
true,
224 bool updateNewCosts =
false,
225 float linearVelocity = 0.0
f,
226 float angularVelocity = 0.0
f);
229 const std::map<int, rtabmap::Transform> & nodes,
233 const std::map<int, rtabmap::Transform> & nodes,
246 const std::map<int, Transform> & nodes,
250 const std::map<int, Transform> & nodes,
255 const std::vector<std::pair<int, Transform> > & path,
256 unsigned int fromIndex = 0,
257 unsigned int toIndex = 0);
261 const std::map<int, Transform> & path);
264 std::map<int, Transform> poses,
265 const std::multimap<int, Link> & links);
std::map< int, Transform > RTABMAP_EXP getPosesInRadius(int nodeId, const std::map< int, Transform > &nodes, float radius, float angle=0.0f)
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 >(), bool g2oRobust=false)
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::vector< int > RTABMAP_EXP findNearestNodes(const std::map< int, rtabmap::Transform > &nodes, const rtabmap::Transform &targetPose, int k)
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
std::multimap< int, Link > RTABMAP_EXP filterDuplicateLinks(const std::multimap< int, Link > &links)
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::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)
int RTABMAP_EXP findNearestNode(const std::map< int, rtabmap::Transform > &nodes, const rtabmap::Transform &targetPose)
std::multimap< int, int > RTABMAP_EXP radiusPosesClustering(const std::map< int, Transform > &poses, float radius, float angle)
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)
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::multimap< int, Link > RTABMAP_EXP filterLinks(const std::multimap< int, Link > &links, Link::Type filteredType)
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)
void RTABMAP_EXP calcKittiSequenceErrors(const std::vector< Transform > &poses_gt, const std::vector< Transform > &poses_result, float &t_err, float &r_err)