rebooting color balance

We are in a perceptual color space, black does exist, even if its existence is accessory to some luminance threshold defining the lower bound of human dynamic range. So the lines actually converge to 0 == black in this framework.

The saturation vector is not defined step-wise, it’s only defined when we initiate the displacement. Of course, for small displacements, it doesn’t change a thing. But it is a translation, still, and not a rotation.

There are 2 reasons why I didn’t chose a pure rotation:

  • the color change wasn’t consistent and big enough (remember we are not building a Color Adaptation Model, where we try to preserve some perceptual properties 1:1 while adapting others, we simply want an easy way to change the color palette),
  • pure rotation would require twice as many cos/sin evaluations, it’s a bit slower.
1 Like

Sure, I’ll try (and I’m probably going to make mistakes).

The three primary colors of a monitor each have a spectral emission characteristic. By opening up the ‘light valve’ for ONE color and letting more light through, the spectral characterstic of it’s emission does not change, just it’s intensity. So even at very low values, the color coordinate in the CIE1931xyY chart does not change for the primaries. The primaries form a triangle within that chart. Mixing those primaries allows accessibility for color within that triangle. ‘Black’ only means infinitely low (practically just ‘low’) emission of those three primary lights. If you pass on to the monitor 1,0,0 on a 0-255 range, you turn up the red chromaticity emission, adding light with the red primary color. Because of limited bit precision you cannot represent any other color between achromatic and ‘red-primary’ at those emission intensities (maybe with temporal dithering but that’s another topic).

The primaries are mathematically orthogonal and that’s the reason they are often plotted like those three primaries span a cube from a corner. This corner is often labelled ‘black’. In the above plot, we slice through that virtual cube. At the top is the opposing corner of that cube which is tentatively labelled ‘white’ sometimes. In a CIE1931 chromaticity chart, that color-volume would be plotted as a prism. The JzCzHz color volume is probably best plotted as a cylinder (maybe not, someone can correct me!).

I’m not really sure this answer helps. It should at least show that it’s a complex topic with many ways of plotting what’s going on. Every plot style has advantages and disadvantages. In the munsell chart from the Munsell Book of color, those lines of uniform HSB saturation are not extended to 0 probably because of that, it would imply things to the uninitiated user that does not necessarily lead to ‘correct’ conclusions. But it’s absolutely common practive to plot it like this. There’s a lot of nuance.

Addendum:

Aha! See, it’s good that you chimed in. I was too hung up in physical space.

2 Likes

Don’t forget the Munsell book is printed, and as such, bounded to the technical limitations of reflective paints & pigments, so the darkest black they could paint would still be far from the lower bound of the human dynamic range.

1 Like

True. I’m still waiting for vanta-black infused inks for printing to tackle that problem! But that’s going OT.

I like this one; it’s pretty clear.

What’s the reason for not drawing the 2-D patches from -1 to +1?

seems to be a really cool module

Darktable’s documentation is a gem. Not just for using Darktable itself. Thank you for putting a lot of effort and thought into it.

4 Likes

Gamut escape in sRGB around the corners, meaning the patches will take a hue shift because of gamut clipping, which will make the whole thing more difficult to understand (given that the hue is supposed to be constant).

Actually, some brilliance bars already exhibits slight gamut clipping at their highest values (see the beige/coffee one).

1 Like

I just published a small webapp :

It’s basically the Munsell book of color, but for sRGB gamut, painted within JzAzBz. There is a toolbar on each graph that allows you to change the background color to see how it affects perception.

9 Likes

Makes sense – thanks for explaining.

Thanks for the explanations and the charts.

I’ll take a look…one key is that you should be able the describe in words when showing a point a and b on a diagram what the difference is and how would you move the module controls to affect that change would be even better
…so eg patch b or point b is wrt patch a or point a. If you can’t verbalize the diagram to explain what it is supposed to show or summarize then it need a modified…looking forward to checking it out

1 Like

Nice work the manual section looks nice and is clear. I know the links at the end of the section are footnoted but these seem strange sitting there with the link text only. They do link back up to the right term above but it might be simple and clear to add the names to the terms that the links refer to for definitions so there is no need to hop up and down the document… perhaps @elstoc can comment…

1 Like

@priort I’m not 100% sure what you’re suggesting. Are you saying they would be better as standard links? e.g.

The colorfulness of an area judged in proportion to its brightness. (see 17-22-073 | CIE)

or if the footnotes said

CIE definition of saturation: 17-22-073 | CIE

They do just seem to be references to the sources of the definitions, rather than links to more information, so IMO the second solution is more appropriate here.

+1 vote for your “second solution”.

2 Likes

