Hand Held Helper Script

Started by garry23, March 13, 2018, 06:28:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


In case anyone is interested, here is my combined hand held helper script: a combination of two of my previous standalone scripts that did exposure and focus bracketing.

This script is ideally sorted for hand held wide angle situations, with minimal image to image movement.

You can choose to exposure bracket or focus bracket.

In exposure bracketing mode the script will maximise both time and ISO bracketing to cover the range, ie slowest shutter to highest ISO.

In focus bracketing mode the script will use aperture bracketing (at max closed down aperture); thus the script will work with non AF lenses, as long as aperture can be controlled.

The script can be downloaded from here: https://gist.github.com/pigeonhill/3c351242740c84f0581fa57ac27e0656


Is this the same script you worked with before?
Why starting off a new topic? Mostly curious.



It's a new script, as it combines the other two, which remain as standalone exposure or focus bracketing scripts.

This script does both.

Thus three scripts, but the latest one is the only one you really need ;-)


Cool. Been meaning to learn lua and try build a script which automates creation of darkframes. Something like start raw recording and stop after 3 seconds then move on to the next iso, start recording, stop again after 3 sec and move on to next iso. This should work you think?



That should be very easy ;-)

The Lua Movie module will allow you to start and stop recording after a specified time, which you can track.

Then you can change stuff and repeat as often as you like.

For me, Lua is accessible and I bow my head to the C coders who work in the ML main area.




As has been suggested, eg by @IDL_ML, there are several bracketing strategies, such as Dual-ISO or ML's Auto Advanced Bracketing. Clearly, each strategy has its merits.

The Hand Held Helper Script (H3S) was written for a specific use case: that is a time limited bracketing situation, further constrained through hand holding needs.

One dimension to the constraint field is the shutter speed, that is the lowest hand held you can get away with. As this will vary with FL and the individual's skills, it has a wide scope, however, to illustrate things, let's assume we are hand holding with a WA lens, and our lowest shutter is sensibly placed at, say, 1/30s.

For most scenes this means that if we wish to cover the highlights and the shadows, so we will likely be time bracketing between 1/30s and, say, 1/1000s, ie 5 stops.

If we were shooting with a fully ISO invariant camera, ie invariance down to ISO 100, then this time bracketing would likely be sufficient to cover us, ie we (hopefully) could 'recover' shadow exposure in post, and then post process the brackets, eg either through tone mapping, fusion blending or masking.

However, as we're shooting with a Canon system, the ISO invariance advantage doesn't really kick in until we are at, say, ISO 1600-3200. Thus we need to be a bit more respectful at managing our brackets, ie trying to maximise the signal (number of photons) and minimise the noise (photon and 'electronic').

Therefore, the second bracketing dimension that we can utilise is the ISO, say, 100 to (say) 3200 or 6400 (on a full frame camera with 'large' photo sensors, eg the 5D3).

Thus the full bracketing scope that we have when hand holding looks like this:

That is some 10 stops of coverage.

Of course, much of the time we don't need access to the above Ev space, as we are intelligent enough as photographers to know when to limit our bracketing needs, eg through metering or simply our (visual) skill/experience.

Such Scene-Informed-Bracketing (SIB) allows us to then choose the bracketing scheme we wish to adopt, eg ML-Advanced-Bracketing, Dual-ISO or 'simple' Canon.

But what if you don't have the luxury, or ability, to carry out a SIB capture? For example, you are time limited and/or hand holding: that is you are Scene-Agnostic-Bracketing (SAB). This is why I wrote the H3 Script; which will capture a full range of brackets, irrespective of the scene's DR; thus allowing you to choose, in post, what brackets you take forward to final post processing, ie one through to six!

The following illustrates the coverage that H3S provides, shown relative to an illustrative Dual-ISO bracket at 100/800:

The above, however, is an apples and pears comparison, as the Dual-ISO requires some SIB awareness. That is the Dual-ISO needs to be positioned to maximise the chance of covering the scene of interest. The H3S backets are SAB based.

Note the above only illustrates one potential Dual-ISO capture, the two red squares can be positioned 'anywhere' in the exposure range. Of course, as we know, using a single Dual-ISO not only limits your Ev coverage, but it also slightly compromises your resolution. But Dual-ISO remains a very valid choice for a SIB capture.

To fully maximise the H3S value, I also included the user option of capturing 'high ISO (noise) brackets' if you can't (sic) capture time brackets, eg you are limited from a shutter perspective. The following shows such an H3S bracket example – once again reference to the Dual-ISO example:

So what's the bottom line?

With ML we always have choices. If you have the luxury of assessing the scene, ie its dynamic range, that is able to carry out a SIB capture, and able to fully use the shutter, eg be on a tripod, then ML Advanced Bracketing is likely to be the way to go.

If you are handholding and/or need to manage scene motion, then Dual-ISO will likely be your friend. But you will still need to approach the capture from a SIB perspective.

If, however, you don't know what the scene's DR is, or haven't the time to spend assessing the scene and/or you are hand holding, then using the SAB-based H3 Script may be the best way to ensure you have 'all' the images you need for post processing, ie to choose from.

It's your choice.


BTW in case some are interested, I wrote the Hand Held Helper Script as a general aid as well, ie to be helpful when not bracketing.

As an example, the script will automatically adjust the min ETTR shutter speed in response to changes in the focal length of your lens, eg using the 1/FL 'rule'.

There is also an override feature to account for ultra WA lenses, eg 1/30s or 1/60s.

Thus you can use ETTR dynamically as your lens changes. Of course the lens must report FL to ML.




Just a quick post to say I've updated/refined the algorithm that controls the min auto ETTR shutter speed.

I've tried it out successfully with my 5D3 and 70-200 and x2 extender. All works well  :)

To see how it works, simply enable auto in the script and go to the ML ETTR menu and watch the min shutter change as you change focal length.


Could you expand a bit on 2nd pass and Ev delta options?
Gear: Canon 600D & Magic Lantern Nightly.



The H3 Script takes 1 or 2 sets of three brackets.

You always get a first pass, which is an ISO bracket set from the min shutter to the max ISO.

You then have choices for the 2nd pass.

No pass, means just that: you will only have the ISO bracket set.

Time means the script will try and take three time brackets, but will not do so if the min shutter (as set for the highlights) is the same as the min hand holding limit.

Noise means the second pass will take three brackets at the highest ISO and at the base shutter. The option being at 0Ev or 1/3EV delta. These three noise brackets, together with the high ISO bracket from the first pass, give you four brackets at the high ISO  and base shutter to do a PS noise reduction in post, ie sqrt(n) or use the 1/3Ev brackets.

Time/Noise means try and do a time bracket and if you can't, then do a noise bracket set.

I suggest set to Time/Noise and 1/3Ev if you are processing in LR.

Hope this helps.

Usual caveat from me: I wrote the script for my use, but freely offer it to others.




Thanks @garry23 that helps a lot. I assume the max iso should be equal to the max "canon analog iso" in the expo tab?
Gear: Canon 600D & Magic Lantern Nightly.



Not necessary.

The canon max is there for use in auto ISO mode.

The script explicitly controls ISO and the max it uses is the one you set in the script.




I understand. I meant to ask if whether the ideal max ISO used with your script should be the highest that doesn't use digital gain?
Gear: Canon 600D & Magic Lantern Nightly.


It's a little bit more complicated than 'just' that.

If you haven't read it, this is a good read : http://www.clarkvision.com/articles/iso/

As is this : http://www.clarkvision.com/articles/evaluation-canon-5diii/