Display Mode
This is the only mode that expects an active Rerun server. Make sure to have Rerun running before using this mode. Read about configuring Rerun here.
Purpose
- Display the applied results of a calibration in Rerun.
Usage
metrical display [OPTIONS] $INPUT_DATA_PATH $PLEX_OR_RESULTS_PATH
Concepts
MetriCal's Display mode is a simple mode that takes the results of a calibration, applies them to a dataset, and displays the applied data in Rerun. This is useful for a quick gut check of the calibration quality; the classic "ocular validation", if you will.
That being said, there's no reason you can't apply a calibration to a test dataset, i.e. one that
wasn't used to derive a calibration. Just make sure that the dataset shares the same topics as the
plex. If this is not the case, you can use the
--topic-to-component
flag to map topics to
components.
Watch the video below for a quick primer on Display mode:
Examples
Start a Display session immediately after a calibration run
metrical calibrate -o $RESULTS $DATA $PLEX $OBJ_SPC
metrical display $DATA $RESULTS
Arguments
[INPUT_DATA_PATH]
Input data path for this calibration.
MetriCal accepts a few data formats:
- Ros1 bags, in the form of a
.bag
file.- MCAP files, with an
.mcap
extension.- Folders, as a flat directory of data. The folder passed to MetriCal should itself hold one folder of data for every component.
In all cases, the topic/folder name must match a named component in the plex in order to be matched correctly. If this is not the case, there's no need to edit the plex directly; instead, one may use the
--topic_to_component
flag.
[PLEX_OR_RESULTS_PATH]
The path to the input plex. This can be a MetriCal results JSON or a plex JSON.
Options
Universal Options
As with every mode, all universal options are supported (though not all may be used).
-m, --topic-to-component [TOPIC_TO_COMPONENT]
A mapping of ROS topic/folder names to component names/UUIDs in the input plex.
MetriCal only parses data that has a topic-component mapping. Ideally, topics and components share the same name. However, if this is not the case, use this flag to map topic names from the dataset to component names in the plex.
--render-socket [RENDER_SOCKET]
The web socket address on which Rerun is listening. This should be an IP address and port number separated by a colon, e.g.
--render-socket="127.0.0.1:3030"
. By default, Rerun will listen on sockethost.docker.internal:9876
. If running locally (not via Docker), Rerun's default port is127.0.0.1:9876
When running Rerun from its CLI, the IP would correspond to its
--bind
option and the port would correspond to its--port
option.