RSS/Atom feed Twitter
Site is read-only, email is disabled

GIMP useability - choosing linear vs perceptually uniform RGB

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

36 of 36 messages available
Toggle history

Please log in to manage your subscriptions.

GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 19 Apr 10:44
  GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 29 Apr 11:55
   GIMP useability - choosing linear vs perceptually uniform RGB Joao S. O. Bueno 29 Apr 19:57
    GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 30 Apr 21:40
     GIMP useability - choosing linear vs perceptually uniform RGB Michael Schumacher 30 Apr 21:43
     GIMP useability - choosing linear vs perceptually uniform RGB Gez 01 May 02:00
      GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 01 May 09:40
       GIMP useability - choosing linear vs perceptually uniform RGB Gez 01 May 20:47
        GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 01 May 22:03
         GIMP useability - choosing linear vs perceptually uniform RGB Gez 01 May 23:03
          GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 02 May 10:09
           GIMP useability - choosing linear vs perceptually uniform RGB Gez 02 May 14:21
            GIMP useability - choosing linear vs perceptually uniform RGB Robert Krawitz 02 May 15:18
             GIMP useability - choosing linear vs perceptually uniform RGB Gez 02 May 15:53
            GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 02 May 16:40
             GIMP useability - choosing linear vs perceptually uniform RGB Gez 03 May 05:34
              GIMP useability - choosing linear vs perceptually uniform RGB Robert Krawitz 03 May 17:32
               GIMP useability - choosing linear vs perceptually uniform RGB C R 03 May 23:41
                GIMP useability - choosing linear vs perceptually uniform RGB C R 03 May 23:53
               GIMP useability - choosing linear vs perceptually uniform RGB Gez 03 May 23:55
                GIMP useability - choosing linear vs perceptually uniform RGB C R 04 May 00:18
      GIMP useability - choosing linear vs perceptually uniform RGB Douglas Ray 01 May 12:46
       GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 01 May 14:55
      GIMP useability - choosing linear vs perceptually uniform RGB Ofnuts 01 May 13:25
       GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 01 May 15:26
    GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 02 May 11:28
     GIMP useability - choosing linear vs perceptually uniform RGB Michael Schumacher 02 May 13:00
      GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 02 May 13:45
       GIMP useability - choosing linear vs perceptually uniform RGB Øyvind Kolås 02 May 18:44
        GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 02 May 19:12
         GIMP useability - choosing linear vs perceptually uniform RGB Øyvind Kolås 02 May 19:39
          GIMP useability - choosing linear vs perceptually uniform RGB Elle Stone 02 May 20:41
     GIMP needs a new color management person Elle Stone 02 May 23:21
      GIMP needs a new color management person A. da Mek 05 May 07:09
      GIMP needs a new color management person Alexandre Prokoudine 05 May 08:03
      An apology (was Re: GIMP needs a new color management person) Elle Stone 28 Sep 10:47
Elle Stone
2015-04-19 10:44:25 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

The single biggest useability issue with GIMP 2.9 is the mechanism for allowing the user to switch between linear and perceptually uniform RGB.

In the current UI, the user has no way to know whether any given editing operation is performed on linear or perceptually uniform RGB. For most operations there are four possibilities for the user to try:

1. Switch to linear precision and don't use the gamma hack. 2. Switch to linear precision and use the gamma hack. 3. Switch to "gamma" precision and don't use the gamma hack. 4. Switch to "gamma" precision and use the gamma hack.

I realize the above situation is supposed to be temporary. However, given the current UI, the only way the user can know what's happening to her RGB data is to:

1. Compile a version of GIMP with the babl flips disabled and have two versions of an image open, one in regular sRGB and one in linear gamma sRGB. 2. Perform the editing operation in the version of GIMP with the babl flips disabled on both the regular and the linear gamma version of the image.
3. Compare results to what happens in default GIMP when editing the regular sRGB image, by systematically trying all four combinations listed above.

The suggestion was made on IRC that it doesn't matter to the user what's happening to the RGB data because the user can see what the image looks like on the screen and if s/he doesn't like the result, s/he can do something else. This view on image editing is just plain wrong.

A person who is new to image editing might be content to just push sliders around and "see what happens". But there is a difference in the editing needs of slider-pushing beginners (everyone starts out as a slider pusher) and people who have sufficiently mastered the art of image editing to know what they want to accomplish and how to make it happen.

People who use advanced workflows with previsualized editing goals need to be able to control whether any given editing operation happens on linear or perceptually uniform RGB.

In PhotoShop, switching between linear and perceptually uniform RGB required doing an actual ICC profile conversion, which is quite time-consuming once the image has more than a couple layers.

Converting between linear and gamma precision in GIMP is just as slow and a good deal less predictable from the user's point of view. At least in PhotoShop, once you convert to linear RGB, you know all operations are performed on linear RGB, and the same for converting to perceptually uniform RGB. But you don't have that kind of assurance in GIMP - rather you are left to guess what's happening to your RGB data.

The babl flips ought to make it possible for GIMP users to instantly flip between linear and perceptually uniform RGB, at the *user's* own discretion. Such fundamentally important editing decisions should not be dictated by developers who can't possibly know the user's particular artistic or technical goals.

The current UI for selecting whether an operation is done on linear or perceptually uniform RGB works isn't useable for anyone except a slider pusher. Here's a suggestion for improving the situation:

1. Eliminate the "(linear)" and "(gamma)" options in the "Image/Precision" menu.

2. Double the number of layer blend options, so that the user can choose whether each layer blend mode should be done using perceptually uniform or linear RGB. Deal with the increased number of layer blend modes by allowing the user to "collapse" the less-used blend modes and expand the more-used blend modes, as Krita does.

3. For all editing operations, in the UI include a check box so the user can select whether the operation is done on linear or perceptually uniform RGB.

4. Have the technically correct option preselected. For example, for Gaussian blur, "linear RGB" would be preselected. And for adding RGB noise, "perceptually uniform RGB" would be preselected. And so on.

Best, Elle

Elle Stone
2015-04-29 11:55:16 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 04/19/2015 06:44 AM, Elle Stone wrote:

The single biggest useability issue with GIMP 2.9 is the mechanism for allowing the user to switch between linear and perceptually uniform RGB.

On 04/19/2015 03:40 PM, Liam R. E. Quin wrote: > In the meantime in my own workflow the lack of "repeat last filter > used" is a much bigger usability issue than anything to do with gamma > or clipping. So phrases like "everyone" and "the biggest usability > problen" don't carry as much weight as specific use cases, I think.

I will guess that most current GIMP users, just like most current PhotoShop users, don't have any notion of whether any given RGB operation should be done on linear vs perceptually uniform RGB. They rely on what they see on the screen, and they are used to seeing wrong results.

Anyone who understands and intends to take advantage of high bit depth linear gamma image editing needs *control* over whether an operation is done using linear or perceptually uniform RGB:

* The user shouldn't have to guess whether the RGB values have been linearized or not.

* The user shouldn't be forced to rely on the developer's "decisions from afar" regarding whether any given RGB operation should be done using linear or perceptually uniform RGB.

* The GIMP UI should provide easy user choice for all RGB editing operations, with good default settings. For example the default for gaussian blur should be linear RGB and the default for adding RGB noise should be perceptually uniform RGB. But the user needs the ability to *easily* make the other choice.

Back when I used PhotoShop for linear gamma image editing I encountered three useability issues, which apparently still exist in the latest version of PhotoShop:

1. PhotoShop couldn't display a true linear gamma image without causing posterization in the shadows, at least until the image was zoomed in to nearly 100%.

2. PhotoShop Curves and Levels provided far too few tonal steps in the shadows to allow good control over edits made in linear gamma color spaces.

3. Switching between linear gamma and perceptually uniform RGB required doing an ICC profile conversion.

GIMP 2.9 from git used to have (but doesn't any longer have) the first two problems (well, there seems to be some kind of problem with Curves/Levels shadow adjustments, but it's not related to having too few tonal steps).

The babl flips are a brilliant solution to the third problem. But the current User Interface for switching between linear gamma and perceptually uniform RGB is a useability nightmare.

Currently the only way a use could know how to get an operation to operate on linear vs perceptually uniform RGB is if someone supplied a table that includes all operations, with a column for how to get linear RGB and another column for how to get perceptually uniform RGB. For examples of how very inconsistent the current UI is, see this table: http://ninedegreesbelow.com/photography/users-guide-to-high-bit-depth-gimp.html#linear-or-perceptual-table. The table explains how to get selected operations to work on linear RGB.

Best, Elle

Joao S. O. Bueno
2015-04-29 19:57:36 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

Hi Elle -

Seeing your e-mail give the same kind of "and what can I do about it" feeling I have when talking to Americo (he should also be reading this mailing list by now).

There are obvious lots of improvements that _could_ be done so that GIMP would be a killer application.
What you do on the high-depth, color management field, Americo is doing on the painting tools/dynamics/presets area.

The problem is: currently there is not enough colaborator time to put these suggestions together. There are barely collaborator resources to read in full what you and Americo write (though the later have been writing mostly to me in private due to language barriers) .

So, I hope that with the previous e-mail you could get to a good summary of what would be needed for GIMP not only to be vaibale, but to surpass current photoshop U.I. when dealing with these issues . I hope so.

Now help us think on the next steps. For example get that e-mail worked into a feasible specification: If you can, refine it, then maybe try to get someone with UI expertise that could fine tune that your suggestions into specifications that could be really great - now we don't have Peter helping the project anymore. (could be someone from your area, to whom you could get face to face meetings) - (I'd rather have another switch along the layer modes than to duplicate all layer modes in the UI, for example) -

And then...help use having more people who could help with development. :-)

At least I can see the suggested features as great. And I can't think of a way to even begin takling them without an enormous amount of weekly hours to dedicate to it (or Americo's issues for the matter)

Best regards,

js -> wrote:

On 04/19/2015 06:44 AM, Elle Stone wrote:

The single biggest useability issue with GIMP 2.9 is the mechanism for allowing the user to switch between linear and perceptually uniform RGB.

On 04/19/2015 03:40 PM, Liam R. E. Quin wrote:

In the meantime in my own workflow the lack of "repeat last filter used" is a much bigger usability issue than anything to do with gamma or clipping. So phrases like "everyone" and "the biggest usability problen" don't carry as much weight as specific use cases, I think.

I will guess that most current GIMP users, just like most current PhotoShop users, don't have any notion of whether any given RGB operation should be done on linear vs perceptually uniform RGB. They rely on what they see on the screen, and they are used to seeing wrong results.

Anyone who understands and intends to take advantage of high bit depth linear gamma image editing needs *control* over whether an operation is done using linear or perceptually uniform RGB:

