Spaces:
Running
on
Zero
Running
on
Zero
refactor log_helper_keyframes method for improved readability and error handling
Browse files- visualization/logger.py +26 -26
visualization/logger.py
CHANGED
@@ -139,33 +139,33 @@ class SimulationLogger:
|
|
139 |
except Exception as e:
|
140 |
print(f"Error logging camera frame {frame_idx}: {str(e)}")
|
141 |
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
)
|
158 |
)
|
|
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
)
|
168 |
)
|
|
|
169 |
|
170 |
-
|
171 |
-
|
|
|
139 |
except Exception as e:
|
140 |
print(f"Error logging camera frame {frame_idx}: {str(e)}")
|
141 |
|
142 |
+
def log_helper_keyframes(self, helper_keyframes: List[Dict[str, Any]]) -> None:
|
143 |
+
if not helper_keyframes:
|
144 |
+
return
|
145 |
+
|
146 |
+
for keyframe_idx, helper_keyframe in enumerate(helper_keyframes):
|
147 |
+
try:
|
148 |
+
position = vector3_to_numpy(helper_keyframe['position'])
|
149 |
+
rotation_q = euler_to_quaternion(helper_keyframe['angle'])
|
150 |
+
|
151 |
+
rr.log(
|
152 |
+
f"world/helper_keyframes/camera_{keyframe_idx}",
|
153 |
+
rr.Transform3D(
|
154 |
+
translation=position,
|
155 |
+
rotation=rr.Quaternion(xyzw=rotation_q),
|
156 |
+
scale=(1.0, 1.0, 1.0)
|
|
|
157 |
)
|
158 |
+
)
|
159 |
|
160 |
+
rr.log(
|
161 |
+
f"world/helper_keyframes/camera_visual_{keyframe_idx}",
|
162 |
+
rr.Pinhole(
|
163 |
+
image_from_camera=self.K,
|
164 |
+
width=1920,
|
165 |
+
height=1080,
|
166 |
+
color=(1.0, 1.0, 0.0, 1.0)
|
|
|
167 |
)
|
168 |
+
)
|
169 |
|
170 |
+
except Exception as e:
|
171 |
+
print(f"Error logging helper keyframe {keyframe_idx}: {str(e)}")
|