MCPcopy Create free account
hub / github.com/PRBonn/MapClosures / PYBIND11_MODULE

Function PYBIND11_MODULE

python/map_closures/pybind/map_closures_pybind.cpp:53–94  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51}
52
53PYBIND11_MODULE(map_closures_pybind, m) {
54 auto vector3dvector = pybind_eigen_vector_of_vector<Eigen::Vector3d>(
55 m, "_Vector3dVector", "std::vector<Eigen::Vector3d>",
56 py::py_array_to_vectors_double<Eigen::Vector3d>);
57
58 py::class_<ClosureCandidate> closure_candidate(m, "_ClosureCandidate");
59 closure_candidate.def(py::init<>())
60 .def_readwrite("source_id", &ClosureCandidate::source_id)
61 .def_readwrite("target_id", &ClosureCandidate::target_id)
62 .def_readwrite("pose", &ClosureCandidate::pose)
63 .def_readwrite("number_of_inliers", &ClosureCandidate::number_of_inliers);
64
65 py::class_<MapClosures, std::shared_ptr<MapClosures>> map_closures(m, "_MapClosures", "");
66 map_closures
67 .def(py::init([](const py::dict &cfg) {
68 auto config = GetConfigFromYAML(cfg);
69 return std::make_shared<MapClosures>(config);
70 }),
71 "config"_a)
72 .def("_getDensityMapFromId",
73 [](MapClosures &self, const int &map_id) {
74 const auto &density_map = self.getDensityMapFromId(map_id);
75 Eigen::MatrixXf density_map_eigen;
76 cv::cv2eigen(density_map.grid, density_map_eigen);
77 return density_map_eigen;
78 })
79 .def("_getGroundAlignmentFromId", &MapClosures::getGroundAlignmentFromId, "map_id"_a)
80 .def("_GetBestClosure", &MapClosures::GetBestClosure, "query_id"_a, "local_map"_a)
81 .def("_GetTopKClosures", &MapClosures::GetTopKClosures, "query_id"_a, "local_map"_a, "k"_a)
82 .def("_GetClosures", &MapClosures::GetClosures, "query_id"_a, "local_map"_a)
83 .def("_SaveHbstDatabase", &MapClosures::SaveHbstDatabase, "database_path"_a);
84
85 py::class_<VoxelMap> internal_map(m, "_VoxelMap", "Don't use this");
86 internal_map.def(py::init<double, double>(), "voxel_size"_a, "max_distance"_a)
87 .def("_clear", &VoxelMap::Clear)
88 .def("_num_voxels", &VoxelMap::NumVoxels)
89 .def("_add_points", &VoxelMap::AddPoints, "points"_a)
90 .def("_integrate_frame", &VoxelMap::IntegrateFrame, "points"_a, "pose"_a)
91 .def("_point_cloud", &VoxelMap::Pointcloud)
92 .def("_per_voxel_mean_and_normal", &VoxelMap::PerVoxelMeanAndNormal)
93 .def("_remove_far_away_points", &VoxelMap::RemovePointsFarFromLocation, "origin"_a);
94}
95} // namespace map_closures

Callers

nothing calls this directly

Calls 1

GetConfigFromYAMLFunction · 0.85

Tested by

no test coverage detected