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