MetriCal Command: Display
This is the only command that expects an active Rerun server. Make sure to have Rerun running before using this command. Read about configuring Rerun here.
Usage
metrical display [OPTIONS] $INPUT_DATA_PATH -p $PLEX_OR_RESULTS_PATH
Purpose
MetriCal's Display command renders any data that it's given in Rerun. If a calibrated plex is passed
in with -p (either from a calibration results MCAP or a plex JSON), MetriCal will apply the
calibration to the data before rendering. This effectively acts as a gut-check validation of the
calibration quality: if the calibration is good, then the rendered data should look well-aligned and
consistent.
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 command:
Examples
Start a Display session immediately after a calibration run
metrical calibrate -o $RESULTS $DATA $PLEX $OBJ_SPC
metrical display $DATA -p $RESULTS
Arguments
[INPUT_DATA_PATH]
The dataset with which to calibrate, or the detections from an earlier run. Users can pass MCAP files (usually with an
.mcapextension) or a top-level directory containing a set of nested directories for each topic.
Options
Global Arguments
As with every command, all global arguments are supported (though not all may be used).
-p [PLEX_OR_RESULTS_PATH]
The path to the input plex. This can be a MetriCal results MCAP or a plex JSON.
-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:9876When running Rerun from its CLI, the IP would correspond to its
--bindoption and the port would correspond to its--portoption.