A Typical MetriCal Workflow
Users can find workflow scripts and sample datasets in the MetriCal Sensor Calibration Utilities repo on GitLab:
https://gitlab.com/tangram-vision/platform/metrical/-/tree/main/examples
1: Initialize MetriCal
A plex is a virtual snapshot of your system's calibration at a point in time. Init creates a raw input plex by inferring it from the data it is given. We'll optimize this plex, and this data, using Calibrate later.
metrical init \
--topic-to-model *:opencv_radtan \ # Assign all of our models
--preset-device RealSense435:[ir_one,ir_two,color] \ # Set any pre-configured devices
$DATA \ # Provide our data
$INIT_PLEX # Our output: a fresh plex!
More on...
Init
mode: Init Mode- Data formats: Data Formats
- The plex: Plex
- Camera models: Camera models
2: Calibrate the Initial Plex
The actual calibration! This refines the plex, giving you accurate calibation values. We'll
visualize this process using Rerun by passing the --render
flag.
metrical calibrate \
--render \ # Render the calibration process using Rerun
--output-json $OUTPUT \ # Write the results to $OUTPUT
$DATA \ # Our input calibration dataset
$INIT_PLEX \ # Our fresh plex from Step 1
$OBJ \ # Our object space file describing fiducials and targets
More on...
Calibrate
mode: Calibrate mode- Object spaces: Object Space
- Results and metrics: Results
- Rendering: Rendering with Rerun
3: Shape the Calibration Results
This shapes the calibration output into something more useful for our system. In this case, we want to create a stereo rectification for our system.
metrical shape \
$OUTPUT \ # Use the calibration output we derived from Step 2
$OUTPUT_DIR \ # Write the results to $OUTPUT_DIR
stereo-lut \ # Create a pair of stereo rectification lookup tables
--dominant ir_one \ # The dominant eye in this stereo pair
--secondary ir_two \ # The secondary eye in this stereo pair
And there you have it! In three easy (and scriptable) lines, we went from raw data to a calibrated, rectified stereo pair.
More on...
- Shape mode: Shape mode