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.

Sunday, May 9, 2021

Exciting things happening in CHDK

As readers of my blog will know, I use Canon cameras because of their access to Magic Lantern and CHDK, especially Lua scripting.

Over the last month, the CHDK gurus (especially Philmoz) have made significant developments in CHDK, such that the CHDK display/drawing is now rock solid and has no conflict with the Canon 'drawing', ie no repetitive flickering.

Although the latest mods have yet to make their way into the CHDK trunks, I've been experimenting with a test version of the latest developments and have made a short video to show what things now look like.

I took the video on my M3. The set up looked like this:

My M3 Bracketing script places an info bar at the top of the camera's LCD/EVF screen, giving the user real time focus and exposure feedback, in three groups:

  • The left hand group gives feedback on focus position, ie relative to the hyperfocal, and the actual focus, relative to the sensor's plane. The script uses a thick lens model to estimate the front principal, and provides the user the ability to estimate the entrance pupil position, by inputting the estimated pupil magnification, 1 for a telephoto lens and greater than unity for a retrofocus one;
  • The centre group has three modes. The default mode is when the camera is in ALT mode, when it shows the focal length and the number of focus brackets required to reach the hyperfocal distance. The second mode is when the camera is in the non-ALT mode, when the display switches to show the relative exposure eV, rather than the focal length. Finally, the display will switch again if traffic light mode has been selected and an image has been taken. In this mode the left and right traffic lights tell you whether you have a negative of positive focus over lap, shown in microns, relative the last image taken;
  • The right hand group has two formats, according to the menu settings. One shows the near and far DoFs, relative to the sensor. The other shows the near DoF and the infinity blur in microns.

As this post is just to show the progress that the CHDK gurus have made, I won't be going into details on using the script.

Here is the test video, showing the script's functionality and CHDK's new display stability. Note the left shift of the top bar is a feature of the HDMI capture. In the camera the bar is centred:

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

Monday, May 3, 2021

M3 Brackets: May Update

Thanks to diligent hard work over on the CHDK site, there is a near constant stream of build updates being published, including incorporating the fmath library into the CHDK trunks.

This short post is to say that I've updated M3 Brackets (download from the right) to the latest CHDK version, as of the 3rd May 2021, which means you should use build 5869 or higher.

Thursday, April 29, 2021

Technology + Technology = Impressive Results...maybe

As a bit of personal entertainment I decided to see what exploiting multiple technologies can achieve, and see if there are any 'risks', eg one technology fighting another.

My experiment was to use my 2nd hand Canon M3 and load it up with technology. 

The subject matter of the test was rather limited, because of Covid (I'm still awaiting my 2nd jab) and the British weather (rain), to taking place in our library.

My 'vision' was to create a wide angle, deep focus, floor-level image. That is the kind of image I might wish to capture in a cathedral once I start getting out.

As stated above, I was using a 2nd hand Canon M3: an APS-C camera with pretty good features, that you can pick up for around 200GBP. To this I added an existing lens I have: an 11-22mm EFM.

On to this base arrangement I then added a Smallrig cage and a handle, and a Canon EVF I had. 

Although the cage adds weight, I find it introduces an ability for me to add 'stuff' to the camera, and makes the M3 feel right in my large hands. Finally, it also adds additional structural protection to the already robust M3.

As for achieving a low level shot, on this occasion I used my Move Shoot Move Z platform: a great piece of solid technology, that, unlike similar (friction-based) products, locks into place.

When all the above is added together, my test setup looked like this: note I could have bolted the MSM platform to one of my Platypod plates, for extra stability, but didn't bother in the test:

Now some may say this looks like a Frankenstein-like affair and they may be right: but it works for me.

Note the handle placement, which is there so I can pick the camera up and use the handle when in the portrait mode. Also note the additional tripod plate that is bolted to the cage, meaning the cage is an L bracket.

So much for the hardware-based technology; let's now add in some essential software-based technology in the form of the Canon Hack Development Kit (CHDK). Additionally, thanks to one of the CHDK gurus (Philmoz), let's add in the CHDK build with a 64-bit floating math library, as the base CHDK 'only' has a 32-bit integer math library.

The final piece of technology is to add on my reworked M3 Bracketing script (that exploits the 64-bit float capability) and all is well in the world :-)

As this was a test, all I did was place the camera on the ground next to where I was sitting: there was no composition in this test ;-)

In the script settings I had selected the option to focus bracket from the minimum focus distance to three times the hyperfocal (H). H was based on an overlap blur of 20 microns. Thus the infinity defocus blur shot was taken at 20/3 microns.

The camera was set to f/8 and I used an ISO of 400, at a shutter speed of 4s.

Once set up, all I needed to do was to get the script running and press SET. The script then handled every thing else.

To give an impression of what each image's exposure looked like, here is a Lightroom grab:

Here we see the infinity shot, at 3*H, before any LR adjustments, showing the histogram looks OK, ie I didn't need to request the script to exposure bracket as well.

The script created a seven image focus bracket set, although on inspection in LR, the first focus bracket appeared to be redundant, ie no in focus elements in the scene.

The first step in post processing was to use a new piece of software technology, namely DxO PureRAW, which resulted in seven new 'RAWs', ie PureRAW processed DNGs, in Lightroom, that made the Canon (ISO400) CR2 images look really good, ie RAW sharpening and RAW noise reduction.

The second step was to use the base Lightroom technology to reduce the highlights and increase the shadows, select the seven DNGs and, from Lightroon, do a round trip to the Helicon Focus technology.

Once Helicon Focus had returned the processed focus stack to Lightroom, I used one more piece of software 'technology', a preset I have created to extract the most out of a RAW-based image. 

The above is the focus stacked image as returned from Helicon Focus, whereas the image below is the final image after applying my LR preset, using a bit of deconvolution sharpening in LR, and using the LR transform module to straighten things up:

So, there you have it, another boring image that shows what can be done if you are mad enough to want to do things differently, and augment your camera and post processing with technology.

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