Re: [Gimp-developer] Soft proofing and the GIMP Display Filters and Color Management settings
- From: Elle Stone <ellestone ninedegreesbelow com>
- To: Gimp-developer <gimp-developer-list gnome org>
- Subject: Re: [Gimp-developer] Soft proofing and the GIMP Display Filters and Color Management settings
- Date: Sun, 16 Mar 2014 17:22:52 -0400
On 03/14/2014 10:34 AM, Øyvind Kolås wrote:
On Fri, Mar 14, 2014 at 2:21 PM, Elle Stone
<ellestone ninedegreesbelow com> wrote:
But a
patch to LCMS for more than four inks is surely possible.
The code *experiment* linked to has nothing to do with ink limiting;
what I linked to is rather naive additive and subtractive color mixing
in a 20 band spectral color space, a little bit like how physics
works. But yes; as I noted it doesn't take into account subsurface
scattering and other things that ICC profiles try to encompass
indirectly.
My apologies. Clearly I didn't read the code carefully enough.
The reason for that softproofing experiment is hunting for ways to
deal with CMYK as a subset of the ink-plate printing/spot-color
problem. Is it is easy to create and dynamically update/replace ICC
profiles programattically using LCMS/agryll for a combination of inks
coming from a couple of pantone colors (and yes, I'll include
metallics and reflective transparent again); on a custom fabric
choice. Like perhaps simulating the printing of silver, black and
reflective transparent on top of black fabric.
That's a question for the ArgyllCMS mailing list. People on that list
profile all kinds of very odd things for specialized print reproduction,
including rock specimens, tile samples, and oil paints. I doubt any of
them would describe the process as "easy".
I've spent more time writing emails about this code; than writing -
and playing with it. It would've been nice if you had had time to come
to LGM.
Time is one thing. Family responsibilities are another. Sometimes there
are conflicts. We all do the best we can.
See
https://mail.gnome.org/archives/gimp-developer-list/2012-August/msg00084.html
for an older writeup I did on the topic of GEGL and color.
I read your writeup several times over when you first posted it and also
recently. But I'm not sure I understand it. Below is a summary of what I
think your writeup means in terms of an image-editing workflow using GIMP:
1. When a user opens an image:
a. If there isn't an embedded ICC profile, sRGB is assigned. The
user has the option to assign a different ICC profile.
b. If there is an embedded ICC profile, to cover cases where the
embedded ICC profile is incorrect, the user has the option to assign a
different ICC profile.
2. Once the initial ICC profile assignment is taken care of:
a. The image precision is promoted to 32-bit floating point
R'G'B'A (32-bit floating point gamma).
b. The image is converted to the regular sRGB color space.
c. As the conversion is done using LCMS2 unbounded mode, no colors
are clipped during the conversion. Instead, out-of-gamut colors are
expressed using RGB values such that one or more of R, G, and B are less
than 0 and/or greater than 1.
3. Although the image really is in the regular sRGB color space, all
editing is done in a linear light version of the sRGB color space, which
ensures that colors blend correctly:
a. If certain layer blending operations look wrong when blended
using the 32-bit floating point *gamma* precision, the user can opt to
use 32-bit floating point *linear* precision (32-bit floating point RGBA).
b. Some operations (for example painting with a brush and Gaussian
blur) are always done using linear light, regardless of whether the
image is converted to linear or to gamma floating point precision.
4. BABL has functions for converting sRGB to LAB, HSV, CMY, etc, for use
in decomposing and composing. Also, babl/gegl/gimp all have functions
for calculating the luminance of an sRGB image.
Compose/decompose/calculating luminance are all done to/from/in linear
light sRGB.
5. When linear light sRGB is required for an operation:
a. Certain BABL functions "undo" the regular sRGB TRC to create
linear light sRGB.
b. The required editing operations are performed.
c. The image is returned to the regular sRGB color space.
These "to/from linear light" BABL functions include four functions in
/babl/babl/base/util.h: linear_to_gamma_2_2, gamma_2_2_to_linear,
babl_linear_to_gamma_2_2, and babl_gamma_2_2_to_linear.
6. Before exporting the edited image, the user can convert the image to
the desired bit depth and ICC color space profile.
7. At present ICC profile conversions are handled by GIMP, but in the
future they will be handled by GEGL. A start on GEGL color management is
found in "gegl/operations/external/lcms-from-profile.c".
Does my description of the anticipated workflow cohere with what you've
described? Did I get parts/all of it wrong?
Elle
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]