As readers of
my blog know, I like 'playing around' with the technical side of photography
and am drawn to landscape, wide angle, deep focus image capture.

As a user of Magic Lantern and CHDK I can exploit Lua
scripting to help with landscape focus stacking, for example my QDFS script that
gives my M3 and EF-M lenses a depth of field scale and user feedback on where
to focus stack.

But what if you are using a manual lens or a lens that doesn’t
work with Magic Lantern or CHDK?

In this post I discuss a cheap and cheerful hack so you can
ensure any lens can be used to capture perfect focus stacks.

Of course, some lenses are already fit for manual focus
stacking: for example my Irix 11mm prime lens on my EOS-R, via an adapter,
provides a very readable and useable depth of field scale:

On the other hand my Sigma 12-24 f/4.5-5.6 DG HSM II lens is
virtually useless for focus stacking.

The issue with the Sigma lens is, of course, it’s a zoom and
the depth of field scale is fixed.

Yes, you can work out the focal length that the depth of
field scale is set at, but you will likely find it is not at the focal length
you wish to use. In fact if we use a circle of confusion of 0.03, the Sigma 12-24mm lens appears to have a depth of field scale set for a focal length of about 17mm: the middle of the zoom range.

A true depth of field scale on a zoom needs to adjust to each focal
length, as one sees on some older lenses:

In order to construct your own depth of field scale, at your
focal length of choice, we need to first lay out a model of the lens as we don’t
want to model a real lens. As always, we will make use of a thick lens model.
That is a thin lens with an hiatus between the front and rear principals.

Thanks (once again) to PhotonsToPhotos we can look at the
Sigma 12-24 and use the Optical Bench Hub to explore the lens:

In the above we see the front principal (H) and the entrance
pupil (P), relative to the image plane (I). The distances, relative to the
front of the lens, at infinity, being H, P, I = 34.2mm, 23.84mm, 137.86, at the wide end.

As we are interested in measuring focus from the front
principal, the above tells us that, if we know the minimum focus distance (MFD)
from the image plane, ie through accepting the manufacturer’s data or measuring
it, we can estimate the minimum focus distance from the front principal, ie MFD
- (137.86-34.2 = about 104mm). Note we will be ignoring lens extension in our
model.

To simplify things further, we will recognise the hyperfocal distance (h) as (F*F)/(N*C), where F is the focal length, N the aperture number and C
the circle of confusion that we wish to use for focus stacking. We thus can
state the near (R) and far (S) depths of field estimates as:

R = (h*u)/(h+u)

S = (h*u)/(h-u)

Where u is the focus distance from the front principal.

We can then rearrange the above to derive the depth of field scales,
ie:

1/S = 1/u -1/h

1/R = 1/u + 1/h

Finally, by using a scale factor (J) we can create the
following model:

Where J is simply (MFD-X)*T, and T is the lens throw.

Now we have a model, let’s put it into practice.

The first thing we need to do is to measure the lens throw
or rotation, between the MFD and infinity. The simplest hack to do this is to
put some tape, or something similar, that will not stretch or move, on the
focus ring of the lens. Having done this, rotate the lens until the left of the
tape comes into alignment with the MFD. Then slowly rotate the lens until the
infinity location and mark the tape. This gives us the ‘rotation length’ (L) in
mm.

Remove the tape from the lens and mark the tape every 10mm,
to create a scale, and replace the tape.

The depth of field can now be estimated from: ((MFD-X)*L*N*C)/(F*F).

In the case of the Sigma lens at F = 12mm, L was 73mm, X = 104mm,
MFD = 250mm, N=8, and I choose an overlap C of 0.02mm.

Giving the near and far depth of field scale distances as
12mm, thus all we need to do is cut a length of tape at 24mm and place a mark
at the centre. The resulting hack looks like this, which, although not shown below, in this example, is only usable at a focal length of 12mm:

To use the depth of field hack all one needs to do is first ‘calibrate’
the lens by rotating the focus ring until the MFD comes into alignment with the
left hand end of the tape. Set focus on the nearest object of interest and
capture an image, and use the depth of field hack to rotate the lens until you
have captured your perfect focus stack.

As usual I welcome any comments on this post or any of my
posts.