* The user shouldn't have to guess whether the RGB values have been linearized or not.

* The user shouldn't be forced to rely on the developer's "decisions from afar" regarding whether any given RGB operation should be done using linear or perceptually uniform RGB.

* The GIMP UI should provide easy user choice for all RGB editing operations, with good default settings. For example the default for gaussian blur should be linear RGB and the default for adding RGB noise should be perceptually uniform RGB. But the user needs the ability to *easily* make the other choice.

Back when I used PhotoShop for linear gamma image editing I encountered three useability issues, which apparently still exist in the latest version of PhotoShop:

1. PhotoShop couldn't display a true linear gamma image without causing posterization in the shadows, at least until the image was zoomed in to nearly 100%.

2. PhotoShop Curves and Levels provided far too few tonal steps in the shadows to allow good control over edits made in linear gamma color spaces.

3. Switching between linear gamma and perceptually uniform RGB required doing an ICC profile conversion.

GIMP 2.9 from git used to have (but doesn't any longer have) the first two problems (well, there seems to be some kind of problem with Curves/Levels shadow adjustments, but it's not related to having too few tonal steps).

The babl flips are a brilliant solution to the third problem. But the current User Interface for switching between linear gamma and perceptually uniform RGB is a useability nightmare.

Currently the only way a use could know how to get an operation to operate on linear vs perceptually uniform RGB is if someone supplied a table that includes all operations, with a column for how to get linear RGB and another column for how to get perceptually uniform RGB. For examples of how very inconsistent the current UI is, see this table: http://ninedegreesbelow.com/photography/users-guide-to-high-bit-depth-gimp.html#linear-or-perceptual-table. The table explains how to get selected operations to work on linear RGB.

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

Elle Stone
2015-04-30 21:40:27 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 04/29/2015 03:57 PM, Joao S. O. Bueno wrote:

Now help us think on the next steps. For example get that e-mail worked into a feasible specification: If you can, refine it, then maybe try to get someone with UI expertise that could fine tune that your suggestions into specifications that could be really great - now we don't have Peter helping the project anymore. (could be someone from your area, to whom you could get face to face meetings)

- (I'd rather have another switch along the layer modes than

to duplicate all layer modes in the UI, for example) -

This link has three screenshots illustrating a proposed UI for allowing the user to easily choose between linear and perceptually uniform RGB and to know at a glance whether s/he's using the default set by the developers:

http://ninedegreesbelow.com/bug-reports/gimp-linear-perceptual-rgb.html

Is what's shown in the screenshots feasible in terms of linking the operations to the proposed UI?

What are specifications?

Best, Elle

Michael Schumacher
2015-04-30 21:43:17 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 04/30/2015 11:40 PM, Elle Stone wrote:

What are specifications?

Something that describes how features are supposed to work when they are implemented.

For examples have a look at the Save & Export and Single Window Mode specifications:

* http://gui.gimp.org/index.php/Save_%2B_export_specification

* http://gui.gimp.org/index.php/Single-window_mode_specification

Regards,
Michael
GPG: 96A8 B38A 728A 577D 724D 60E5 F855 53EC B36D 4CDD
Gez
2015-05-01 02:00:08 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

El jue, 30-04-2015 a las 17:40 -0400, Elle Stone escribió:

On 04/29/2015 03:57 PM, Joao S. O. Bueno wrote:

Now help us think on the next steps. For example get that e-mail worked into a feasible specification: If you can, refine it, then maybe try to get someone with UI expertise that could fine tune that your suggestions into specifications that could be really great - now we don't have Peter helping the project anymore. (could be someone from your area, to whom you could get face to face meetings)

- (I'd rather have another switch along the layer modes than

to duplicate all layer modes in the UI, for example) -

This link has three screenshots illustrating a proposed UI for allowing the user to easily choose between linear and perceptually uniform RGB and to know at a glance whether s/he's using the default set by the developers:

http://ninedegreesbelow.com/bug-reports/gimp-linear-perceptual-rgb.html

Is what's shown in the screenshots feasible in terms of linking the operations to the proposed UI?

Hi Elle,
You know I'm with you regarding giving users more control over how operations are performed, but tossing buttons for toggling between linear and perceptual everywhere in the UI is not a proper solution. It would be extremely confusing, and people would start toggling them randomly without knowing what exactly they are for, and only a few people would benefit from it.
I think that allowing that would complicate the UI and the the tools themselves, as all of them should have both paths available. A better solution would probably have to wait until proper no-destructive editing is finally implemented, and operations are visualized as a stack/chain/whatever. I mean, instead of putting toggles on EVERYTHING, why not adding a tool that says "from this point, the following operation/s will be performed in linear/perceptual gamma"?
People used to node-based UIs will understand exactly what I mean. The difference would be that only users who need the toggle will add an operation that makes the switch when it's required. The UI will remain lean, without extra options that could potentially confuse less advanced users.

Gez.

Elle Stone
2015-05-01 09:40:56 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 04/30/2015 10:00 PM, Gez wrote:

I think that allowing that would complicate the UI and the the tools themselves, as all of them should have both paths available.

All the tools need to provide the user with the ability to choose linear or perceptual RGB at will, at the user's discretion. And the tools need to inform the user what's being used at any given point, for any given operation.

If having a less complicated UI is more desireable than giving the user the ability to choose whether any given instance of an operation is done using linear or perceptual RGB, then the babl flips should be permanently removed from babl.

A better solution would probably have to wait until proper no-destructive editing is finally implemented, and operations are visualized as a stack/chain/whatever.

And that will mean putting user control over what happens to their RGB data off for how long? how many years will GIMP users not be able to control what's done to their RGB data?

This is a color managment issue. It's fundamentally important. GIMP shouldn't make decisions like "use linear here and perceptual there", other than to offer the user good defaults.

I mean, instead of putting toggles on EVERYTHING, why not adding a tool that says "from this point, the following operation/s will be performed in linear/perceptual gamma"?

Because there is no "from this point" in RGB image editing. It is not the case that "until point X use linear RGB" and "after point Y use perceptual RGB" makes any sense. EVERYTHING NEEDS A TOGGLE. It's an operation by operation decision. The user has a right and the *need* to know and be able to control what's being done with the user's own RGB data.

GIMP should NOT make such decisions behind the user's back, forcing the user to use linear RGB in one place and perceptually uniform RGB in another place without so much as a by your leave. GIMP can't know the user's technical purposes. GIMP can't know the user's artistic intentions. Right now the babl flips are a hobble, not a help.

People used to node-based UIs will understand exactly what I mean. The difference would be that only users who need the toggle will add an operation that makes the switch when it's required. The UI will remain lean, without extra options that could potentially confuse less advanced users.

ALL users need the toggles. Not all users might want to take advantage of the toggles. That's what good default settings are for.

The GIMP UI already is complicated. Saying "let's not complicate it" is like shutting the barn door after the cows are already out. This is a place where GIMP MUST have complications because user control over their own data is at stake.

If not complicating the UI is a design goal for GIMP, well, you all have failed spectacularly.

Color management is complicated. GIMP should enable the user, not constrain the user. The babl flips should either be put 100% under the user's control, or else be removed from GIMP. If the toggles aren't your cup of tea, please find another way to give 100% control to the user. Or else get rid of the babl flips.

Best, Elle

Douglas Ray
2015-05-01 12:46:58 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 1/05/15 12:00 PM, Gez wrote:

El jue, 30-04-2015 a las 17:40 -0400, Elle Stone escribió:

On 04/29/2015 03:57 PM, Joao S. O. Bueno wrote:

Now help us think on the next steps. For example get that e-mail worked into a feasible specification: If you can, refine it, then maybe try to get someone with UI expertise that could fine tune that your suggestions into specifications that could be really great - now we don't have Peter helping the project anymore. (could be someone from your area, to whom you could get face to face meetings)

- (I'd rather have another switch along the layer modes than

to duplicate all layer modes in the UI, for example) -

This link has three screenshots illustrating a proposed UI for allowing the user to easily choose between linear and perceptually uniform RGB and to know at a glance whether s/he's using the default set by the developers:

http://ninedegreesbelow.com/bug-reports/gimp-linear-perceptual-rgb.html

Is what's shown in the screenshots feasible in terms of linking the operations to the proposed UI?

I like this solution.

I'd like it more if (in Elle's "sample editing operation", and "sample tool dialog"; not the layer stack) the "L" and "P" widgets had an adjoining text field which spelt out the current setting.

Implementing and maintaining this would be simpler if the widgets actually used were from existing widget classes (eg, the button / drop-down-menu visible as the "Brush" and "Dynamics" controls in Elle's "sample tool dialog"). Sorry - less pretty.

(That said, I mostly use GIMP for RGB -> CMYK. If controls were implemented with sufficient generality to graft in CMYK, sometime in my lifetime, that would be oh so dandy.)

Hi Elle,
You know I'm with you regarding giving users more control over how operations are performed, but tossing buttons for toggling between linear and perceptual everywhere in the UI is not a proper solution. It would be extremely confusing, and people would start toggling them randomly without knowing what exactly they are for, and only a few people would benefit from it.
I think that allowing that would complicate the UI and the the tools themselves, as all of them should have both paths available. A better solution would probably have to wait until proper no-destructive editing is finally implemented, and operations are visualized as a stack/chain/whatever.

Elle's right - waiting for non-destructive editing sounds like a recipe for never.

It would be better to implement these colourspace controls. If the n-d editing happens, possibly review colour management in the light of some real experience.

Douglas

I mean, instead of putting toggles on EVERYTHING, why not adding a tool that says "from this point, the following operation/s will be performed in linear/perceptual gamma"?
People used to node-based UIs will understand exactly what I mean. The difference would be that only users who need the toggle will add an operation that makes the switch when it's required. The UI will remain lean, without extra options that could potentially confuse less advanced users.

Gez.

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

Ofnuts
2015-05-01 13:25:11 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 01/05/15 04:00, Gez wrote:

Hi Elle,
You know I'm with you regarding giving users more control over how operations are performed, but tossing buttons for toggling between linear and perceptual everywhere in the UI is not a proper solution. It would be extremely confusing, and people would start toggling them randomly without knowing what exactly they are for, and only a few people would benefit from it.
I think that allowing that would complicate the UI and the the tools themselves, as all of them should have both paths available. A better solution would probably have to wait until proper no-destructive editing is finally implemented, and operations are visualized as a stack/chain/whatever. I mean, instead of putting toggles on EVERYTHING, why not adding a tool that says "from this point, the following operation/s will be performed in linear/perceptual gamma"?
People used to node-based UIs will understand exactly what I mean. The difference would be that only users who need the toggle will add an operation that makes the switch when it's required. The UI will remain lean, without extra options that could potentially confuse less advanced users.

It depends a bit what the workflow is. If users need to switch all tools at random between linear and perceptual, this will be complicated. But if you can categorize workflows into those that are always perceptual, those that are always linear, and those that are "let the tool choose what is more appropriate", then the only thing needed is a state indicator in the context, like "antialiasing" or "feather". Ah, but antialiasing and feather are in the individual tool options so we don't gain much... OTOH we start having a good excuse for a context dialog/widget, and isn't that exactly what the toolbox is already, with the color swashes and the brush/pattern/gradient display?

Elle Stone
2015-05-01 14:55:41 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/01/2015 08:46 AM, Douglas Ray wrote:

On 1/05/15 12:00 PM, Gez wrote:

El jue, 30-04-2015 a las 17:40 -0400, Elle Stone escribió:

http://ninedegreesbelow.com/bug-reports/gimp-linear-perceptual-rgb.html

Is what's shown in the screenshots feasible in terms of linking the operations to the proposed UI?

I like this solution.

I'd like it more if (in Elle's "sample editing operation", and "sample tool dialog"; not the layer stack) the "L" and "P" widgets had an adjoining text field which spelt out the current setting.

