This is the sixth in a series of posts about building a bokeh simulator. This series starts here.
It’s become apparent to me that what many people talk about when they discuss a lens’ out of focus (OOF, as opposed to almost-focused) bokeh is related to the off -axis occluding of the sensor’s view of the lens aperture that occurs when the lens is fairly wide open. It is with some reluctance that I begin to contemplate how to simulate that. I expect it will be more difficult to code than the simple on-axis model that I have now, and that it will take a lot loonger to run.
Nevertheless, I am starting to explore the idea. I was pretty sure that I knew about what was happening here, but, just to make sure, I made 35 exposures with a Batis 85 (which is known for its imperfections in this regard) on a Sony a7RII. Then I stacked them all (8.4GB!) in Photoshop, and set the layer blend to “lighten”.
What do we have here? Y0oou can see that, as you move away from the axis, the inner edge of the ono-axis OOF point spread function (PSF) is cut away by a circle whose diameter is somewhat larger than the diameter of the on-axis OOF PSF itself.
Here’s a similar set of images with the Otus 85, likewise wide open (which is f/1.4 on the Otus, as opposed to f/1.8 on the Batis).
The idea is the same, but the amount of occlusion is somewhat less for the Otus, even though it’s a faster lens. The radii of the two circles are nearly the same in the Otus image.
Can we parameterize this? I’m thinking that this would be a good place to start:
- Off-axis distance before occlusion begins.
- Radius of the occluding circle as a proportion to that of the on-axis OOF PSF
- Amount of overlap of the centers of the two circles as a proportion to radius of the on-axis OOF PSF
In the above two images, it looks like the dimension in 1 is near zero, but I’ve seen lenses where the occlusion didn’t start happening right away. Anybody know the function that relates 3 above to off-axis distance?
Comments and suggestions are appreciated.