Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,8 @@ def main():
# Iterate over the data and LOG data as we see fit
for data in provider.deliver_queued_sensor_data(deliver_option):
device_time_ns = data.get_time_ns(TimeDomain.DEVICE_TIME)
rr.set_time_nanos("device_time", device_time_ns)
rr.set_time_sequence("timestamp", device_time_ns)
rr.set_time("device_time", duration=np.timedelta64(device_time_ns, "ns"))
rr.set_time("timestamp", sequence=device_time_ns)
progress_bar.update(1)
iteration += 1

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import os
from typing import Dict, List

import numpy as np
import rerun as rr
import rerun.blueprint as rrb
from PointsAndObservationsManager import (
Expand Down Expand Up @@ -224,7 +225,7 @@ def display_tracks_and_points(
#
for data in tqdm(vrs_data_provider.deliver_queued_sensor_data(deliver_option)):
device_time_ns = data.get_time_ns(TimeDomain.DEVICE_TIME)
rr.set_time_nanos("device_time", device_time_ns)
rr.set_time("device_time", duration=np.timedelta64(device_time_ns, "ns"))

# Display device pose
closed_loop_pose = mps_data_provider.get_closed_loop_pose(device_time_ns)
Expand Down
46 changes: 39 additions & 7 deletions projectaria_tools/tools/aria_rerun_viewer/aria_data_plotter.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ class AriaDataViewer:
"combined_gaze_origin_size": [2e-2, 2e-2, 2e-2],
"spatial_gaze_point_size": [1e-2, 1e-2, 1e-2],
},
"default_axis_length": 0.02,
}