I like the idea of spelling out Linear and Perceptual, except of course not on Layers.

Implementing and maintaining this would be simpler if the widgets actually used were from existing widget classes (eg, the button / drop-down-menu visible as the "Brush" and "Dynamics" controls in Elle's "sample tool dialog"). Sorry - less pretty.

Reuseable code is good!

(That said, I mostly use GIMP for RGB -> CMYK. If controls were implemented with sufficient generality to graft in CMYK, sometime in my lifetime, that would be oh so dandy.)

Perusing old posts about using GIMP and putting aside the request for high bit depth editing as a done deal, this seems to be the number one user request for people considering switching to GIMP, right alongside better color management and non-destructive adjustment layers.

Best, Elle

Elle Stone
2015-05-01 15:26:08 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/01/2015 09:25 AM, Ofnuts wrote:

It depends a bit what the workflow is. If users need to switch all tools at random between linear and perceptual, this will be complicated.

Complicated or not, it really is needed.

But
if you can categorize workflows into those that are always perceptual, those that are always linear,

If you have already have in place a framework that allows the *user* to choose for all operations whether the operation should be done using linear or perceptually uniform RGB, then you can use this same framework to set up different presets for specific workflows.

This would be a great help to beginning GIMP users, especially as they tiptoe into editing HDR scene-referred images. And it would be a great convenience for advanced workflows, as long as the user always has the option to override the presets.

and those that are "let the tool choose what is more appropriate",

Display-referred editing doesn't mean "alway use perceptual", scene-referred editing doesn't mean "always use linear", and the tool itself doesn't dictate anything at all. It always depends on the user's intentions:

When doing scene-referred editing, linear gamma is required for many operations because light in the real world combines linearly (apparently in certain dispersal/scattering situations other considerations apply when emulating real world colors, but I might have misunderstood the discussion). But what about noise removal, which most of the time is best done on perceptually uniform RGB? Isn't noise removal part of scene-referred editing? The real world doesn't have noise speckles.

When drawing a gradient from red to green or from black to white, considerations of how light and color combine in the real world dictate "use linear RGB". But artistic considerations often dictate "use perceptual RGB".

Usually my conversions to black and white begin as radiometrically correct luminance conversions done in a linear gamma color space. But sometimes I convert an image to a color space with the lstar TRC (true perceptually uniform) before converting to "luminance" because I know the result will be closer to what I want for the particular image.

I use linear gamma editing a lot, not because someone told me it was radiometrically correct (though that is what caught my attention initially) but because I found that linear gamma editing OFTEN produces better results, judged according to my own artistic intentions.

Artistic considerations trump radiometric correctness, and for some operations there is no "radiometrically correct" way to perform the operation. "Scene-referred" isn't the end of image editing. It's just a stage along the way, and nothing says the artist always has to travel through scene-referred to get to the goal.

But most of the time the journey is quicker if the artist makes appropriate, *artist-dictated* use of linear gamma color spaces. Of course this means the artist needs to educate herself before she can make informed choices. Having good GIMP presets PLUS user ability to override the preset will make educating oneself much easier.

On 04/30/2015 10:00 PM, Gez wrote:

You know I'm with you regarding giving users more control over how operations are performed, but tossing buttons for toggling between linear and perceptual everywhere in the UI is not a proper solution. It would be extremely confusing, and people would start toggling them randomly without knowing what exactly they are for, and only a few people would benefit from it.

If GIMP users choose to randomly change presets just because they can, they are still learning something because they can see the resulting changes. Experimenting with the tools is part of mastering the craft.

Best, Elle

Gez
2015-05-01 20:47:26 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

El vie, 01-05-2015 a las 05:40 -0400, Elle Stone escribió:

This is a color managment issue. It's fundamentally important. GIMP shouldn't make decisions like "use linear here and perceptual there", other than to offer the user good defaults.

A color management issue? You're proposing to let users do whatever they want with the trc, no matter if it's right or wrong. That's a color management issue! How do you ensure correct results when the user can change that at will on every single operation performed? And how do you plan to let users keep track of the flips they intentionally added with a UI that is sequential and doesn't expose the pixel format resulting from each operation?

I mean, instead of putting toggles on EVERYTHING, why not adding a tool that says "from this point, the following operation/s will be performed in linear/perceptual gamma"?

Because there is no "from this point" in RGB image editing. It is not the case that "until point X use linear RGB" and "after point Y use perceptual RGB" makes any sense.

Yes there is.
Most of the tasks performed by a user on an image are sequential, specially with a UI like GIMP's.
Back when Peter Sikking was involved in GIMP UI, he proposed to implement non-destructive editing as a stack of operations. With a UI like that it would be really easy to visualize the gamma toggles I mention.
They would be extra operations overriding the pixel format requested by each operation, they would be optional and added on demand by users.

In a sense it's exactly the same you're asking, but implemented at a workflow level rather than plaging the UI with toogles for everything. It would be easier to visualize and follow too.

EVERYTHING NEEDS A TOGGLE. It's an operation by operation decision. The user has a right and the *need* to know and be able to control what's being done with the user's own RGB data.

GIMP should NOT make such decisions behind the user's back, forcing the user to use linear RGB in one place and perceptually uniform RGB in another place without so much as a by your leave. GIMP can't know the user's technical purposes. GIMP can't know the user's artistic intentions. Right now the babl flips are a hobble, not a help.

"EVERYTHING NEEDS A TOGGLE" is an all-caps overstatement. What's next? Toggles for associated or unassociated alpha on every single operation? And let's go further: If the artist wants to do something in a different color model "just because" the UI of *each tool* should reflect every possible caprice?
A program should provide correct results and provide tools for some creative deviations. That's not the same than saying that the program should provide whatever results any user wants regardless if they are technically correct or not.

You are proposing to add options to make operations deliberately give wrong results just because the user wants it. You want to completely take the decision of what's technically correct away from developers. If I remember correctly you criticized pippin because he wanted to do the same in the opposite end (make the program make all the decisions and assumptions, deny the users the freedom to choose).

As a user, I would like to see a program that makes both the right technical choices AND allows me some flexibility. That's usually a job for a good UI, and that's why it's critical that functions are designed with both techical correctness and user interaction in mind, from day 1.
Nodal interfaces allow a great degree of flexibility by keeping operations as single units that can be connected in different ways. Current GIMP's UI is sequential. One thing comes after another. Each operation (except layer blending) is sort of "modal". You do one thing at a time, and you can't go back in time without undoing what you've already done.
This means that any time you run an operation on pixels you'll get a dialog with the possibilities of that tool. The more possibilities the tool has, the more controls and more cluttered interface.
That's what I'm against. No sane and fast workflow can result from dialogs plagued by dozens of options. It's a problem that has to be dealt in a different way.

We don't need tools that allow every different possibility. We need different tools for every possibility. The tools should remain simple and correct, and if you need to do something crazy, there should be a tool to "bend" how things work.

Gez.

Elle Stone
2015-05-01 22:03:28 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/01/2015 04:47 PM, Gez wrote:

El vie, 01-05-2015 a las 05:40 -0400, Elle Stone escribió:

This is a color managment issue. It's fundamentally important. GIMP shouldn't make decisions like "use linear here and perceptual there", other than to offer the user good defaults.

A color management issue? You're proposing to let users do whatever they want with the trc,

Yes. I don't understand why this bothers you so much.

no matter if it's right or wrong.

There is no right or wrong with respect to whether any given editing operation is done using linear or perceptually uniform RGB. Right or wrong depend on what the user wants to accomplish. For example:

If the user wants to draw a gradient that drops off like real light drops off, the user should use linear RGB. Using perceptually uniform RGB would be a mistake.

If the user really wants a gradient drawn using perceptually uniform RGB because she needs the tonality to not drop so quickly from white to black, that's the user's call to make. The developers aren't sitting in the right place to make that kind of decision for the user.

Why do you want to put roadblocks in the user's way?

That's a color
management issue!

Yes, it really is a color management issue. In PhotoShop, if the user wants to perform operation X on linear RGB, the user must do an ICC profile conversion and convert the entire layer stack to a linear version of the RGB working space. And when the user wants to perform operation Y on perceptually uniform RGB, the user must convert the layer stack back to the perceptually uniform version of the RGB working space.

The babl flips *could* make it possible for the user to easily choose linear vs perceptually uniform RGB without having to use an ICC profile conversion to convert the entire layer stack back and forth between linear and perceptually uniform RGB.

With GIMP right now, the user has no choice in whether linear or perceptually uniform RGB is used. Or rather choice is via the gamma hacks and precision changes, which leaves the user to play a guessing game about what's happening to the data. With GIMP as currently programmed, the user can't even resort to the PhotoShop option of converting the layer stack, because the babl flips presume the sRGB TRC.

How do you ensure correct results when the user can change that at will on every single operation performed?

It's the user's job to make the right decisions regarding how to edit the user's image. It really isn't a developer responsibility.

If the default is linear RGB, and the default is clearly indicated, and the user chooses to perform the edit on perceptually uniform RGB instead (or vice versa), why should GIMP stand in the user's way?

My apologies, I didn't understand some of the rest of your email, and some of it seemed to cover already covered territory.

Elle

Gez
2015-05-01 23:03:12 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

El vie, 01-05-2015 a las 18:03 -0400, Elle Stone escribió:

On 05/01/2015 04:47 PM, Gez wrote:

El vie, 01-05-2015 a las 05:40 -0400, Elle Stone escribió:

This is a color managment issue. It's fundamentally important. GIMP shouldn't make decisions like "use linear here and perceptual there", other than to offer the user good defaults.

A color management issue? You're proposing to let users do whatever they want with the trc,

Yes. I don't understand why this bothers you so much.

Because I'd expect better answers than "just because". The tool should provide a reasonable range of tools and possibilities to allow people do things.
And "let me do whatever I want with X" is not reasonable. If you don't provide solid reasons backing why you would need some behavior, don't expect the developers to implement it. It's like asking the makers of a word processor to allow editing the page upside down or mirrored and replying "because the program should let me do whatever I want" when they ask you "why".

no matter if it's right or wrong.

There is no right or wrong with respect to whether any given editing operation is done using linear or perceptually uniform RGB. Right or wrong depend on what the user wants to accomplish. For example:

If the user wants to draw a gradient that drops off like real light drops off, the user should use linear RGB. Using perceptually uniform RGB would be a mistake.

If the user really wants a gradient drawn using perceptually uniform RGB because she needs the tonality to not drop so quickly from white to black, that's the user's call to make. The developers aren't sitting in the right place to make that kind of decision for the user.

Why do you want to put roadblocks in the user's way?

There are certainly rights and wrongs when using a tool. If the tool is designed to work some way and you don't respect that, you're doing it wrong.
Try taking a hammer upside-down and hammer nails with the handle. That's wrong.

You chose one of the few cases where both linear and perceptually uniform could be valid options and none of them are right or wrong. Of course I'm not against allowing two valid instances of the same thing, like in this case.

But you're not proposing to add a toggle to gradients alone, you're proposing to put them *everywhere*.

I'd like to see this discussion heading towards a real world list of examples of real needs for such options that can't be satisfied with anything else than these toggles.

That's a color
management issue!

Yes, it really is a color management issue. In PhotoShop, if the user wants to perform operation X on linear RGB, the user must do an ICC profile conversion and convert the entire layer stack to a linear version of the RGB working space. And when the user wants to perform operation Y on perceptually uniform RGB, the user must convert the layer stack back to the perceptually uniform version of the RGB working space.

The babl flips *could* make it possible for the user to easily choose linear vs perceptually uniform RGB without having to use an ICC profile conversion to convert the entire layer stack back and forth between linear and perceptually uniform RGB.

With GIMP right now, the user has no choice in whether linear or perceptually uniform RGB is used. Or rather choice is via the gamma hacks and precision changes, which leaves the user to play a guessing game about what's happening to the data. With GIMP as currently programmed, the user can't even resort to the PhotoShop option of converting the layer stack, because the babl flips presume the sRGB TRC.

I was with you when we both discussed these issues with the GEGL and GIMP developers a few months ago.
They stated clearly that the immediate plan is to make GIMP 2.9 work exactly as the current stable version with the new GEGL core. Everything else is just a bonus. The minimum goal seems to be having a GEGLized version of the current GIMP, which is still 8bpc sRGB.

If that's the goal and they are working towards that goal, why keep insisting on what's wrong with high bit depth editing?

How do you ensure correct results when the user can change that at will on every single operation performed?

It's the user's job to make the right decisions regarding how to edit the user's image. It really isn't a developer responsibility.

It's a shared responsability. Developers have to design tools in order to facilitate users making the right decisions. A good tool makes it easy to do the job properly and allows extra control.
It's not the users job to dictate how a tool has to be designed, and it's certainly not the designer's choice what users will do with the tool. The designers have to address the users needs and give them capable tools.
This should be a collaboration and not a struggle.

Gez.

Elle Stone
2015-05-02 10:09:01 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/01/2015 07:03 PM, Gez wrote:

You chose one of the few cases where both linear and perceptually uniform could be valid options and none of them are right or wrong. Of course I'm not against allowing two valid instances of the same thing, like in this case.

I've already given other examples.

But you're not proposing to add a toggle to gradients alone, you're proposing to put them*everywhere*.

Yes.

I'd like to see this discussion heading towards a real world list of examples of real needs for such options that can't be satisfied with anything else than these toggles.

You are presupposing that the devs can foresee every possible use to which a user might put a given editing operation.

Currently the user does already have linear vs perceptual choices through the GIMP UI for most editing operations (scaling is always linear, drawing a gradient is always perceptual).

Currently the user can use or not use the gamma hack. And the user can use linear or gamma precision. That's two time two equals four possibilities for the user to try for each and every editing operation.

Now tell me without taking the time to try all four possibilities:

How does the user get a linear gradient? (sorry, you can't) How does the user get linear gamma channel mixer? How does the user get perceptually uniform Filter/Noise/Add RGB noise?

I'm proposing to make the current GIMP UI for switching between linear and perceptually uniform RGB much simpler and clear to use:

1. Eliminate the precision switches by putting the linear vs gamma choice on each layer, rather than having to convert the entire layer stack to a new precision. This will have the side benefit of cutting the number of precision dialog entries in half.

2. Replace the gamma hack dialog with a "Linear/Perceptual" switch or drop-down menu that shows the default setting that was set by the devs, and also allows the user to quickly and easily choose the other setting.

Right now the babl flips and GIMP UI give the user a choice, at least for most editing operations. But how to get linear or perceptual out of any given editing operation isn't at all clear.

The current UI wasn't ever intended to be permanent and does need to be redesigned. The babl flips and GIMP UI can be redesigned to:

* Prevent the user from making an edit on linear RGB if the devs decide the particular editing operation "should" be done on perceptually uniform RGB.
* Prevent the user from making an edit on perceptually uniform RGB if the devs decide the particular editing operation "should" be done on linear RGB.

Or the babl flips and GIMP UI can be used to provide the user with the same choices that users of PhotoShop and Krita and every other high bit depth image editor already have: which is to perform all edits on either linear or perceptually uniform RGB.

In PhotoShop, Krita, etc, the only way to change whether the RGB data is linear or perceptually uniform is by doing an ICC profile conversion.

In GIMP the UI could be designed so the switch between linear and perceptually uniform can be done easily on a per-op basis, if the UI were redesigned the way I am suggesting, or some way that provides equivalent functionality.

Or in GIMP the UI could be redesigned so the switch between linear and perceptually uniform is taken completely out of the user's control.

I fail to see any advantage at all to giving the user a choice for some operations and not for all operations. It places the devs in the not-so-nice position of having to know in advance all possible uses to which the user might want to put all possible editing operations.

Why do you want to put roadblocks in the user's way?

There are certainly rights and wrongs when using a tool. If the tool is designed to work some way and you don't respect that, you're doing it wrong.
Try taking a hammer upside-down and hammer nails with the handle. That's wrong.

Sorry. Not a good analogy. Like all tools, a hammer is a means to accomplish a goal, nothing more, nothing less. The precise goal, and hence the right way to use the hammer, depends on the goal of the person using the hammer.

Not every problem for which a hammer is a good solution happens to be a nail:

Maybe you want to mold some soft metal into a curved shape and the hammer's handle happens to be the right shape for the task.

Maybe you are using the hammer to hold something in place so you can accomplish some other task. Recently I used a sledge hammer to hold down a spring-clipped cover so I could access some bolts hidden behind the cover. Should I have gone to the store and asked for a "heavy duty spring-clipped cover holder downer"?

Maybe you want to reset a nail that is coming out of place, but you use the side of the hammer to gently press the nail back in place because you don't want to further damage some old and rotted wood.

The person who made the hammer doesn't and can't know all the inventive uses to which the person who buys and uses the hammer might think up along the way. And the developer who programs Curves, Channel Mixer, Gaussian Blur and etc doesn't know all the creative uses to which the person who uses these editing functions might think up along the way.

Best, Elle

Elle Stone
2015-05-02 11:28:58 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 04/30/2015 05:43 PM, Michael Schumacher wrote:

On 04/30/2015 11:40 PM, Elle Stone wrote:

What are specifications?

Something that describes how features are supposed to work when they are implemented.

For examples have a look at the Save & Export and Single Window Mode specifications:

* http://gui.gimp.org/index.php/Save_%2B_export_specification

* http://gui.gimp.org/index.php/Single-window_mode_specification

Thanks! for the links.

On 04/29/2015 03:57 PM, Joao S. O. Bueno wrote:

So, I hope that with the previous e-mail you could get to a good summary of what would be needed for GIMP not only to be vaibale, but to surpass current photoshop U.I. when dealing with these issues . I hope so.

Now help us think on the next steps. For example get that e-mail worked into a feasible specification: If you can, refine it, then maybe try to get someone with UI expertise that could fine tune that your suggestions into specifications that could be really great - now we don't have Peter helping the project anymore. (could be someone from your area, to whom you could get face to face meetings) - (I'd rather have another switch along the layer modes than to duplicate all layer modes in the UI, for example) -

And then...help use having more people who could help with development. :-)

