Skip to main content
Version: 11.0

metrical [OPTIONS] <COMMAND>

Purpose

  • Global options and errors that apply to all MetriCal commands.

Usage

metrical <COMMAND> [GLOBAL_OPTIONS]

Description

Most commands in MetriCal have their own options and settings. However, there are a few common options that are applicable to all modes. These options can be placed in any command, either before or after the mode you'd like to use.

Options

--license <LICENSE>

The license key for MetriCal.

There are three ways to pass in a license key:

  • Set it via the command line argument --license
  • Set the TANGRAM_PLATFORM_LICENSE environment variable
  • Locate it in the Tangram config TOML, typically located at $HOME/.config/tangram-vision/config.toml

License keys are checked and validated in this order.

--report-path <REPORT_PATH>

MetriCal can actually write the TUI output of any command to an HTML file. The path to save the TUI output to. you can also just redirect stderr, though this will subsume the interactive output

-z, --topic-to-observation-basis <topic_name:observation_basis>

A mapping of topic/folder names to their respective observation coordinate bases.

MetriCal natively computes extrinsics as a transformation between observations. This can sometimes lead to confusion, as extrinsics won't "match" your preferred convention or coordinate system (even though they're valid!).

Providing an observation coordinate basis for a topic will allow MetriCal to modify transformations between components to match the conventions found in your system.

Example: The topic "lidar_1" streams data in FLU [x: forward, y: left, z: up], while the topic "lidar_2" uses FRD. Designate these components as such:

-z lidar_1:FLU -z lidar_2:FRD

One may also use wildcards to designate many topics at a time with the same observation basis:

-z /lidar/*:FLU
-Z, --topic-to-component-basis <topic_name:component_basis>

A mapping of topic/folder names to their respective transform coordinate bases.

MetriCal natively extrinsics as a transformation between observations. This can sometimes lead to confusion, as extrinsics won't "match" your preferred convention or coordinate system (even though they're valid!)

Providing a transform coordinate basis for a topic will allow MetriCal to modify transformations between components to match the conventions found in your system

Example: The topic "lidar_1" streams pointcloud data in FLU [x: forward, y: left, z: up], while the topic "lidar_2" uses FRD. However, we desire coordinate bases to be FRD for both lidar. Designate these components as such

-z lidar_1:FLU -z lidar_2:FRD -Z *lidar*:FR

Exit Codes

Exit CodeDescription
0Success
1Failed to find the file, or read the contents of the file
2The provided path could not be opened or was not a valid plex
3The provided path could not be opened or was not a valid MetriCal results JSON
4The provided path could not be opened or was not a valid object-space
5Pipeline is malformed
6Failed to validate any license
7Invalid Key:Value pair provided
8Invalid list provided
9Could not parse shell type from string
10There is no component with the specified UUID or name
11The topic-to-component mappings contain duplicates or super/sub-sets
12The provided model does not match anything known to MetriCal
13The origin and secondary components describe the same component
14There is no existing spatial constraint between these two cameras
15The dominant and secondary eyes in this stereo pair describe the same component
16The specified component is not a camera, so MetriCal can't produce LUTs
17Could not print interactive prompt to console
18User canceled calibration at interactive prompt
19Failed to initialize rendering
20The program failed to mmap the file due to some error on the system
21The dataset is not a valid folder, ROS1 bag, or MCAP dataset
22The ROSbag provided does not have records or is otherwise malformed
23MCAP was malformed
24Failed to read any component folders with data
25Failed to interpret filename as timestamp
26Image resolution inconsistent with the rest of the stream
27Could not create the detectors as described in this calibration run
28Could not create the feature map for an object space
29There were no usable observations in this dataset
30All usable data was filtered out before calibration could take place
31No features were detected from any specified object space
32Could not derive initial estimates at the start of calibration
33Failed to run calibration to completion
34Failed to interpret the calibration solution
35Failed to serialize / write output to file
36Failed to convert Plex to URDF
37An invalid basis was provided
38None of the requested topics were found in this dataset