Magic Lantern Forum

Developing Magic Lantern => Scripting Corner => Topic started by: garry23 on January 11, 2021, 02:36:53 PM

Title: MUlti Shot Image Capture script
Post by: garry23 on January 11, 2021, 02:36:53 PM
This 'new' MUSIC script is aimed at those interested in taking brackets sets.

This first release covers noise reduction and super resolution bracketing.

Future releases will cover, FRSP bracketing, Zero Noise bracketing, People Elimination bracketing, Hand Held bracketing and Long Exposure simulation bracketing.

You can read about MUSIC developments on my blog at https://photography.grayheron.net/

The latest MUSIC script is always here https://gist.github.com/pigeonhill/7b02d3dcadddbc703940778d74cd7af2?ts=4
Title: Re: MUlti Shot Image Capture script
Post by: Kharak on January 11, 2021, 09:16:27 PM
QuoteFocus jiggling is a non proven way to do super resolution and based on the 'assumption' that moving the lens focus between images may (sic) create small image to image movements at the sensor pixel level, eg a few microns. As I say, this remains unproven. However, if you can't carry out 'normal', handheld super resolution bracketing, eg because of shutter speed, then focus jiggling may introduction enough image to image jitter to allow you to carry your super resolution processing. If it doesn't, at least you will be able to reduce the noise in your image, ie by sq.root(n); where n is the number of images taken

I think this sounds very interesting, but I am not getting my head around this "jiggling", to me, it's a guy gently kicking his tripod. Not sure if I am understanding this right, but do you shake the camera a little? As in artificially creating a Pixel-Shift image?

Can you link me to some article explaining this practice?
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 11, 2021, 10:15:37 PM
@Kharak

QuoteCan you link me to some article explaining this practice?

No  :)

As I just thought it up. As I say, it may not work.

The jiggle is simply moving the lens from the point of focus to another point, and back again; ie the image is always taken at the same point of focus. I was hoping that engineering tolerances and mechanical imperfections in the lens MAY shift the image relative to the sensor each time.

The first approach, if you can, is to use handholding to achieve SR bracketing, which will guarantee image to image pixel shifts.

If jiggling doesn't work, you still have the noise reduction brackets ;-)
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 14, 2021, 03:56:26 PM
MUSIC now covers people removal and ND simulation :-)

https://photography.grayheron.net/2021/01/music-additional-notes.html
Title: Re: MUlti Shot Image Capture script
Post by: ArcziPL on January 14, 2021, 11:04:20 PM
Cool, you do really nice stuff. Thanks for sharing it! I'm also impressed by the power of LUA implementation in ML. Amazing.
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 14, 2021, 11:13:57 PM
@ArcziPL

Thanks for the feedback.

Hopefully you will try DOFIS and MUSIC out and they will help you with your captures.

Cheers

Garry
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 18, 2021, 04:57:04 PM
I'm pleased to announce that MUSIC now has an FRSP feature.

This post explains how MUSIC uses FRSP: https://photography.grayheron.net/2021/01/music-now-for-those-with-senstive.html
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 19, 2021, 12:37:01 PM
Just a quick 'background' post for those using MUSIC: https://photography.grayheron.net/2021/01/le-photography-benifits-of-simulation.html
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 20, 2021, 05:43:03 PM
In this post, I'm releasing a silent exposure bracketing feature in MUSIC:

https://photography.grayheron.net/2021/01/music-exposure-bracketing-with-frsp.html

As usual I welcome any feedback to make MUSIC 'better'.
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 21, 2021, 09:33:42 AM
A few words on camera compatibility and MUSIC: https://photography.grayheron.net/2021/01/music-camera-compatability.html

Bottom line: MUSIC, and DOFIS, will run on any camera, but there are a couple of things to look out for.
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 24, 2021, 02:50:12 PM
In this post I've added two new features to MUSIC: https://photography.grayheron.net/2021/01/music-now-with-use-case-ui.html

A new dynamic UI, based on 6 use cases, and (optimum) handheld exposure bracketing.

Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 25, 2021, 03:26:43 PM
Another use case added: this time a Zero Noise bracketing scheme: https://photography.grayheron.net/2021/01/music-extending-its-repertory.html
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 26, 2021, 01:22:49 PM
In addition to flagging that I've tweaked MUSIC to make the Quick Access (QA) more robust and fixing a couple of bugs, I'm going to highlight a few things that will need changing as you use MUSIC on different cameras.

But first, a big 'hats off' to the ML developers, especially a1ex.

Why?

Because trying to get a piece of code/script running on different cameras is a nightmare!

Although I'm only trying to get things running on a EOS 5D3 and an M. I'm sure I would go insane if I was trying to get one of my scripts running on every camera that can run ML.

Some of the reasons why it's difficult to ensure code/scripts are cross platform compatible are:
* Not all cameras have the same buttons/keys
* Some cameras have touch screens some don't
* Not all cameras respond identically to Lua commands, eg setting ISO seems to be different on my 5D3 compared to my M, ie on my 5D3 is I ask for ISO 800 in Lua, I get that, on my my M I get a sightly different ISO, eg 1000.

So, as I say, kudos to all the main developers.

Now a word on the EOS M and tweaking my MUSIC script for your camera.

On the 5D3 MUSIC script I recommend setting double half shutter as the ETTR trigger, then setting the QA button to SET, and the hand held use case (ISO invariance) ISO trigger to 1600.

Whereas on the EOS M MUSIC script I recommend setting SET as the ETTR trigger, then setting the QA button as one finger touch, and the hand held (ISO invariance) ISO trigger at 800 (although you will likely get 1000).

