@@ -21,10 +21,6 @@ class PyPipeline: public evalio::Pipeline {
2121 NB_TRAMPOLINE (Pipeline, 9 );
2222
2323 // Getters
24- const evalio::SE3 pose () override {
25- NB_OVERRIDE_PURE (pose);
26- }
27-
2824 const std::map<std::string, std::vector<evalio::Point>> map () override {
2925 NB_OVERRIDE_PURE (map);
3026 }
@@ -56,8 +52,7 @@ class PyPipeline: public evalio::Pipeline {
5652 NB_OVERRIDE_PURE (add_imu, mm);
5753 }
5854
59- std::map<std::string, std::vector<Point>>
60- add_lidar (evalio::LidarMeasurement mm) override {
55+ void add_lidar (evalio::LidarMeasurement mm) override {
6156 NB_OVERRIDE_PURE (add_lidar, mm);
6257 }
6358}; // namespace evalio
@@ -81,7 +76,31 @@ inline void makeBasePipeline(nb::module_& m) {
8176 &evalio::Pipeline::version,
8277 " Version of the pipeline."
8378 )
84- .def (" pose" , &evalio::Pipeline::pose, " Most recent pose estimate." )
79+ .def (
80+ " saved_estimates" ,
81+ &evalio::Pipeline::saved_estimates,
82+ " Most recent stamped pose estimates. Will be removed after this method is called."
83+ )
84+ .def (
85+ " saved_features" ,
86+ &evalio::Pipeline::saved_features,
87+ " Most recent stamped feature scans. Will be removed after this method is called."
88+ )
89+ .def (
90+ " saved_maps" ,
91+ &evalio::Pipeline::saved_maps,
92+ " Most recent stamped maps. Will be removed after this method is called."
93+ )
94+ .def (
95+ " saved_features_matrix" ,
96+ &evalio::Pipeline::saved_features_matrix,
97+ " Most recent stamped feature scans as matrices. Will be removed after this method is called."
98+ )
99+ .def (
100+ " saved_maps_matrix" ,
101+ &evalio::Pipeline::saved_maps_matrix,
102+ " Most recent stamped maps as matrices. Will be removed after this method is called."
103+ )
85104 .def (" map" , &evalio::Pipeline::map, " Map of the environment." )
86105 .def (
87106 " initialize" ,
@@ -126,6 +145,31 @@ inline void makeBasePipeline(nb::module_& m) {
126145 " T" _a,
127146 " Set the transformation from IMU to LiDAR frame."
128147 )
148+ .def (
149+ " set_visualizing" ,
150+ &evalio::Pipeline::set_visualizing,
151+ " visualize" _a.none (),
152+ " Enable or disable visualization."
153+ )
154+ .def (
155+ " save" ,
156+ nb::overload_cast<const evalio::Stamp&, const evalio::SE3&>(
157+ &evalio::Pipeline::save<const evalio::SE3&>
158+ ),
159+ " stamp" _a,
160+ " pose" _a,
161+ " Save the current pose estimate at the given timestamp."
162+ )
163+ // Use a lambda here, as nb::overload_cast has issues finding the non-template methods
164+ .def (
165+ " save" ,
166+ [](Pipeline& self, const Stamp& stamp, const Map<>& features) {
167+ self.save (stamp, features);
168+ },
169+ " stamp" _a,
170+ " features" _a,
171+ " Save the current feature map at the given timestamp."
172+ )
129173 .doc () =
130174 " Base class for all pipelines. This class defines the interface "
131175 " for interacting with pipelines, and is intended to be "
0 commit comments