dima - 2 days ago

Hi.

I have a scenario that's slightly different than the usual mtf-mapper case, and am wondering what the right way to approach it is. I have

  • A low-resolution sensor: 640x480

  • With a VERY wide lens: 160deg corner-corner

  • Focused at infinity

I want to measure lens acuity. Normally I would use the lensgrid chart, and "mtf_mapper --annotate --lensprofile", but with the wide lens this doesn't work right.

A sample image of the lensgrid chart placed chart squarely in front of the camera is attached in wide-headon.png. I process it in two ways, using the input image or undistorting it:

f=wide-headon.png; 

mtf_mapper \
    $f \
    /tmp/ \
    --annotate \
    --esf-sampler quadratic \
    --jpeg
mv annotated.jpg wide-headon-annotated-input.png;

mtf_mapper \
    $f \
    /tmp/ \
    --annotate \
    --optimize-distortion \
    --jpeg
mv annotated.jpg wide-headon-annotated-reprojected-pinhole.png;

I'm attaching both annotated results. Notes/questions:

  • Using the input image, only the edges near the center are detected. I'm guessing this is because the ones further out are simply too small. Is that correct? Should I create some sort of custom chart, with bigger elements at the edges? Should I process the edges separately, with the chart placed at an angle?

  • Is the recommendation to place the chart normal to the optical axis satisfiable for a wide lens? Here the observation vectors point in very different directions as we move away from the center. Is that ok?

  • My understanding (probably incorrect!) is that the undistorting helps mtf_mapper find the edges, but doesn't affect the MTF logic. Comparing wide-headon-annotated-input.png and wide-headon-annotated-reprojected-pinhole.png I see similar, but not identical MTF50 results. I also see very different edge validity results (the colors of the annotated MTF values): the undistorted version has many more cyan edges. This feels like a bug. Is it right?

Next. I'm calibrating these lenses with a checkerboard anyway, so I already have lots of checkerboard images. I did the above with one of those images and --checkeboard. Observations:

  • As before, similar-but-not-identical MTF values and very different colors

  • Half the checkerboard not detected at all

Is this expected? I get the sense --checkerboard isn't used very often.

Thank you very much.