On other cameras you will need to explore the options yourself. I've added comments in the script (at the beginning) to help you adjust script settings for your camera.

Bottom line: I realise that I'm likely the only lucky person on the planet using MUSIC and DOFIS :-) :-)

However, as I have said elsewhere, I write my scripts for myself, but openly share my work/thoughts/pain!

Bottom-Bottom line: stay safe and away from the mutating pestilence and ever increasing stupidity in the World!
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on January 28, 2021, 01:44:29 PM
In today's post about MUSIC I'm pleased to discuss/demonstrate use case 7, ie silent FRSP bracketing; which is a tool I use in, say, cathedrals/churches or anywhere camera noise would be unacceptable.

https://photography.grayheron.net/2021/01/music-use-case-7-full-resolution-silent.html
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on February 03, 2021, 01:04:38 PM
I've just added a new use case to MUSIC, that I personally find useful.

The use case is taking a 'perfect' exposure bracket set from a shadow-set shutter.

I use the ML spotmeter in Ev mode to ensure the exposure in the shadow area of interest is OK.

I would normally then go to ML's advanced bracketing and set up for a 0 + ++ shot using Auto capture, which will take as many brackets as required, at the delta Ev I requested, until the 'ETTR' shutter has been reached/exceeded.

The 'downside' of using this approach is that I need to trawl through the ML screen to set things up and I can't get auto bookends, ie I would need to take an image of my hand, say, before I set ML's AB and then switch off AB to take another image of my hand.

Hence MUSIC Use Case 9.

The UC9 menu looks like this:

(https://i.ibb.co/tsNXVGf/VRAM11.jpg)

You can: set the required delta EV (1-4); request bookends or not, ie a dark frame either end of your bracket sequence; request a delay; you can switch on MUSIC's quick access mode, which will allow you to repeating run UC9 my simply doing a long press of the trigger button, eg SET on my 5D3 and 1-finger-press on my EOSM.

UC9 was a bit of a scripting challenge for me, so I'll say a few words here (but not on my blog) about how I 'hacked' things.

The two issues are how to make taking a bookend work with ML's script triggered Advanced Bracketing, and pausing the script  until AB has finished, then switch it off in the ML menu, ready for a bookend capture.

My (hacked) solution is that, if taking a front-end bookend, I wait until the card has registered it has captured the bookend. I then initiate AB and set an infinite loop to watch to see when AB has finished, using the fact that AB completes in play/review mode.

I'm sure the code gurus are pulling their hair out reading about my clumsy scripting: but it works  :)

BTW here is the relevant code snippet:


if use_case == 9 then -- exposure bracket from shadows-set shutter to an AB 'ETTR' shutter
local check = 0

if MUSIC_menu.submenu["Bookends?"].value == "yes" then
check = dryos.shooting_card.file_number
Bookends() -- insert bookend
repeat msleep(50) until dryos.shooting_card.file_number ~= check -- bookend captured, safe to start AB capture with correct shutter value
check = 0
end

msleep(MUSIC_menu.submenu["Delay"].value * 1000) -- user delay if requested

menu.set("Shoot","Advanced Bracket",1) -- set up ML AB for a shadows to 'ETTR' AB capture
menu.set("Advanced Bracket","Bracket type","Exposure (Tv,Ae)")
menu.set("Advanced Bracket","Frames","Autodetect")
menu.set("Advanced Bracket","EV increment",tostring(MUSIC_menu.submenu["Ev delta"].value).." EV")
menu.set("Advanced Bracket","Sequence","0 - --")

my_shoot() -- trigger advanced/auto bracketing

while true do -- wait until auto bracketing is finished: a bit hackish but works and slows you down :-)
if camera.gui.play then
check = dryos.shooting_card.file_number
end
sleep(2) -- there is a very small probability this time may not work, but a low prob I think
if camera.gui.play then -- still in play mode, so check if AB is finished
if dryos.shooting_card.file_number == check then break end
else
check = 0
end
end

menu.set("Shoot","Advanced Bracket",0) -- finished with AB

key.press(KEY.HALFSHUTTER) -- HS press to return to ML LV mode, ie from AB review screen, as AB finishes in review mode :-(
msleep(100)
key.press(KEY.UNPRESS_HALFSHUTTER)

repeat lv.resume() until lv.running -- just in case

Bookends() -- check if bookend needed
camera.shutter.ms = t_base
tidy_up() -- and exit use case 9 capture
return
end


Cheers, and stay safe and away from stupidity

Garry
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on February 03, 2021, 03:36:01 PM
As hinted at above: a post on MUSIC's new Use Case 9: https://photography.grayheron.net/2021/02/music-use-case-9-auto-bracketing-from.html
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on February 05, 2021, 04:00:54 PM
In this post I discuss Use Case 6: MUSIC's (optimum) hand held, exposure bracketing feature:

https://photography.grayheron.net/2021/02/music-use-case-6-handheld-optimum.html

In addition, I discuss the new shutter-triggered option in UC6; that allows you to access UC6 from a normal shutter, ie using the VF.

UC6 gives you three exposures when hand holding:
1. An ETTR (base) exposure for the highlights, at the lowest ISO you can use
2. A second exposure taken at the slowest shutter you can use and the lowest ISO, ie to maximise the photon capture
3. A third image at the slowest shutter, but at the ISOless setting you have set in the MUSIC script, eg ISO 1600 on my 5D3.
Title: Re: MUlti Shot Image Capture script
Post by: garry23 on February 06, 2021, 05:30:37 PM
A minor tweak to MUSIC to allow users to change a couple of camera/user specific settings:
https://photography.grayheron.net/2021/02/music-camerause-specific-settings.html