CHDK Forum

CHDK Development => General Discussion and Assistance => Topic started by: reyalp on 02 / January / 2015, 00:45:24

Title: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 02 / January / 2015, 00:45:24
I think toward the end we see another issue which IIRC lapser noted before, that ISO changes only take effect in some increment greater than a single APEX96 unit (3?)
Or not:
Attached charts show meter vs sv96 for ISO 75-400 and 400-1600

As noted previously, the last "stop" of ISO is not accessible to CHDK overrides.

Not sure what's up with the outlier at the start of the 400-1600 run, I ran the test twice and it happened both times.
Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: reyalp on 02 / January / 2015, 01:04:05
Since I already have the data, here's the too 400-1600 runs compared.
Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: reyalp on 10 / March / 2015, 16:52:37
My current version of this script. Resolves the issue with the weird first shot, among other things.

edit to add instructions:
The numbers are in "real" (as opposed to market) APEX96 units, which is a long complicated story, but the default 371-411 should try to start a bit below ISO 80 to 100.

Point the camera at an unchanging subject, run the script, and examine the resulting isoinc.csv to see where the meter values begin to increase. By default it will take one shot for each step between min and max, so if the range is large it will take a while.

Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: c_joerg on 12 / March / 2015, 15:14:00
I run isoinc on G1X between 371 - 411. Meter doesn't increase. So minimum ISO is 100 or?
Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: reyalp on 12 / March / 2015, 16:10:18
I run isoinc on G1X between 371 - 411. Meter doesn't increase. So minimum ISO is 100 or?
Seems like it, you could set the upper limit a bit higher to make sure it starts increasing. 507 should be ISO 200
Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: c_joerg on 13 / March / 2015, 15:52:19
I run now from 370 to 510.
Meter increases. So it looks OK or?
Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: reyalp on 13 / March / 2015, 17:07:24
I run now from 370 to 510.
Meter increases. So it looks OK or?
Yes, it starts to increase a 411 (ISO 100), so the minimum usable is 100. In the rawopint.lua script, this means you should use 100 (or more) as the target ISO. If you left it at 80, it would throw the exposure calculation off.
Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: c_joerg on 21 / March / 2015, 14:21:06
I run isoinc also on my S110. I think it looks Ok. S110 has minimum ISO80.
Interesting difference between S110 and G1X:

The first picture on G1X has already much overexposure. For all 4 runs. First S110 picture was correct. Something to think about?

Did I understand behavior auf ISO correct? Every single step in APEX96 changes ISO values? So the cams have more steps than just ISO100, ISO125, ISO160… I would not expect this. I thought ISO is just an analog amplifier on the senor.   
 
Then I run isoinc on my old IXUS30 (I also have an IXUS500HS but unfortunately there exist no CHDK).
Should it run on IXUS30? The IXUS30 crashed totally after first shoot. I had to remove battery….
Title: Re: Measuring exposure performance [was Re: proposal - script shooting hooks]
Post by: reyalp on 21 / March / 2015, 14:44:28
The first picture on G1X has already much overexposure. For all 4 runs. First S110 picture was correct. Something to think about?
Maybe. I had a similar issue with D10, that seemed to be related to timing setting the exposure for the first shot.
Quote
Did I understand behavior auf ISO correct? Every single step in APEX96 changes ISO values? So the cams have more steps than just ISO100, ISO125, ISO160… I would not expect this. I thought ISO is just an analog amplifier on the senor.   
For the cameras tested, the data shows pretty clearly that every APEX96 unit has a corresponding effect on exposure. I don't think this is incompatible with being amplifier gain, it just means the amp can be controlled in quite small steps.

The fact that rawopint works correctly adjusting ISO (most of the time anyway ;)) also shows that 1 unit steps work correctly.

Quote
Then I run isoinc on my old IXUS30 (I also have an IXUS500HS but unfortunately there exist no CHDK).
Should it run on IXUS30? The IXUS30 crashed totally after first shoot. I had to remove battery….
It looks like IXUS30 currently doesn't have the USB remote / shutter hook implemented, so the isoinc script will not work.

It's possible the hook could be added. I should also change the shoot hooks to behave better when this isn't available.

The isoinc script probably doesn't actually need to use this hook, it was a quick and dirty test I made from another script.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 29 / May / 2015, 00:05:49
Here's a version of isoinc.lua that supports continuous mode, as suggested in http://chdk.setepontos.com/index.php?topic=11081.msg122539#msg122539 (http://chdk.setepontos.com/index.php?topic=11081.msg122539#msg122539)

Like for rawopint, continuous mode must be set in the canon UI and checked in the script options.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 29 / May / 2015, 13:24:28
This is the isoinc run with r4160 from sv96=520 until 740.

The first 221 picture are made in single mode, the second 221 pictures are made in continues mode. The end of the run in continues mode is a little bit corrupted. But this was my mistake. I thought, the run was finished but still running.

The logfile shows no differences between both runs.

Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 29 / May / 2015, 13:28:00
Also JPG analysing shows no differences on r4160 between both runs.

Only EXIF data for ISO values shows differences. The EXIF ISO on continues mode are OK.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 29 / May / 2015, 14:10:41
This is the isoinc run with r4138 from sv96=520 until 740.

The first 221 picture are made in continues mode, the second 221 pictures are made in single mode.

There is a difference between both runs. The run in continues mode looks similar to the runs with r4160
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 29 / May / 2015, 14:39:44
But JPG analyzing shows no differences on r4138 between both runs.

EXIF ISO differences are the same as in r4160. The EXIF ISO on continues mode are OK.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 30 / May / 2015, 20:29:14
Also JPG analysing shows no differences on r4160 between both runs.
As I mentioned before, philmoz change in r4153 only changes what CHDK thinks the black level is. It doesn't change the camera behavior at all. I am very sure of this.

For isoinc, the only effect will be the meter96 value, because black level is part of the raw_to_ev96 calculation. It would also change the black level recorded in CHDK DNG files, if you have them enabled. That's all. For the rawopint script, the script is broken when the black level changes, because it has many calculations that depend on the value that aren't aware of the change.

We need to understand the actual camera behavior. To avoid confusion due to the black level change, we can look at the meter column. This is the average of the raw frame buffer value, without converting into APEX96

In the isoinc_r4160.csv from reply 10, in the first (non-continuous) run we see going from sv96 = 571 to 572, the meter value jumps from 789 to 2327. The "meter96" value doesn't jump, because this build is aware of the blacklevel change. In the second run (in continuous mode), there was no jump in the meter value.

In the isoinc.csv from reply 12, we see exactly the same behavior. The only difference is in the meter96 value, which jumps because it is not aware of the blacklevel change.


From this data, it looks like the black level change does not happen in continuous mode.

In the "JPEG analyzing" (isoinc_r4160_JPG.png, isoinc_r4138_JPG.png ), is it correct the Y axis is showing the brightness of the jpeg? Or something else?

