MRGINGHAM(1)

πŸ’– MRGINGHAM πŸ’–

okay bestie, so this is the manual for mrgingham-observe-pixel-uncertainty, which lives in the mrgingham family (you know, the chessboard corner finder girlies). It's a real one. Let's get into it πŸŽ€


✨ NAME ✨

mrgingham-observe-pixel-uncertainty β€” evaluate the observed point distribution from stationary observations πŸ¦‹

no fr that's literally what it does. she looks at your points and tells you how wobbly they are.


🌸 SYNOPSIS 🌸

$ observe-pixel-uncertainty '*.png'
  Evaluated 49 observations
  mean 1-sigma for independent x,y: 0.26

$ mrcal-calibrate-cameras --observed-pixel-uncertainty 0.26 .....
[ mrcal computes a camera calibration ]

so like, step one: she eats your images and spits out a number. step two: you hand that number to mrcal and it does the calibration thing. iconic teamwork tbh 🀝


πŸ’… DESCRIPTION πŸ’…

so here's the tea. mrgingham has finite precision, which means if you take a picture of the same board over and over, the corner coordinates are gonna come out slightly different every time. not a bug, just her vibe. 🫢

this tool takes in a set of images (assumed to be observing a chessboard, with the camera AND the board both staying still, like stationary stationary) and then outputs the 1-standard-deviation statistic for the distribution of detected corners. and then?? you pass that number into mrcal: mrcal-calibrate-cameras --observed-pixel-uncertainty ... ✨

the distribution of the detected corners is assumed to be gaussian, and INDEPENDENT in the horizontal and vertical directions. so if the x and y distributions are each s, then the LENGTH of the deviation of each pixel is a Rayleigh distribution with expected value s*sqrt(pi/2) ~ s*1.25. math ate, ngl πŸ“

🚨 ok important: THIS TOOL PERFORMS VERY LIGHT OUTLIER REJECTION; IT IS ASSUMED THAT THE SCENE IS STATIONARY. like, don't move. nobody move. πŸ™ˆ

⭐ OPTIONS ⭐

πŸŽ€ POSITIONAL ARGUMENTS

  • input β€” two ways to feed her, bestie:
    1. A glob that matches images observing a stationary calibration target. This must be a GLOB. So in the shell you pass in '*.png' and NOT *.png (yes the quotes matter, don't come for me). these get processed by mrgingham, and the arguments passed in with --mrgingham come along for the ride.
    2. Or a vnlog representing corner detections from these images. this is assumed to be a file with a filename ending in .vnl, formatted like mrgingham output: 3 columns: filename,x,y

🌈 OPTIONAL ARGUMENTS

  • -h, --help β€” show this help message and exit. the classic. πŸ’–
  • --show {geometry,histograms} β€” visualize something! the arguments can be:
    • "geometry": show the 1-stdev ellipses of the distribution for each chessboard corner separately πŸ¦‹
    • "histograms": show the distribution of all the x- and y-deviations off the mean πŸ“Š
  • --mrgingham MRGINGHAM β€” if we're processing images, these are the arguments given to mrgingham. if we are reading a pre-computed file, this does nothing. she said no thoughts head empty πŸ’€
  • --num-corners NUM_CORNERS β€” how many corners to expect in each image. if this is wrong I will throw an error, fr fr. defaults to 100 πŸ‘‘
  • --imagersize IMAGERSIZE IMAGERSIZE β€” optional imager dimensions: width and height. this is optional (did I stutter πŸ’…). if given, we use it to size the "--show geometry" plot ✨

🧚 REPOSITORY 🧚

<https://github.com/dkogan/mrgingham>

come thruuu, the source is right there 🌸


πŸ’œ AUTHOR πŸ’œ

Dima Kogan, "<dima@secretsauce.net>" β€” thank you for your service, king πŸ‘‘


This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

Copyright 2017-2018 California Institute of Technology

Copyright 2017-2018 Dima Kogan ("dima@secretsauce.net")


ok that's the whole page, you're all caught up bestie πŸ’– this was mrgingham version 1.27, dated 2026-08-16, and yeah she's still serving <pink>MRGINGHAM(1)</pink> energy. now go calibrate something and slay βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from