In trunk build 3861, I added rawop.ev96_to_raw which takes an APEX96-ish value (0 = neutral) and converts it to a raw value. Among other things, this lets you get shot_histogram ranges in terms of EV. Additionally, I changed the definition of raw_neutral exposed to Lua to include blacklevel, so it represents an actual raw value.
Updated script attached. Trunk build 3862 or later is required.
This update fixes a nasty flipped sign bug in under exp handling, plus the following changes:
Improved transition from under exposure limiting.
Exposure ranges considered over or under exposed are now user selected, in terms of exposure stops. Note they are specified in slightly different ways:
Over exposure is fractions of a stop below white-level (so 1 = 1 stop below white level, 96 = 1/96th of stop). On my cameras there are ~2.5 stops between neutral and white level.
Under exposure is stops below neutral. This is more useful than specifying over black level, since on a log scale there are several stops over black level that have negligible significance. On my cameras you tend to start getting (actual) black level pixels ~5 stops below neutral (shooting a uniform neutral subject.)
Shutdown options now split into individual booleans, and now includes and option to shut down when SD space is low.
I'm not really satisfied with the way the exposure logic is put together at the moment. I need a general way to smoothly transition between the different regimes. The current code has special cases to reduce flapping at various transitions, but doesn't catch them all and is hard to verify. That said, it does a pretty good job some of the time
Here's and example hitting the over exposure limits
http://youtu.be/QiddcAOax8oedit:
12/30 attached zip containing correct files