ColorWheel + ChannelMixer = black triangles

Hi.
For me strange behaviour.
Starting point is normal tiff - ColorWheel.

I was trying to remove green from yellow and create red color insted of yellow.
To do this in outputGreen moved inputRed slider to the left.
As You see yellows goes to be orange.
InputR is -0,516


But when InputR is -0,526 appears black triangle.

In the meantime yellow becomes red.

When moving InputR completely to the left black trangle grows.

Is this because of :

  • this is tiff, not raw
  • this is tiff with sRGB insted of other color coding
  • other things
    ?

This is screenshot from Affinity Photo.
Input Redis maximum to the left and ColorWheel look as desired - no green where red is present.

AFAIK the channel mixer isn’t a ā€˜work on numbers’ thing like in other tools , but has code to change colours to how our eyes would react to given changes.

or am I confusing the new channel mixer (color calibration) with the old ?

Anyway , the color-calibration channel mixing is not meant to behave exactly like the simple channel mixers in other tools.

There are multiple threads where people try to understand how the algorithm works by playing with created images like these , and it never works :).

Why things turn black… Could be the algorithm flips out when giving synthetic colours like in this image. Could be that you turn the colours into something that is out of gamut and they aren’t clipped.

Is your image 16bit tiff?

Anyway, don’t expect the channel mixer of Affinity Photo and the one in the color calibration module of DT to behave the same. Controls seem similar, algorithm or colourspace behind it is quite different.

I remember reading somewhere before that entering negative values can cause this - and they’re not normally needed? But can’t remember exactly.

I raised an issue about this on github a while back. The response was it won’t fix. As jorismak says darktables color calibration has different math to other channel mixers, I think because it is designed to work in scene referred, unbounded, workflow, whereas Chanel mixers aren’t, they are bounded 0-255. I’m not in front of cpu right now, but I think the way to test this is to increase exposure so your highlights are above clipping, then turn on filmic to bring them back in range. If you place the old channel mixer between exposure and filmic those highlights will clip and not be brought back. But if you place color calibration between exposure and filmic, the highlights won’t clip, and can still be brought back.

The price to pay for this is the black zones you sometimes see as in your example. This happens when you start with highly saturated colours, then push the sliders s lot. The colours go out of gamut, and eventually just black out. It’s not a problem in most real world photography as you don’t typically want to push highly saturated colours that far, but can be a problem working on highly saturated synthetic images, or if wanting to do extreme effects. You’re most likely to see it first in magenta, because if you look at the horseshoe gamut diagram, you will notice that colour has the shortest distance to white, thus the least room to move before going out of gamut. (Memory is a little hazy, it might go to black when the y axis is pushed below 0). What other channel mixers do is go out of gamut and stay there without blacking out.

1 Like

What happens if you set all profiles to rec2020… I will if I have time but DT has a weird path where the display profile is wedged into the pipeline so color space changes up then down and back up can introduce issues… setting them all to the same will avoid this. The image wont look right on screen but it will confirm if there is this sort of issue… It is why to fully assess gamut you need to do this… some display profiles have issues so the only way to assess true gamut clipping is to keep a pass through situation for the data… Or it is likely the impact of negative rgb values…

Do you have clip negative RGB from gamut enabled in first btw of color calibration?

I am not on my pc and don,t remember.
Where is this checkbox?

I know in the input profile module is something about clipping to gamut , and in the first tab of the color calibration module around the gamut compression slider is a box to clip out of gamut stuff.

The black sounds like a negative number or NaN coming from a calculation.

I was changing three values :

  • color calibration / clip negative RGB from gamut - not helps
  • change color profiles in input color profile and output color profile to linearRec 2020 - nothing helps
  • input color profile / change gamut cliping / all values - nothing helps

My color wheel is from Dave Straker Dave's Test Cards
This particular wheel is export from affinity photo file to tiff.

OK. This is bad color wheel for dt.
Where can i find color wheel which is proper for exercises in dt ?

Make one yourself in The Gimp?

I tested that setting and I think its the default so unless it got disabled it would be in effect… All it seemed to do visually at the extreme was show the channel value as 0 in the color picker instead of negative. It still jumps to black if you push far enough. I never saw negative values with my display profile. Maybe its doing some clipping but if I set the display to rec2020 I could see the negative value in the green channel begin to appear …when it gets to around almost -100 and then the image jumps to black… at least for me… You can push the slider even a bit harder if you use the first option in the CC module… as D50 pipeline… this doesn’t do the CAT but does do the channel mixing in the selected CAT colorspace where I think there is more control of the gamut maybe … but eventually you can still get the black… THe manual also says these negative values can be poorly handled by OpenCL but for me turning it off or on didnt’ change it … So it seems if you push hard enough and drive channels negative you will get that black …

What you are seeing has been discussed…

Sounds like some adjustment was made but I think if you push too far it will still create the fail in the math…

To practice using the color calibration channel mixer, just desaturate the one you are using by ~50%

1 Like