Thursday, July 8, 2021

M3 Bracketing: Exposure Survey Mode

Putting composition and artistic post processing decisions aside, as these are down to the individual and personal interpretation; there are two aspects of taking a 'scape image, ie sea, city or land etc, that are not open to much interpretation:

  • Covering the dynamic range of the scene, assuming you don't want to have blown out highlights or blocked/noisy shadows;
  • Covering the focus range of the scene, assuming you wish to have tack sharp features from near to far.

We will ignore the 'trivial' situation where both the above are covered in a single image, as the more interesting and challenging situation is when we need to bracket our image capture, potentially both in focus and exposure.

Of course, this is why I wrote the M3 Bracketing Script, which gives you (in camera) manual and auto means of capturing focus and exposure brackets.

Both focus and exposure bracketing require some user input: for example where do I start bracketing, how much do I adjust between brackets, and when do I finish bracketing.

Once again the M3 Bracketing Script is there to help you.

If you are focus bracketing, simply focus on the nearest object that you wish to see in focus, and the script will tell you how many focus brackets will be required to cover from your current focus position to the hyperfocal. Knowing this you therefore know that you will take at least this number of images, ie you will likely also wish to take an infinity focus shot. The focus brackets may be captured manually, with the script telling you where to focus, or automatically, with the script driving the lens.

If you are exposure bracketing things are potentially a little bit more complicated as you need to know your base exposure, say for the shadows, as well as your final exposure for the highlights.

But, once again, the M3 Bracketing Script comes to the rescue with its 'Exposure Survey' feature, which can be switched on in the script's menu.

Once the Exposure Survey mode is enabled, when the script is running in ALT mode, you will see an 'Ev exposure value' in the middle of the bar. For example, at script start up you will see 0.0Ev, as no change to the exposure has occurred yet:

