Description
The next major push will be towards making Rerun the obvious replacement for imshow
(cv2, plt, px), plt.plot, and draw_geometries (open3d), for researchers and developers building algorithms and systems for computer vision an robotics.
In short this means you'll also be able to use Rerun as your visualization library for inline visualizations in scripts and notebooks. You'll have control over styling, layout, and other options directly from the SDK. Rerun should be usable both as your central visualization tool, and as the thing you use for quick hacks and experiments on the side.
This doesn't mean we'll necessarily replace every single feature supported by those function calls, but that when developers want to quickly visualize computer vision or robotics data in 2D or 3D, Rerun should be the obvious choice.
How?
- It will be at least as easy to do the simple stuff like showing an image, scatter plot, or point cloud.
- Powerful interactions for inspecting data are turned on by default.
- Complex visualizations are simple to make because things like label maps, 3D->2D projections, and time are core features to the data model.
- It will run equally well in distributed systems, standalone scripts, and notebooks.
- It will be significantly faster than the alternatives.
Why?
We believe we can make day to day work significantly easier for researchers and developers by upgrading these core visualization tools.
We've always focused on making it fast and easy to build powerful 2D and 3D visualizations. In the longer run Rerun will support you from the earliest prototyping all the way to production. However, everything starts with the day to day work of researchers and developers. That's where the requirements for ease of use, low friction, and minimal mental overhead are the largest. It's also where all projects start.
What needs to happen?
Rerun renders beautifully on the web and inline in Jupyter notebooks
- With full interactive functionality
- In both dark and light mode
- With minimal visual noise for single view visualizations
Visualizations are more configurable and controllable from the SDK
- All relevant blueprint (configuration) options should be settable both through the SDK and in the Viewer
- More available visualization primitives
- 3D: cylinder, sphere, capsule, text, ...
- 2D: circle, cross, box, line strip, ...
- Grids, axes, and legends
- Better more declarative layout system for multiple views
- Explicit control over the view's eye
- 3D: lookat, fov, zoom
- 2D: pan, zoom, crop
- Colormaps for images and tensors
Even more computer vision support in core data model
- 2D transforms (homography, crop, ...)
- Correspondences (keypoint matches, ...)