The difference in jpeg EXIF ISO between continuous and not may be a clue, but I'm not sure what it means yet.

One thing I'd like to see is if we get the same behavior using individual shots, releasing half press between each. I'll post a version of isoinc that supports this later.

Philmoz noted a difference between script and override menu http://chdk.setepontos.com/index.php?topic=11081.msg121670#msg121670 (http://chdk.setepontos.com/index.php?topic=11081.msg121670#msg121670). These should be identical if the script override is set before starting halfpress, but in rawopint and the current isoinc, the override is set in inside the shooting process.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 30 / May / 2015, 20:50:07
All of the runs above show a drop in meter value at sv96 = 603 (ISO=400)

This also shows up in the in the timelapse from http://chdk.setepontos.com/index.php?topic=11081.msg122449#msg122449 (http://chdk.setepontos.com/index.php?topic=11081.msg122449#msg122449)

As you notice there, it only shows up as a momentary glitch in the raw data, but the jpeg seems to be jump in brightness after that. This appears to happen regardless of the black level change.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: philmoz on 30 / May / 2015, 21:14:13
All of the runs above show a drop in meter value at sv96 = 603 (ISO=400)

This also shows up in the in the timelapse from http://chdk.setepontos.com/index.php?topic=11081.msg122449#msg122449 (http://chdk.setepontos.com/index.php?topic=11081.msg122449#msg122449)

As you notice there, it only shows up as a momentary glitch in the raw data, but the jpeg seems to be jump in brightness after that. This appears to happen regardless of the black level change.

At the point where the camera switches black point it is also changing ISO behaviour.

If you use the Canon controls to set the Av,Tv and Sv values in the region above the black point changeover it shoots at 1/2 the selected Sv and boosts the JPEG data to compensate (a DNG will be 1/2 as bright and show 1/2 Sv value in the EXIF).

If you use the CHDK controls (including scripts) it shoots at the selected Sv; but still boosts the JPEG image data resulting in a JPEG image that is 1 stop brighter.

I don't know why, and I don't have a fix at this point.

Phil.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 30 / May / 2015, 22:43:04
At the point where the camera switches black point it is also changing ISO behaviour.
It looks like there's two different points. In c_joerg's logs, the raw values and black level jump at sv96 = 572 (ISO 320) while the jpeg brightness jump happens at 603 (ISO 400)

The first one doesn't appear to happen in continuous mode (at least if the initial values weren't already in the range that would trigger it), but the second does.

With the isoinc script (with or without continuous mode) the drop in raw value seems to only affect the shot at ISO 400, before and after are normal:
svsv96metermeter96
397602851-269
400603679-367
401604852-269
but all the jpegs after are boosted.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: waterwingz on 30 / May / 2015, 23:43:47
If you use the CHDK controls (including scripts) it shoots at the selected Sv; but still boosts the JPEG image data resulting in a JPEG image that is 1 stop brighter.
I've been sort of following all this from a distance.  Until I read this.

Does that in fact suggest that for any specific Tv, Av, & SV setting,  Canon also tweaks the JPG image differently afterwards?   So that if you linearly advance any one of those manually through its range (with a corresponding offset in one or both of the others)  you would not get the same JPG with each shot (ignoring motion blur and DOF) ?  The exposure would shift?

I guess one f-stop of variance is not that big a deal on a P&S camera at the end of the day.  Post processing can deal with it easily.   (Unless you are trying for a smooth time lapse ...)
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: philmoz on 31 / May / 2015, 00:27:41
If you use the CHDK controls (including scripts) it shoots at the selected Sv; but still boosts the JPEG image data resulting in a JPEG image that is 1 stop brighter.
I've been sort of following all this from a distance.  Until I read this.

Does that in fact suggest that for any specific Tv, Av, & SV setting,  Canon also tweaks the JPG image differently afterwards?   So that if you linearly advance any one of those manually through its range (with a corresponding offset in one or both of the others)  you would not get the same JPG with each shot (ignoring motion blur and DOF) ?  The exposure would shift?

I guess one f-stop of variance is not that big a deal on a P&S camera at the end of the day.  Post processing can deal with it easily.   (Unless you are trying for a smooth time lapse ...)

That seems to be the case - although the G1X is the only camera affected that I know if.

Phil.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 31 / May / 2015, 01:17:13
That seems to be the case - although the G1X is the only camera affected that I know if.
But only using CHDK script or overrides, right? If you set it all manually in the Canon UI, the jpegs would appear to have equal exposure.

The last stop of ISO on some other cameras is special, in some cases it can't be set using CHDK overrides, and if set in the UI only affects the jpeg, not raw values.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 31 / May / 2015, 01:56:47
Here's an updated version of the isoinc script.

Changes
Shooting method is now selected with the "shoot mode" mode option
Single: full half press and shoot cycle for each shot.
Quick: hold half press, click shoot full
Cont: continuous mode (errors if not also set in canon UI)

Changed "Initial ev shift": The sign was backwards before, now negative values mean less exposed.

Added an append to log option.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 31 / May / 2015, 04:36:53
Quote
is it correct the Y axis is showing the brightness of the jpeg?

I think so. I do it in the following way:

Open JPG File.
Then I have a matrix form m * n *3 (RGB) with 8 bit data.
Then I calculate H  = (R*0.3 + G*0.59 + B*0.11) for every pixel
Then calculate a mean value for all pixels.

So the value must be something like brightness. I know conversion from RAW to JPG is not linear, what you see on the y axis. In the same way, I analyzed overexpose on JPG, which is close to your results.

Quote
Single: full half press and shoot cycle for each shot.

Would be really interested, what this run shows ....

Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 01 / June / 2015, 00:14:24
Quote
So the value must be something like brightness.
Close enough for my purposes.

In the attached version of isoinc, I added an option called "ISO Set mode". If this is set to "Script" it will attempt to use the ISO override method Lapser suggested in http://chdk.setepontos.com/index.php?topic=11081.msg121063#msg121063 (http://chdk.setepontos.com/index.php?topic=11081.msg121063#msg121063) for all shots after the initial value.  This option is not valid in single shot mode, only quick or cont.

The basic difference from the C code is that it doesn't set the base ISO in SV_MARKET. This leads to some ambiguity,  but it's worth a try since he was apparently able to get usable results with the G1x.

Setting to "CHDK" will use the normal CHDK overrides.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 01 / June / 2015, 13:51:24
Made just a fast run…
Quote
I added an option called "ISO Set mode". If this is set to "Script" it will attempt to use the ISO override method Lapser suggested

This method is working definitely different…. I think you getting close to a solution ;)
Well, that’s the difference between a Guru and a Jr. Member,
I wish I had the time to get your knowledge

The run was with r4138, continues mode and ISO set mode Script.
As you see, JPG is now OK :) 
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 01 / June / 2015, 14:07:27
Meter96 has now a offset. Is this the blacklevel?

