Curve with Independent RGB channels?

Hello.

If I’m understanding correctly, darktable has rgb curve and tone curve modules. The former lets me have linked or independent RGB channel curves, the latter lets me have linked RGB channels as well as linked and independent LAB channels.

Why not add independent RGB channels mode to the tone curve module and have one module fewer? Is that planned?

Or am I missing something more fundamental?

Thank you

I am not a developer so I defer to their answer when they respond. But the placement of these modules within the pipeline reveals that rgb curve is a scene referred module placed before the tone mapping modules. And tone curve is a display referred module placed after the tone mappers.

I use both modules. I mainly use rgb curve to do small color corrections. I mainly use tone curve for specific adjustments that will not upset what has been done in the tone mapper.

Also as you have pointed out they work in different color spaces of rgb or LAB. I can’t see it being merged into one module.

RGB Curve works in scene-referred space (“unbounded” pixel values) whereas Tone Curve works after tone mapping and is in “display referred” space. I think RGB Curve got left behind when scene referred was introduced. It is a seriously flawed module because it’s still bounded and it generally doesn’t allow you to manipulate the bright parts of your image. You adjust the curve and it’s then extrapolated into the brightest parts with no actual control. I’ve suggested fixing it because I like tone curves but there is no enthusiasm for this and there are other modules you can use such as Tone Equalizer to do a comparable function. I doubt there’d be enthusiasm to amend Tone Curve, it’s display referred and seen as obsolete by many I think. though I think it’s quite nice for making final (minor) tweaks to an edit. However if you use AgX, then you have this functionality built into the Look controls (but not per channel).

Hi Andrew. Is this a typo. Are you referring to RGB curve being bound or did you mean to type tone curve?

According to the manual, Tone Curve operates in Lab colour space.
darktable user manual - tone curve Note that the module works in Lab color space in all cases.

This is a big difference to RGB curve, which says This module works in ProPhoto RGB.
And that’s actually a surprise to me, I would assume it would be RGB working profile.
I think RGB curve is closer to Base Curve. Tone curve manual page says Base Curve works in camera RGB space. Not sure if that’s specifying the working colour profile.

No, not a typo, but maybe not as clear as it could have been.
My understanding is RGB Curve only allows the lower part of the value range to be edited by placing control points. The top range of values isn’t shown by the graph but is influenced by what the curve is doing . I think/hope that’s correct.

1 Like

I think for the legacy workflow this might be true as there the basecurve I believe is placed before the input profile however if you use the basecurve now and are not using that legacy workflow then it sits in the same place as the other tonemappers so its a sort of hybrid approach with the base curve now…

Recall this issue about RGB Curve got a good airing here -

Yes, the difference is very fundamental. You can read more about that here:

I’m honestly not sure why Tone Curve hasn’t been deprecated. It mostly just seems to exist to confuse new users.

It provides a curve atfer the tone mapper which may be helpful with some edits.

Now that there are options in other modules to target what part of the luminance range a module targets, perhaps RGB curves could be updated with that option. It would give a lot of control in a form that many photographers are used to using.

Curves before tone mapper can also be an extreme powerful tool

1 Like

Indeed, so let’s promote making RGB Curves work properly, i.e. on the whole range. You could say how useful you find curves before tone mapper here -

1 Like

Seems to me that you could just move RGB Curve in that case. Does Tone Curve provide any real benefits in comparison?

I just gave this a quick try and it’s not misbehaving after AgX, and the whole histogram seems to be displayed. This seems consistent with the module being focused on the display-referred range.

Maybe yes and maybe no. I guess I occasionally use tone curve similar to how I was trained to use curves in Photoshop or GIMP. Being after the tone mapper means the tone mapper adjustments are not affected. But like with so many adjustments in DT there is more than one way to achieve similar and we all have our preferred ways. Occasionally I also use it for its lab adjustment capabilities.

When I teach DT to students I don’t teach them about tone curve because it is a rare use case for me.

I am glad my original post started an interesting discussion.

I love the ability to be able to manipulate the LAB channels with the tone curve module. For me, it’s a must to keep this option.

2 Likes

Do you have some examples of how you use it?

Yes, here’s one example: Great Tit, bright sky and unatural green - #36 by lkzk