PLOT_SIZES_DEVICE_EXTRINSICS_BOXES: Final = {
Expand Down Expand Up @@ -569,6 +570,9 @@ def plot_device_extrinsics(self):
],
focal_length=float(camera_calibration.get_focal_lengths()[0]),
),
rr.TransformAxes3D(
self.PLOT_COLORS_AND_SIZES_3D["default_axis_length"]
),
)
mic_labels = self.device_calibration.get_microphone_labels()
for mic in mic_labels: # Note: Only defined in CAD extrinsics
Expand All @@ -578,7 +582,13 @@ def plot_device_extrinsics(self):
T_device_sensor = self.device_calibration.get_transform_device_sensor(
mic, get_cad_value=True
)
log_static(f"device/mic/{mic}", ToTransform3D(T_device_sensor))
log_static(
f"device/mic/{mic}",
ToTransform3D(T_device_sensor),
rr.TransformAxes3D(
self.PLOT_COLORS_AND_SIZES_3D["default_axis_length"]
),
)
log_static(
f"device/mic/{mic}/box",
ToBox3D(mic, self.PLOT_SIZES_DEVICE_EXTRINSICS_BOXES["microphone"]),
Expand All @@ -589,7 +599,13 @@ def plot_device_extrinsics(self):
T_device_sensor = self.device_calibration.get_transform_device_sensor(
imu, get_cad_value=False
)
log_static(f"device/imu/{imu}", ToTransform3D(T_device_sensor))
log_static(
f"device/imu/{imu}",
ToTransform3D(T_device_sensor),
rr.TransformAxes3D(
self.PLOT_COLORS_AND_SIZES_3D["default_axis_length"]
),
)
log_static(
f"device/imu/{imu}",
ToBox3D(imu, self.PLOT_SIZES_DEVICE_EXTRINSICS_BOXES["imu"]),
Expand All @@ -602,7 +618,13 @@ def plot_device_extrinsics(self):
T_device_sensor = self.device_calibration.get_transform_device_sensor(
magnetometer, get_cad_value=True
)
log_static(f"device/{magnetometer}", ToTransform3D(T_device_sensor))
log_static(
f"device/{magnetometer}",
ToTransform3D(T_device_sensor),
rr.TransformAxes3D(
self.PLOT_COLORS_AND_SIZES_3D["default_axis_length"]
),
)
log_static(
f"device/{magnetometer}/box",
ToBox3D(
Expand All @@ -616,7 +638,13 @@ def plot_device_extrinsics(self):
T_device_sensor = self.device_calibration.get_transform_device_sensor(
barometer, True
)
log_static(f"device/{barometer}", ToTransform3D(T_device_sensor))
log_static(
f"device/{barometer}",
ToTransform3D(T_device_sensor),
rr.TransformAxes3D(
self.PLOT_COLORS_AND_SIZES_3D["default_axis_length"]
),
)
log_static(
f"device/{barometer}",
ToBox3D(
Expand All @@ -626,7 +654,11 @@ def plot_device_extrinsics(self):

# Plot CPF (Central Pupil Frame coordinate system)
T_device_CPF = self.device_calibration.get_transform_device_cpf()
log_static("device/CPF_CentralPupilFrame", ToTransform3D(T_device_CPF))
log_static(
"device/CPF_CentralPupilFrame",
ToTransform3D(T_device_CPF),
rr.TransformAxes3D(self.PLOT_COLORS_AND_SIZES_3D["default_axis_length"]),
)
log_static(
"device/CPF_CentralPupilFrame",
ToBox3D(
Expand Down Expand Up @@ -1434,8 +1466,8 @@ def plot_vio_data(self, vio_data):
)
rr.log(
"world/device",
ToTransform3D(
T_World_Device,
ToTransform3D(T_World_Device),
rr.TransformAxes3D(
axis_length=self.PLOT_COLORS_AND_SIZES_3D["vio"]["device_axis_length"],
),
)
Expand Down
2 changes: 2 additions & 0 deletions projectaria_tools/tools/viewer_mps/rerun_viewer_mps.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,10 +183,12 @@ def log_camera_pose(
rr.log(
"world/device",
ToTransform3D(T_world_device, False),
rr.TransformAxes3D(0.02),
)
rr.log(
f"world/device/{rgb_stream_label}",
ToTransform3D(T_device_camera, False),
rr.TransformAxes3D(0.02),
)


Expand Down
10 changes: 9 additions & 1 deletion projectaria_tools/tools/viewer_mps/viewer_mps.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from typing import List

import rerun as rr
import rerun.blueprint as rrb
from projectaria_tools.core.mps import MpsDataPathsProvider
from projectaria_tools.tools.viewer_mps.rerun_viewer_mps import log_mps_to_rerun

Expand Down Expand Up @@ -166,9 +167,16 @@ def main() -> None:
# Run the viewer in the web browser or desktop app
if args.web:
rr.serve_web()
else:
elif not args.rrd_output_path:
rr.spawn()

# Set the default shown timeline to be the device time
blueprint = rrb.Blueprint(
rrb.TimePanel(timeline="device_time"),
rrb.SelectionPanel(state="collapsed"),
)
rr.send_blueprint(blueprint)

log_mps_to_rerun(
vrs_path=args.vrs,
trajectory_files=args.trajectory,
Expand Down
5 changes: 1 addition & 4 deletions projectaria_tools/utils/rerun_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,14 @@
#
# Rerun helper functions
#
def ToTransform3D(
pose: SE3, from_parent: bool = False, axis_length: float = 1e-2
) -> rr.Transform3D:
def ToTransform3D(pose: SE3, from_parent: bool = False) -> rr.Transform3D:
"""
Helper function to convert Sophus SE3D pose to a Rerun Transform3D
"""
quat_xyzw = np.roll(
pose.rotation().to_quat()[0], -1
) # change from w,x,y,z to x,y,z,w
transform_3d = rr.Transform3D(
axis_length=axis_length,
translation=pose.translation()[0],
rotation=rr.Quaternion(xyzw=quat_xyzw),
)
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ def main():
"pillow",
"plotly",
"requests",
"rerun-notebook==0.26.2",
"rerun-sdk==0.26.2",
"rerun-notebook==0.33.0",
"rerun-sdk==0.33.0",
"scipy",
"tqdm",
],
Expand Down
Loading