I get now a little bit confused about all combination which i can test.
Which combination can be helpful?
Still the single mode? With which release? And which ISO set mode?
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 02 / June / 2015, 02:33:48
Meter96 has now a offset. Is this the blacklevel?
From a quick look, I think it's the behavior phil described in http://chdk.setepontos.com/index.php?topic=12165.msg122573#msg122573 (http://chdk.setepontos.com/index.php?topic=12165.msg122573#msg122573)
Quote
If you use the Canon controls to set the Av,Tv and Sv values in the region above the black point changeover it shoots at 1/2 the selected Sv and boosts the JPEG data to compensate (a DNG will be 1/2 as bright and show 1/2 Sv value in the EXIF).
Essentially when the ISO reaches 400, the camera drops the actual ISO (as seen in the raw data) back to 200 and boosts the jpeg. In continuous mode, it appears the black level change doesn't happen

Out of curiosity, what does the exif show for these?

Quote
I get now a little bit confused about all combination which i can test.
Which combination can be helpful?
Still the single mode? With which release? And which ISO set mode?
I would be interested to see the log from single mode, with CHDK ISO set.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 02 / June / 2015, 03:18:48
Quote
Out of curiosity, what does the exif show for these?

EXIF was OK, so I have not posted it. I if you want, I can add the plot

Quote
I would be interested to see the log from single mode, with CHDK ISO set.


This method has one big disadvantage for timelapse. I this mode (which I use in my script) the camera always open the aperture for measure. This adds an aperture flicker. This is not happens with open aperture (may be also not with full closed aperture). So we will probably see this in the log file…

https://www.youtube.com/watch?v=PVnqd4f3Kmk (https://www.youtube.com/watch?v=PVnqd4f3Kmk)


Edit:
Add EXIF Plot
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 02 / June / 2015, 12:53:51
This is the run with r4138, single mode, with CHDK ISO set.

meter96 looks similar to the run from continues mode and ISO set mode Script.
EXIF ISO Data is correct (same as continues mode and ISO set mode Script)
JPG analyzing takes always time on my old PC...
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 02 / June / 2015, 13:04:44
I compare meter96 values from single and continuous mode (by normalizing before). There is a little bit more flicker in single mode, but not much. May be this depends that I used f16. A couple of month ago I compared my S110 in single mode (open aperture with f5.6). The differences were much bigger.

Also JPG looks similar.

So everything between the run from
'continues mode and ISO set mode Script' 
and
'single mode with CHDK ISO set'
is the same.
 
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 02 / June / 2015, 15:42:16
This method has one big disadvantage for timelapse. I this mode (which I use in my script) the camera always open the aperture for measure.
Understood, I'm not suggesting using it for timelapse, I'm just trying to understand the behavior of the G1x.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: philmoz on 08 / June / 2015, 00:28:03
This method has one big disadvantage for timelapse. I this mode (which I use in my script) the camera always open the aperture for measure.
Understood, I'm not suggesting using it for timelapse, I'm just trying to understand the behavior of the G1x.

I've done a bit more experimenting.

When Tv >= 1.3s and ISO > 320:
    - If ISO set manually in Canon settings
        - black point = 2048 (in DNG, CR2 has black = 512)
        - camera shoots at selected ISO
        - max raw image value in DNG = 16384, in CR2 = 14847
        - raw image values in CR2 file = raw image values in DNG - 1536 (2048 - 512)
    - If ISO set using AUTO mode (Canon setting or CHDK override)
        - black point = 2048 (in DNG, CR2 has black = 512)
        - camera shoots at 1/2 selected ISO
        - max raw image value in DNG = 16384, in CR2 = 16384
        - raw image values in CR2 file = raw image values in DNG - 1536, then scaled up by some factor

So Canon is setting the sensor/ADC to a higher black point; but then fudging the raw data in the CR2 file to pretend the black is actually 512. When AUTO ISO is selected it also shoots at 1/2 the selected ISO and scales the raw image data to get the max value back to 16384.

I haven't found a point in the code where the raw buffer data has been changed - it's probably being on the Digic processor as the file is being saved.

It may be possible to 'compensate' for this behaviour in the raw meter - e.g. detect if camera is G1X, Tv >= 1.3s and ISO > 320, then adjust meter calculation. It would also need to take the calculated black point into account.

I have also seen some cases where the camera shoots at 1/2 ISO but with a black point of 512 - I have not determined the cases where this occurs yet.

Phil.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 08 / June / 2015, 00:59:56
I have also seen some cases where the camera shoots at 1/2 ISO but with a black point of 512 - I have not determined the cases where this occurs yet.
This is seen in a couple of c_joerg's posts earlier:
http://chdk.setepontos.com/index.php?topic=12165.msg122608#msg122608 (http://chdk.setepontos.com/index.php?topic=12165.msg122608#msg122608)
http://chdk.setepontos.com/index.php?topic=12165.msg122627#msg122627 (http://chdk.setepontos.com/index.php?topic=12165.msg122627#msg122627)

In both of the above, Tv was 1.8 sec

The other kink in this is that the transitions don't seem to be at the same point: The 1/2 ISO seems to kick in at 400, while the black point does at 320.  (edit: in the samples I've seen any way)

Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 14 / July / 2015, 13:20:41
Made just a run on G1X with R4191 in continues mode and ISO set mode Script.
The run looks simular to r4138 (EXIF ISO OK, JPG OK).
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 14 / July / 2015, 22:43:38
Made just a run on G1X with R4191 in continues mode and ISO set mode Script.
The run looks simular to r4138 (EXIF ISO OK, JPG OK).
Yeah, I think it's not really affected. It appears that the blacklevel jump at ISO 320 doesn't happen at all with these settings (it didn't happen in the r4138 run either). The ISO drop at 400 (compensated in jpeg) is still there, and would still cause problems for rawopint because even though the jpeg is OK, the raw meter value changes suddenly. It's possible a G1x specific workaround could be implemented in rawopint.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 19 / July / 2015, 20:55:36
Here's an updated isoinc.lua for trunk r4193.

Other changes:
* Added "ISO input type" If set to ISO, the start and end values are interpreted as Canon UI ISO. If set to SV96, they are interpreted as "real" SV96 values as in previous versions.
* More detailed logging.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 20 / July / 2015, 07:31:17
A new run on G1X with R4193 in continues mode and ISO set mode Script would be useful?
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 20 / July / 2015, 15:54:21
A new run on G1X with R4193 in continues mode and ISO set mode Script would be useful?
Both "script" and "CHDK" modes might be helpful. Thanks.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 22 / July / 2015, 05:37:36
I’m getting more and more confused about stuff with G1X ;)
What about philmoz change in r4153? The still have an effect on this runs?
I make 3 runs with isoinc r4193 from sv96=520 until 740.
I’m not sure, if we had the combination quick/script before…

