darktable icon indicating copy to clipboard operation
darktable copied to clipboard

Add color harmony guides to CIELUV (u*v*) vectorscope

Open Donatzsky opened this issue 2 years ago • 6 comments

According to this Pixls thread, the RYB color wheel is "wrong and outdated", and the color harmony guides in the vectorscope are effectively useless.

However, the CIELUV (u*v*) vectorscope does behave correctly, in terms of color harmonies, so it would make sense to also have the guides there.

Donatzsky avatar Dec 10 '23 16:12 Donatzsky

It could be important to discuss a consensus before someone is willing to write actual codes. Do we want to just add the harmony guide to CIELUV? Or should harmony guide be applied to all similar scopes? Now it is Jzazbz, and what if we have CAM16-UCS or any other modern color models in the future?

HSUfineprint avatar Dec 11 '23 02:12 HSUfineprint

For the harmony guides to make any sense, it's important that complementary colors are actually opposite of each other in the vectorscope and that the primaries are evenly spread on the periphery. As long as that is the case, I don't see any UX reason why there can't be guides for any given color model. JzAzBz is a bit dodgy here, so unless there's a good reason to prefer it over CIELuv, I don't think it would be useful to have the guides there.

Donatzsky avatar Dec 11 '23 20:12 Donatzsky

I am not sure about this. Color harmony is art, not science. I believe what we as humans find pleasing and harmonious is more the result of our aesthetic education than a law of physics. Just like for composition rules, rule of thirds or whatever else Moreover, if we look at what we see around when coming to color harmonies, for example Adobe Color Wheel or Paletton, they are clearly closer to RYB than RGB, see below.

immagine

Which of course doesn't mean other vectorscope layouts are not correct or not useful. They are just for different purposes. Just my 2 cents

Mark-64 avatar Dec 11 '23 21:12 Mark-64

I'm not saying don't put put the harmony guide in CIELUV. I'm saying we should consider every color model's (vectorscope) possibility and outcomes. Should we have harmony guide in all vectorsopes?

RYB scope harmony guide for legacy usage. Modern color model harmony guide for more accuracy usage. Evenly spreading of color hue, chroma and lightness is one of the main goals for developing color models. Considering CIELUV did not have best performance in hue consistency and chroma prediction. Many modern models are developed. It's reasonable to bring all vectorscopes into the discussion. My point of view is we need to discuss the guideline for presenting harmony guides in darktable, not just a CIELUV feature.

HSUfineprint avatar Dec 12 '23 02:12 HSUfineprint

Should we have harmony guide in all vectorsopes?

As I said, as long as a given vectorscope (current or future ones) is reasonably well-behaved, I see no reason why harmony guides can't be added to it. Then it's for the user to decide if it's actually useful to them.

And in any case, if support is added to CIELuv now, the smart thing to do would be to ensure that the code is properly decoupled, so that future scopes can be supported easily if wanted.

Donatzsky avatar Dec 12 '23 21:12 Donatzsky

Bruce Williams recently did a video on this feature, and there's a really interesting comment by ronfrancis6012.

Quoting:

Anyway, colour harmony should be based on light, not pigment, so RGB should be used instead. The idea being, the complementary to red is cyan, so if you want to add a colour to 'balance the red", cyan will add the other colours of the spectrum, leaving your eye not wanting to see another colour as the whole spectrum is present. These are called optical complements.

Donatzsky avatar Dec 20 '23 16:12 Donatzsky

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

github-actions[bot] avatar Feb 19 '24 00:02 github-actions[bot]