Applying WB to jpg/tiff in darktable and RawTherapee

Again, many of you are likely more informed than I, so take my comments with a sprinkle of :salt:.

What I would say in terms of artifacting is that as long as the profile conversions happen one after the other without additional processing I think it would be fine. This is also where well-behaved come in because some transformations and / or colour spaces have discontinuities and mathematical oddities, which would affect the outcome.

These links don’t appear to have any technical data. My guess is that they have specific working / output spaces for each camera supported by this, where the white point is slightly off and chromaticity rotated to fit real colours better than sRGB.

To this, I have 2 objections:

1 We won’t have a general use working / output profile.

2 It would require a converter that would need to be FLOSS compatible and now you have another set of profiles to deal with.

Right now, we rely on coefficients, black and white points that can be adjusted when they are off. If you introduce this adaptive and colour twisting approach, I think it would unnecessarily complicate our processing workflow. I would rather use a larger working colour space (or large enough like Rec2020).

If you really want the perfect characterization, then handcraft your profiles. Heck, characterize to your heart’s content the camera space and the OOC JPG space and spectral sensitivities under every camera and scene setting and condition. That is a lot of ands and of course I am joking: who has the time and skill for that?


In the end the OP question is based on a channel swap edge case. Perhaps this will become more of an issue as more fancy and odd mobile devices come out. If it is a simple swap, then perhaps it might be prudent for the user to extract the bayer from the raw file, swap the intensities manually and the repackage it into a DNG file. Or, in the case of channels, just swap them. If I recall correctly, OpenCV operates in BGR and when I played with it long ago I had to remember to swap channels or pixels. Very annoying!