Hue Rotation and Color collapsing

Hi, i just began to know the world of colour grading. So some questions might be foolish and yet have some issues with terminology

I got to play with picture of color wheel in Darktable, trying to achieve some kinds of variations as on this pic.

And so got obvious question why when i use hue shift in colorbalance rgb,
color wheel does not rotate but more like twists around gray centre.
How can i “rotate” color wheel i.e. swap Red with Cyan, Blue with yellow e.t.c. in Darktable


Is there any way, i can collapse colorwheel to only few colors w/o artifacts, Blue-Yellow or Blue-Red
So when e.c i have pure blue somwhere in the middle of blue cyan part of the wheel, red in the middle of red-yellow part and magenta and green is gradient from blue to red, but to keep gray point gray.

Would also be nice to get any recommendations of information sources to get better understanding of it.

1 Like

I would use hue shift of color balance rgb. But what is your source image? It looks like there are already heavy artifacts in it.

1 Like

Yes it is, I could not find colour wheel with mid gray, so i took screenshot.
But this picture is enough to judge how colour behave.
I also have another better image, here is what i’m getting with 180⁰ hue shift in color balance rgb

Here are a couple to try ??

For this synthetic test, color zones - hue tab might work better, maybe since color balance rgb is designed for an other kind of workflow.

Thanks, but darktable does not support svg files.
Tried with png one, guess found some bug, on 89⁰ shift got blues with 43k saturation value (HSL)

But yet again, i can’t understand why visually colour wheel does not rotate on hue shift value?

Here is pure cyan, if i set +5⁰ hue shift in color balance, hues value of cyan sifts only by 1.57⁰

Also here is original HSL values of primary colors, and after 1⁰ hue shift by color balance rgb

I’m afraid I have absolutely no clue about the science behind that stuff, so I can’t help with that. But here are people with expertise who will propably raise their hands.

1 Like

Thanks anyway. Hope i’ll see them.

1 Like

I’m sure @aurelienpierre can explain whenever he’s around.

This is another one I have used in case there is some issue with the actual diagram…

I think color balance rgb does not work in HSL.
Switch the histogram to vectorscope, and apply the rotation. You’ll see a kind of rotation there.
Now, whether that makes the tool less usable, or simply different, I don’t know.
According to the documentation:

hue shift

Rotate all colors in the image by an angle over the chromaticity plane, at constant luminance and chroma. You can use this control to remove spilled colored light on a subject or to quickly change the color of some object. This setting is usually best applied locally, using masks.

So maybe it’s more suited to fix subtle colour casts than to actually rotate colours (the suggestion to mask the effect reinforces that, I think).

Just guessing, but wouldn’t the effect of a rotating colorwheel only work if all the colors it contains had the same brightness?

Looks like the brightness of the different areas is not affected by hue shift, so it should be impossible to get the same color on the opposite side.



*Colorbalance rgb, hue 180:

colorbalance hue 180

*Channel Mixer (Color Calibration) with inverted colours:

channel mixer invert

RED (R -1, G 1, B 1), GREEN (R 1, G -1, B 1), BLUE (R 1, G 1, B -1)

You will notice a large black patch in green (now magenta). That is because the green part of our gamut is far larger than the magenta, and when you invert, you go out of gamut. It goes black because of the way color calibration deals with clipped colors, which is different to how other channel mixers handle clipped colours (or don’t).

*Channel Mixer (Color Calibration) with a compromise on the inverted colours to avoid the black clipping:

channel mixer invert compromise

RED (R -0.3, G 0.65, B 0.65), GREEN (R 0.65, G -0.3, B 0.65), BLUE (R 0.65, G 0.65, B -0.3)

*For reference, Colorbalance hue shift 180 with blend mode ‘chromacity’ is very similar:

colorbalance hue 180_chromacity


Might be useful to do comparisons with @jandren 's constant-luminance triangle, to avoid some of the luminance concerns raised.

What is that triangle about?

Am i correctly understand, that black patch gamut may be displayed with that picture?

Yes, it seems to be true. Then i guess Darktable has no rude color messing modules)

in addition to previous post

One thing to keep in mind is the axis you use for rotation. “Rotating a plane” only works as expected (i.e.(without tilting it) when the rotation axis is perpendicular to the plane. AS far as I know, that’s not guaranteed in any of the colour models used, nor is it clear how the “hue plane” is cut/projected.

So, unless you are sure that your model is what you want:

  • i.e. a polar representation
  • with hue as the rotation,
  • one of the remaining two axes in the plane, and
  • the third perpendicular to the plane,

you’ll get unexpected effects rotating your colour wheel, as you will also change the two other values (and not just the hue) for each point. And as important, even if you create your colour wheel correctly in one colour system, it doesn’t have to be correct (for this use) in a different system (as systems differ in how they define their basic axes, in lenght and in orientation relative to other systems)

I don’t see a clear specification of what system is used to create the colour wheel, nor in what model it is rotated.


Yes those are good visuals! In regards to the first one, I don’t think it is all out of gamut Magenta that goes black, rather just the Magenta that produces negative values. The non negative out of gamut values get shoved back in (by algo? By rendering intent? By display? Not sure), thus producing clumps of Magenta without fine gradients (Compare my second channel mixer hue wheel with my second color balance hue wheel, for example. Still some Magenta OOG in the second channel mixer version me thinks). Someone can correct me if I’m wrong.

1 Like