Rerunとは
Rerunについては下記の記事を参考にしてください.簡単な使い方もこちらで解説しています.
viewerの使い方はこちら
本記事は基本Pythonでの使用方法について解説します.
Blueprintとは
RerunにはBlueprintという概念が存在します.BlueprintとはRerunのviewerに表示される内容を構成する設定のことを際します.blueprintはapplication id
,session
ごとに保存されます.
具体的にはviewerに表示されている以下の部分のことを指します. viewer内での階層構造を表します.
マウス操作
参考:Configure the Viewer interactively — Rerun
viewの表示・非表示
viewの削除
新しいviewの追加
Vertical, Horizontal, Tabsなどのcontainerやviewportを選択した状態で,viewer右端のエリアのContentsの+
+
ボタンを押すと以下のようなモーダルが表示されview等を追加することが出来ます
viewの編集
viewやcontainerなどを選択した状態でviwer右端の欄を見ると,名前やviewの種類,設定の変更などが可能
Blueprintの保存
viewer左上のメニューからblueprintを.rbl
ファイルに保存し,open
から読み込ませることが出来る
コードによる操作
参考
- 画像付きの実装例:Configure the Viewer through code — Rerun
- さまざまな実装例:Configure the Viewer through code (Blueprints) — Rerun
- Blueprintに関する関数・引数のドキュメント:Blueprint APIs - Rerun Python APIs
参考ページに様々な例があるので参考にしてみて下さい
設定方法
import rerun as rr
import rerun.blueprint as rrb
Blueprint→Conteiner→Viewという階層構造になっています
- Blueprintはviewerの設定全体
- Containerは複数のcontainerやviewを含む
-
Horizontal
,Vertical
,Grid
,Tabs
-
- Viewはデータを表示する1つのview
-
BarChartView
,Spatial2DView
,Spatial3DView
,TensorView
,TextDocumentView
,TextLogView
,TimeSeriesView
.
-
コードでは以下の用にblueprintを定義します.
my_blueprint = rrb.Blueprint(
rrb.Horizontal(
rrb.BarChartView(),
rrb.Vertical(
rrb.Spatial2DView(),
rrb.Spatial3DView(),
),
),
)
viewerにblueprintの設定を送ります.
my_blueprint = rrb.Blueprint(...)
rr.init("rerun_example_my_blueprint", spawn=True, default_blueprint=my_blueprint)
my_blueprint = rrb.Blueprint(...)
rr.init("rerun_example_my_blueprint")
...
rr.connect(default_blueprint=my_blueprint)
my_blueprint = rrb.Blueprint(...)
rr.init("rerun_example_my_blueprint", spawn=True)
rr.send_blueprint(my_blueprint, make_active=True)
著者の設定例
GUI操作で変更は出来ますが,デフォルトで全て表示するような設定にしています
rr.init("XXXX", spawn=True) # 初期化
rr.connect(addr=f"{ip}:{port}") # viewerを開いているクライアントに接続
blueprint = rrb.Blueprint( # blueprintの設定
rrb.TimePanel(state="expanded"), # 画面下のTimePanelを表示
rrb.SelectionPanel(state="expanded"), # 画面右の選択時の詳細パネルを表示
rrb.BlueprintPanel(state="expanded"), # Blueprintのパネルを表示
rrb.Vertical( # 縦にviewを積み重ねる
rrb.Spatial3DView(origin="/3D", background=[255, 255, 255]), # 背景白の3Dをplotするためのview
rrb.Spatial2DView(origin="/2D", background=[255, 255, 255]), # 背景白の2Dをplotするためのview
),
)
rr.send_blueprint(blueprint) # blueprintの設定を送る
おわりに
今回はBlueprintについて解説しました.
まだまだ使いこなせていない部分も多いですが,引き続き触りながら解説記事を増やしていきたいと思います.
参考
本記事は以下のページを元にまとめたものです.