NAME

mrcal-show-residuals-board-observation - Visualize calibration residuals for one or more observations of a board

SYNOPSIS

  $ 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

DESCRIPTION

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.

OPTIONS

POSITIONAL ARGUMENTS

  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 observation indices we're looking at. A list of
                        integers 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

OPTIONAL ARGUMENTS

  -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
  --from-worst          If given, the requested observations index from the
                        worst-fitting observations to the best-fitting
                        (observation 0 is the worst-fitting observation). By
                        default we index the observations in the order they
                        appear in the solve
  --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

REPOSITORY

https://www.github.com/dkogan/mrcal

AUTHOR

Dima Kogan, <dima@secretsauce.net>

LICENSE AND COPYRIGHT

Copyright (c) 2017-2021 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