The above shows the M3B info bar at the top (artificially offset to the left in this HDMI screen capture), telling us that we are focused beyond the hyperfocal (>), at 7.6m, and that there is, obviously, one (#1) bracket to get from where we are focused to the hyperfcal. We see the 0.0Ev displayed, as we haven't yet adjusted exposure. Finally, on the right, we see the near DoF is at 961mm and the infinity defocus blur is 2 microns.

Note that I personally display both the Canon and CHDK histograms, but put the CHDK histogram in auto magnify and log mode, with highlight and shadow warnings switched on.

We can now explore the exposure range by simply setting the shadow exposure we wish to use by using the histogram:

Once this exposure is reached, we now need to 'zero out' the script's Ev setting by doing a half shutter press:

With the script's Ev 'meter' now zeroed, all we need to do is to request the script to set an ETTR exposure, which is simply done by pressing the RIGHT button. Once pressed the script will automatically adjust the exposure until an the ETTR criterion is met. The ETTR settings may be tweaked/tuned in the script's menu. I personally have the ETTR criterion set in a conservative fashion, as I wish to ensure no blown out highlights, ie I will be slightly underexposure relative to a 'perfect' ETTR.

The above screen capture shows the scene after an ETTR request, clearly showing that there is just over 7Ev difference between the two extremes. Knowing this can then inform your choice of exposure bracketing recipe that gets set in the script, eg a single 'zero noise' bracket or, say, in this case, use the script's auto ETTR bracketing, which will take 2Ev delta exposures until the ETTR criterion is reached.

Hopefully this post has highlighted the power of the M3 Bracketing Script, both for focus and exposure capture. Personally, from a landscape photographer's perspective, I believe the M3, running CHDK and my M3B script, is a far better proposition than the M running Magic Lantern and my DOFIS script.

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

Thursday, July 1, 2021

Auto ETTR on the M3

Just a quick post to say I've tweaked the auto ETTR functionality in the M3 Landscape Bracketing Script: as usual downloaded from the link on the right.

You can now set an ETTR exposure, from either an under or over exposed exposure, by pressing the RIGHT button.

You can ‘calibrate’ the ETTR settings via choosing the % of the histogram to use. For example, a value of 5 here means adjust exposure until the top 5% of the histogram has zero percent overexposed. You can also tell the script to use the various quartiles of the histogram, ie the top quartile, through to the full histogram.

In addition, you can use the auto ETTR when auto focus bracketing.

As an example, the following test image was taken outside our house last night. I set the script to manual focus bracketing, set the exposure for the foreground, set sky/infinity bracketing to ETTR, and set focus using the script's focus bar feedback, ie to the desired infinity blur.

Post processing was in Lightroom, with a short trip to Photoshop to blend the two exposures.

As usual I welcome any comments or feedback on this post.

Wednesday, June 16, 2021

CHDK Landscape Bracking Script: Latest release

In the EOS Magic Lantern environment one can have multiple Lua scripts running. Thus I will typically have DOFIS running to give me DoF and focus stacking feedback in LV, and then run MUSIC to allow me to capture complex bracket sets.

In the CHDK environment  you can only have one script running at a time.

Thus my Landscape Bracketing Script (LBS for M3 and non-M3 CHDK cameras) tries to provide both DOFIS and MUSIC functionality in Canon Powershot cameras.

The latest release of the non-M3 version of LBS, download from the right, has a new feature that some may find of value.

As with all LBS use cases, LBS shows its worth when you need to capture a complex bracket set, eg for focus blending, and/or exposure blending.

LBS was written to exploit the 'fact' that the foreground will usually be captured at one exposure setting, whereas the sky will usually require a different exposure to the foreground and not require focus bracketing.

Plus the foreground may require multiple focus and exposure captures, eg for dynamic range or wind, whereas the sky will only need a single ETTR capture at 'infinity'.

The new LBS feature allows you to capture a simulated ND bracket set, at infinity. This bracket set, covering up to ND5, may be of value if you wish to, say, have tack sharp foliage and rocks, that may require focus and exposure or wind bracketing, with silky smooth flowing water. 

Trying to achieve the above in windy conditions, with an ND filter attached, will be a challenge, ie long exposure times at each focus station. Having a simulated ND bracket set may not be perfect, but it will likely be better than having nothing.

As an example consider the following test scenario, where your scene has a stream in the foreground, with water flowing over rocks, and there are flowers close to you in the foreground.

Using the LBS menu you set up the following options:

  • H/x2INF: to capture from a fraction (x) of the hyperfocal (H) to the defocus blur defined infinity;
  • x set to 5: thus taking focus brackets, less than H, at H/5 and H/3, and giving a near DoF at H/6;
  • Overlap blur set to the CoC: that is for the DoF brackets
  • Exposure bracketing set to Wind: thus taking an additional exposure at each focus station at 3Ev difference compared to the base exposure, ie 3Ev difference in ISO and shutter speed, giving a similar 'exposure' to the base shot;
  • Infinity blur set to 3H: that is an infinity blur shot three times the hyperfocal, giving an infinity blur of about CoC/3 microns;
  • Infinity bracket option set to ND;
  • ND set to 4: that is 16 images captured at infinity and at the foreground exposure setting, to be statistically blended in Photoshop, say;
  • Sky bracketing on: which will capture an auto ETTR image for the sky at infinity
  • Bookends set to on

Based on the above prescription the script will capture the following bracket set for post processing in Photoshop:


[H/5 @ s seconds] +  [H/5 @ 3Ev from s & 3Ev ISO up]

[H/3 @ s seconds] +  [H/3 @ 3Ev from s & 3Ev ISO up]

[H @ s seconds] +  [H @ 3Ev from s & 3Ev ISO up]

[3H @ s seconds] +  [3H @ 3Ev from s & 3Ev ISO up]


 [3H x 16 images @ s]


    [3H @ ETTR for the sky]  


That is, 14 images triggered by a single half shutter press.

In future posts I'll talk about how to post process such complex bracket sets. For now, additional info on the script may be found here.

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

Tuesday, June 8, 2021

New Lightroom Updates and new Focus Bracketing script updates

This week Adobe issued a couple relatively minor, but nevertheless important, updates. 

First, they fixed the disappearing icons bug that appeared in their last release of Photoshop. 

Second they have added Super Resolution to Lightroom

Then, if things couldn't get better, I've just released the latest versions of my CHDK Focus Bracketing scripts: one for the M3 and one for all other cameras that run CHDK.

As an added bonus, if you have a DIGIC 6 CHDK camera, you can download Philmoz's build that eliminates all the previous flickering issues: DIGIC 6 Builds

The two scripts can be downloaded from the right: Landscape Bracketing Script (LBS) and M3 Bracketing (M3B). You can also read about the scripts on this CHDK page.

The scripts allow you to carry out perfect focus bracketing for various scenarios:

  • Minimum focus to the current focus position
  • Minimum focus to infinity
  • Current focus position to infinity
  • From a fraction of the hyperfocal to infinity
  • Plus no focus bracketing, ie 'just exposure bracketing

At each focus position you can carry out various exposure bracketing, eg:

  • +/- or -/-- or +/++ at 1, 2 or 3Ev
  • Zero noise at 2, 3 or 4Ev
  • ISO bracket at ISO 800 or 1600
  • Auto from a shadow set exposure
  • Wind bracket at 3Ev difference relative to the base exposure

As before you can add a dark frame bookend to the front and end of the bracketing capture, for easy identification in Lightroom.

As a test I used my S95 Point & Shoot camera and turned on sky bracketing.

The script took seven focus brackets, including an infinity bracket at 3 times the hyperfocal, as well as an auto sky bracket, which in this case addressed the high dynamic range between the inside and the outdoors. That is 1/6th second for the focus brackets and sky bracket at infinity of 1/50th of a second. 

After ingesting into Lightroom and adjusting the first focus bracket and syncing to the other non-sky brackets, I selected all of them and used the new Lightroom Super Resolution option in batch mode (including the sky bracket). Giving me an image size boost to 7296 x 5472.

I then exported the resized focus bracket set to Photoshop and aligned and focus blended it. I then flattened the focus stack and brought over the sky bracket from Lightroom and did a second focus blend.

The resultant, flattened image was imported back into Lighroom and resulted in the following image (JPEGed for this post).

 As usual I welcome any feedback of this or any of my posts.

Monday, May 17, 2021

M3 Bracketing: The latest

As I haven't posted for a few days, I thought I would provide a short update on the latest developments of my M3 Bracketing script.

Thanks to the gurus over at CHDK, especially philmoz and reylap, the CHDK UI is now rock solid, with no (repetitive) flickering.

The only (known) thing that remains broken is the liveview CHDK histogram; but as the M3 has a Canon liveview histogram, this is not a great loss. Hopefully the CHDK histogram display will be fixed soon, but until then the script switches off the CHDK histogram. 

The bracketing options have been reconfigured and are now very versatile, and optimised for land/city-scape photography.

There are three bracketing options:

"Focus bracket?" {Off X2INF Min2INF Manual}
"Exposure bracket?" {Off 1(4Ev) 1(3Ev) 1(2Ev) 2(2Ev) 3(2Ev) ISO Auto 
Wind3Ev Wind4Ev}
"Sky Bracket?" {Off 2Ev 3Ev 4Ev 5Ev 6Ev ETTR}

Focus bracketing has three active options: two auto options and one manual option. 

The auto options will take focus brackets from either the current point of focus to infinity (X2INF) or from the camera's focus minimum to infinity (Min2INF). The focus brackets will be selected according to the overlap (CoC) criterion chosen, ie between 5 and 30 microns. A sensible number being 20 microns. The script provides feedback as to how many estimated brackets will be taken up to the hyperfocal. Once the images up to the hyperfocal have are taken, the script will then take a further focus bracket at the selected infinity point, ie between 2 to 4 times the hyperfocal, giving an infinity defocus blur of the CoC divided by the number selected. Three is a sensible number to use.

When auto focus bracketing (X2INF or Min2INF), you can select single image capture (exposure bracketing = off) or select one of the various exposure options: see below.

The manual focus option allows you to take a single image or selected exposure brackets, with a sky bracket (see below) if requested.

The selected exposure options are (note, because the script is optimised for landscape use, the base exposure is assumed to be at ISO100):

  • Off = just take a single base image
  • 1(4Ev) = take the base (ETTR) image and an additional (longer) one at -4Ev, ie for the shadows
  • 1(3Ev) = take the base (ETTR) image and an additional (longer) one at -3Ev, ie for the shadows
  • 1(2Ev) = take the base (ETTR) image and an additional (longer) one at -2Ev, ie for the shadows
  • 2(2Ev) = take the base (ETTR) image and two additional (longer) ones at -2Ev and -4Ev
  • 3(2Ev) = take the base (ETTR) image and three additional (longer) ones at -2Ev, -4Ev and -6Ev
  • ISO = take the base image an an additional image at an ISO of the selected value. The value should be the start of the ISO invariance zone of the M3, eg say, ISO 800ish
  • Auto = take as many brackets at required, at a delta of 2Ev, until the last image taken is an ETTR. Thus, in auto mode, set the base exposure for the shadows
  • Wind3Ev/Wind4Ev = take the base image and the selected wind bracket at either 3Ev or 4Ev difference, such that the exposures are the same as the base image, ie a faster shutter at higher ISO to freeze motion, say, in flowers

Finally sky bracketing options are available when auto or manual focus bracketing. In auto focus bracketing mode, the selected exposure brackets will be taken at each focus bracket station until the infinity focus criterion is reached. At this point, if selected, a sky bracket will then be taken. The options being:

  • Off = no sky bracketing
  • 2Ev to 6Ev = take an additional image at the selected faster shutter speed, eg to capture sky highlights
  • ETTR = take an additional image at the sky's ETTR point (this is the best option to use as it is scene aware, ie fully automatic)

In manual focus bracketing mode, the sky bracket will be added to any exposure brackets. Manual focus bracketing has the additional option of using traffic lights to tell you when you have refocused to the perfect focus point for the next focus bracket.

In addition the script has an auto ETTR option that is selected in ALT mode by pressing the right key. If pressed, the camera will adjust exposure until the ETTR value is reached.

The above options are fully compatible with each other; giving you full control over getting the perfect exposure and focus image bracket sets for blending or tone-mapping in your favorite post processing software.

When the script is running it will display the info bar at the top of the screen. This bar will show in ALT and non-ALT modes: plus, unfortunately in other camera modes as well.

The script needs the ALT key to not be the full shutter or the M-Fn key, ie use the VIDEO key.

In both ALT and non-ALT modes, the shutter is available for single image capture. In ALT mode the M-Fn button, next to the shutter button, acts as an addition shutter button. In manual focus mode the selected exposures and sky bracket will be taken, with a delay if requested in the script's menu, when the M-Fn button is pressed. In auto focus mode, the selected focus and exposure brackets will be taken, then, at infinity, the selected sky bracket will be taken.

The latest version of M3 Bracketing can be downloaded from the link on the right.

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

Tuesday, May 11, 2021

Test of Wind Bracketing

In the last post I introduced the concept of wind bracketing. In this short post I show the results/advantage of wind bracketing.

Although anyone can accomplish wind bracketing through manual exposure control, I have automated this in the case of my Canon M3.

In the test I set the focus to capture a near field subject, a rather sad looking magnolia, and set the total infinity blur, accounting for diffraction, at 10 microns, ie I was focused beyond the hyperfocal, based on a CoC of 15 microns.

I decided I didn't need a sky bracket, ie the sun was behind me and single exposure would be OK. I did, however, set a wind bracket at 4Ev.

The ETTR exposure for the sky was: 1/30s, f/8 at ISO100. The script captured an additional wind bracket at 1/500s, f/8 at ISO1600. The two images looking like this:


The top image is the base exposure, ie the only one you would capture without wind bracketing. You can clearly see the wind induced movement in the magnolia.

The bottom image is the wind bracket: clearly showing, at 1/500s, I've dealt with the wind movement. Both these images have been processed with PureRAW.

In the next image we see the blended result from Photoshop. The blending being accomplished with simple masking.

In the final image, we see a Lightroom tweaked version of the above:

I must say, so far, I think wind bracketing is looking as if it may help in some of my landscape images, ie where there are near field objects that you wish to see sharp, eg with no wind driven blur, but you don't want to use a high ISO throughout the image, just in the areas that need it.

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

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.