1) shoot_mode=cont  / iso_method=script
2) shoot_mode=cont  / iso_method=chdk
3) shoot_mode=quick / iso_method=script

I put ‘*’ for ISO320 and ‘o’ for ISO400 in the plot from meter96.
Interesting is the run quick/script. There is an offset from around 16 which I have not seen before…
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 22 / July / 2015, 05:39:36
I’m wondering that EXIF ISO is for all runs OK.
I thought it must be wrong on the combination cont/chdk.
But the combination cont/chdk shows still the ½ ISO kick on JPG data which I expect.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 07 / August / 2015, 07:21:49
This is an isoinc run from SX230. Meter96 looks more noisy as from S110 an G1x. Well, this cam has a smaller Sensor…
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 08 / August / 2015, 15:24:29
I would like to compare my cameras under identical conditions . But it's hard because the exposure time is constantly changing . It would certainly be helpful if you had a parameter for the exposure time .
Or any other idea?

Can I do something like set_tv96_direct(0) for 1s in the code?
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 08 / August / 2015, 15:52:36
I would like to compare my cameras under identical conditions . But it's hard because the exposure time is constantly changing . It would certainly be helpful if you had a parameter for the exposure time .
Or any other idea?

Can I do something like set_tv96_direct(0) for 1s in the code?
That's a good idea. For now, you should be able to set the exposure you want by replacing
Code: [Select]
local tv96 = get_prop(props.TV) + d_sv96 - start_ev_shift*96
with your own tv96 value. For one second, use 0.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 10 / August / 2015, 06:16:48
This is a nearly identical isoinc run with G1x, S110 and SX230 with 1s exposure time in range ISO100 to ISO400. For me it looks like there is not really a difference between the cams. In the second plot I tried to normalize the curves.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 10 / August / 2015, 06:17:57
Just for completeness…
May be a run around ISO1600 shows more differences…
Title: Re: proposal - script shooting hooks
Post by: c_joerg on 08 / September / 2015, 04:45:05
Quote
I don't think there should be oscillation in rawopint in constant lighting 

I would also expect so on constant lighting.

Quote
if over or under protection isn't active, unless shutter speed is high enough to run into precision issues. However, I haven't actually tested like that, so maybe there is.

The second 100 pictures from rawopint_compare3, the part without modification show oscillation on constant lighting. Under protection was off, over not active and shutter speed around 1/4s. I see this in a couple of runs

The question is who constant the lighting was. I did it in a room without windows. The same environment as I used for all isoinc runs. The room has one filament lamp (200W / 50Hz) with non-electronically stuff inside. I’m not sure if a monitor would be better measure equipment.

Quote
Another note, in theory we can set the shutter speed directly in microseconds. The actual precision of the hardware is unknown (a shutter testing script like isoinc would be useful), but it should be possible to adjust exposure in steps smaller than 1/96th ev for some of the range. This isn't currently possible through script though.

Interesting stuff.
I've always asked myself, how the implementation of tv96 to exposure time works.
On ISO I expect amplifiers as we discuss before.
On exposure time I would expect a digital timer. But when the lowest resolution is microseconds than the timer must be larger than 16Bit. So when you can modify the timer, you can play with the lowest Bit. Do you know where the highest shutter speed is?

Update:
To run some constant measures with isoinc, I could set  iso_start= iso_end=412 and  shots_per_step=100 or?
To get more accurate values, it would be helpful to set meter_step=1?




Title: Re: Re: proposal - script shooting hooks
Post by: reyalp on 08 / September / 2015, 16:31:30
I've always asked myself, how the implementation of tv96 to exposure time works.
It follows the follows the APEX definition  (how precisely isn't certain)

Quote
On exposure time I would expect a digital timer. But when the lowest resolution is microseconds than the timer must be larger than 16Bit. So when you can modify the timer, you can play with the lowest Bit. Do you know where the highest shutter speed is?
The exposure time is a 32 bit microsecond value, but I assume the flicker seen at high shutter speeds is related to physical limits. In the testing I've done, 1/16000 is noticeably darker than 1/8000, but I haven't got around to testing how close they are to the requested values or how consistent the results are. This should be relatively easy to now that we have raw meter.

At the other end, you can use a full 2000 seconds on some cameras, but quality suffers ;)

Quote
Update:
To run some constant measures with isoinc, I could set  iso_start= iso_end=412 and  shots_per_step=100 or?
I think so, though I don't promise the script correctly handles start=end
Quote
To get more accurate values, it would be helpful to set meter_step=1?
The default samples 57600 pixels, I wouldn't expect adding more to make much difference.

edit:
In my earlier comment, I said meter would tell you if the scene changes, but of course this isn't copletely correct, meter will change in the next frame if the requested exposure changes. Bv should should give you the absolute scene brightness, assuming there is no over or under exposure, and that the camera actually uses the requested exposure values.

In your compare3, the bv values show some slight variation.
Title: Re: Re: proposal - script shooting hooks
Post by: c_joerg on 09 / September / 2015, 02:18:46
Quote
if the scene changes, but of course this isn't copletely correct, meter will change in the next frame if the requested exposure changes.
Of course, I understand it like this, meter has to change when exposure changes


Quote
In your compare3, the bv values show some slight variation.
So I will do some investigation with different lighting situation including using a monitor…
Title: Re: Re: proposal - script shooting hooks
Post by: c_joerg on 10 / September / 2015, 14:52:07
I made 6 runs (each 100 shoots) under constant lighting condition with G1x.  I thought it would be constant...

1) Filament lamp, indirect light, F4, 1/2s
2) Halogen lamp, indirect light, F4, 1/10s
3) LED lamp, indirect light, F4, 1/8s
4) LED lamp, indirect light, F4, 1/8s
5) Monitor, 60Hz, F4, 1/25s
6) Monitor, 60Hz, F16, 0.6s

Run 1) are the same condition as I made with all isoinc runs.  There are changes from around 3/96 steps.  Really worse is the halogen lamp.  It looks like that the LED is better but she loses brightness over the time. It look like the monitor is the best solution for measure (when using longer shutter times). But also the monitor needs time, to get on the right temperature. 

Notice: The senor temperature increases from 30 to 45 degree on the end, but it looks like that this has no influence.

The log file shows on sv96=412 ==> sv=101. I thought, sv96=412 is exact ISO100…
Title: Re: Re: proposal - script shooting hooks
Post by: exposeIT on 10 / September / 2015, 17:13:50
Hi,
I follow your discussion and tests very interrested.
  I thought it would be constant...

1) Filament lamp, indirect light, F4, 1/2s
2) Halogen lamp, indirect light, F4, 1/10s

For 50Hz AC the the light of your lamps have a frequency of 100Hz.
Every 10ms you will have a peak in brightness.
Noone knows really how quick the naked exposure-measurement of the camera is. (not exposure time)

