Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.75k stars 313 forks source link

Oklab Implementation? #6304

Open mutusmurum opened 3 years ago

mutusmurum commented 3 years ago

I really love that RT implemented CAM02 a long time ago. I use it a lot. Since CAM02 development though, there has been improvements on the color adaptation area (both in perceptual quality and simplicity of implementation). One of those is Oklab, explained in this blog post by the author: https://bottosson.github.io/posts/oklab/

Differently from the CAM02, Oklab implementation seems quite straightforward. Reference implementation was made in python, but also on other languages: https://bottosson.github.io/posts/oklab/#oklab-implementations https://github.com/nschloe/colorio/blob/main/src/colorio/cs/_oklab.py https://github.com/colour-science/colour/blob/develop/colour/models/oklab.py

I currently don't have enough knowledge in this area to make a PoC for RT, but I think this would be a good improvement over CAM02. Just an idea, perhaps in the future.

Thanks you all for this amazing software.

Thanatomanic commented 3 years ago

@mutusmurum I knew about Oklab (and similarly the Jzazbz color space) but so far I have not yet found a usecase where it provides a real improvement over the currently available tools. These are the L*a*b* Adjustments module ('simple' Lab), Color Appearance & Lighting and submodules in Local Adjustments (both CIECAM02/16). If I understand correctly, Oklab is not a fully fledged Color Appearance Model, but an optimized 'simple' matrix color space. Replacing CIECAM02/16 in its entirety is therefore out of the question.

The main question I have: How would you like to use Oklab in RawTherapee?