darktable
darktable copied to clipboard
Convert Color Lookup Table to unbounded RGB and/or a scene-referred friendly colour adjustment module
Is your feature request related to a problem? Please describe. There is currently no dedicated linear RGB scene-referred colour correction module that focuses on adjustments to hue, saturation and lightness (that I know of). Color Zones works in display-referred space and Color Lookup Table currently works in LAB display-referred space. Both of these modules need to be handled carefully to avoid artifacts. Work on the proposed Color EQ module from PR #12082 seems to have been abandoned. Color Calibration and the new Primaries module are focused on the primary RGB channels and not always suitable for precise HSL adjustments to non-primary colours.
Color Zones is a nice tool to tweak colour later in the pipeline, but there seems to be a desire from users (I have no hard numbers but just a general feeling from users on Pixls, Facebook, YouTube, etc.) to have a module that plays nicely with the scene-referred workflow and has "traditional" controls of hue, saturation and lightness sliders. I say traditional, because the major commercial raw editors all have a similar HSL tool. It is a standard tool for most image editors.
Rather than create a whole new module, is it feasible to convert the current Color Lookup Table module to unbounded RGB, scene-referred, or to otherwise make it more robust in the scene-referred workflow? The module has a very nice interface and it has all the controls in one panel rather than needing to switch tabs to get to other controls.
Describe the solution you'd like The main change to the module would be changing the colour space it works in to RGB (or other non-LAB space that makes sense) and making it more robust within the scene-referred pipeline. Comments from users suggest that the module tends to be ignored because it can only be used for very small adjustments in a scene-referred workflow. It is now an old module that could do with being updated for the latest versions and vision of darktable.
Regarding the module interface, perhaps not much needs to be changed. Users can pick one of the colour swatches or create their own by selecting a hue in their image and shift-clicking a swatch to replace it. The sliders below the swatches can remain the same, except the green-magenta and blue-yellow offset sliders should be replaced if it is no longer in LAB space. Perhaps a single hue slider would work. For familiarity, the sliders could be ordered Hue, Saturation, Lightness in that order from top to bottom.
Other than that, perhaps the name could be changed because "lookup table" refers to one of its specific functions, which has been largely replaced by the LUT 3D module. Its current name might lead some people to overlook it.
Alternatives PR #12082 for the Color EQ module would have been an alternative idea but work seems to have ceased on it. It also suffers from the same issue as Color Zones in that users need to use multiple tabs to access all controls. If it is ever made and implemented, this feature request would probably no longer be needed. Color Zones has an interface that some love and some hate. The controls are spread out over multiple tabs and it uses nodes and curves for adjustments rather than sliders. It works in display-referred space. Color Calibration is for more global adjustments and works on the RGB primaries. The channel mixer is a tool that many people find difficult to use. RGB Primaries is more of an alternative to channel mixer, working on the RGB primary colours. There are no controls for lightness in this module. Finally, Color Balance RGB has hue controls but masks need to be used to isolate hues. This means that multiple instances of the module with multiple masks will need to be created to work on multiple hues. This can become very cumbersome.
Additional context Boris Hajdukovic (s7habo on Pixls.us) is an influential darktable mentor and color adjustment specialist. He likes to work in scene-referred space where possible and has said that he avoids Color Zones for this reason. His input might be valuable for this feature request.
Unbounded RGB would require a rewrite of major portions of both the interface code and pixel-processing code for the module.
Unbounded RGB would require a rewrite of major portions of both the interface code and pixel-processing code for the module.
Also, I don't think it is trivial to even define LUTs for and unbounded space, the extrapolation needed can go wrong in soo many ways.
What about bounded RGB or converting the controls to HSL instead of LAB? Could the module be converted to a different colour space so it's easier to use and better suited to the current version of darktable? In its current state, minute adjustments have massive changes on the image, and artifacting occurs very quickly. I'm just wondering if it can be at least made more robust with its colour handling.
This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.
Work on the proposed Color EQ module from PR https://github.com/darktable-org/darktable/pull/12082 seems to have been abandoned.
It's under way again: #15926
This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.