Bug 385845 - Add Film-like curve adjustment to keep constant hue during curves adjustment
Summary: Add Film-like curve adjustment to keep constant hue during curves adjustment
Status: CONFIRMED
Alias: None
Product: krita
Classification: Applications
Component: Filter Layers (show other bugs)
Version: 3.3.1
Platform: Other All
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-17 08:00 UTC by Alex
Modified: 2022-01-06 11:30 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex 2017-10-17 08:00:21 UTC
During regular curves adjustment hues are shifted especially blues and yellows. This problem can be solved using Film-like curve originally created by Adobe:

(So how does actually Adobe’s tone curve work? It’s an RGB curve where the tone curve is applied on the largest and smallest value, and then the middle value is adapted to keep a constant hue as defined by RGB-HSL/HSV. In terms of look and saturation increase it’s very similar to a pure RGB curve, more so than a HSL-L curve or HSV-V curve, but some color shift problems are avoided.)
from: https://www.ludd.ltu.se/~torger/dcamprof.html#tone_curves

This feature is implemented in RawTherapee and currently in Natron. It also fits Krita where linear workflow is used for painting. With this curve type hue shifts can be avoided during final curves adjustment using adjustment layers.
http://rawpedia.rawtherapee.com/Exposure#Film-Like

Additional reading:
http://scribble-jpc.blogspot.com/2012/09/in-search-of-perfect-color-new-tone.html

Source (AdobeToneCurve)
https://github.com/Beep6581/RawTherapee/blob/dev/rtengine/curves.h
https://github.com/Beep6581/RawTherapee/blob/dev/rtengine/curves.cc

Sidenote: there are also more curve types available inside source that can be implemented along adobe type.
Comment 2 Alex 2022-01-06 11:30:36 UTC
Now, after 5.0, maybe there's chance to include this into roadmap?