RGB curves - Why does adjusting the G curve also result in a change in R and B channels?

You are very right about that. I admit I have zero experience in color management. I just did not expect the need to go through this for using this tool properly.
If I have sRGB selected as working profile, most things are solved for me. I noticed the “No profile” and “Camera standard” then also look identical.

Since you went through it already, could you point us to any good resource ? :slight_smile:
In other pixel editors manipulating one channel does not affect the others.
But it is also true I can’t try editing in ProPhoto there because it is not supported.

Disable ciecam02.

thank you @heckflosse, another thing to consider !


Summa summarum: if the working profile and the output profile don’t match, don’t assume the RGB values to be independent.

Hmm, I posted a missive about the overall mechanics somewhere recently, but not in this thread. I’ll try to find it. In my travails, I haven’t found a description that doesn’t devolve into color theory. Not that it shouldn’t, but the mechanics tend to get lost in all that.

Now, I really don’t know RawTherapee that well, but I’ve seen some indication in this thread that ‘Luminosity’ was selected. Well, in any underlying mechanics, anything I know to be luminosity affects all three channels. Thing is, I don’t know what it means to select a single channel for the curve, but also have luminosity selected. The two together don’t make fundamental sense…

I wrote my own software, which includes a curve tool where an individual channel can be selected. I know for a fact it doesn’t touch the other channels when a particular one is selected. :smile:

Now, I just opened my RawTherapee AppImage, went to the Color Management module, and found that I do have ProPhoto in my working profile list…

Cripes, can’t find it. Well, here goes again…

Firstly, there are two essential bits of metadata that should follow an image from its capture all the way into any depiction: 1) the color primaries and whitepoint that represent its color space, and 2) the tone curve that took the data from its original linearly related values to something else. There are folks that’ll debate #2, but since all we have to do this with are ICC profiles, I’ll let my assertion hold…

Now, when an image is captured by a camera, it’s done so on a sensor that has a specific spectral response. This information is captured in the camera profile, which might reside in a humungous table in the raw converter software, or in a separate profile. Either way, that information needs to be assigned to the image from the gitgo.

Raw processing as an outcome means different things to different people, but one of the essential activities is to convert the image from the camera profile to some ‘regular’ profile. This could be sRGB, but in our circles is usually a ‘larger’ profile like ProPhoto or Rec2020, for working. Hence, ‘working profile’. Edits are done…

Finally, for a depiction of the image, a conversion from the working profile to a profile appropriate to the depiction is warranted.

  • For display, this will be a conversion to the display profile. A good raw processor won’t let you look at the image in the working color space, unless you specifically force it to. :smiley:
  • For saving to a file, sRGB was until recently a ‘least common denominator’, as one had to assume the image viewer didn’t know squat about a display profile and was just going to throw the pixels upon the screen as-is. Now, high-gamut displays require further consideration, toward AdobeRGB-sized gamuts and such.
  • A printer should have its own calibrated profile for this purpose, like a display. However, some printing shops won’t mess with that and just tell you to output to a certain profile and they’ll deal with it, or not and tell you just to save to sRGB.

Thing is, all of these cases are about picking an output profile appropriate to the image depiction’s destination.

That’s how the basic mechanics should work. Note that I bolded the words assign and convert, there’s a fundamental difference in each. that needs to be respected. Generally, the only appropriate use for just assigning a profile is at the beginning, to establish the “chain of color” for the rest of the workflow. All other changes are conversions.

It’s rather difficult sometimes to tease these essentials from the literature, as the discussions rapidly descend into the ins and outs of the PCS, tristimulus, and all sorts of head-hurting things. My personal experience is that, once I understood the essentials of the color management flow described above, the technical details started to make sense…

2 Likes

Is this what the DCP profile does in RawTherapee in the color management settings?

Hello @ggbutcher, thanks a lot for the detailed post.
To me the general approch is quite clear now.

What I still don’t get is the reason why the choice of the output profile should impact the rendering on screen. From the color management section in Raw Pedia:

The G & B channels are left untouched when R is modified only if the working profile matches the output profile:

sRGB —> RT_sRGB
Adobe RGB —> RT_Medium
ProPhoto —> RT_Large

Based on what I quoted above this should not happen.
What is it that I am missing here ?

NOTE: this time I am sure not to have enabled “fancy” features (like CIECAM02) or having misclicked somewhere (… luminosity mode in RGB curves module is OFF).

Ah, now I’m not specifically familiar with RT’s logic, but here’s what generically is probably happening:

  1. As you work on your image, that work is applied to an internal copy that conforms to the working profile. What you see on the screen is (or should be) converted from that profile to the display profile.

  2. When you save to, say, a TIFF, that “Output Profile” setting is used to convert the working image from the working profile to the output profile, and that output profile is then embedded in the file to follow the image that conforms to it.

Now, if you regard the histogram of your image prior to saving it, I think in RT you’re looking at a histogram of the internal working image. If you then save the image to TIFF with a different output profile, RT’s colorspace conversion will change all three channels to conform to the output profile. If you open that TIFF in some program that doesn’t use an internal working profile, you’ll probably be looking at a histogram based on the raw TIFF image, which will be different. Or, if you open the TIFF in a program that does convert to a different internal working profile, the histogram will be different.

I don’t know the RT particulars, but I’d surmise the difference you’re seeing is due to the colorspace conversions, not the per-channel curve. Keep in mind that the color management system is supposed to maintain a consistent image perceptually, but the actual RGB values needed to do that will change as the image works its way through the gonkulator…

It has to happen. It’s simple math.
Let me ask: what do you expect as R value in sRGB output profile when you use ProPhoto RGB as working profile and use this R curve?

grafik

I expect it to be 50 %

The part of the quote I was referring to is: the effects the output profile has on the image cannot be seen in the preview.

Does this not mean that any change happens at the moment of export (output profile) and not on the screen (preview) ?

I appreciate your patience by the way @heckflosse :slight_smile:
I admit my ignorance: I might be completely out of track, but I’d like to understand it once for all.

It’s 50% in working space (e.g. ProPhoto), but ~61.2% in sRGB output space if working space is ProPhoto.

1 Like

They happen on the screen as well, but the screen profile can be different to the output profile. For simplification I refered to output profile.

This solves the question :wink:

Thanks, I see it is all about re-mapping the RGB coordinates in different color spaces.

1 Like

Exactly! :bulb:

@heckflosse, I forgot to point out that part of my confusion came from the behaviour of the lockable color picker: it allegedly works using the rendered histogram which, in turn, is influenced by a button you mentioned earlier:

grafik

“If enabled, the working profile is used for rendering the main histogram and the navigator panel, otherwise the gamma-corrected output profile is used.”

I feel the pieces of the puzzle fall into place now.
Hopefully this helps other folks too !

1 Like

We should describe this better in Rawpedia and also in the tooltip. The tooltip doesnt mention the color pickers atm. That’s indeed confusing.

@heckflosse what changes do you propose to RawPedia?

I can not find the scene (screenshot) you posted on my darktable interface. Could you help?