Test: backlit razor blade, single edge. Same lens used on two different cameras having the same mount and physical sensor size (APS-C). The only difference is a 26 versus 40 megapixel sensor.
I am interested if there is a measurable difference in sharpness and resolving power with the higher resolution 40mp sensor.
The results are puzzling. The MTF50 (c/p) values are marginally but consistently higher for the lower resolution 26mp sensor. I am not sure how to interpret this result. Does this mean the resolving power of the lens has reached its limit at ~26mp and diffraction is limiting further detail reaching the 40mp sensor?
Those results are actually a textbook example of this phenomenon. To explain it briefly consider that the measured system SFR is the product of the target SFR, the lens SFR and the sensor SFR. Your experiments keep the first two terms (target and lens) constant, but changes the sensor SFR.
The sensor SFR is usually approximated as |sinc(f)|, which corresponds to a box filter in the spatial domain, roughly modelling a slice through the square shape of the "ideal" photosite (note that I only use 1D functions here since that aligns with a single slanted-edge measurement, but in reality we have a 2D box function with SFR |sinc(f * sin(theta))| * |sinc(f * cos(theta))|, where theta is the angle of the slanted edge, so for small theta angles we just approximate everything as 1D).
In the MTF Mapper documentation and blog I tend to measure the spatial frequency f in units of cycles per pixel, but this hides an important detail: f is tied to the pixel pitch (distance between adjacent photosite centres on the sensor). A convenient way to illustrate this is to look at the equation used to convert from cycles/pixel to line pairs per mm:
f_lpmm = f_cp * 1000 /p
where p is the pixel pitch expressed in micron; the factor 1000 is to convert from micron to mm.
So as a practical example, consider two sensors: sensor A has a pitch of 5 micron, and sensor B has a pitch of 4 micron. If both measured an MTF50 of 0.3 cycles/pixel, then we have
A: f_lpmm = 0.3 * 1000 / 5 = 60 lp/mm
and
B: f_lpmm = 0.3 * 1000 / 4 = 75 lp/mm
This is intuitively satisfying because the sensor with the smaller pixels produces a higher MTF50 result when expressed in lp/mm.
But the key insight here is that it also works in the opposite direction. Keep in mind that our system SFR is ultimately limited by the lens SFR. So if we fudge a little and assign a limiting MTF50 value of 60 lp/mm to the lens we can flip the above equation to express this in cycles/pixel for our two sensors A and B using
f_cp = f_lpmm * p / 1000
Thus
A: f_cp = 60 * 5 / 1000 = 0.3 c/p
B: f_cp = 60 * 4 / 1000 = 0.24 c/p
Like I said, this is a bit of a shortcut, but if you want to model this correctly you can compute the system SFR as the product of the target, lens and sensor SFR components as described above, keeping in mind that the scale of the spatial frequency variable f will change if we model the system SFR in units of cycles/pixel. If we model everything in units of line pairs per mm then it will be apparent that the sensor components have different scaling factors in the |sinc(f)| terms to take into account the differences in the pixel pitch of the sensors.
It is a bit of a pain to do in the MTF Mapper GUI using the "Line pairs/mm units" setting, but you can set the pixel pitch to that of your 26 MP sensor, and use "File/Open with manual edge selection" to process the first capture. Then set the pixel pitch to that of your 40 MP sensor, and process a capture from the 40 MP sensor. If you compare the two SFR plots, now expressed in lp/mm, using the SFR curve dialog (click on the cyan MTF50 number in the annotated output of the 26 MP capture, then shift-click on the same of the 40 MP capture), you will see that the 40 MP camera is indeed producing higher MTF50 results in units of lp/mm. There's a toggle on the dialog to switch between lp/mm and c/p units; this should demonstrate the impact of the whole argument above
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Frans,
Thank you so much for the explanation. I have recalculated the MTF from the same single edge images using lp/mm for the specific pixel pitch of each sensor (X-H2=3.04, X-H2S=3.76). Now I see an expected result with the higher resolution 40mp sensor showing consistently greater resolving power in terms of actual line pairs.
The lens's stepping motor makes it impossible to nail focus at closer distances without moving the whole camera. So that may be the problem. You could put the camera on an arca swiss rail to help with focus. If you don't already know.
Last edit: Lewy 2024-05-02
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The test images were taken at ~1m which is 4x the 0.28m minimum focus distance for the lens. I understand your point regarding stepper motors increments. I don't think that is the limiting factor here. Both cameras are physically identical and were mounted at a fixed location so the sensor planes should have been exactly the same distance from the subject. Focus confirmation and focus assist highlighting was confirmed on each test.
👍
1
Last edit: Jeff 2024-05-02
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Test: backlit razor blade, single edge. Same lens used on two different cameras having the same mount and physical sensor size (APS-C). The only difference is a 26 versus 40 megapixel sensor.
I am interested if there is a measurable difference in sharpness and resolving power with the higher resolution 40mp sensor.
The results are puzzling. The MTF50 (c/p) values are marginally but consistently higher for the lower resolution 26mp sensor. I am not sure how to interpret this result. Does this mean the resolving power of the lens has reached its limit at ~26mp and diffraction is limiting further detail reaching the 40mp sensor?
Hi Jeff,
Those results are actually a textbook example of this phenomenon. To explain it briefly consider that the measured system SFR is the product of the target SFR, the lens SFR and the sensor SFR. Your experiments keep the first two terms (target and lens) constant, but changes the sensor SFR.
The sensor SFR is usually approximated as |sinc(f)|, which corresponds to a box filter in the spatial domain, roughly modelling a slice through the square shape of the "ideal" photosite (note that I only use 1D functions here since that aligns with a single slanted-edge measurement, but in reality we have a 2D box function with SFR |sinc(f * sin(theta))| * |sinc(f * cos(theta))|, where theta is the angle of the slanted edge, so for small theta angles we just approximate everything as 1D).
In the MTF Mapper documentation and blog I tend to measure the spatial frequency f in units of cycles per pixel, but this hides an important detail: f is tied to the pixel pitch (distance between adjacent photosite centres on the sensor). A convenient way to illustrate this is to look at the equation used to convert from cycles/pixel to line pairs per mm:
f_lpmm = f_cp * 1000 /p
where p is the pixel pitch expressed in micron; the factor 1000 is to convert from micron to mm.
So as a practical example, consider two sensors: sensor A has a pitch of 5 micron, and sensor B has a pitch of 4 micron. If both measured an MTF50 of 0.3 cycles/pixel, then we have
A: f_lpmm = 0.3 * 1000 / 5 = 60 lp/mm
and
B: f_lpmm = 0.3 * 1000 / 4 = 75 lp/mm
This is intuitively satisfying because the sensor with the smaller pixels produces a higher MTF50 result when expressed in lp/mm.
But the key insight here is that it also works in the opposite direction. Keep in mind that our system SFR is ultimately limited by the lens SFR. So if we fudge a little and assign a limiting MTF50 value of 60 lp/mm to the lens we can flip the above equation to express this in cycles/pixel for our two sensors A and B using
f_cp = f_lpmm * p / 1000
Thus
A: f_cp = 60 * 5 / 1000 = 0.3 c/p
B: f_cp = 60 * 4 / 1000 = 0.24 c/p
Like I said, this is a bit of a shortcut, but if you want to model this correctly you can compute the system SFR as the product of the target, lens and sensor SFR components as described above, keeping in mind that the scale of the spatial frequency variable f will change if we model the system SFR in units of cycles/pixel. If we model everything in units of line pairs per mm then it will be apparent that the sensor components have different scaling factors in the |sinc(f)| terms to take into account the differences in the pixel pitch of the sensors.
It is a bit of a pain to do in the MTF Mapper GUI using the "Line pairs/mm units" setting, but you can set the pixel pitch to that of your 26 MP sensor, and use "File/Open with manual edge selection" to process the first capture. Then set the pixel pitch to that of your 40 MP sensor, and process a capture from the 40 MP sensor. If you compare the two SFR plots, now expressed in lp/mm, using the SFR curve dialog (click on the cyan MTF50 number in the annotated output of the 26 MP capture, then shift-click on the same of the 40 MP capture), you will see that the 40 MP camera is indeed producing higher MTF50 results in units of lp/mm. There's a toggle on the dialog to switch between lp/mm and c/p units; this should demonstrate the impact of the whole argument above
Frans,
Thank you so much for the explanation. I have recalculated the MTF from the same single edge images using lp/mm for the specific pixel pitch of each sensor (X-H2=3.04, X-H2S=3.76). Now I see an expected result with the higher resolution 40mp sensor showing consistently greater resolving power in terms of actual line pairs.
The lens's stepping motor makes it impossible to nail focus at closer distances without moving the whole camera. So that may be the problem. You could put the camera on an arca swiss rail to help with focus. If you don't already know.
Last edit: Lewy 2024-05-02
The test images were taken at ~1m which is 4x the 0.28m minimum focus distance for the lens. I understand your point regarding stepper motors increments. I don't think that is the limiting factor here. Both cameras are physically identical and were mounted at a fixed location so the sensor planes should have been exactly the same distance from the subject. Focus confirmation and focus assist highlighting was confirmed on each test.
Last edit: Jeff 2024-05-02