Imagine you could improve the dynamic range of your Canon EOS 5D Mark III or Canon EOS 7D to 14 stops! what would you give to be able to do that? Would you pay for it? What if you could have it for free?

UPDATE (2013-07-17) We’ve just posted a video sample here

Alex from the Magic Lantern team has sent us the beginnings of a new function in Magic Lantern that will indeed give the Canon EOS 5D Mark III and Canon EOS 7D (note these are the only two cameras it can be used on — read more below) approximately 3 additional stops of dynamic range by using a new way of taking a photo by using ISO 100 for some of the vertical lines of the shot and ISO 1600 for the rest of it. He’s also sharing his initial thoughts on how to re-combine the lines of 100/1600 to give you the full resolution of your image back!

Magic Lantern has had a function to enable dual/ISO video for a while, but it takes alternating frames (one low ISO then another high) and that has had issues with motion. This new method does it in individual frames so there’s no motion artifacts!

This method has just been announced on the Magic Lantern forum and planet5D has the chance to share it with you first!

Our thanks to a1ex for considering our audience to release this information!

Here’s a bit alex sent to planet5D earlier this weekend:

The PDF describes a post-processing algorithm. Obviously, you will need a post-processing tool.

Works for both photos and raw videos on Canon EOS 5D Mark III. On Canon EOS 7D, photo only (since it can’t do raw video).

What are the benefits? more dynamic range (less shadow noise).

The functionality was not really in Canon firmware, but in the chip that samples the sensor. Canon firmware does not make any use of it (they just set both ISO “registers” to the same value). It was implemented on the hardware side though (and that’s why it works only on these 2 cameras, because only they have two ISO amplifiers).

Here’s the introduction A1ex just posted

Time for the first real image quality improvement in ML history

Here’s a trick that samples half of the sensor at ISO 100 and the other half at ISO 1600, for example. If you mix these two, you can get almost the entire dynamic range the sensor is capable of (around 14 stops).

5D3/7D only.

There are no motion artifacts; not even a difference in motion blur for the two exposures. So, it works well for fast moving subjects.

dual_iso module
– nightly build maintainers will probably prepare a binary soon

Technical doc
dual_iso.pdf (in-depth description of how it works)
– See also: ADTG and CMOS discussion

This code changes low-level sensor parameters. In the technical doc you can see how this method messes with the feedback loop for optical black, for example. Therefore, it’s safe to assume it can fry the sensor or do other nasty things. My 5D3 is still alive after roughly one week of playing with this, but that’s not a guarantee.

We don’t pay for repairs. Use it at your own risk.

Also, the 7D implementation seems quite buggy right now. Don’t use it for serious stuff yet. Programming the dual DIGIC is not that easy for parallel computing noobs like me.

5D3: works for both raw photo and raw video. 7D: photo only.
– Select one ISO from Canon menu, the other from Dual ISO submenu.
– Expose to the right for the lower ISO (usually ISO 100). Maybe darken 1 stop from there.
– Start at ISO 100/1600.
– Try a larger gap for really extreme situations, or a smaller gap for better midtone detail (less aliasing).

Histograms, ETTR, playback tricks [5D3 only]
– Raw zebras will use the darker exposure for highlight warnings and the brighter one for shadow warnings.
– Raw histogram will use the darker exposure. Consider the brighter one as some sort of shadow recovery.
– JPEG zebras/histogram are totally unreliable.
– In photo LiveView you will see the ISO from Canon menu. In movie mode, you will see horizontal lines.
– ETTR will use the darker exposure.
– Playback in 1x will show some sort of HDR preview. At certain zoom levels, you’ll be able to see only one of the two exposures, at very low resolution.
– The dynamic range indicator from the histogram is not accurate.

– For CR2 files: cr2hdr.c (Windows: cr2hdr.exe). It requires dcraw and (optional) exiftool in your path.
– For RAW video files: latest raw2dng.exe.
– To get a natural HDR look: try my automatic color grading script.

Price to pay
– Half resolution in highlights and shadows
– Aliasing and moire – of course, in highlights and shadows
– You can no longer check critical focus when zooming in

please Alex’s whole PDF here and the announcement on the Magic Lantern forum

(cover photo credit: snap from the post)