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

Working profile = sRGB
Monitor profile = RTv2_sRGB
Output Profile = RTv2_sRGB

Curve:

red%20curve

RGB values before vs after (targeting a blue sky):

R: 26,7 -----> 42,7
G: 50,6 -----> 63,5
B: 84,3 -----> 97,6

EDIT: my bad, luminosity mode must impact on all the 3 channels.

Matteo, I think it should be done in non-Luminosity mode. Because in that mode I for sure get changes in all 3 channels.

I did something similar in non-luminosity blending mode, donā€™t compare the values with the previous post:

R: 27,1 -----> 63,9
G: 51,0 -----> 45,5
B: 85,1 -----> 78,4

Closer, but they do change.

EDIT: if you want to see the .pp3
20180811_Koblenz_516_Boppard_Innenstadt.DNG.pp3 (12,2 KB)

The raw file is found in this thread.

Canā€™t confirm:

without R curve

with R curve

Is there a fix across 5.5.70 (my version) and 5.5.77 (your version) ?

I wouldnā€™t exclude thatā€¦

I also observe that the camera input profile matters a lot. In my night photo, working profile ProPhoto with ā€œno profileā€ clips the reds to black when viewing R channel, while showing red values of e.g. 16%. In ā€œcamera standardā€ it is not clipped at all. And when I select my Fuji X-T3 dcp file, it clips red to black in the vicinity of a strong light source emitting mostly green and blue. So it gets a bit confusing for me to use the color picker as well.

Yes, with extreme colors the camera profile really sets the stage for downstream shenanigans. I have a special profile for extreme blue.

Reading your posts, I think you probably need to do some research into the color management mechanism in whole. Youā€™re seeing interesting things as you change profiles, and showing some wonder about why. I went through the same angst recently, and it wasnā€™t until I wrapped my head around the whole camera->working->display/output color thing that I realized the goofiness on my screen wasnā€™t necessarily about the proximate toolā€¦

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