Done

Ya for sure the second…….sorry to be cryptic…

Just as a heads-up to the group, I submitted an issue with backtraces and a follow-up to Github reporting instances where darktable crashes on my Windows 10 machine when using the Color Balance RGB module. It’s happened during edit and export after invoking the mask tab, even if I’ve made no changes to the roll-off sliders. I can edit and export successfully if I don’t invoke the mask tab.

It would appear the problem might have to do with the GUI mask implementation, as the problem occurs with 3.5+1620 and does not happen with my earlier version 3.5+1460 (which does not have this feature).

Hi Chris,
Just to be clear, I am replying with feedback and suggestions about the draft Darktable manual page darktable-org.github.io/dtdocs/special-topics/color-management/color-dimensions/

  1. Don’t shoot me if I appear to be saying rude things - trust me I am just trying to be helpful
  2. Don’t shoot me if my suggestions are inaccurate - I come from a very mathematical background, but I’m just an amateur in photography and colour science.
  3. I’ve read a lot of online sources about colour dimension, and many of them are just confusing - blurring key information - hopefully the DT community can get the clarity required for non-colour scientists to get the best out of the new modules!
  4. If my suggestions/corrections are way off base compared to the content you want to put in the manual, just ignore - I won’t be offended in any way!!

OK

Intro Para 1: bit of a jawbreaker to read, even the word “perceptual” really needs explanation/definition

Page title is Color Dimensions and “dimension” is already a technical term that could benefit from an explanation for the layman. It looks like you are using dimension as synonymous with property - is that what you intend?

I think the key point is that the space of perceivable colours is 3 dimensional, and that there are various possible choices of basis for the space.

I recommend something like this for Para 1:

“This section defines the perceptual properties of color, in other words the properties of colors as seen by human eyes and interpreted in the brain. The properties are described in terms of the concepts they relate to, and also the way they are quantified/measured in darktable so that users can make corrective adjustments and creative colour choices.”

Section 2 Definitions Para 1:

“Color properties like “saturation”, “brightness” or “lightness” are part of common usage but often misused and mean different things to different people. In color science, each of these terms has a precise meaning.”

Para 2 of definitions use the phrase scene-linear without definition- but really you are just emphasising the difference between physiological and psychological. I think you might even go further and describe the physiological approach as “older” or “earlier”.

How about this:

"There are two main frameworks within which color properties may be analyzed and described:

  • An older, physiological, framework that mostly focuses on the response of the retina cone cells, using color spaces such as CIE XYZ 1931 or CIE LMS 2006, ADD YOUR FAVOURITE REFERENCE LINKS

  • A more modern perceptual, psychological, framework that takes account of the brain’s corrections on top of the retina signal, using color spaces such as CIE Lab 1976, CIE Luv 1976, CIE CAM 2016 and JzAzBz (2017). ADD YOUR FAVOURITE REFERENCE LINKS

These frameworks analyse the colors that humans can see in terms of a three dimensional space, so we need three independent dimensions/components to describe the space and allow us to change some properties of a given color while preserving others unchanged.

The following seven dimensions of color are used by darktable:"

Personally I would drop the final para as it begs too many questions.

Section 3 Illustrations

I think the first diagram needs more explanation. Probably best to move the bottom chart to the top so that its clear what the axes are.
When I first read this, I spent 5 mins trying to guess the axes of the first row of diagrams and how the square diagram relates to the 5 colour strips below, before I scrolled down to see the 10th diag which sort of explains it.

Also, it might help to say where these colour squares come from in the colour space and why these slices were chosen - maybe a view of the 3d colour space??

Section 3 Illustrations Para 2 : “(Lightness + Chroma) or (Brilliance/Brightness + Saturation) . …”
To get mathematical for a moment: There is only one linear vector space under discussion, but we are choosing different orthogonal bases to describe/parametrize its vectors. Its not easy to talk consistently about vector spaces and linear transformations without using the word basis, but that level of technicality will turn off half the audience.

The diagram showing lightness, brilliance, saturation and chroma looks good, but its difficult to interpret how it relates to the diagram above.

Clearly they are all 2D slices through the 3D colour space but now we have rotated through 45 degrees, flipped the lightness axis and also rotated to show cyan and green opposing colours. Maybe a view of the 3-D colour space showing the slice ? (I know its not easy to magic up these diagrams, but I did struggle here)

Section 3 Illustrations Para 3 : “The lines of equal chroma”…

I have to go make some dinner - but let me know if this is useful and I will send some more.

Aliks

"

4 Likes

I won’t shoot you. I just did a basic copy-edit, but prepare for some in-depth comments from @aurelienpierre

1 Like