Spaces:
Running
on
Zero
Running
on
Zero
add logging for helper keyframes in simulation visualization
Browse files- visualization/logger.py +21 -0
- visualization/visualizer.py +3 -0
visualization/logger.py
CHANGED
@@ -138,3 +138,24 @@ class SimulationLogger:
|
|
138 |
|
139 |
except Exception as e:
|
140 |
print(f"Error logging camera frame {frame_idx}: {str(e)}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
|
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 |
+
try:
|
147 |
+
helper_positions = np.array([
|
148 |
+
vector3_to_numpy(frame['position']) for frame in helper_keyframes
|
149 |
+
])
|
150 |
+
rr.log(
|
151 |
+
"world/helper_keyframes",
|
152 |
+
rr.Points3D(
|
153 |
+
helper_positions,
|
154 |
+
colors=np.full((len(helper_positions), 4),
|
155 |
+
[1.0, 1.0, 0.0, 1.0])
|
156 |
+
),
|
157 |
+
timeless=True
|
158 |
+
)
|
159 |
+
|
160 |
+
except Exception as e:
|
161 |
+
print(f"Error logging helper keyframes: {str(e)}")
|
visualization/visualizer.py
CHANGED
@@ -29,6 +29,9 @@ def visualize_simulation(file, simulation_index: Optional[int]) -> Optional[str]
|
|
29 |
logger.log_camera_trajectory(simulation['cameraFrames'])
|
30 |
logger.log_camera_frames(simulation['cameraFrames'])
|
31 |
|
|
|
|
|
|
|
32 |
rr.save(rrd_path)
|
33 |
|
34 |
return rrd_path
|
|
|
29 |
logger.log_camera_trajectory(simulation['cameraFrames'])
|
30 |
logger.log_camera_frames(simulation['cameraFrames'])
|
31 |
|
32 |
+
if 'helper_keyframes' in simulation:
|
33 |
+
logger.log_helper_keyframes(simulation['helper_keyframes'])
|
34 |
+
|
35 |
rr.save(rrd_path)
|
36 |
|
37 |
return rrd_path
|