Skip to main content
Version: dev-latest

Shape Mode

Purpose

  • Modify an input plex into any number of different helpful output formats.

Usage

metrical shape <COMMAND> [COMMAND_OPTIONS] <PLEX_OR_RESULTS_PATH> <OUTPUT_DIR>

Concepts

For a single-camera system, a plex is a simple affair. For a complicated multi-component system, plexes can become incredibly complex and difficult to parse. Unlike other calibration systems, MetriCal creates fully connected graphs whenever it can. Everything is related!

A perfectly reasonable plex

This is where Shape mode comes in handy. Shape modifies a plex into a variety of different and useful configurations. It was created with an eye towards the practical use of calibration data in a deployed system.

Some Shape commands, like mst and focus, rely on the covariance of each spatial constraint in the plex to inform the operation. Since the covariance is a measure of uncertainty, we can use it to carve out the "most certain" constraints between two components.

Covariances of the plex&#39;s spatial constraints

Other Shape commands will mutate the plex into something useful for another application, such as the urdf command for ROS applications.

Commands
Purpose
focusCreate a plex in which all components are spatially connected to only one "focus" component, i.e. a "hub-and-spoke" plex.
lutCreate a pixel-wise lookup table for a single camera.
stereo-lutCreate two pixel-wise lookup tables that produce a rectified stereo pair.
mstCreate a plex from the Minimum Spanning Tree of all spatial constraints.
tabularRe-encodes the calibration data in a plex as a series of compressed tables.
urdfCreate a ROS-compatible URDF from this plex.