FWIW, I put up a call for GIMP programmers "above the fold" on the home page of my website: http://ninedegreesbelow.com/

There's "title text" if you hover over the link.

At least I can see the suggested features as great. And I can't think of a way to even begin takling them without an enormous amount of weekly hours to dedicate to it (or Americo's issues for the matter)

I am willing to write up formal specifications but only if there is a consensus from the main devs that the proposal for changing the UI to allow easy switching between linear and perceptual RGB might actually be seriously considered.

If the main devs are opposed to the idea then I don't want to put any more effort into the topic.

Best, Elle

Michael Schumacher
2015-05-02 13:00:13 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/02/2015 01:28 PM, Elle Stone wrote:

On 04/30/2015 05:43 PM, Michael Schumacher wrote:

For examples have a look at the Save & Export and Single Window Mode specifications:

* http://gui.gimp.org/index.php/Save_%2B_export_specification

* http://gui.gimp.org/index.php/Single-window_mode_specification

I am willing to write up formal specifications but only if there is a consensus from the main devs that the proposal for changing the UI to allow easy switching between linear and perceptual RGB might actually be seriously considered.

The specs as linked above are what convinced and convinces the main developers of the usefulness of the changes.

So "I will only write a spec if the main developers already agree with said spec" will be a bit hard.

If the main devs are opposed to the idea then I don't want to put any more effort into the topic.

Any change needs support, preferably by many people who are involved in the project already. If there is the choice between the status quo and something they do not understand, guess what they will support.

Regards,
Michael
GPG: 96A8 B38A 728A 577D 724D 60E5 F855 53EC B36D 4CDD
Elle Stone
2015-05-02 13:45:21 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/02/2015 09:00 AM, Michael Schumacher wrote:

On 05/02/2015 01:28 PM, Elle Stone wrote:

On 04/30/2015 05:43 PM, Michael Schumacher wrote:

For examples have a look at the Save & Export and Single Window Mode specifications:

