Skip to content

Instantly share code, notes, and snippets.

pigeonhill / Get Focus Bracket.lua
Last active Apr 17, 2019
Get Focus Bracket (ML)
View Get Focus Bracket.lua
Script to capture 'perfect' focus brackets from the current focus position to a defocus (CoC) blur defined infinity.
Needs to run in LV and M Mode.
If the current position is greater than the ML hyperfocal/3, then three brackets will be taken at H/3, H and 3*H, giving a depth of focus of H/4 to infinity, using the ML CoC. Thus, if using the script, you don't need to worry
about focusing too much, as you will get three focus brackets to look at in post.
Reduce the ML CoC to achieve greater bracket to bracket focus overlap, ie focus insurance, but, sensibly, don't go below, say, 15/Crop.
Reducing the ML CoC below the 'normally recognised' CoC, eg 30/Crop , will result in more brackets, but higher focus quality through the scene.
The closer you are to the macro end, the more brackets will be taken, obviously.
Note an estimate (sic) of the number of brackets is shown in the top ML bar (RHS). B=0 means can't run script. B=n means estimate of number of brackets that will be taken. B=666 means too
pigeonhill / Get Brackets.lua
Last active Apr 15, 2019
Get Brackets (CHDK)
View Get Brackets.lua
@title Get Brackets
Capture 'Perfect' focus brackets, with focus overlap defined in terms of defocus (CHDK Circle of Confusion (CoC)) blur
Plus option of additional exposure brackets at each focus step, using various logic: 1Ev, 2Ev or 3Ev using -/+ or -/-- or +/++; one iso-invariant at
ISO at 800 or 1600; or one (Zero Noise) exposure at 4Ev, 3Ev or 2Ev
Focus bracketing strategies are: current position to blur-defined infinity (X2Inf); min camera focus to current position (Min2X), min camera focus to blur-defined infinity (Min2Inf);
current position to a delta x ahead of the current position (X2DelX); from a delta x in front of the current position to the current position (-DelX2X);
from a delta x in front of the current position to a delta x ahead of the current position (-D2+D).
None means that requested exposures will only be captured at the current focus point
Overlap, ie bracket to bracket focus insurance, is definded in terms of the defocus (CoC) blur, eg CoC/2 means focus brackets 'touch' at a b
pigeonhill / CyclerB.lua
Last active Apr 2, 2019
Button version of Cycler
View CyclerB.lua
Cycler B(utton version)
[PLAY] = A hijacked button that (repeatedly pressing) allows you to cycle through various options that this button can do: change ML state to the next one, use [PlAY] normally, shoot a bookmark image
Straight after [PLAY]
[Half_Shutter_Press] = reverse state change cycle direction (black = to the right, red = anitclocto the left)
[MENU] = select/run option
[anykey] other than [PLAY] or [MENU] when cycling = normal action plus resets cycle and show the ML state you are in
Options and ML states are shown in RHS of the ML top bar
pigeonhill / Cycler.lua
Last active Mar 24, 2019
Simple ML script to cycle through different ML menu states
View Cycler.lua
[PLAY]+[Anykey, eg half shutter press] = null/reset [PLAY]
[PLAY]+{various button_delays}+[PLAY] = additional functionality as displayed in top bar
Note: functionally is temporally enhanced after pressing [PLAY], by waiting to see additional options appear then pressing [PLAY] to select
Version 0.42
Garry George March 2019
pigeonhill / lbs.lua
Last active Mar 2, 2019
CHDK Landscape Bracketing
View lbs.lua
@title Landscape Bracketing
'Perfect' focus brackets from near to blur defined 'infinity': overlap defined at a fraction of camera's CoC
Plus option of two additional exposure brackets at each focus step, at 1Ev, 2Ev or 3Ev using -/+ or -/-- or +/++ logic
More info at
Camera should be in manual focus mode and M mode
Release 1.9985
Tested on a G7X & G1X
(c) Garry George
@chdk_version 1.5
View DoF Bar.lua
-- DoF Bar
-- Version 1.65
-- Released Dec 2018
-- Garry George -
DOF Bar User Guide
pigeonhill / 4m.lua
Created May 12, 2018
EOSM script 4 (ND)
View 4m.lua
--Neutral Density Script (NDS) Release 0.9M
This script creates a bracket set for post processing, allowing you to simulate an ND filter.
Also you can use the script to create brackets to 'remove people' ;-)
Change the number of brackets or the time delay (s) between brackets using the MENU and PLAY keys (Green text)
Toggle between these changes with the UP key.
pigeonhill / 3m.lua
Created May 12, 2018
EOSM script 3 (Hand Held)
View 3m.lua
--Hand Held Helper Script (H3S) Release 1.05
This script attempts to capture 'the best' bracket sequences when hand holding.
Bracketing choices are Exposure or Focus.
In Focus mode the script creates a two image focus stack via aperture bracketing, and attempts to maintain the same exposure between two limits: the minimum handheld shutter and the maximum ISO.
The exposure bracketing mode is based on ISO shifting as well as time shifting.
The general strategy being to time shift from the highlights at the lowst ISO you can, and ISO shift from the shadows from the lowest Tv you can, at ISO 100. That is try and maximise photon capture, ie for the highest DR.
Note pushing ISO too far is pointless, as once above a critical level, Canon cameras go into ISO invariant zone (varies with camera) and overall DR falls with no increase in (read) noise.
pigeonhill / 2m.lua
Created May 12, 2018
EOSM script 2 (Focus Bar)
View 2m.lua
Focus Bar Script (Version 1.0) - EOSM Version
Menu config is saved, so once you have found your prefered set up, the script will always start in that state. Script works well with the Toggler script.
This script provides a focus bar for visualising the focus defocus field, as well as providing feedback for focus bracketing. '
This version has been tuned for the EOSM and works with the Toggler Script.
This script switches off ML DoF display, as the script generates all DoFs, and displays them.
pigeonhill / 1m.lua
Last active May 24, 2018
EOSM script 1 (Toggler)
View 1m.lua
Simple (no menu, ie runs in the background) script to help control ML states to your ML favorite states using your buttons of choice,
for example the MENU, PLAY & INFO buttons on the EOSM work well.
Note this is the EOSM version
To use the script simply note the following sequences on an EOSM (but you can change these for other cameras):
3+ sec press of screen = enter toggler interactive imode
In imode [PLAY] and [MENU] will toggle back and forwards through your ML condition states giving you an on-screen message
In imode [INFO] will set that condition and leave interactive mode.
In imode pressing (most) any other key, eg [SET] (not [MENU], [INFO] or [PLAY]) will leave interactive mode and use that key as normal: but some keys don't work!'
You can’t perform that action at this time.