So  your exposure can differ depending to the position of the trigger.

A good idea to test this might be a 12V Halogen lamp with a good stabilized DC Power source.
Title: Re: Re: proposal - script shooting hooks
Post by: reyalp on 10 / September / 2015, 22:44:24
Noone knows really how quick the naked exposure-measurement of the camera is. (not exposure time)
In this case, the measurement is from the raw data, so it is exactly the exposure time.

It's not too surprising to get noticeable variation with a ~1/10th exposure time under an AC light source, catching one cycle more or less should be fairly significant.
Title: Re: Re: proposal - script shooting hooks
Post by: c_joerg on 11 / September / 2015, 01:29:21
Quote
For 50Hz AC the the light of your lamps have a frequency of 100Hz.Every 10ms you will have a peak in brightness.

Quote
It's not too surprising to get noticeable variation with a ~1/10th exposure time under an AC light source, catching one cycle more or less should be fairly significant.

I have not expected, to see something from AC on Filament or Halogen lamp. They are really sluggish. You can see the effect from 60Hz on the monitor at 1/25 and you can see also the effect from the monitor on live view. I think that’s more the not stabilized power supply from net. So I will do some more measure with  Halogen lamp with different exposure times.

@reyalp
May be you should move this measure stuff to an own thread.
Title: Re: Re: proposal - script shooting hooks
Post by: reyalp on 12 / September / 2015, 18:37:08
I have not expected, to see something from AC on Filament or Halogen lamp.
Yes, this is a surprise to me too, I would expect them to have enough inertia that there wasn't much variation. What I mean was *if* a source flickers at ~50-100 hz would be expected to affect a 1/10th exposure.

If the source is actually the AC, just pointing at a darker subject and/or stopping down, adding ND to get a longer shutter time should smooth it out, but that's no good if you want to test very short exposures. In that case it seems like daylight is the best bet.
Quote
@reyalp
May be you should move this measure stuff to an own thread.
Good idea. Merged into the isoinc thread.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 13 / September / 2015, 13:04:06
Quote
just pointing at a darker subject

All the measuring above, also with the monitor, I did with a gray card with a small x in the middle to focus.

Quote
In that case it seems like daylight is the best bet.

Yes of course.

But my intention is to find a light source, which is nearly reproducibly and nearly constant, to get accurate results on isoinc.

I made a couple of runs with the halogen 50Hz up to 4s. I got always the same result. I’m really sure; the variance in the runs comes from the not stabilized power supply from net. You can really see the shape of the curves, if you turn on a strong consumer. Results can be seen in isoinc_halogen_50Hz.csv. 

Then I made 2 * 100 shoots with a 12V halogen. Yes, that’s looks really good. The first 100 shots I made with an old laboratory power supply (older 25 years). The second 100 with a newer switching Power Supply. Only on meter you can see a small drift over time on the laboratory power supply. So my next runs with isoinc I will always use the 12V halogen with the switching Power Supply. Results can be seen in isoinc_halogen_12V.csv. In the plot I removed the offset between both runs to get them in one plot. 

It looks like that the monitor for higher exposure time is a good solution.  One think, where I thought about is, do make a demonstration video (constant picture with changing brightness, or a simulated moon, which goes from one side of the monitor to the other side), which gives you reproducible results on rawopint, playing with the parameters. I know, for real testing off overexposure there is not enough dynamic. I’m not sure, if such a video is really helpful.
Title: Re: Re: proposal - script shooting hooks
Post by: exposeIT on 13 / September / 2015, 15:37:16
In this case, the measurement is from the raw data, so it is exactly the exposure time.

It's not too surprising to get noticeable variation with a ~1/10th exposure time under an AC light source, catching one cycle more or less should be fairly significant.

To clarify my view on this see the drawing below.

The 100 Hz sine wave is your scene light.

All internal camera measurements to determine the exposure data takes place at Half Press.
The measurement is presumably very short. We (I) don't know how long.
And we don't know at which position on the sine wave. (see the red squares)
But the brightness differs with the amplitude of the sine wave.

Anyway the camera will set all values according to its measurement.(aperture and exposure time ...)

The exposure time ( see green box) starts at Full Press collecting the light from the sine wave.
If the exposure time is long this will fairly integrate the light.
If the exposure time is short we will pick up significantly less light than given by the (wrong) measure.

So for 'exact' measurement we have two implications:

1) The measurement positiom on the sine wave period
AND
2) The exposure time

Maybe this has something to do with the flicker.
Title: Re: Re: proposal - script shooting hooks
Post by: reyalp on 13 / September / 2015, 15:53:04
All internal camera measurements to determine the exposure data takes place at Half Press.
The measurement is presumably very short.
You need to understand the actual script being used. The camera metering is used only for the initial exposure. After that, shooting is in continuous mode or with half press held down and never released, so camera metering is not a factor.

edit:
The script also has a "single" mode, in which case sv and tv are set explicitly by CHDK each shot. Cameras with an adjustable aperture should be set to a mode where it won't be changed.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 14 / September / 2015, 03:55:07
@exposeIT

Quote
The 100 Hz sine wave is your scene light.

I don’t think, there can be anything seen from 100Hz on a halogen lamp. The halogen lamp will integrate the light. May be there is some rest ripple on the top.

Quote
he measurement is presumably very short. We (I) don't know how long.
And we don't know at which position on the sine wave. (see the red squares)

I did 20 half press and I got always the same result from the camera measure. Ok I have only seen 1/3 EV steps on the display. The ripple where we talking about are less than 5/96 EV.

Quote
If the exposure time is short we will pick up significantly less light than given by the (wrong) measure.

I don’t think so because of the high integrate light from halogen.
What happens, when you make 100 shots with 1/1000s against a halogen lamp? I don’t think you will see significantly changes.
What is happens on video mode, when you make a video? I don’t think a halogen AC lamp would make problems.

However, the DC solution would be the best way.

@reyalp

Quote
The script also has a "single" mode,

So I can make a comparable run on "single" and "quick" mode to see, how much the aperture flicker is…

Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 18 / September / 2015, 08:00:06
Hello,

I made a couple of more runs (each run with 100 shoots) with isoinc with no increment (all shoots with ISO100), with my cameras G1x, S110 and SX2330. I normalized the meter and meter96 curves by subtraction of the median value of each 100 shoots., to see only the differences.

One thing that I was interested in how big the aperture flicker in single mode is. The most influence of aperture flicker you can see on G1x. I think this has to do with the absolute size of aperture. But it’s only 1/96/EV and not happened in quick and continuous mode. So nothing to care about. On the SX230 I can’t really measure it. This has probably to do with the 12bit resolution.

What you also can see is the influence of the sensor temperature. Especially on the first 100 shoots you see the influence. Also in meter96 not too much to take care about.