* http://gui.gimp.org/index.php/Save_%2B_export_specification

* http://gui.gimp.org/index.php/Single-window_mode_specification

I am willing to write up formal specifications but only if there is a consensus from the main devs that the proposal for changing the UI to allow easy switching between linear and perceptual RGB might actually be seriously considered.

The specs as linked above are what convinced and convinces the main developers of the usefulness of the changes.

So "I will only write a spec if the main developers already agree with said spec" will be a bit hard.

If the core devs are interested in allowing the user to easily choose between linear and perceptual RGB on a per op/per layer blend mode basis, then a spec would seem to provide a starting point for figuring out how to implement the user's ability to choose between linear and perceptual RGB.

If the devs already have agreed among themselves to remove that choice from the user, there's no point in my writing a spec for functionality that goes against developer consensus.

To be more blunt, the babl flips are Pippin's brain-child. If Pippin says "no user choice", is there any real benefit to anyone if I write up a spec? Wouldn't it just be a waste of everyone's time?

If the main devs are opposed to the idea then I don't want to put any more effort into the topic.

Any change needs support, preferably by many people who are involved in the project already.If there is the choice between the status quo and something they do not understand, guess what they will support.

Hmm, well, see, I have this website devoted to color management. Half (well, probably only a third) the articles on my website were written to help the GIMP devs understand various aspects of color management.

It seems I have failed to boil color management down to bites that are small enough for easy developer consumption and yet comprehensive enough to be sufficiently informative. I do keep trying. Please ask questions!

Best, Elle

http://ninedegreesbelow.com
Color management and free/libre photography
Gez
2015-05-02 14:21:37 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

El sáb, 02-05-2015 a las 06:09 -0400, Elle Stone escribió:

But you're not proposing to add a toggle to gradients alone, you're proposing to put them*everywhere*.

Yes.

And your reason is that users have to decide how operations are performed, no matter the result, no matter if it makes any sense or it doesn't.
So what about other aspects like alpha association then? Should toggles be added everywhere for that too so the users can decide if alpha will be associated or unassociated?

I'd like to see this discussion heading towards a real world list of examples of real needs for such options that can't be satisfied with anything else than these toggles.

You are presupposing that the devs can foresee every possible use to which a user might put a given editing operation.

No, I'm saying that users like us should describe real world situations where certain options are needed in order to convince developers of the necessity of such options.
"Let me do whatever I want" is not a good argument.

The need of linear and perceptually uniform gradients is a real need. You can easily document when you need one or the other and create simple examples.

Now, give me a good example why scaling should be better done in perceptual gamma (other than preserving legacy appearance, which is the ugly situation that took us here in the first place).

You'll find soon that aside from keeping legacy appearance, the situations where you need operations to actually work in perceptual gamma are rare.

So in practice, combining linear and perceptual back and forth during your work is not something you need all the time.

Tell me for instance why in your UI proposal you merged a layer using the screen blending mode in perceptual gamma. What's the need there, what's the effect achieved?

Each case is different and should be designed according the needs. That's what design is about. Addressing needs and crafting solutions. Again: "I want to do whatever I want with the tool" is not a good starting point.
You can use your laptop as a hammer if you want, but it's not designed for that use and you can't expect designers to contemplate that use when they plan the thing.

Currently the user does already have linear vs perceptual choices through the GIMP UI for most editing operations (scaling is always linear, drawing a gradient is always perceptual).

Currently the user can use or not use the gamma hack. And the user can use linear or gamma precision. That's two time two equals four possibilities for the user to try for each and every editing operation.

Again: developers have already said that the gamma hack and even the precision modes are a temporary situation and they are not final. You're exposing your case based on the wrong assumption that those things are going to stay as they are.

Now tell me without taking the time to try all four possibilities:

