When I let DCRAW apply demosaicing, a color transformation based on the rgb_cam matrix is carried out in convert_to_rgb().
This transformation (within sRGB color space) gives my images a warm and slightly greenish look, which is not present in accompanying JPGs (taken with 'sunny' color balance).
For my camera, a Canon EOS 1100D, I found the rgb_cam matrix to be filled in by the adobe_coeff() function.
Should I really use this transformation? Or is there a better way to correct the cross-sensitivity of the color filters?
I use the cam_mul for WB, and
I use the cam_mul for WB, and then do the debayering (manually) and after that I do the sRGB stuff.
You also have to do channel clipping before the sRGB conversion (and optionally highlight recovery).
So far, things are clear. But
So far, things are clear. But what's about the sRGB stuff?
I've compared DCRAW (with and without use of rgb_cam matrix filled in by the adobe_coeff()) to FastRawViewer and also to the Canon software and got 4 different results! DCRAW with use of rgb_cam looks worst (warm & greenish look).
My understanding is that
My understanding is that vendors keep those values secret, so probably the best results are form the raw editor from the manufacturer (Canon). I've also noticed that compared to my program (which uses LibRaw) RawTherapee has slightly different colors, but I haven't investigated if it's the WB, the sRGB matrix, or the tone curve.
Once I finish with everything for my program, I might take a look at their source code and see if I can understand it, and see what's different.
On a side note, there is no
On a side note, there is no such thing as cross-sensitivity because red, green, and blue are what CFA says they are. For a serious work, sRGB is a sub-optimal choice, because a lot of colour clipping happens when converting CFA RGB to sRGB (all the negative values from such a conversion are clipping). For better colour, try computing a colour matrix for your particular camera.