For my astro image calibration program I wish to use the RawProcessor.imgdata.color.black value but I have noticed for the Canon T5i and T7i this parameter is zero. For my Nikon D5300 the value is 600 which I believe is correct. I believe that for these Canon cameras the black level should be in the 2,000 to 3,000 range. Is there a better way to determine the correct black level?
Peter
You need to use both black
You need to use both black and cblack[] values: https://www.libraw.org/docs/API-datastruct.html#libraw_colordata_t
-- Alex Tutubalin @LibRaw LLC
Alex,
Alex,
I did try using the cblack[] values but they also were zero. I did find that the Canon.ChannelBlackLevel[] values were populated. I am going to check all three (imgdata.color.black, imgdata.color.cblack[] and Canon.ChannelBlackLevel[]). The first non-zero value I find will dictate what value I use. Do you agree?
Peter
Could you please share raw
Could you please share raw sample?
-- Alex Tutubalin @LibRaw LLC
Alex,
Alex,
Here is a dropbox link to a T5i and a T7i RAW file
Peter
https://www.dropbox.com/sh/qn0j23qun6gbuoo/AAB0aoKOhpzHchFar2Z4WKDsa?dl=0
Thanks (I needed to look in
Thanks (I needed to look in the debugger to remember)
For (most/some) Canon files, black level is calculated based on dark frame values. So, it is only available after LibRaw::unpack() call
-- Alex Tutubalin @LibRaw LLC
Alex,
Alex,
I also added a T4iExample.CR2 to the dropbox share. The method I last suggested works without the LibRaw::unpack() call. My need for a valid black level is only required if the user does not wish to calibrate their astro images using BIAS frames. These BIAS frames are images shot with the lens cap on and at the fastest shutter speed of the camera. They are very easy to generate and they act as pixel-by-pixel black level references. A valid black level is vital for astro image calibration...especially for what is called FLAT frames so having the user resort to using the black level values we are discussing here is essentially a simplified estimate.
Peter
Black level calculated based
Black level calculated based on real black frame data (we consider/is) more accurate (compared to metadata values)
-- Alex Tutubalin @LibRaw LLC