How does the user get a linear gradient? (sorry, you can't)

That's a reasonable question. It's easy to show why true linear gradients are necessary.

How does the user get linear gamma channel mixer? How does the user get perceptually uniform Filter/Noise/Add RGB noise?

I think you're asking the wrong questions. The real question is: Why and when operations should be performed in perceptual gamma?
The answer seems to be (at this point at least) legacy appearance. Most of the times.
So, if the goal is to release a GEGLized GIMP that provides the same results as 2.8.x, tools have to work like that.

I don't like it and I'd prefer that a true linear workflow is implemented where nothing has to be flipped to perceptual unless there's a good reason. And I bet that those good reasons would be rare, real exceptions that could be treated as such.

Why don't we use the energy and time we're using for these discussions for documenting an artist workflow based on linear RGBA (as most of the modern digital compositing packages use)?

Robert Krawitz
2015-05-02 15:18:58 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On Sat, 02 May 2015 11:21:37 -0300, Gez wrote:

El sáb, 02-05-2015 a las 06:09 -0400, Elle Stone escribió:

I'd like to see this discussion heading towards a real world list of examples of real needs for such options that can't be satisfied with anything else than these toggles.

You are presupposing that the devs can foresee every possible use to which a user might put a given editing operation.

No, I'm saying that users like us should describe real world situations where certain options are needed in order to convince developers of the necessity of such options.
"Let me do whatever I want" is not a good argument.

Yes it is, because we don't know every possible use to which someone will put something.

We've had the same issue come up in Gutenprint. Gutenprint exposes just about every internal control option to users, if they want to play with them. It allows things that could actually cause _physical_ damage to printers, in particular specifying ink limits so high that they would completely soak through non-coated paper and would form large puddles on coated papers that could gum up the print head.

But then it turned out that people wanted to do things with printers that we had never envisioned: printing T-shirts, and doing chemical deposition (in one case, literally printing circuits onto paper using electroconductive inks). It turned out to be very fortunate for those users that we had never imposed limits of that kind because "that isn't something anybody should be doing".

The one concession that we did make was to group options into different levels of interface complexity, and add an option to the PPD file generator to generate simplified PPD files with only the basic options. But the default is to use the full-featured interface.

Obviously there are resource constraints here; developers can only do so much, and have to make decisions about what to do that are mutually exclusive on time constraints alone. But deliberately leaving something out of this kind of project because there isn't an obvious real world use case is not, in my view, a good thing.

Robert Krawitz                                     

***  MIT Engineers   A Proud Tradition   http://mitathletics.com  ***
Member of the League for Programming Freedom  --  http://ProgFree.org
Project lead for Gutenprint   --    http://gimp-print.sourceforge.net

"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
Gez
2015-05-02 15:53:28 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

El sáb, 02-05-2015 a las 11:18 -0400, Robert Krawitz escribió:

On Sat, 02 May 2015 11:21:37 -0300, Gez wrote:

El sáb, 02-05-2015 a las 06:09 -0400, Elle Stone escribió:

I'd like to see this discussion heading towards a real world list of examples of real needs for such options that can't be satisfied with anything else than these toggles.

You are presupposing that the devs can foresee every possible use to which a user might put a given editing operation.

No, I'm saying that users like us should describe real world situations where certain options are needed in order to convince developers of the necessity of such options.
"Let me do whatever I want" is not a good argument.

Yes it is, because we don't know every possible use to which someone will put something.

We've had the same issue come up in Gutenprint. Gutenprint exposes just about every internal control option to users, if they want to play with them. It allows things that could actually cause _physical_ damage to printers, in particular specifying ink limits so high that they would completely soak through non-coated paper and would form large puddles on coated papers that could gum up the print head.

But then it turned out that people wanted to do things with printers that we had never envisioned: printing T-shirts, and doing chemical deposition (in one case, literally printing circuits onto paper using electroconductive inks). It turned out to be very fortunate for those users that we had never imposed limits of that kind because "that isn't something anybody should be doing".

The one concession that we did make was to group options into different levels of interface complexity, and add an option to the PPD file generator to generate simplified PPD files with only the basic options. But the default is to use the full-featured interface.

Obviously there are resource constraints here; developers can only do so much, and have to make decisions about what to do that are mutually exclusive on time constraints alone. But deliberately leaving something out of this kind of project because there isn't an obvious real world use case is not, in my view, a good thing.

Let me clarify that I'm not against flexibility or giving users control on the processes.
It's not about choosing between no control and full control. Is finding a balance where a UI provides the necessary tools for the regular job without hindering the possibility of experimentation. It's extremely difficult to create a UI that both exposes every possible user and provides a fast and comfortable workflow. Adding checkboxes and buttons for every need doesn't solve the issue. Pretending that you can separate the "basic" and the "advanced" users in two simple groups by providing insufficient tools for basic users and the cluttered UI for advanced ones is not going to result in a good tool.
Nodal UIs aren't perfect, but provide a good balance because every tool is an individual node, and power and flexibility come from combining those nodes.
In this case of linear vs. perceptual, a gamma node would allow to turn every operation in a linear workflow into perceptual. Notice how different is the paradigm: a single tool that changes how other tools act instead of adding an extra option to every single tool. And a tool that is added on demand, only people who want to use it will be exposed to it, and the rest wouldn't be disturbed by a cluttered interface.
Unfortunately, the UI paradigm in GIMP and similar applications makes this really difficult, because it's inherited from a time where all the operations were sequential and destructive. Again legacy stopping progress.

Part of this is a UI problem, and adding buttons or checkboxes for every possible alternative isn't a good way to design UIs. https://twitter.com/cowbs/status/516045565847535616

Elle Stone
2015-05-02 16:40:16 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/02/2015 10:21 AM, Gez wrote:

El sáb, 02-05-2015 a las 06:09 -0400, Elle Stone escribió:

But you're not proposing to add a toggle to gradients alone, you're proposing to put them*everywhere*.

Yes.

And your reason is that users have to decide how operations are performed, no matter the result, no matter if it makes any sense or it doesn't.

In the specific case of perceptual vs linear RGB, the user is the only person qualified to say whether it makes sense or not.

The toggle or other mechanism for allowing the user choice between perceptual and linear RGB should plainly indicate the default choice made by the devs. But the user needs the option to override the default choice made by the devs.

A tooltip that educates the user about why the default makes sense would be a nice addition.

So what about other aspects like alpha association then? Should toggles be added everywhere for that too so the users can decide if alpha will be associated or unassociated?

Well, you might be able to answer that question. I'm not qualified. Personally I don't use alpha channels except in the extremely rare instance when I'm exporting a png with a transparent background for use on a website.

I'd like to see this discussion heading towards a real world list of examples of real needs for such options that can't be satisfied with anything else than these toggles.

You are presupposing that the devs can foresee every possible use to which a user might put a given editing operation.

No, I'm saying that users like us should describe real world situations where certain options are needed in order to convince developers of the necessity of such options.
"Let me do whatever I want" is not a good argument.

Gez, you want explicit, known-in-advance justifications for every exception to your proposed rule that all RGB editing operations should operate on linear RGB, with no user choise to override the default.

Let's say that as developers we take the time to examine every single RGB editing operation supplied by GIMP. Let's say we can find good reasons for allowing 50% of all RGB operations to have a user choice between linear and perceptually uniform RGB:

First, how much is the UI less complicated if only 50% (or 30%, or whatever percentage you'd like to pull out of a hat) of the RGB editing operations have a means to allow the user to override the developer-set default?

Second, what if we make a mistake with one of the "no user option" operations? Right now drawing a gradient can only be done using perceptual RGB, and on radiometric grounds that is a mistake. But on artistic grounds, it depends on the artist's intention. Giving the user choice with respect to linear vs perceptual RGB provides a necessary safety net for developer mistakes.

Unlike Robert Krawitz's wonderful examples from Gutenprint, GIMP users aren't running any risk of physically harming their digital darkroom when they go against developer defaults. The worse thing that might happen is they might learn something about why certain defaults were chosen in the first place.

The need of linear and perceptually uniform gradients is a real need. You can easily document when you need one or the other and create simple examples.

Now, give me a good example why scaling should be better done in perceptual gamma (other than preserving legacy appearance, which is the ugly situation that took us here in the first place).

Personally I can only think of two specific use cases:

Pedagogic: teaching a class on why scaling should be done using linear RGB. Artistic: I was quite amused to see that the lights in this image twinkle as the image is scaled larger and smaller by the Firefox browser: http://ninedegreesbelow.com/tcb/img/pine-branch-over-lake.jpg I can imagine an artist deliberately making a background image where lights twinkle as the image scales up and down. You will rightly say that there are other ways to acheive the same effect. So what?

You'll find soon that aside from keeping legacy appearance,

> the situations where you need operations to actually work in > perceptual gamma are rare.

I don't have a personal stake in keeping legacy appearance, not having any legacy files. Nonetheless, removing user choice regarding perceptual vs linear will invalidate an awful lot of user workflows right off the bat before the user has a chance to figure out why linear gamma RGB is often a better choice to get them to where they want to go.

I've been working with linear gamma image editing in the specific context of editing high bit depth photographic images since around 2005, which doesn't make me an expert, just saying I do have some experience.

I prefer to edit using linear gamma RGB as much as possible. However, the instances where I choose to use perceptual RGB aren't rare but rather fairly common depending on the particular editing task and artistic goal.

There are specific editing operations for which I always use perceptual RGB. And there are other editing operations for which I usually use linear RGB, but sometimes use perceptual for particular artistic reasons.

So in practice, combining linear and perceptual back and forth during your work is not something you need all the time.

Do you perhaps mean that combining linear and perceptual is something that *you* don't find a use for very often? Because I do precisely switch back and forth quite a lot.

Tell me for instance why in your UI proposal you merged a layer using the screen blending mode in perceptual gamma. What's the need there, what's the effect achieved?

In this particular case screening perceptually uniform instead of linear RGB produces a brighter image for use as the base layer when blending the blurred image.

I could have acheived approximately the same effect using linear RGB for Screen, followed by Curves. But Curves isn't so easy to "program" for shadows when operating on linear RGB, because the points on the curve end up being very close together.

Why should the user be forced to resort to Curves to modify the results of a blend mode performed on linear RGB, if what she wants is what she would get automatically by using perceptual RGB?

I don't like it and I'd prefer that a true linear workflow is implemented where nothing has to be flipped to perceptual unless there's a good reason. And I bet that those good reasons would be rare, real exceptions that could be treated as such.

When working on any given photograph, I do find good reasons to switch from linear to perceptual and back fairly often, even though it means doing an ICC profile conversion because I disabled the babl flips before compiling babl/GEGL/GIMP, because the current UI is confusing to the point of being unuseable. In my opinion. How do you get linear RGB for Curves? How do you get Perceptual RGB for Filter/Noise/Add RGB noise?

The babl flips can be used either to *enable* or to severely *restrict* the user in one very specific area, which is using linear vs perceptually uniform RGB. I hope the devs choose to enable the user.

Best, Elle

Øyvind Kolås
2015-05-02 18:44:51 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On Sat, May 2, 2015 at 9:45 AM, Elle Stone wrote:

To be more blunt, the babl flips are Pippin's brain-child. If Pippin says "no user choice", is there any real benefit to anyone if I write up a spec? Wouldn't it just be a waste of everyone's time?

I have not stated *no*user*choice*, but I have stated that good ways to let the user override these choices seem to be more along the lines of what Gez is proposing, explicit conversions to and from other working spaces / linearity / unpremultiplication. Let it be a separate manual step to override sane defaults where sane defaults helps the vast majority of uses by both operators of the software unaware of these nuances as well as color management experts. This can be done as separate actions without having additional, possibly confusing, buttons in the UI.

On a related note, I hope we get rid of the FIR / IIR UI choice in gaussian blur - that is parts of our UI which in reality are even less useful for our operators.

/pippin

Elle Stone
2015-05-02 19:12:55 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/02/2015 02:44 PM, Øyvind Kolås wrote:

On Sat, May 2, 2015 at 9:45 AM, Elle Stone wrote:

To be more blunt, the babl flips are Pippin's brain-child. If Pippin says "no user choice", is there any real benefit to anyone if I write up a spec? Wouldn't it just be a waste of everyone's time?

I have not stated *no*user*choice*, but I have stated that good ways to let the user override these choices seem to be more along the lines of what Gez is proposing, explicit conversions to and from other working spaces / linearity / unpremultiplication. Let it be a separate manual step to override sane defaults where sane defaults helps the vast majority of uses by both operators of the software unaware of these nuances as well as color management experts. This can be done as separate actions without having additional, possibly confusing, buttons in the UI.

I'm not entirely sure what you are proposing or how it could be implemented in the UI. Is this what you mean?

1. Make a list of all RGB editing operations that are provided by GIMP.

2. Decide for each operation whether it should be done using linear or perceptual RGB and set that as the default way the operation will be done.

3. Figure out which RGB operations "legitimately" should also be allowed to be done using the opposite choice from what the developers decided.

4. For the operations for which users can choose other than the default, do what? I can think of two possibilities:

i. Make an entirely new RGB editing operation. For example Curves-linear and Curves-perceptual, Gradient-linear and Gradient-perceptual, Soft-light-blend-linear and Soft-light-blend-perceptual, and so forth. Then stuff these new editing operations into the menu.

ii. Put an override button on the UI for the particular layer blend mode or tools/operation UI. But you said specifically said you don't want to put additional, possibly confusing buttons in the UI.

Is above close to what you are envisioning?

Does anyone on this list seriously find the idea of a button that says "Linear", that can be clicked to become "Perceptual" or vice versa, too confusing to use?

Sometimes babl/GEGL/GIMP developers say things that make me think that some of the devs think GIMP users as a whole are not very bright people.

Best, Elle

Øyvind Kolås
2015-05-02 19:39:20 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On Sat, May 2, 2015 at 3:12 PM, Elle Stone wrote:

On 05/02/2015 02:44 PM, Øyvind Kolås wrote:

On Sat, May 2, 2015 at 9:45 AM, Elle Stone wrote:

To be more blunt, the babl flips are Pippin's brain-child. If Pippin says "no user choice", is there any real benefit to anyone if I write up a spec?
Wouldn't it just be a waste of everyone's time?

I have not stated *no*user*choice*, but I have stated that good ways to let the user override these choices seem to be more along the lines of what Gez is proposing, explicit conversions to and from other working spaces / linearity / unpremultiplication. Let it be a separate manual step to override sane defaults where sane defaults helps the vast majority of uses by both operators of the software unaware of these nuances as well as color management experts. This can be done as separate actions without having additional, possibly confusing, buttons in the UI.

I'm not entirely sure what you are proposing or how it could be implemented in the UI. Is this what you mean?

1. Make a list of all RGB editing operations that are provided by GIMP.

2. Decide for each operation whether it should be done using linear or perceptual RGB and set that as the default way the operation will be done.

3. Figure out which RGB operations "legitimately" should also be allowed to be done using the opposite choice from what the developers decided.

4. For the operations for which users can choose other than the default, do what? I can think of two possibilities:

i. Make an entirely new RGB editing operation. For example Curves-linear and Curves-perceptual, Gradient-linear and Gradient-perceptual, Soft-light-blend-linear and Soft-light-blend-perceptual, and so forth. Then stuff these new editing operations into the menu.

ii. Put an override button on the UI for the particular layer blend mode or tools/operation UI. But you said specifically said you don't want to put additional, possibly confusing buttons in the UI.

Is above close to what you are envisioning?

Nope, I envison the operator of GIMP to do a *separate* action before a particular action to override the default/sane pixelformat for, and then a *separate* action afterwards. For some particular operations more direct ways of achieving it can be provided if it is common tasks; like for instance adding the ability to do curves/levels in CIE Lab instead of RGB; but in general the sledge hammer to offer the operator this ability is additional actions.

Sometimes babl/GEGL/GIMP developers say things that make me think that some of the devs think GIMP users as a whole are not very bright people.

Even though humans and other primates that glow in the dark are part of our intended user base, too bright people might have problems - in particular if their screens are reflective. Designing user interfaces is tricky; and often it helps to try to make them work well also for drunk or otherwise impaired operators; if they work well for that – the tools should work even better for fully present and competent operators.

/pippin

Elle Stone
2015-05-02 20:41:00 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On 05/02/2015 03:39 PM, Øyvind Kolås wrote:

I'm not entirely sure what you are proposing or how it could be implemented

in the UI. Is this what you mean?

1. Make a list of all RGB editing operations that are provided by GIMP.

2. Decide for each operation whether it should be done using linear or perceptual RGB and set that as the default way the operation will be done.

3. Figure out which RGB operations "legitimately" should also be allowed to be done using the opposite choice from what the developers decided.

4. For the operations for which users can choose other than the default, do what? I can think of two possibilities:

i. Make an entirely new RGB editing operation. For example Curves-linear and Curves-perceptual, Gradient-linear and Gradient-perceptual, Soft-light-blend-linear and Soft-light-blend-perceptual, and so forth. Then stuff these new editing operations into the menu.

ii. Put an override button on the UI for the particular layer blend mode or tools/operation UI. But you said specifically said you don't want to put additional, possibly confusing buttons in the UI.

Is above close to what you are envisioning?

Nope, I envison the operator of GIMP to do a*separate* action before a particular action to override the default/sane pixelformat for, and then a*separate* action afterwards.

What does this separate action before and after the RGB operation look like in the UI?

You are saying that this "three click" approach is better from a user viewpoint than simply having a button on the Curves UI to switch between the clearly marked default and the alternative?

For some particular operations
more direct ways of achieving it can be provided if it is common tasks; like for instance adding the ability to do curves/levels in CIE Lab instead of RGB; but in general the sledge hammer to offer the operator this ability is additional actions.

So if users are allowed to choose between perceptual and linear for RGB Curves, there might be two Curves operations, each with their own entry in the UI, one for linear RGB and one for perceptual RGB? How is this a cleaner UI than one Curves dialog with a button?

Or do you mean one UI entry for linear RGB Curves and one for CIELAB Curves? CIELAB Curves is not a substitute for RGB Curves, though CIELAB Curves would be an excellent addition to GIMP.

What about layer blend modes? Will there be two layer blend modes, one for linear and one for perceputal, for those layer blend modes for which the devs decide the user should be given a choice? The "button on the layer or tool interface" approach does seem like a cleaner solution from the UI point of view.

Best,
Elle

Elle Stone
2015-05-02 23:21:13 UTC (almost 9 years ago)

GIMP needs a new color management person

You all have created an amazing RGB image editor. But proper color management has always taken a back seat. GIMP users have requested better color management and CMYK support for a long time now. You could have taken full working color management code from Cinepaint or Krita years ago, but you didn't. Instead you tried to reinvent the color management wheel with unbounded sRGB as a universal RGB working space, which apparently nobody bothered to test to see if it actually worked (it doesn't:
http://ninedegreesbelow.com/photography/unbounded-srgb-as-universal-working-space.html). Not too long ago one of the devs stated on IRC that GIMP 2.10 would use unbounded sRGB, leaving me with the impression that the several months of hard work that I spent documenting problems with unbounded sRGB as a universal working space were completely wasted.

The GIMP devs need to rid the babl/GEGL/GIMP code of all traces of "only sRGB" coding
(http://ninedegreesbelow.com/bug-reports/gimp-hard-coded-sRGB.html). But other software that uses GEGL needs babl to only use the sRGB primaries and TRC until someone finds the time to write new code to exist alongside the "sRGB only" babl code. So GIMP color management is taking a backseat to other software that uses babl/GEGL.

A long time ago I wrote code for the LCMS plugin that enables GIMP to do RGB/grayscale conversions, as a preliminary step towards figuring out how to do RGB/CMYK conversions (not saying I would have succeeded, good CMYK code probably needs to be written by someone who actually uses CMYK). But then the developers announced that the LCMS code was going to be moved to GEGL (still hasn't happened, thankfully) and I lost interest in working on the LCMS code. GIMP should not let GEGL handle color management as GEGL is used in other programs and GIMP would always have to compete with the color management needs of those other programs.

A Google summer of code student wrote fourier code for GEGL, and it can't be used because of GEGL license issues. This is just wrong. GIMP needs fourier code for proper lens blur (http://ninedegreesbelow.com/bug-reports/camera-fourier-gaussian-blurs-compared.html; Krita has proper lens blur; GIMP does not). GIMP shouldn't be hampered by GEGL licensing.

Right now for OpenEXR images, the image is opened, it's assumed to be a linear gamma sRGB image (really bad assumption), the sRGB TRC is applied, and the GIMP built-in sRGB profile is assigned (https://bugzilla.gnome.org/show_bug.cgi?id=316646). This is laughably wrong. Instead of removing the coding step that applies the sRGB TRC and giving the user a chance to *assign* the right ICC profile (I supplied a patch to do just that), the plan as discussed on IRC and in the bug report seems to be to extend the "auto sRGB TRC" assumption right into the LCMS plugin itself, which is a mind-boggling wrong thing to do.

I use hacked versions of high bit depth GIMP for image editing - four of them, one for each color space that I use - and I'm very much enjoying finally being able to edit high bit depth images with masks and layers using free/libre software (other than having excellent color management, Cinepaint turned out to be a joke; Krita is aimed at digital artists and until recently flat-out wouldn't run on my system, but now runs just fine, thank you Krita devs!).

In my hacked versions of babl/GEGL/GIMP the babl flips are disabled, with LCH blend modes patched in
(http://ninedegreesbelow.com/photography/gimp-lch-blend-modes.html), and with all the hard-coded sRGB values replaced by the Y and XYZ values that are appropriate to my preferred RGB working spaces (http://ninedegreesbelow.com/photography/users-guide-to-high-bit-depth-gimp.html#wider-gamut-working-space-workarounds).

I wish that having proper GIMP RGB color management didn't mean hacking the code for each and every color space I want to use, but that's the current situation. I wish I had the coding skills to recode babl/GEGL/GIMP color management to give the user control over her RGB data and to not use hard-coded sRGB, but I don't. I wish the babl/GEGL/GIMP devs could be persuaded to use the babl flips to empower GIMP users than to limit what users are allowed to do with their own RGB data, but I don't have much hope for that happening. I wish I were rich and could hire developers to fork GIMP and do color management the right way, but I'm not.

I'm very glad to have had the chance to work with you all for the last couple of years. For various reasons I've decided to bow out from further active participation in GIMP development, though I still plan to make bug reports and submit the occasional patch. If anyone has a color management question that I might be able to help with, send me a private email (I'm unsubscribing from the list). And if anyone wants to fork GIMP, send me an email because I might want to lend a hand.

Best, Elle Stone

http://ninedegreesbelow.com
Color management and free/libre photography
Gez
2015-05-03 05:34:26 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

El sáb, 02-05-2015 a las 12:40 -0400, Elle Stone escribió:

Well, you might be able to answer that question. I'm not qualified. Personally I don't use alpha channels except in the extremely rare instance when I'm exporting a png with a transparent background for use on a website.

See, this is exactly what I intended to discuss. You know a lot about linear and perceptual gamma, so in your opinion everything has to be tailored to allow you to play as you wish with gamma. For you it is essential.
Now, you think you don't use alpha channels, so you don't care much about the options provided. But you actually use alpha channels a lot: every time you create a layer mask you're creating an alpha channel for that layer, and if that alpha is associated or unassociated makes a big difference.
AFAIK, most of the time alpha channel is unassociated in GIMP, but when you have to apply any convolution you have to "pre-multiply" it. And what about alpha channels being linear or perceptual? Why don't you care?
In that case, developers chose for you, and you don't seem to feel too bad about it.
And believe me, when it comes to alpha channel THERE IS right and wrong, no matter what the artist says.
Blending modes and other operations have been designed to work in certain way. They have an intended result. Unfortunately limitations in the available technology in the past forced programs to do things as alpha compositing in 8 bit gamma. It looks like shit but users got used to that appearance. That doesn't mean that alpha compositing in gamma space is ok and it is a valid option so programs SHOULD allow it.
It's an infortunate legacy that could be corrected by making the tool work as it should work, as it is intended to work. Some people may want having the uglyness back, so a special (optional) tool to override the proper behavior with that crap could be used.

Personally, I'd love to see all the operations work on linear data only. If a mechanism for overrides is in place, getting legacy support would be probably just matter of setting a global override making everything work in gamma.
In both cases an extra tool could allow flipping stuff to the other "mode" temporarily. In the case of gamma we've been discussing it is something that seems to be just one "gamma node" away. Actually, you don't even need that. with enough bit depth the levels tool alone is good for making gamma stuff more or less linear and linear more or less perceptually uniform, for artistic purposes. And since you don't seem to worry about "right" or "wrong" results, that should suffice.

Gez.

Robert Krawitz
2015-05-03 17:32:39 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

On Sun, 03 May 2015 02:34:26 -0300, Gez wrote:

El sáb, 02-05-2015 a las 12:40 -0400, Elle Stone escribió:

Well, you might be able to answer that question. I'm not qualified. Personally I don't use alpha channels except in the extremely rare instance when I'm exporting a png with a transparent background for use on a website.

See, this is exactly what I intended to discuss. You know a lot about linear and perceptual gamma, so in your opinion everything has to be tailored to allow you to play as you wish with gamma. For you it is essential.
Now, you think you don't use alpha channels, so you don't care much about the options provided. But you actually use alpha channels a lot: every time you create a layer mask you're creating an alpha channel for that layer, and if that alpha is associated or unassociated makes a big difference.

I agree, but draw a very different conclusion (my conclusion is in line with Elle's).

AFAIK, most of the time alpha channel is unassociated in GIMP, but when you have to apply any convolution you have to "pre-multiply" it. And what about alpha channels being linear or perceptual? Why don't you care?
In that case, developers chose for you, and you don't seem to feel too bad about it.

Right. The problem is when you're one of the people who *do* care about it.

And believe me, when it comes to alpha channel THERE IS right and wrong, no matter what the artist says.

Perhaps, but someone may have a reason to want a particular workflow, even if that reason is nothing more than demonstrating what's wrong with it.

Robert Krawitz                                     

***  MIT Engineers   A Proud Tradition   http://mitathletics.com  ***
Member of the League for Programming Freedom  --  http://ProgFree.org
Project lead for Gutenprint   --    http://gimp-print.sourceforge.net

"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
C R
2015-05-03 23:41:41 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

Offering another perspective on this topic, I don't personally care at all about switching back and forth for specific operations if the results are generally pleasing. Most people learn GIMP, PhotoShop, etc. by using the tools and seeing what they do, then using those operations to fit their specific workflow. For the average, or even "expert" GIMP users to know something isn't right about an operation, they would have had to already know the outcome from somewhere else. This is why only a very very small subset of users are going to care. They simply didn't know there was a difference in the first place.

However I do see the value in adding a drop-down box in the GEGL operations where a switch would be most beneficial. You could hide them under an "advanced settings" link at the end of each of the appropriate GEGL boxes, which could expand to show the "everything and the kitchen sink" options that most users will avoid like a breathmint on the sink of a public restroom.

This way, there is no restriction, and not really much extra clutter, and if you're super explorative about the "advanced settings", you can find out what they do and incorporate into your workflow.

I would love to see more options in the layer blending modes, as I use them all the time. Heck, you could toss them way down at the end if needed, or categorise them by Linear and Perceptual if you want. It doesn't matter as long as the most commonly used ones are at the top (maybe the first three could be a list of the last three used by the user, for example.

Failing that, why not have the toggles be a separate package that can be installed as an addon to GIMP? This way 2.9 can be released asap, while the toggle code for each GEGL action is being coded. Seems odd to try to fork GIMP just for some toggles. :)

On Sun, May 3, 2015 at 6:32 PM, Robert Krawitz wrote:

On Sun, 03 May 2015 02:34:26 -0300, Gez wrote:

El sáb, 02-05-2015 a las 12:40 -0400, Elle Stone escribió:

Well, you might be able to answer that question. I'm not qualified. Personally I don't use alpha channels except in the extremely rare instance when I'm exporting a png with a transparent background for use on a website.

See, this is exactly what I intended to discuss. You know a lot about linear and perceptual gamma, so in your opinion everything has to be tailored to allow you to play as you wish with gamma. For you it is essential.
Now, you think you don't use alpha channels, so you don't care much about the options provided. But you actually use alpha channels a lot: every time you create a layer mask you're creating an alpha channel for that layer, and if that alpha is associated or unassociated makes a big difference.

I agree, but draw a very different conclusion (my conclusion is in line with Elle's).

AFAIK, most of the time alpha channel is unassociated in GIMP, but when you have to apply any convolution you have to "pre-multiply" it. And what about alpha channels being linear or perceptual? Why don't you care?
In that case, developers chose for you, and you don't seem to feel too bad about it.

Right. The problem is when you're one of the people who *do* care about it.

And believe me, when it comes to alpha channel THERE IS right and wrong, no matter what the artist says.

Perhaps, but someone may have a reason to want a particular workflow, even if that reason is nothing more than demonstrating what's wrong with it.

--
Robert Krawitz

*** MIT Engineers A Proud Tradition http://mitathletics.com *** Member of the League for Programming Freedom -- http://ProgFree.org Project lead for Gutenprint -- http://gimp-print.sourceforge.net

"Linux doesn't dictate how I work, I dictate how Linux works." --Eric Crampton
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

C R
2015-05-03 23:53:00 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

Elle, I'd be happy to help provide some alternate UI options for for layers, GEGL, etc. Shall we collaborate a bit on a less cluttered UI proposal first, then bring it back? I think that's the main sticking point here. No one seems to be against the actual implementation if we can keep it simple and out-of-the-way of the average user.

On Mon, May 4, 2015 at 12:41 AM, C R wrote:

Offering another perspective on this topic, I don't personally care at all about switching back and forth for specific operations if the results are generally pleasing. Most people learn GIMP, PhotoShop, etc. by using the tools and seeing what they do, then using those operations to fit their specific workflow. For the average, or even "expert" GIMP users to know something isn't right about an operation, they would have had to already know the outcome from somewhere else. This is why only a very very small subset of users are going to care. They simply didn't know there was a difference in the first place.

However I do see the value in adding a drop-down box in the GEGL operations where a switch would be most beneficial. You could hide them under an "advanced settings" link at the end of each of the appropriate GEGL boxes, which could expand to show the "everything and the kitchen sink" options that most users will avoid like a breathmint on the sink of a public restroom.

This way, there is no restriction, and not really much extra clutter, and if you're super explorative about the "advanced settings", you can find out what they do and incorporate into your workflow.

I would love to see more options in the layer blending modes, as I use them all the time. Heck, you could toss them way down at the end if needed, or categorise them by Linear and Perceptual if you want. It doesn't matter as long as the most commonly used ones are at the top (maybe the first three could be a list of the last three used by the user, for example.

Failing that, why not have the toggles be a separate package that can be installed as an addon to GIMP? This way 2.9 can be released asap, while the toggle code for each GEGL action is being coded. Seems odd to try to fork GIMP just for some toggles. :)

On Sun, May 3, 2015 at 6:32 PM, Robert Krawitz wrote:

On Sun, 03 May 2015 02:34:26 -0300, Gez wrote:

El sáb, 02-05-2015 a las 12:40 -0400, Elle Stone escribió:

Well, you might be able to answer that question. I'm not qualified. Personally I don't use alpha channels except in the extremely rare instance when I'm exporting a png with a transparent background for use on a website.

See, this is exactly what I intended to discuss. You know a lot about linear and perceptual gamma, so in your opinion everything has to be tailored to allow you to play as you wish with gamma. For you it is essential.
Now, you think you don't use alpha channels, so you don't care much about the options provided. But you actually use alpha channels a lot: every time you create a layer mask you're creating an alpha channel for that layer, and if that alpha is associated or unassociated makes a big difference.

I agree, but draw a very different conclusion (my conclusion is in line with Elle's).

AFAIK, most of the time alpha channel is unassociated in GIMP, but when you have to apply any convolution you have to "pre-multiply" it. And what about alpha channels being linear or perceptual? Why don't you care?
In that case, developers chose for you, and you don't seem to feel too bad about it.

Right. The problem is when you're one of the people who *do* care about it.

And believe me, when it comes to alpha channel THERE IS right and wrong, no matter what the artist says.

Perhaps, but someone may have a reason to want a particular workflow, even if that reason is nothing more than demonstrating what's wrong with it.

--
Robert Krawitz

*** MIT Engineers A Proud Tradition http://mitathletics.com *** Member of the League for Programming Freedom -- http://ProgFree.org Project lead for Gutenprint -- http://gimp-print.sourceforge.net

"Linux doesn't dictate how I work, I dictate how Linux works." --Eric Crampton
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

Gez
2015-05-03 23:55:57 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

El dom, 03-05-2015 a las 13:32 -0400, Robert Krawitz escribió:

On Sun, 03 May 2015 02:34:26 -0300, Gez wrote:

El sáb, 02-05-2015 a las 12:40 -0400, Elle Stone escribió:

Well, you might be able to answer that question. I'm not qualified. Personally I don't use alpha channels except in the extremely rare instance when I'm exporting a png with a transparent background for use on a website.

See, this is exactly what I intended to discuss. You know a lot about linear and perceptual gamma, so in your opinion everything has to be tailored to allow you to play as you wish with gamma. For you it is essential.
Now, you think you don't use alpha channels, so you don't care much about the options provided. But you actually use alpha channels a lot: every time you create a layer mask you're creating an alpha channel for that layer, and if that alpha is associated or unassociated makes a big difference.

I agree, but draw a very different conclusion (my conclusion is in line with Elle's).

Then what? Every single operation and the layer stack in GIMP should have an extra checkbox for selecting how alpha will be treated? We can go on forever with examples like this, adding checkboxes for every possibility. Are you saying that this is a good way to design a user interface?

AFAIK, most of the time alpha channel is unassociated in GIMP, but when you have to apply any convolution you have to "pre-multiply" it. And what about alpha channels being linear or perceptual? Why don't you care?
In that case, developers chose for you, and you don't seem to feel too bad about it.

Right. The problem is when you're one of the people who *do* care about it.

I took this example because I do care about alpha channels. There are some conventions about how to use alpha channels properly and I think it's reasonable to expect that the program I use adheres to those conventions.

And believe me, when it comes to alpha channel THERE IS right and wrong, no matter what the artist says.

Perhaps, but someone may have a reason to want a particular workflow, even if that reason is nothing more than demonstrating what's wrong with it.

If I have to show the nasty effects of a wrong manipulation of the alpha channel, GIMP already gives me the tools to do that. If I have to show the nasty effects of doing an alpha over composite in gamma space, well, I don't have to do anything currently, but I could do it as well with a tool that offers only linear compositing and a gamma/curves/levels tool.

I'm just arguing against adding checkboxes arbitrarily just in case the user wants to do anything. That's bad UI design. I'm trying to discuss the costs and benefits of adding that complexity. Isn't this achievable with different tools and methods? Is it needed so frequently that is reasonable to add an extra checkbox to every single operation?
Nobody answers that.

C R
2015-05-04 00:18:15 UTC (almost 9 years ago)

GIMP useability - choosing linear vs perceptually uniform RGB

I'm just arguing against adding checkboxes arbitrarily just in case the user wants to do anything. That's bad UI design. I'm trying to discuss the costs and benefits of adding that complexity. Isn't this achievable with different tools and methods? Is it needed so frequently that is reasonable to add an extra checkbox to every single operation?
Nobody answers that.

I'd say "no", personally. But then again, I think there are lots of ways to handle this without cluttering the UI further. I think everyone can have what they want, but we need to think over the UI proposal a bit more.
As the proposal stands, I'd have to agree with Gez and others to say that it's just too much extra.
I want what Elle wants, though, in terms of functionality and I think we could brainstorm a cleaner/better solution while the devs finish with 2.9

Thoughts?

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

A. da Mek
2015-05-05 07:09:58 UTC (almost 9 years ago)

GIMP needs a new color management person

2.5.2015 v 23:21 Elle Stone:

I use hacked versions of high bit depth GIMP for image editing - four of them, one for each color space that I use - and I'm very much enjoying finally being able to edit high bit depth images with masks and layers

A question from a curious laic:
Why four versions and not one with a configuration which color space will be used? It seem to me that it could be a simple task to add a switch at every place where the hack was done, with the standard behavior as the fifth case.
And why such version cannot be included into the official release?

Alexandre Prokoudine
2015-05-05 08:03:27 UTC (almost 9 years ago)

GIMP needs a new color management person

On Sun, May 3, 2015 at 2:21 AM, Elle Stone wrote:

You could have taken full working color management code from Cinepaint or Krita years ago, but you didn't.

Elle, you are far too bright to seriously make such a claim. Let's not go there. You don't belong to the mentally disturbed people who believe that any app can/should reuse any other app's code, regardless of frameworks, programming languages etc.

Alex

Elle Stone
2015-09-28 10:47:28 UTC (over 8 years ago)

An apology (was Re: GIMP needs a new color management person)

On 05/02/2015 07:21 PM, Elle Stone wrote:

Right now for OpenEXR images, the image is opened, it's assumed to be a linear gamma sRGB image (really bad assumption), the sRGB TRC is applied, and the GIMP built-in sRGB profile is assigned (https://bugzilla.gnome.org/show_bug.cgi?id=316646). This is laughably wrong. Instead of removing the coding step that applies the sRGB TRC and giving the user a chance to *assign* the right ICC profile (I supplied a patch to do just that), the plan as discussed on IRC and in the bug report seems to be to extend the "auto sRGB TRC" assumption right into the LCMS plugin itself, which is a mind-boggling wrong thing to do.

I owe Mitch and the other devs an apology. Over the last few months they've made a lot of positive changes in GIMP color management. For example:

* Dragging and dropping between RGB layer stacks is now color-managed. * DCF information is handled properly. * The problem with OpenEXR was solved by code that creates and assigns a linear gamma version of the sRGB profile to OpenEXR files, which doesn't modify the image file's RGB values, and does allow the user a chance to assign a different profile as needed. Also the OpenEXR code now reads chromaticity information.
* A glance through GIMP bug reports shows that other good changes are underway.
* The LCMS plugin itself is gone, replaced by code that indeed switches between linearized RGB and perceptual RGB, and everything still seems to work just fine.

In case I've given anyone the impression that I think GIMP isn't a good image editor, that impression is incorrect. GIMP is an excellent image editor, and I use GIMP 2.9 (with some small patches applied) as my main image editor of choice.

Best regards, Elle