Let me start by saying I haven't been following any development builds
of GIMP or GEGL, so I may have some false presumptions and I certainly
lack some information. That aside, I'd like to ask some broader
questions about color spaces.
Firstly, some background: the HSY color space appears to be much
better than HSL, at least for some color operations. The package
"PhotoPNMTools" operate in HSY mode and produce very nice output on
their page of sample images. I'm not sure how the operation "Increase
saturation 4x" is performed in GIMP, but when I use the Hue-Saturation
tool and set Saturation to "100" four times the result is far worse
than what is displayed on the sample images page (using GIMP 2.6.8).
[ PhotoPNMTools: http://www.13thmonkey.org/~boris/photopnmtools/ ]
[ Sample Images:
Using the PhotoPNMTools and the flower image, I've set the saturation
to 4000 (on a scale of 0..1) and it still looks better than GIMP's
output. I've also set the saturation to '2' four times in series.
There is a difference between these two images (the saturation at 2
four times and at 4000) but the distorted parts of the image remain
fairly consistent, so the algorithm appears to produce very stable
Next, Windows Vista uses something called the Windows Color System,
which uses CIECAM02 LMS space, ratified in 2008. I don't see any
tools that work in this space for comparison with HSY, but it seems to
be clear that there are a lot of different models of how colors can be
displayed and manipulated.
[ http://en.wikipedia.org/wiki/CIECAM02 ]
My observations, now, are that the layer blend modes chose a color
space based on some semi-abritrary criteria, and that this information
isn't immediately obvious to the end user. Secondly, tools such as
Hue-Saturation are fixed to the HLS color model.
My thoughts are that this is too limiting, and I'd like to know what
you think about the following:
#1: Add additional color spaces to the color manipulation tools
(HSV/HSL/HSY/RGB/Lab/LMS/CMYK/etc/etc), where appropriate.
#2: Allow a tool configuration layer to appear as a node in a GEGL graph.
#3: Remove the concept of explicit layer blend modes.
So what we end up with is something like the following:
- + Layer Group 1
- - Layer Group 2
- - - Top Image
- - : Saturation Tool in HSY-space @40%
- - - Bottom Image
- + Layer Group 3
This is probably a very poor example and I'm sure I'm abusing some
terminology, but I hope you get the gist of what I'm saying. "Layer
Group 2" is an image-tool-image sandwich, which in current GIMP would
be two images with a layer blend mode of "Saturation". But this way,
instead of a fixed mode, we have something far more configurable.
Unlike a layer mode it's not a fixed thing, so it should also be
relatively future-proof as new modes or color spaces simply become new
options for this tool layer.
I expect some people will want to know what this "tool layer" looks
like, and I'm thinking it would be something like a simple gray mask,
but I'm more interested what people think about the concept at this
Gimp-developer mailing list