Thursday, October 24, 2013

Latest experiments with Magic Lantern

I have been a user of Magic Lantern for some time and track
the updates. I also make full use of CHDK (http://chdk.wikia.com/wiki/CHDK) on
my Canon Point and Shoot cameras (G11 and S95)

For those who are not aware, Magic Lantern is a free
software add-on that runs from the SD/CF card and adds a host of new features
to Canon EOS cameras that weren't included from the factory by Canon.

Although I have a 5D MkIII, so far all my ML experience is based
on my 50D, as I’m waiting for a stable release of ML for the MkIII. My 50D
remains my ‘experimentation camera’.

In the last six to twelve months or so, ML has come a long
way. Some of the hype has been about RAW video capability, including in the 50D,
bearing in mind Canon provided no video capability in this camera. Or more
correctly, they didn’t switch it on!

For the still photographer, however, ML has also outdone
itself: in two key areas. First, by providing an Auto Expose To The Right
(ETTR) capability; and secondly, allowing this to married up with a dual ISO
capability, which pushes the dynamic range of an EOS, including my 50D, to
about 14Ev.

As there is a lot about ETTR on the web (for example http://www.luminous-landscape.com/tutorials/expose-right.shtml
), or as some prefer to call it Histogram And Metering Settings To The Right
(HAMSTTR), I will not bore the reader with this technique here, other than to
say, ETTR gives you the highest quality data in a RAW exposure file, all other
things being equal, ie it is assumed focus is right etc.

The reason why ETTR works is that digital cameras record
image data, eg the number of captured photons, in such a way, that the
photographer who uses an in-camera histogram can be fooled into thinking the
exposure is optimum. In addition, all cameras provide a 0Ev metered histogram
based on assuming an 18% grey, which is why we need to apply exposure
compensation when shooting snow or coal! Once again there is a lot on the web
on this, for example http://digital-photography-school.com/why-your-cameras-meter-gets-exposure-wrong

Things get worse for the photographer, when you compound the
above, with the fact that the manufacturers give us an in-camera histogram
based on a highly scaled down, 8-bit JPEG, rather than, say, a 14-bit RAW one.
This is why if you try and manually expose to the right using the in-camera histogram,
you will find that in post, your RAW image capture could have been pushed to
the right even further, ie by around a stop or so.

For the doubters try this experiment. Meter a scene in your
camera at 0Ev. Then take additional images at, say, +0.5EV until you see the ‘blinkies’
occurring on your image review. Then take another two or three images beyond
that, ie 0.5EV and 1EV up from when the blinkies first occurred. Now look at the RAW captures in your post processor.
Doing this give you an understanding of how much beyond the JPEG blinkies you
can go, without saturating your RAW file.

Assuming you are using the above, manual, ETTR approach there
will still be some guess work involved and there will be scene-to-scene variability.
This is where ML comes in.

Once loaded, ML provides an in-camera RAW histogram (which
one day all manufacturers will provide I’m sure) and the ability to do
automatic ETTR. For example, with ML running I have set up my 50D in the
following way:

I first meter the scene at, say, 0EV;

As I have set ML up to allow me to do a double
half press of the shutter (on the 50D or on my shutter release cable), this
automatically takes the 50D into Live View mode, where the scene is analyzed by
ML and the shutter speed adjusted to ensure a perfect ETTR exposure;

ML then automatically returns me to non-LV mode
with the camera now set at the new ETTR shutter speed;

I then do a full shutter press and take an image, knowing I have maximized the
data quality in my image file, ie more data means more processing ability in,
say, Lightroom or Photoshop.

So much for AETTR, what about the ML-based 14Ev dynamic
range I can now create in-camera. This is where ML has taken image capture to
new areas. What ML has managed to do is, in a single image capture, interlace
two ISOs captures. In other words a base ISO, say at 100, interlaced with one at, say,
800 or 1600, ie a base exposure and one 3-4 Ev higher, ie better suited for the
shadows. All this is achieved in a single image at any exposure, ie shutter
speed; that is. this is not bracketing. In our modern DSLRs using a higher ISO is not that much of an issue, ie
noise is controllable.

Thus with a little bit of post processing, using a CR2HDR
exe file, one is able to squeeze an extra three or so Evs of dynamic range out
of any EOS Canon. The down side of this approach is that, because the image
file is composed of interlaced data that needs de-interlacing, the image size shrinks,
but with modern DSLRs we have a lot of data to play around with.

Finally, ML allows both AETTR and Dual-ISO techniques to be
used at the same time, ie the camera selects the best ETTR shutter speed, then maximizes
the dynamic range if required by using the dual-ISO technique.

There are a lot of words in this post, and no images to ‘prove
my point’. Bluntly, showing some of my random images is unlikely to convince the
reader of the value of ML, and thus I recommend you go and experiment yourself.