Re: Three questions about opening an image and converting it to linear light RGB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following is the planned color workflow, as I understand it.

On Wed, Apr 2, 2014 at 9:31 AM, Elle Stone
<ellestone@xxxxxxxxxxxxxxxxxxxx> wrote:
> Please bear with me while I ask some questions. I'm trying to clarify
> something that I might be completely confused about. The point of the first
> two questions is to be able to ask the third question. If I'm confused about
> the answers to the first two questions, what I'm asking about in the third
> question won't be possible.
>
>
> First question:
>
> The phrase "linear light RGB" is used a lot. When the topic is
> BABL/GEGL/GIMP, does "linear light RGB" mean Pippin's extended sRGB color
> space defined by the sRGB primaries and the linear gamma tone reproduction
> curve?

Typically, yes. linear light RGB could potentially refer to other
color spaces, but when you hear it in a babl/gegl context, this is
almost always what we mean.

> Second question:
>
> Is Pippin's extended sRGB/BABL's "linear light RGB" the same as LCMS's
> unbounded mode sRGB?
>
> In other words, are BABL's "linear light RGB" and LCMS's "unbounded mode
> linear gamma sRGB" two ways of describing the same thing, namely, after
> converting from some other color space to linear light RGB, otherwise out of
> gamut RGB values aren't clipped but rather carried along as RGB values that
> are less than 0.0 and/or greater than 1.0?

LCMS's unbounded mode can work with a variety of different color
profiles, so we construct an icc profile that's the same as babl's
linear light RGB when we do conversions.

That's the goal of create_lcms_linear_rgb_profile in
https://git.gnome.org/browse/gegl/tree/operations/external/lcms-from-profile.c?id=944719a8ca2ad957f02c4a4bc0eca66c4e7dde7a#n60

Ideally, out of gamut values should not be clipped, but I'm not
entirely sure if that works that way right now. We should have that
working by 2.10.

> Background for the third question:
>
> Right now when using GIMP from git, it's possible to open an image in, for
> example, the ProPhotoRGB color space, and edit the image while keeping it in
> the ProPhotoRGB color space. There's no automatic behind-the-scenes
> conversion to unbounded mode sRGB/extended sRGB/linear light RGB.
>
> I've been assuming that before 2.10 is released this behavior will change.
> My understanding is that in the future:
>
> 1. The user will open an image with GIMP and maker sure the right ICC
> profile has been assigned.
>
> 2. Before actual image editing can begin, the image will be converted to
> extended sRGB/linear light RGB "behind the scenes" without the user
> necessarily even knowing that this has happened, though a little
> warning/user education/notes in the GIMP documentation might explain the
> sudden appearance of negative RGB values and/or RGB values that are greater
> than 1.0.

We will need a way for users to change the incoming icc profile on
import, just in case it has the wrong embedded profile. There will be
some level of user awareness, but I don't know how much.

> 3. All subsequent image editing will be done in the extended sRGB/linear
> light RGB color space.

Yes. To clarify this point: Users will have the ability to choose to
edit in different bitdepths and (probably) also the option between
editing with the layers stored as a linear or a perceptual (sRGB TRC)
color space (which only really affects the way layer modes work, along
with things that depend on layer modes like painting).

Also, gegl operations can request to do their work in different color
spaces, so depending on the operation being performed, the editing may
actually happen in other color spaces. This is transparent to the
user.

> 4. Upon exporting the image to disk, the use will be able to convert the
> image from extended sRGB/linear light RGB to their chosen ICC profile. They
> won't be forced to export an sRGB image to disk.
>
> I asked almost the same question in a previous email
> (http://gimp.1065349.n5.nabble.com/Soft-proofing-and-the-GIMP-Display-Filters-and-Color-Management-settings-td42139i20.html).
> But Pippin made a distinction between "pipeline" and "workflow", and I'm not
> sure what the distinction might be in practice. So I'm asking again as
> explicitly as possible:
>
> Will the image be converted to extended sRGB before image editing can begin?

Yes.

> Will the user see out of gamut (that is, out of the sRGB color space's
> gamut) RGB values expressed as RGB values that are less than 0.0 and/or
> greater than 1.0?

Yes. There is one complication: Users have the ability to choose to
edit in different bitdepths, so the integer bitdepths will be clipped.

> Here's the third question:
>
> If what I just wrote is an accurate description of the way GIMP will
> eventually work, can the future workflow can be tested *now* by:
>
> 1.Promoting the non-sRGB image to 32-bit floating point
>
> 2. Doing an ICC profile conversion *from* whatever ICC profile color space
> it might be in (perhaps ProPhotoRGB), *to* the GIMP built-in sRGB profile
>
> 3. Editing the image as desired
>
> 4. Doing an ICC profile conversion *from* the GIMP built-in sRGB profile
> *to* the desired output ICC profile (perhaps again ProPhotoRGB) and then
> exporting it to disk.

This is roughly correct. You need to be careful though, because if you
do the icc profile corrections in the wrong image mode (linear vs
perceptual), or you use the wrong builtin RGB profile (linear vs
perceptual), you can easily end up with a gamma of ~2.2 or ~1/2.2
applied to your image on accident (It's really the sRGB TRC, not a
gamma of 2.2, if you want to be technically correct). Once we change
gimp's UI for the new color workflow, this should be much easier to do
properly.

You definitely have the main idea of what's going on, although there
are a few small complications that I've pointed out. I hope this
helps.

  -- drawoc
_______________________________________________
gimp-developer-list mailing list
List address:    gimp-developer-list@xxxxxxxxx
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list




[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux