It takes a little bit of getting used to but once you do it is very powerful.
I have a couple of suggestions:
For each source/target pair it would be nice to have a switch to lock the source color in place. For example if I want to protect skin tones I have to enter the same color in the source and target color selectors, which is a bit fiddly. Unfortunately this will clutter the UI, so it might make it less usable in the end!
I think it would be good for the user entered keypoints have priority over the ‘lock uniform sampling’ points. If I lock the RGB corners and then I want to adjust one or two corners I have to make points very close to the corners and adjust them. It was a little confusing to try to adjust pure white and nothing happened.
Also, if you are not busy (huh!) an interactive version where you click the image and then can manipulate the color of the selected point in the CLUT would be amazing.
Edit: Just had a play with this on a color checker chart. The results look okay.
I also thought about an interactive version. For example as it is in “ICC3D” (Interactive Color Correction in 3 Dimensions). It is not FOSS, but I point to it as an example.
It is a computer program from The Norwegian Colour and Visual Computing Laboratory, Department of Computer Science and Media Technology, NTNU in Gjøvik. With this software you can visualise images in different 3D color spaces and interactive manipulate this color space. The Java software is at start a bit difficult to understand. After you load an image, you have to click on “View 3D” in the image-window. Then you will see a representation from this image in LAB color space. But you can also use other color spaces.
The representation is Quantized with “points”. You can interactive manipulate this points. Add the module “Image gamut” to alter the Quantization.
I could not find a user manual for this software. So you have to experiment. But maybe this can be an example for the manipulation of points in a CLUT.
Honestly, coding an interactive 3d clut manipulation is not in my plans It’s a really big amount of work.
But, I’m preparing some advanced 3D CLUT preview for the filter, this should be enough I think.
@David_Tschumperle, Maybe I am asking too much, please then forgive me. The science for this awesome stuff is realy beyond my knowledge. Despite my lack of expertise, new ideas are popping up continuously in my mind.
Now you can replace source colors with target colors. Then there is interpolation with “3d solidify”. Is that correct?
Would it be possible to replace a sourcepart of the color spectrum with a targetpart of the color spectrum?
@iarga, no problem, any idea is good to take. As long as I’ve the choice to choose which idea seems doable in a fairly quick time
I’m not sure I understand your concern. The interpolation makes actually a lot of more or less wide range of colors changing to another range of colors, so it already matches one RGB region with another one.
I think I understand it a little bit. With 8 keypoints this range is wider then with more keypoints. Also you can change the keypoint influence.
To make my question more clear: “Is there another way to have influence on the wideness of this range of colors changing to another range of colors?” I would like to have the possibility to change the wideness of this range, for each color seperately.
edit: So I am asking to have more influence on this interpolation for seperate source colors and target colors.
From what I see when playing with the filter, it is really interesting to add several keypoints in the ‘lock mode’ (thanks for that wonderful idea @Iain!) , close to the color you’ve changed, to limit the range of a transformation for a single color.
For instance, I’ve been able to change only the background color on this example, while keeping the skin mostly unchanged :
You understand me exactly. But I am a little bit lazy. So instead of several keypoints, I thought about one range you could set with sliders. So you could choose a start point and end point on a slider. A little bit like setting a range in LightZone (there you choose a color and set a range for light values) or like “Rotate Colours” in GIMP, altough the last isn’t with sliders but with two clocks, because of the continuity of the color spectrum.
“My” sliders would definitely clutter the whole UI.
Now I’m in the LUT mode too. I’ve googled a little bit about LUT tables and found this tool. It has some really nice tools, perhaps someone is interested in copying them.