New Primaries module

A few days ago, trying to get my head around the channel mixer,
(I never managed it), I asked here for something simpler. It seems my wish was granted.
Thank you.

4 Likes

I have a very stupid question… so when ignoring the soft limits and pushing the hue slider at some point the display jumps to black then white I think. Is this the math or is this a display preview thing… I tried to think of what I was seeing but it was early this morning and I was playing with a couple of colorwheels and and NEF colorchart file…

Just stupid but curious??? Thx :slight_smile:

EDIT. I just downloaded the nightly and tested on my work PC…different display driver here… The response was more clear cut. I think when the setting drives the pixels out of gamut it goes black. It does go black and then come back and then go black again as you keep scrolling…these are extreme settings mind you ie greater than 100 degree rotations… but the interesting thing was my PC at home showed a different pattern of the vectorscope so I am thinking that PC which has a calibrated monitor has a profile that is interacting the data that is going to the histogram profile and hence what I see on the vector scope. I will try to do at test across the range of the sliders on both PC and with the profile set to srgb and rec2020 to see how they behave…

Could you please provide an XMP that reproduces the black issue? Specifics of the two systems would be also helpful (especially which GPU / driver).

Ya I will attempt to do something better than my casual observations

@flannelhead and all the devellopers team
Congratulations on this module. I really like its ease of use, I can use it without reading the manual.
Many thanks, A simple and efficient module :clap: :clap: :clap:
Christian

5 Likes

Here is the xmp… around -120 or +120 as you use the scroll wheel it will jump to black and then back the next rotation of the scroll wheel. If you move the purity slider one tick the color comes back… Its extreme and not something you would likely do as things seem out of gamut at that point but maybe it points a small math thing… also when you right-click the slider and select a negative value it jumps to the positive one initially and the reverse…

XT30hSLI00100NR1.RAF.xmp (20.3 KB)

Window 10 for this one and older 745 Nvidia card but my machine at home was much newer and I think I saw something similar… just quick messing around… as I said I will try to be systematic at home later and maybe its just a case of pushing things to weird extremes…

Is that Bill’s weekly or another build?

Thanks.

1 Like

Not Bills, got it here: Releases · darktable-org/darktable · GitHub
I expect it’s obvious to people who know github but I was unaware of it until someone kindly showed me!

1 Like

Thank you for the example. I think I have a clue why this happens, but will have to analyze deeper and think if a safeguard can be added without crippling legitimate use cases. As far as my current understanding goes, things like this can happen when the whitepoint no longer lies within the triangle formed by the primaries in the xy chromaticity diagram.

Don’t know what Lightroom’s “camera calibration” does under the hood, but definitely the interface seems similar. I’d guess it’s also fairly similar processing.

3 Likes

I literally was just messing around this morning for 10 min while I had a quick coffee so I thought I would pull up the vectorscope and mark a patch on the image and then start watching how it moved and how the other colors were impacted when I moved sliders… On my PC at home the yellow patch moved as if rotating and then circled in towards the center. I didn’t seem to drive it out of bounds like I did here on my pc at work… so I need to go back and check… That is why I was wondering if my display profile was somehow getting in the way… I will also check that…

1 Like

Finally played around with this today. A nice addition, fun module! Certainly easier to grasp than channel mixer. Worth to compare ‘normal’ blend mode with ‘chromaticity’.

I’m wondering if it might be better to increase the soft limits from 20 to 45? 20 allows a change from blue to teal, whereas 45 allows a change from blue to cyan. For achieving results close to reality 20 is good, but more creatively, to achieve certain harmonies when colours need to be pushed a little further, 45 would help. I haven’t played around enough to know what a standard adjustment would be, and it no doubt depends upon subject matter and taste, its just that on the first picture I played with I needed to set one of the hues to 40 to achieve a harmony.

1 Like

Generally yes, because it can adjust saturation etc, but if it is only about the RGB matrix part (channel mixing proper), then my understanding is that the two modules have exactly the same degrees of freedom.

The reasoning is this: the primaries module has 8 sliders, while the 3x3 RGB matrix has 9 entries, but if we consider exposure a normalization (eg that one would not use an c\cdot I_3 matrix to adjust exposure and exposure only), then it has 8 degrees of freedom (+ exposure).

Hello,

Looking at the photos of the Sigmoid project https://github.com/darktable-org/darktable/pull/15104 , I can’t wait to test it and see what happens :wink:
Will the “primaries” also make it possible to recover details in the highlights with the new version of Sigmoid ?
Greetings from Brussels,
Christian

I think for the most part this is a color tool but you might be able to tweak it in such a way to give a perceptual bump I don’t think your making a big correction to offset the detail loss from compression

Thanks for the suggestion. I’ll keep this in mind. Luckily this is something that can be changed without breaking old edits. I’ll see what kind of feedback is given by others.

Personally I would use this module mainly for rather small, delicate adjustments. There a narrower soft range makes sense.

Indirectly there might be an effect on the highlight details, but it’s not the primary goal. Anyway, the new settings will reduce clipping / posterization in some cases of bright highlights, so that might bring back some detail (e.g. images like this one). But there’s no sort of explicit “detail recovery” done.

1 Like

Would “RGB Primaries” work as the name? I think that gives more of a clue what the module is about than just “Primaries”.

Something else I wanted to mention is that I’m glad this is using percentages for the purity sliders. I know it is a somewhat different approach to the channel mixer, but one big gripe I have with the channel mixer is that it uses values from -2.000 to +2.000. While that may be accurate and make sense from a technical perspective, it’s not user friendly when you are trying to maintain a value of 1.000 in each channel and therefore doing quick math in your head to compensate for a slider adjustment.

My mental arithmetic isn’t too bad, but it’s certainly not good enough to instantly work out what value my input G should be when my input B has gone down to -0.063 and my input R has gone up to +1.095. I’m sure most people just move the sliders to get a pleasing result, but sometimes I want to be more precise. In this respect, I can imagine this new primaries module will be a lot easier to use.

2 Likes

it’s already merged with exact that name :wink:

2 Likes

OK, great! Well, carry on everyone, I’m 2 steps behind obviously :slight_smile:

1 Like

For those who may not have discovered it yet, Boris (@s7habo) has included an introduction to the new RGB Primaries module and its use as part of his Ep. 75 - Color harmonies part 4, from 34:07.

5 Likes

I have just had a play with the new module in the Windows weekly build. It certainly seems much easier to use than the channel mixer. However, I’m not sure I’ve fully understood the functionality of the module based on my testing.

My initial understanding of the module was that it is a way to affect the red channel, green channel and blue channel independently. But this is obviously not the case because the red, green and blue sliders have a global effect on the image, i.e. all colours are affected by each slider.

So, can someone please clarify why changing the red hue, for example, also changes green and blue hues in the image? What balance is the module always trying to achieve and why?