Recently there were reported problems with the
kap_uav.lua script producing very over-exposed images on an SX610 camera (no adjustable aperture - ND filter only).
After some debugging, it looks like the images are over-exposed by about 3 f-stops, or about what you would get if the script expected the ND filter to be inserted when it calculated Tv, Av, and Sv setttings, but then failed to actually insert the ND filter when it took the shot.
Studying of the apex96 values used shows the following on a half-press for a brightly lit scene.
get_tv( ) = 895 ( 1/640 seconds )
get_av( ) = 382 ( f4.0 )
get_sv( ) = 380 ( ISO80 )
get_bv( ) = 881
get_prop(props.MIN_AV) = 664 (f11)
Calculating bv96 = tv96+av96-sv96 gives 899, close enough to the get_bv( ) value to be the same.
However, props.MIN_AV does not equal the get_av( ) value, indicating that the ND filter was inserted during the exposure calculation (i.e. 382 ~= 664)
So to get the actual scene brightness, you must calculate bv96 = tv96+
props.MIN_AV-sv96 (1179 in this case). Using that value allows correct exposure when recalculating the desired Tv, Av, Sv, and ND filter state values.
In other words, the apex96 values reported when the ND filter is inserted do not take the presence of the ND filter into account. It's like an external ND filter was mounted over the lens without the camera firmware being aware it's there.
So given that this issue has not been reported after over 6000 downloads of the script, my question is whether the SX610 handles this differently than older "ND filter only" cameras. I currently do not have access to my A1200 or SD940 so can't test this. I've attached a test script that produces a log file. If someone would please run the script on an ND filter only camera and report back I would appreciate it. Please point the camera at something very bright so that the ND filter engages. The script prints a status message on the LCD when it runs telling you if the filter was inserted or not.
TIA.
Note : on a camera with an adjustable aperture, using bv96 = tv96+
props.MIN_AV-sv96 will give the wrong brightness value. You need to use the original formula bv96 = tv96+av96-sv96 with the get_?v( ) values. AFAIK, those cameras will never use the ND filter to control exposure?