Tuesday, May 11, 2021

Wind Bracketing for Landscape Photography

NOTE: This is a post on developments in the CHDK core and my latest (unreleased) M3 Bracketing script. The CHDK developments are directed at making the CHDK displays fully compatible with the Canon displays, eg no flashing.

In the latest version of M3 Bracketing I will be introducing, what I call, wind bracketing. Plus I've added in the option to show the impact of diffraction on the infinity blur. With this feature set to off, only defocus infinity blur is shown in microns. With the new feature switched on, the infinity blur shows the combination of the defocus and (visible band, ie 550nm) diffraction blurs; as usual, taken in quadrature. Note the near/far DoFs remain being reported without diffraction.

What, I hear some saying, is 'what the hell is wind bracketing'. 

I've heard of exposure bracketing and even focus bracketing, but never wind bracketing.

Most will be aware that we are moving ever closer to a camera that just takes a single image, and that image is able to capture the full dynamic range of the scene and, potentially, focus through the depth of the scene; and we 'fix' the exposure and focus we wish to use in post. Until such a 'magic' camera is available, and we can control the weather, most photographers will take multiple images, bracketing for exposure and focus.

Of course, there are many ways to exposure bracket: from the simple, eg taking a +/- exposures either side of a camera set 0Ev base exposure; to more complicated schemes, eg from an ETTRed base exposure.

Another approach, and one I like doing, is to use sky bracketing; which is ideal if you need to focus bracket for the foreground as well: eg see this post.

Assuming you are interested in deep focus landscape photography, sky bracketing is a useful technique, as it exploits the fact that the sky, being way beyond the hyperfocal, ie at infinity, does not require focus bracketing. Thus we can differentiate between capturing a single exposure image for the sky and multiple focus images for the foreground, at a different exposure to the sky. 

Although you can do manual sky bracketing, I wrote my APS-C M3 Bracketing script to automate complex bracket captures, such as combining a sky bracket with a foreground focus bracket set at a different exposure.

One problem with this approach is that the land image(s) are going to be taken at a slower shutter speed, eg an ETTR setting for the sky, at say, 1/200s, with a 4Ev uplift for the land, will result in a land exposure at about 1/10s and, if there is wind around, and you have beautiful foliage up close you wish to capture, you risk the flowers being blurred by wind driven motion.

Of course, we all know how to stop motion in an image: all we need to do is use a high shutter speed, which is where wind bracketing enters the scene.

In this implementation of wind bracketing, I've restricted the use to when we are taking a single focus image, ie not a focus bracket set, beyond the hyperfocal, ie at a set infinity blur. Thus this is well suited for wide angle lenses, where we can achieve small infinity blurs and a close near depth of field.

Having set the composition and the infinity focus, although the script tells us the near DoF and infinity blur (now with or without diffraction), we still have to worry about two other factors, that we have no control over: the dynamic range of the scene, ie the light, and the weather, in this case the wind.

We deal with the DR of the scene using sky bracketing at x Ev. As for the wind, that's dealt with by increasing the shutter speed (by y delta-Ev), whilst maintaining the 'exposure', by increasing the ISO by x delta-Ev. This results in the wind bracket histogram looking the same as the land base histogram. Note x and y can be different.

In the above we are ignoring any potential ISO invariance advantage, that we could exploit, mainly because my (Canon) cameras are not ISO invariant from the base ISO. Also I'm ignoring the nuance, that changing ISO does not technically change exposure. 

BTW the following illustrates, thanks to Bill Claff over at Photons to Photos, the ISO invariance differences between two of my cameras, in this case between the 5D3 (black) and the M3 (blue).

Here we see that the 5D3 becomes ISO invariant like, from about 1600, whereas the M3's ISO invariance characteristics kick in at about ISO 400ish. But let's leave ISO invariance to one side for now.

The new M3 Bracketing script's menu now looks like this:

Here we see the new wind bracketing option, set to 4Ev in the above, meaning that an additional exposure will be taken at 4Ev up from the ISO base, and the shutter adjusted accordingly. Note wind bracketing works best if the base ISO is set to 100.

The menu also shows that I have not requested any focus or exposure bracketing, but I have requested sky bracketing. Thus, the above would result in three exposures, once I had ETTRed for the sky at, in this example, 1/100s, f/8, ISO100:

  1. 1/6s, f/8, ISO100 = 4Ev exposure uplift for the foreground
  2. 1/100s, f/8, ISO100 = ETTR base for the sky
  3. 1/100, f/8, ISO1600 = wind bracket at 4Ev, to match exposure 1

'Exposures' 1 and 3 resulting in the same in-camera histogram.

Post processing for the wind bracket is pretty simple.

First I pre-process all three RAWs in DxO PureRAW, or any noise reduction pre-processor you decided on using. Although I only needed to pre-process the high ISO wind bracket, if I only used PureRAW on this image, I would have image to image differences, as PureRAW uses lens corrections that are different to those that Lightroom uses.

Of course, if you weren't using PureRAW, eg 'just' using LR, then you would sync any lens correction across all three images.

After adjusting the basic exposure settings of the PureRAW DNGs, I exported them as smart objects to Photoshop and stacked them in a single image: as they were smart objects, I could use ACR on each layer at anytime. 

All that was then required was for me to paint in the sky layer, via a mask, and any motion-blurred flowers in the foreground, from the wind bracket image.

The final PS step, after any PS work, would be to flatten the  image and return to LR, where I would carry out final tonal adjustments. 

As this post is only alerting the reader about developments, I won't be showing real images, but see next post. However, the inclusion of 'wind bracketing' in the M3 Bracketing script provides an additional tool to help photographers capture their vision.

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


  1. Very interesting! This is the closest thing I've found to something I want to do on my 7D with ML, which is take equal exposure value pictures at different exposure lengths (compensating with ISO), so I can combine them in post to have an action shot with a motion trail, like you would get with second curtain synch. Any thoughts on how to implement this in ML, or does one of your modules have that capability as-is?

    1. I haven't implemented wind bracketing in any of my ML scripts...yet ;-)

      Obviously, what you wish to do would need a Lua script and you would get time gaps between the frames.