I have been searching a little bit more and compared Rawspeed/Rawtherapee about the withe levels from 7D II. They differ, but that is an easy task to correct for someone who ones the camera.
In RawTherapee the scale factor changes the white level depending on aperture. If I want to do the same with darktable I could just save a preset in the module black/white point. Easy but time consuming.
But if I do, then the preset for aperture/ISO will also affect the black level. Is there a way to force only the white level for each ISO/aperture and keep the black level reading from the optical black area, because the black level may changes due to temperature or Long exposure noise reduction. I don’t want to have a static number there.
In darktable and using the raw highlight clipping indicator and stepping down from 16384, 15283 is what makes it to react. Note that 15283 was mentioned in RawTherapee.
Just going by the EXIF names, I’d interpret those numbers as:
Linearity Upper Margin: “from here on, signal is no longer proportional with light energy” (probably less signal than expected, and/or differences between the different colour channels)
Normal White Level: “white surfaces (like paper) should be at or below this level”
Specular White Level :“beyond this value you shouldn’t expect any detail” (i.e. the sensor is saturated). Somewhat higher values can still appear due to noise, and perhaps a small safety margin in the value.
That would also fit with the higher white points for the extreme ISO values, where you reach the 14 bit limit.
From this, and given the small difference shown between normal and specular white level, I’d use the specular white level as reported by the camera for the raw white point, assuming Canon (like other makers) know their own cameras… Assuming those values are fixed for each camera and ISO value, it’s not that hard to set up one or auto-applied presets for this.
And if you are doing extremely critical work, where linearity is of the utmost importance, you’d have to make sure all pixels are below the linearity limit (10 000).
All that of course once you have reason to think the defaults proposed by your program are wrong…
The value will depend on the ISO and I think on the raw format (sRaw).
edit:
It is still very possible that rawspeed or RawTherapee have incorrect values. I agree with @rvietor and use the Specular value as reported by the camera. If the values are incorrect for a given ISO, I think you should do an Issue to both rawspeed and RT to get it fixed.
It would be wonderful if camera manufacturers explained exactly what they meant by their various black and white levels.
Meanwhile, we can explore levels for ourselves with our own cameras. Point the camera at an evenly lit card, vary the exposure (assuming the aperture and shutter speeds are accurate) and examine the numbers in the raw file. Over what range are they linear with respect to the exposure? Are the ratios between R:G:B constant? If the linearity and ratios are not perfect, are they “good enough”? Or can they be fixed in post?
The desired accuracy will depend on the nature of the photography, of course. Do we need scientific precision, or aesthetic usefulness?
30D and optical black area. Rawspeed skips 2 lines from top and uses the 8 lines down. From left it uses all 72 columns.
When checking the optical black area at ISO 1600, There is a brighter line 2 px down from the top. At line 10 there is a grey line and can’t be used for black level.
From left, column nr 72 is grey and can’t be used for black level.
Exif or Rawspeed black levels, which one is best for 7D with these files?
CC0 license.
20230120_M7D6709.CR2 (21.6 MB)
ISO 100 Long exposure noise reduction on. Exif and Rawspeed almost same. Exif 2048 2048 2049 2048 Rawspeed 2048 2048 2048 2048
20230120_M7D6717.CR2 (33.3 MB)
ISO 12800 Long exposure noise reduction on. Exif 2053 2052 2044 2044 or Rawspeed 2040 2040 2019 2019
20230120_M7D6692.CR2 (21.6 MB)
ISO 100 Exif and Rawspeed almost same. Exif 2047 2047 2048 2048 Rawspeed 2048 2048 2048 2048
The largest difference you report on those files is 25 on ~2050. That is 1.2%.
Is that relevant, i.e. do you see a difference when manually forcing the one or the other value?
I see a clear difference, yes. But I don’t know which one I prefer.
There is an issue at Github talking about using black level from Exif instead of optical black. Better or not?
I took pictures with clipped highlights and loaded them in RawTherapee. Thanks to the user guide I could use Navigator to get the raw values Editor - RawPedia
The problem is the part *
The Navigator will show the real raw photosite values after black level subtraction within the range of the original raw data.
So to reset black level that in this case was 512 I just wrote -512.
Not really. It’s just that it’s quite not good to hardcode stuff in cameras.xml
that is already in Makernotes. Black area handling needs to be fixed regardless.