首页
/ Rerun 0.23.0发布:支持多标量日志与向后兼容的.rrd格式

Rerun 0.23.0发布:支持多标量日志与向后兼容的.rrd格式

2025-06-07 19:06:28作者:殷蕙予

Rerun是一个面向多模态和时序数据的可视化分析工具,它提供了简单易用的数据库和可视化功能。通过Rerun,开发者可以轻松记录、存储和可视化各种类型的数据,特别适合处理包含时间维度的复杂数据流。

核心功能升级

多标量日志支持

在0.23.0版本中,Rerun引入了对同一实体路径下多标量信号的支持。这一改进使得开发者能够将逻辑上相关的数据(如LeRobot数据集中的动作值或陀螺仪测量值)记录在同一个实体路径下。

以前,开发者需要为每个分量创建单独的实体路径:

rr.log("gyroscope/x", rr.Scalar(measurement[0]))
rr.log("gyroscope/y", rr.Scalar(measurement[1]))
rr.log("gyroscope/z", rr.Scalar(measurement[2]))

现在可以简化为:

rr.log("gyroscope", rr.Scalars(measurement))

这一改进不仅简化了代码,还使得数据组织更加直观。同时,SeriesLineSeriesPoints原型现在包含visible_series组件,允许开发者控制哪些系列出现在可视化中,而隐藏的系列仍会显示在图例中。

向后兼容的.rrd格式

0.23.0版本对Rerun的文件格式进行了重大改进,迁移到了基于protobuf的新格式。这一变化虽然带来了短暂的兼容性中断(旧版本的.rrd文件将无法加载),但为未来的版本提供了更好的向后兼容性保证。

新格式的设计考虑了长期的数据兼容性需求,确保未来的Rerun版本能够读取当前版本创建的文件。对于需要长期存储分析数据的用户来说,这是一个重要的改进。

新增功能特性

回调API

Rerun 0.23.0为Jupyter Notebook和JavaScript环境添加了回调API支持。这一功能使得开发者能够轻松构建简单的标注工具,响应视图中的选择变化和时间线变化事件。

虽然目前这一API还仅限于Notebook和JavaScript环境,但它为交互式数据分析开辟了新的可能性。开发者可以利用这一功能构建自定义的用户界面和交互逻辑。

记录属性

新版本引入了"记录属性"的概念,允许开发者向记录添加元数据。例如,可以使用.send_recording_name("我的记录")为记录命名,这个名字将显示在查看器的记录面板中。

此外,开发者还可以通过通用的.send_property()方法记录任意数据。这些属性作为静态数据记录,也会出现在时间线中。当选择记录时,侧边面板会显示属性的概览。

实验性表格支持

Rerun正在改进对表格和数据框的支持。0.23.0版本引入了实验性的send_tableAPI,允许通过Python SDK和Notebook发送任意的Arrow记录批次。

虽然这一功能目前还处于早期阶段,但它为未来更强大的表格分析功能奠定了基础。开发者可以期待未来版本中加入的过滤、汇总统计等高级分析功能。

技术细节与改进

通信协议升级

Rerun现在主要依赖gRPC进行SDK与查看器之间的通信。这一变化带来了更高效的网络传输和更可靠的连接,但也意味着连接URL现在需要rerun://(TLS)或rerun+http://(未加密)前缀。

时间处理改进

新版本对时间处理进行了多项改进:

  • 引入了rr.IndexColumnrr.set_indexAPI
  • 统一了时间单位名称
  • 改进了时间轴控制和时间上下文菜单

开发者体验

  • 更新了最低支持的Rust版本(MSRV)到1.84
  • 对Python SDK进行了多项清理和改进
  • 增加了更多的类型检查和lint规则
  • 移除了多个已弃用的API

可视化与用户体验

Rerun 0.23.0在可视化方面也有多项改进:

  • 支持从LeRobot数据集加载深度图像
  • 改进了绘图高亮的一致性
  • 添加了复制实体路径到剪贴板的功能
  • 改进了时间序列显示范围的处理
  • 增加了对JPEG/TIFF图像EXIF数据的显示

总结

Rerun 0.23.0是一个重要的里程碑版本,它通过引入多标量日志支持和改进文件格式,为未来的功能扩展奠定了坚实基础。虽然这些变化带来了短暂的兼容性中断,但它们为长期的数据兼容性和功能扩展提供了更好的支持。

对于现有用户,建议参考官方迁移指南进行升级。新用户可以借助改进的API和文档更轻松地上手这一强大的数据可视化工具。随着表格支持和回调API等新功能的逐步成熟,Rerun正在成长为一个更加全面和强大的数据分析平台。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
177
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
864
512
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
261
302
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K