On S110 Unfortunately I run everything with Tv=1s (I used my isoinc with fixed Tv=1s). I'm not sure, which effect this have. I didn’t look like clipping. 

G1x
1) Quick,  f=6.3, Tv=0.17s
2) Single, f=6.3, Tv=0.17s
3) Single, f=11,  Tv=0.55s
4) Single, f=16,  Tv=1s
5) Quick,  f=16,  Tv=1s
6) Quick,  f=6.3, Tv=0.17s


S110
1) Quick,  f=6.3,  Tv=1s
2) Single, f=6.3,  Tv=1s
3) Single, f=8.0,  Tv=1s
4) Single, f=8.0,  Tv=1s
5) Quick,  f=8.0,  Tv=1s
6) Quick,  f=6.3,  Tv=1s

Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 18 / September / 2015, 08:01:12
SX230
1) Quick,  f=6.3, Tv=0.16s
2) Single, f=6.3, Tv=0.16s
3) Single, f=8.0, Tv=0.25s
4) Quick,  f=8.0, Tv=0.25s
5) Quick,  f=6.3, Tv=0.16s


Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 14 / January / 2016, 05:59:34
I was just playing a little bit with my G1x, to understand a little bit more from the internal stuff, specially the relation between meter, meter96 and JPG data.

My knowledge before was, if I go with the exposure 1EV step down, this will half the RAW Data. So one Bit is approximately 1EV step. Yes I will nearly see this in the RAW Data.

What I have done with isoinc:
I set the G1x to manual mode with constant exposure time and constant ISO100 Then I made 12 runs with each 10 shoots on ISO100 by changing the initial EV shift from -8 to +3. As an object I used my gray card with constant light.

The first thing which I notice was that I got sometimes from the pre shot ISO200. Yes, we have seen it before and it looks like this is some stupid stuff from G1x. So I fixed that in the code from isoinc.

Yes, on the meter96 values it is really good seen, that I always go up on 1EV step.

There are a couple of thinks, which I don’t understand jet

The G1x has a 14bit AD Converter. The pictures with +3EV are totally overexposed. Why I can’t see 16384 in the RAW Data? Yes I know, it is an average of R G B Pixels. Is this the answer that only on color goes to full scale? Is it possible just to meter one color?

Why the RAW values are not going under 512? Yes I know a little bit about the black level but not really much. Does this mean, the values don’t go lower? But Why? We lose 8 Bit on information on the AD converter…


On the end of the day, isoinc is really a great tool to investigate all about this. Great job.
A Tv inc option and a changeable step size (for longer ranges) could be really helpful also for other guys.




Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 29 / February / 2016, 15:08:06
@reyalp:
Made just a fast run with isoinc on the S110 with 1s exposure time and ISO from 960 to 1040 (just 12 pictures)

Quote
You mean to set the initial Tv? You should be able to use M mode. It should always stay the same between shots, unless you selected "Keep exposure constant"
Yes. I set manual 1s in M Mode, const_exp=true and start_ev_shift=0. But I did not get the 1s. So I fixed it in the code as you descript before.


I made 2 runs. One in continue and one in quick mode. As you can see, I can reproduce it and the result is different from the two runs. I can’t believe it why I have it not seen before….

From my last post here I had 2 open question. May be you find some time and give me a short answer. It will may be help me to understand a little bit more about the stuff..
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 29 / February / 2016, 16:34:35
Yes. I set manual 1s in M Mode, const_exp=false and start_ev_shift=0. But I did not get the 1s. So I fixed it in the code as you descript before.
That's what I get for going from memory rather than looking at the code. This is expected behavior, if the cameras current ISO doesn't match the lowest test value.

