I'm working on computing MTF plots for smartphone camera. I've a working code in Python inspired by plenty of codes found online, MATLAB, Peter Burns and his sfrmat etc.. which computes the data from a chart I've created using the slanted edge algorithm, and is displayed as Line Pairs per Pixels.

However, to compare smartphones between them, I've found that displaying the MTF plot with Line Pairs per Picture Height should be better. How can i go from one to the other ? Also, as I extract a ROI of the chart, is the Picture Height the original one, or only of the ROI ?

Finally, I've seen on Imatest that they discuss Line Pairs per Object Distance (https://www.imatest.com/docs/sharpness/#freq_units) but I honestly don't understand it. Can someone explain it a bit ? Could it be capable of giving information on the smallest possible details distinguishable ?

Thank you already

  • 1
    \$\begingroup\$ There's no such thing as line pairs per pixel. Even with a monochrome sensor you need at least two pixels to be able to tell a black line from a white line. If they're both projected onto a single pixel you get a grey pixel, not a pixel that is half white and half black. \$\endgroup\$
    – Michael C
    May 11, 2021 at 17:20

1 Answer 1


I believe your LP/Pixel is actually cycles/pixel, which nyquist limits to a maximum of .5 (or 1 L/P). So if your result is 1 line/pixel, then the conversion to per image height is simply the height of the sensor in pixels... and LP/image height would be .5x.

I have no idea what the ROI is you are referencing... but anything useful would be based on the original image (sensor area).

LP/object distance is extremely uncommon... basically, if you kept the test target at the same distance for every lens, then the distance and magnification (lens difference) has to be included into the calculation to get a lines/mm usable/comparable type of result. What is normally done is that the target is set at different distances based on the lens' magnification, so that the lines occupy the same per mm area.

  • \$\begingroup\$ Thank you for your answer. Yes indeed I called them LP as I often see them like that online but it's definitely a cycle. To give more details, my ROI would be the crop of a e-sfr chart, a slanted edge of a square. \$\endgroup\$ May 12, 2021 at 6:23
  • \$\begingroup\$ so while plotting, instead of having x being the frequencies and y the mtf values, the plot will be identical except that x won't stop at 0.5 (due to Nyquist) but will go to 2000, if my camera's sensor goes to 4000pixels ? \$\endgroup\$ May 12, 2021 at 6:33
  • \$\begingroup\$ @SamuelDubuis, That sounds right to me... \$\endgroup\$ May 12, 2021 at 11:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.