Whoa, that is awesome.
From what I’ve gleaned, there are many approaches to determining image quality (sharpness/contrast/resolving ability). The slanted-edge approach seems to be the most accepted, and is in fact the basis of ISO 12233. Below are some links to browse to get the general drift of it.
My newbie’s summary:
o A slant-edge image target (black/white, at a small angle vs. the pixel array axes) serves as a step function for the imaging system. How steeply stepped does your imaging system perceive it to be? The sharper the step, the more high-spatial-frequency content in its Fourier transform; blurrier images have less.
o MTF, then, boils down to calculating how much high-spatial-frequency content is in the image. Lens quality and setup (focus, etc) is an obviously dominant contributor, but the whole imaging system contributes. In the olden days of analog video connections, even cable quality could have a profound impact.
o MTF seems to be most often calculated as the normalized FFT of the derivative of the image, but I suppose there might be other measures as well; maybe even the histogram of pixel values could have utility for this (since a perfect step would have pixel values in only two bins, white and black; any intermediate bins with pixels in them would indicate blur). I would imagine that image-based autofocus approaches do something similar. Those have been around for a long time. My nearly 30-year-old Sony handicam had image-based autofocus.
My own application has frame-rate as a priority, so efficiency trumps exactitude for me. I just want to maximize “sharpness” and don’t care much about rigorous compliance with ISO this-and-that. I’d imagine autofocus would have similar priorities.
http://www.dougkerr.net/Pumpkin/articles/MTF_Slant_Edge.pdf --a few pages of less-interesting background lead up to a nice description of the slant-edge approach
http://harvestimaging.com/blog/?p=1328 --good, concise description of the slant-edge approach
https://www.edmundoptics.com/resources/application-notes/optics/introduction-to-modulation-transfer-function/ --less on the slant-edge approach, more relating to resolving line patterns and other classical stuff
http://www.imatest.com/docs/sharpness/ --measuring sharpness and all sorts of other interesting stuff
This is really cool: There Are Giant Camera Resolution Test Charts Scattered Across the US
py_mtf/mtf.py at master · weiliu4/py_mtf · GitHub --some Python example codes I’ve been picking through
Thanks! Meanwhile I’ll play around with that firmware link you provided. Many thanks for that!