DEV Community

Cover image for How to Visualize LiDAR Data
Rerun
Rerun

Posted on

How to Visualize LiDAR Data

Source Code Explore Other Examples

This example demonstrates the ability to read and visualize LiDAR data from the nuScenes dataset, which is a public large-scale dataset specifically designed for autonomous driving. The scenes in this dataset encompass data collected from a comprehensive suite of sensors on autonomous vehicles, including 6 cameras, 1 LIDAR, 5 RADAR, GPS and IMU sensors.

It's important to note that in this example, only the LiDAR data is visualized. For a more extensive example including other sensors and annotations check out the nuScenes example.

Logging and visualizing with Rerun

The visualization in this example was created with just the following lines.

rr.set_time_seconds("timestamp", sample_data["timestamp"] * 1e-6) # Setting the time
rr.log("world/lidar", rr.Points3D(points, colors=point_colors)) # Log the 3D data
Enter fullscreen mode Exit fullscreen mode

When logging data to Rerun, it's possible to associate it with specific time by using the Rerun's timelines. In the following code, we first establish the desired time frame and then proceed to log the 3D data points.


Join us on Github

GitHub logo rerun-io / rerun

Visualize streams of multimodal data. Fast, easy to use, and simple to integrate. Built in Rust using egui.

Build time aware visualizations of multimodal data

Use the Rerun SDK (available for C++, Python and Rust) to log data like images, tensors, point clouds, and text. Logs are streamed to the Rerun Viewer for live visualization or to file for later use.

A short taste

import rerun as rr  # pip install rerun-sdk
rr.init("rerun_example_app")

rr.connect()  # Connect to a remote viewer
# rr.spawn()  # Spawn a child process with a viewer and connect
# rr.save("recording.rrd")  # Stream all logs to disk

# Associate subsequent data with 42 on the “frame” timeline
rr.set_time_sequence("frame", 42))

# Log colored 3D points to the entity at `path/to/points`
rr.log("path/to/points", rr.Points3D(positions, colors=colors
Enter fullscreen mode Exit fullscreen mode

Top comments (0)