mrcal-show-residuals-board-observation - Visualize calibration residuals for one or more observations of a board
$ mrcal-show-residuals-board-observation
--from-worst --explore left.cameramodel 0-2
... a plot pops up showing the 3 worst-fitting chessboard observations in this
... solve. And a REPL opens up to allow further study
The residuals come from the optimization inputs stored in the cameramodel file. A cameramodel that's missing this data cannot be used with this tool.
To plot the residuals on top of the image used in the calibration the image paths are loaded from the optimization inputs. The paths are used directly, relative to the current directory. If the paths are unavailable or if the image cannot be read, the plot is made without the underlying image.
model Camera model that contains the optimization_inputs
that describe the solve. The displayed observations
may come from ANY of the cameras in the solve, not
necessarily the one given by this model
observations The observations we're looking at. Unless --from-glob,
these are a list of integers A and/or A-B ranges. By
default these index the board observations in the
order they appear in the solve. If --from-worst, then
we index them from the worst-fitting to the best-
fitting instead. If --from-glob then we treat the
strings as globs to match against the image paths
-h, --help show this help message and exit
--title TITLE Title string for the plot. Overrides the default
title. Exclusive with --extratitle
--extratitle EXTRATITLE
Additional string for the plot to append to the
default title. Exclusive with --title
--vectorscale VECTORSCALE
Scale all the vectors by this factor. Useful to
improve legibility if the vectors are too small to see
--circlescale CIRCLESCALE
Scale all the plotted circles by this factor. Useful
to improve legibility if the vectors are too big or
too small
--cbmax CBMAX Maximum range of the colorbar. If omitted, we
autoscale
--from-worst If given, the requested observations index from the
worst-fitting observations to the best-fitting
(observation 0 is the worst-fitting observation).
Exclusive with --from-glob. By default we index the
observations in the order they appear in the solve
--from-glob If given, the requested observations are specified as
glob(s) matching the image filenames. Exclusive with
--from-worst
--image-path-prefix IMAGE_PATH_PREFIX
If given, we prepend the given prefix to the image
paths. Exclusive with --image-directory
--image-directory IMAGE_DIRECTORY
If given, we extract the filenames from the image
paths in the solve, and use the given directory to
find those filenames. Exclusive with --image-path-
prefix
--hardcopy HARDCOPY Write the output to disk, instead of making an
interactive plot. If given, only ONE observation may
be specified
--terminal TERMINAL gnuplotlib terminal. The default is good almost
always, so most people don't need this option
--set SET Extra 'set' directives to gnuplotlib. Can be given
multiple times
--unset UNSET Extra 'unset' directives to gnuplotlib. Can be given
multiple times
--explore If given, the tool drops into a REPL before exiting,
to allow the user to follow-up with more diagnostics
https://www.github.com/dkogan/mrcal
Dima Kogan, <dima@secretsauce.net>
Copyright (c) 2017-2023 California Institute of Technology ("Caltech"). U.S. Government sponsorship acknowledged. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0