Quote
From my last post here I had 2 open question. May be you find some time and give me a short answer. It will may be help me to understand a little bit more about the stuff..
Sorry, sometimes even a short answer takes lot of time :(

Quote
The first thing which I notice was that I got sometimes from the pre shot ISO200. Yes, we have seen it before and it looks like this is some stupid stuff from G1x. So I fixed that in the code from isoinc.
I would guess this is just the camera being in auto-ISO at the start. Remember, this happens if CHDK ISO overrides have been used, even if the camera already had a specific ISO set. To get back to true manual ISO, you need to set something in the menu.

Quote
Why the RAW values are not going under 512? Yes I know a little bit about the black level but not really much.
Some previous discussion https://chdk.setepontos.com/index.php?topic=7069.0

Quote
The G1x has a 14bit AD Converter. The pictures with +3EV are totally overexposed. Why I can’t see 16384 in the RAW Data? Yes I know, it is an average of R G B Pixels.
I'm not sure what raw data you are looking at. isoinc meter value?
Quote
Is this the answer that only on color goes to full scale?
Typically, the greens clip a lot before the red on a neutral subject.

Quote
Is it possible just to meter one color?
Yes. the drtest.lua script does this, for example. In fact, I have a drtest csv file you sent me from G1x at some point. You can see the greens are clipping at +2 stops (I assume 16382 vs 16385 is probably due to some dead or weak pixels)
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 29 / February / 2016, 22:00:00
I am happy to run the test, are there any specifications or parameters you need?  Or is just pointing the camera outside fine?

The subject should have constant, uniform lighting and not contain anything that moves. An LCD monitor showing a blank page or a blank wall under artificial light should be good.

Set the "ISO input type" to ISO, and enter the range of ISOs you want to test. For your test, you could just do something like 980 to 1020.

If you are only testing a small range like, you can set "Initial ev shift" to 0.

The other settings can be left default.

It's possible the "Shoot mode" setting will affect ISO override behavior.

Setting it  to "cont" and making sure continuous mode is enabled in the canon firmware should be most similar to your rawopint run that showed the funny ISO jump. If "quick" doesn't show the same behavior, you may be able to avoid the problem by turning off cont mode in rawopint.

edit:
FWIW, ISO overrides behaving oddly at high values is pretty common.  As mentioned in the first post, the last stop on some cameras is done entirely in JPEG processing, with no change in the raw data.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 01 / March / 2016, 03:04:53
 
Quote
This is expected behavior, if the cameras current ISO doesn't match the lowest test value.

Understood. This is the d_sv96 part. It might be easier, to set this value to 0, when the camera is in M Mode.

Quote
Sorry, sometimes even a short answer takes lot of time

It’s OK. I know this. Maybe the time comes, where I can really support you.
Thanks about giving me the answers.

Quote
I would guess this is just the camera being in auto-ISO at the start.

I’m really sure that the Camera was set to ISO100. On auto-ISO I could understand it…

Quote
I'm not sure what raw data you are looking at. isoinc meter value?

Yes the meter values. But I understand now.

Quote
If "quick" doesn't show the same behavior, you may be able to avoid the problem by turning off cont mode in rawopint.

But when I understand my measure correct, "quick" made it worse…

Quote
As mentioned in the first post, the last stop on some cameras is done entirely in JPEG processing, with no change in the raw data.

Yes I understand this.
But everything which can be seen in the meter (or meter96) is not just a JPEG processing or?
In case, where is no change in the raw data, and the raw data is not overexposed, this can be corrected when you saving the RAW files and doing the JPEG processing on a PC or?
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 01 / March / 2016, 16:23:33
I’m really sure that the Camera was set to ISO100. On auto-ISO I could understand it…
Just to be clear: using any CHDK ISO override (script or menu) puts the camera in auto-ISO, even if the Canon UI looks like it is set to some specific ISO. So if you ran insoinc twice, without rebooting or manually changing the Canon UI ISO setting between runs, the second run would effectively start in auto ISO.

Quote
But everything which can be seen in the meter (or meter96) is not just a JPEG processing or?
Right, what I mean by "in jpeg" is that we don't see it in the raw data. But this isn't the the issue we see on s110 or g1x, it's just a general point that "ISO" in the Canon firmware is not only amplifier gain (as it would be in a classic, generic description of a digital imager), it's a combination of amplifier gain, software processing in the raw->jpeg conversion, and maybe other stuff that varies depending on the specific camera model. CHDK overrides do not always control all of these elements successfully.

The point of this point  :-[ is that it shouldn't be a surprise when high ISO values are wonky. Specific cases should still be reported and fixed if possible, but in the end CHDK is hack and this is one of the hacky bits.
Quote
In case, where is no change in the raw data, and the raw data is not overexposed, this can be corrected when you saving the RAW files and doing the JPEG processing on a PC or?
In cases like the D10, where the last stop is in JPEG, you might be able to recover images that were overexposed in the "ISO 1600" jpeg from raw. I'm not sure off the top of my head how this would work with rawopint. In general, I'd recommend keeping the ISO limits in the range that works normally.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: MarkB on 02 / March / 2016, 00:12:23
I am happy to run the test, are there any specifications or parameters you need?  Or is just pointing the camera outside fine?

The subject should have constant, uniform lighting and not contain anything that moves. An LCD monitor showing a blank page or a blank wall under artificial light should be good.

Set the "ISO input type" to ISO, and enter the range of ISOs you want to test. For your test, you could just do something like 980 to 1020.

If you are only testing a small range like, you can set "Initial ev shift" to 0.

The other settings can be left default.

It's possible the "Shoot mode" setting will affect ISO override behavior.

Setting it  to "cont" and making sure continuous mode is enabled in the canon firmware should be most similar to your rawopint run that showed the funny ISO jump. If "quick" doesn't show the same behavior, you may be able to avoid the problem by turning off cont mode in rawopint.

edit:
FWIW, ISO overrides behaving oddly at high values is pretty common.  As mentioned in the first post, the last stop on some cameras is done entirely in JPEG processing, with no change in the raw data.



I did two tests on the s110 , in both the Canon firmware was set to Continuous Mode.  One test was set to "cont" in the script the second to "quick"
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 02 / March / 2016, 04:33:13
 
I did two tests on the s110 , in both the Canon firmware was set to Continuous Mode.  One test was set to "cont" in the script the second to "quick"
The results looking comparable to my camera. Both of your runs have not the same exposure time so there are not full comparable. But I looks like that the effect is independent from the exposure time, because I use 1s and you 0.05s.
It looks like; there is already an offset between ‘Cont’ and ‘Quick’ before ISO1000.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 03 / March / 2016, 13:13:47
I made another 4 runs with isoinc, just for interests. Every run gives a different result…
Combinations: Cont CHDK, Cont Script, Quick CHDK, Quick Script.
The script method of ISO settings avoids the JPG boost, but meter values going down.
For me it looks like, that there is still a real amplifier working, because meter increases in all cases.
If I understand the Dxomark ISO sensitive plot correct, then the real amplifier works until ISO6400 for the S110. But that might be a misinterpreting from my side
http://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-PowerShot-SX50-HS-versus-Canon-Powershot-S110-versus-Canon-PowerShot-G1X___848_838_769 (http://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-PowerShot-SX50-HS-versus-Canon-Powershot-S110-versus-Canon-PowerShot-G1X___848_838_769)
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 03 / March / 2016, 15:59:31
For me it looks like, that there is still a real amplifier working, because meter increases in all cases.
If I understand the Dxomark ISO sensitive plot correct, then the real amplifier works until ISO6400 for the S110.
I would interpret the "script" runs as the camera turning the real amplifier gain down by 1 ev, setting the jpeg process to add a constant +1 ev, and then running the amp through the range again. IIRC this is similar to one of the things we see on G1x, but G1x did it at much lower ISO.

The "chdk" ones look like the same thing happens initially, but then the -1 on the amp is lost. The ~half stop difference between cont and quick is just weird though  ???
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 04 / March / 2016, 02:00:26
Quote
I would interpret the "script" runs as the camera turning the real amplifier gain down by 1 ev, setting the jpeg process to add a constant +1 ev, and then running the amp through the range again.

May be…
But why does the cam do this so complicate? He could just go to the max real amplifier gain and add smaller steps to jpeg...
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 15 / March / 2016, 00:58:51
From the g7x thread
For me it’s important the dynamic range of a camera. According DxO the dynamic range of G7x is 2EV better than the G1x.
It would be nice if you could start drtest.lua on the camera, and post the results.
Here's a drtest from g7x, along with one from d10 with the the same script version for comparison.

One notable differences is that for this particular scene (defocused on an LCD monitor showing a blank page), cameras idea of "correct" exposure is ~2/3 of a stop lower than the "neutral" value used in CHDK. On most other cameras I've tested, the m96 value is closer to 0. The d10 is almost exactly 0, but that's because it's the camera I derived the value from.

Another oddity of this camera is that the blacklevel seems to be about 511, not 127 as seen on other 12 bit cams. This is both from testing and what is appears in DNGs converted with Adobe DNG converter.

I'll do some isoinc runs later.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 15 / March / 2016, 01:59:03
Here are isoinc runs on g7x from ~116-424 and 394-872

I'm not sure if the glitch at the start is a bug in port or the script, but aside from that it looks very linear.

Interestingly it seems to work even in the range below the 125 minimum.

These runs were all done in cont mode.

I also did a run at from ~800-6400, but the initial exposure value was bad (likely related to the first shot glitch seen in the others) and it ended up being over exposed. I'll try to run it again later, but it looked OK up to around 4000.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 15 / March / 2016, 05:06:10
 
Thanks for sharing this result with us.
I notice, that drtest logs m96 now in float and not in integer anymore….
If I understand the results correct, the G7x has 1 step more dynamic as the D10?

Quote
Another oddity of this camera is that the blacklevel seems to be about 511, not 127 as seen on other 12 bit cams.[\quote]
That’s interesting for me that the cam made a higher dynamic range (12.7 EV) with a lower value range (511-4095). The G1x has (10,8) with a value range from 511 – 16383. Yes, that’s not just the bits from AD converter…

I’m not sure, how I can trust the following link:

http://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-PowerShot-G7-X-versus-Canon-PowerShot-SX50-HS-versus-Canon-PowerShot-G1X___978_848_769 (http://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-PowerShot-G7-X-versus-Canon-PowerShot-SX50-HS-versus-Canon-PowerShot-G1X___978_848_769)

Quote
Here are isoinc runs on g7x from ~116-424 and 394-872 [\quote]
Have you seen any jumps in JPG results like on G1x?

Would be interesting to know, if the cam make also blacklevel jumps on exposure time > 1.3s.
May be you could try it with some values Tv >1.3s and higher ISO values.

Quote
One notable differences is that for this particular scene (defocused on an LCD monitor showing a blank page), cameras idea of "correct" exposure is ~2/3 of a stop lower than the "neutral" value used in CHDK. On most other cameras I've tested, the m96 value is closer to 0. The d10 is almost exactly 0, but that's because it's the camera I derived the value from.[\quote]
Interesting. How the JPG does look in that case (D10 to G7x)?
If I have m96 = 0 than the average on JPG is close to 128. Does the cam correct the 2/3 lower stop on the JPG processing?

One reason to do this is could be, that this protect the cam more for overexposure. The range from "neutral" to overexposure is larger. If you do this with another camera by setting it to -2/3EV and pushing it up in RAW processing, this gives you more noise. But maybe not on this cam…
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 16 / March / 2016, 02:38:32
I fixed a bug in the isoinc script that caused the initial ISO and exposure to be wrong in some cases. This probably happened in some of your runs too. Updated script attached.

I re-ran the isoinc tests on g7x. ISO seems to start at 115, and stay linear all the way up to 12800, with no jumps in the jpeg or funny stuff with the black level. All my runs have been with relatively short exposure times (all < 1 sec, and > 1/1000th for the highest ISO)

If I understand the results correct, the G7x has 1 step more dynamic as the D10?
It looks one more step of usable range to me, but the offset in neutral value makes it harder to compare directly.

Quote
I’m not sure, how I can trust the following link:
http://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-PowerShot-G7-X-versus-Canon-PowerShot-SX50-HS-versus-Canon-PowerShot-G1X___978_848_769 (http://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-PowerShot-G7-X-versus-Canon-PowerShot-SX50-HS-versus-Canon-PowerShot-G1X___978_848_769)
[/l]
I don't know, my impression is their benchmarks are well regarded, but I don't see how g7x could have > 12 stops, since my test only covers 11 and has clipping at both ends.
It is interesting that their dynamic range chart for g1x DR is flat until around 400, then starts drop. The same point we see the blacklevel weirdness etc.
Quote
Interesting. How the JPG does look in that case (D10 to G7x)?
That's a good question. Just pointing them at the same blank monitor and letting them auto-expose, the g7x is a bit darker, average ~138 while d10 is ~147, but this wasn't a very scientific test.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 21 / March / 2016, 03:42:04
I was just playing with my IXUS160…
I made 3 isoinc runs (sv96 -> 400-600, 600-800 and 800 -1000) and drtest. Result attached in the zip file.
I thought the IXUS has only 10Bits but the results show me 12bits….

It looks like, that ISO works already <ISO100 but it stops exactly at ISO1600.
EXIF data is OK and works even with ISO6400.

But I see a small jump from 5 bits in the JPG Data around ISO560. It’s not much and you will not really see this when you only watch the JPG’s.

with no jumps in the jpeg or funny stuff with the black level. All my runs have

Are you sure the JPG’s are OK on the G7x? How do you investigate this?

Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: reyalp on 21 / March / 2016, 13:11:24
Are you sure the JPG’s are OK on the G7x? How do you investigate this?
Not completely sure, I just scrolled through the images, so I certainly could have missed smaller effects. I'm confident it doesn't jump a full stop or anything like that though.

Quote
I thought the IXUS has only 10Bits but the results show me 12bits….
Most cameras from 2009 or so have 12 bit raw.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 27 / March / 2016, 14:25:42
This is a full isoinc run with my G1x from ISO80 to ISO10000 (in 3 steps). As you can see, as long the exposure time is less than 1s the G1x make also no funny stuff.

There only two little jumps from '3' m96 values at ISO1600 and '6' m96 values at ISO3200. But this can be fixed at post processing.

Would be really interested what the G7x will do at longer exposure times…

I plan also for completeness this full runs with my SX230, S110 und SX50 in the next time…
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 30 / March / 2016, 02:51:44
This is a full isoinc run of my SX50.

Every of my cams show other funny things. This is the first time where I see a plateau in the JPG data. It’s happen around ISO160, ISO750 and ISO 3600. But this will probably no trouble for time lapse.

M96 looks Ok until ISO 3600 where a jump from 1EV step is.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 09 / May / 2016, 04:26:34
One notable differences is that for this particular scene (defocused on an LCD monitor showing a blank page), cameras idea of "correct" exposure is ~2/3 of a stop lower than the "neutral" value used in CHDK. On most other cameras I've tested, the m96 value is closer to 0. The d10 is almost exactly 0, but that's because it's the camera I derived the value from.
 

I’m not sure, if this is the same what I notice here:

I have quite a few Canon PowerShot models (G1x, S110, SX230, SX50) and a EOS1200D. And now for testing a g7x as well.

I hold the PowerShot models (without G7x) on a white wall with identical settings (Av mode with the same aperture, ISO, equivalent focal length ...), then I get on all models the same exposure time. Images are then all identical brightness and the histogram peak is in the middle. This works even with the IXUS500, when I then use the values from the EXIF for PowerShot.

In the DSLR that is different. Since exactly get half the exposure time. Even when G7x I currently this is so. Even with her you get half the exposure time (May be the 2/3 of a stop). Ultimately have these images have an identical brightness compared to the other power shots. Again, the histogram peak is located in the middle.


What insights can eventually win it? Is the EOS1200D and G7x around 1EV sensitive than the other power shots? So is ISO100 with the DSLR or G7x ultimately ISO200 on Powershot?


 

I again repeated the measurements yesterday, and must revise my statements above part.

Basically it is so that the light meter of EOS1200D and G1x tend (about 2/3 EV) to expose a little below. Probably about to have a little more dynamic upward.

On same manually settings, the pictures nearly the same.
Title: Re: Measuring exposure performance (was Re: proposal - script shooting hooks)
Post by: c_joerg on 04 / February / 2017, 08:02:49
The results look funny from M10.

How did you run?

You should definitely do it in M Mode. The light should not change during the measurement.

The easiest way: Display a white area on a monitor and place the camera directly in front of it. The focus is not important.

A run from ISO 100 ... to ISO 400 would be interesting.