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

Major corrections in Curves and Levels dialogs.

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.

12 of 12 messages available
Toggle history

Please log in to manage your subscriptions.

Major corrections in Curves and Levels dialogs. Piotr Legiecki 20 Oct 08:44
  Major corrections in Curves and Levels dialogs. Sven Neumann 20 Oct 13:11
  Major corrections in Curves and Levels dialogs. Raphaël Quinet 20 Oct 15:34
   Major corrections in Curves and Levels dialogs. Piotr Legiecki 21 Oct 08:29
    Major corrections in Curves and Levels dialogs. Sven Neumann 24 Oct 12:44
  Major corrections in Curves and Levels dialogs. Sven Neumann 20 Oct 17:06
   Major corrections in Curves and Levels dialogs. Sven Neumann 21 Oct 14:53
  Major corrections in Curves and Levels dialogs. Daniel Rogers 21 Oct 00:56
   Major corrections in Curves and Levels dialogs. Sven Neumann 21 Oct 11:04
  Major corrections in Curves and Levels dialogs. Sven Neumann 24 Oct 10:39
   Major corrections in Curves and Levels dialogs. Daniel Rogers 24 Oct 17:29
    Major corrections in Curves and Levels dialogs. Tor Lillqvist 25 Oct 09:01
Piotr Legiecki
2003-10-20 08:44:07 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Hello Guys,

For a long time we were waiting for GIMP to become a real pro tool for serious photographers. The scarcity of well designed tools for UNIX is obvious. What *have to be* changed as soon as possible:

1) Levels dialog - *linear* histogram as in histogram tool. Grey point should use Gamma settings as follows: User click on grey surface no matter what lightness it has and Gimp calculate Gamma using pure Gamma model:

R'Gamma = log(Grey)/log(R') ; G'Gamma = log(Grey)/log(G') ;
B'Gamma = log(Grey)/log(B') ;

Grey = 0.299*R' + 0.587*G' + 0.114*B' ;

2) Grey point (and histogram) inside Curves Dialog using Shlick mapping method:

p = ( Grey*({R'G'B'}-2^bits) )/ ( {R'G'B'}*(1-2^bits) )

{R'G'B'} = p*{R'G'B'} / ( p*{R'G'B'}-{R'G'B'}+2^bits )

The problem with current tools (mentioned above,) is in their almost uselessness for photographers. Well, at least in a way to get perfect results in short time.

Please consider a.s.a.p.

BTW, the gray point tool from Levels dialog IMHO takes the measure from really huge image are. I could not find how to decrease this. Maybe it would be better to get this measure field settings from Color Picker tool?

With kind Regards

Jack Piotr Legiecki

Sven Neumann
2003-10-20 13:11:23 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Hi,

could you try to sound less demanding and instead put a little more effort into explaining what exactly you mean. I couldn't make much sense out of your mail. Please try again.

Sven

Raphaël Quinet
2003-10-20 15:34:34 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

On Mon, 20 Oct 2003 08:44:07 +0200, Piotr Legiecki wrote:

For a long time we were waiting for GIMP to become a real pro tool for serious photographers. The scarcity of well designed tools for UNIX is obvious. What *have to be* changed as soon as possible:

1) Levels dialog - *linear* histogram as in histogram tool.

[...]

2) Grey point (and histogram) inside Curves Dialog using Shlick mapping method:

[...]

The problem with current tools (mentioned above,) is in their almost uselessness for photographers. Well, at least in a way to get perfect results in short time.

Please consider a.s.a.p.

These ideas may be very good, but did you submit them through Bugzilla first? It would help greatly if you could link to the relevant bug reports in your message. I suppose that you have already submitted these bug reports or at least checked if someone else had already done it.

If you haven't done it yet, see: http://mmmaybe.gimp.org/bugs/

-Raphaël

Sven Neumann
2003-10-20 17:06:25 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Hi,

Piotr Legiecki writes:

BTW, the gray point tool from Levels dialog IMHO takes the measure from really huge image are. I could not find how to decrease this.

By default the tool doesn't average at all so it takes the color from a single pixel (this default should probably be changed). You can enable averaging in the tool options. That's also where you can set the size of the area to average.

Maybe it would be better to get this measure field settings from Color Picker tool?

So that you have to switch tools in order to manipulate this setting? I don't think that's a good idea. With the current setup you can independently configure all tools that do color-picking. Since these settings are stored in your ~/.gimp-1.3/tool-options folder, you only have to choose good default values once.

Sven

Daniel Rogers
2003-10-21 00:56:07 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Piotr Legiecki wrote:

Hello Guys,

For a long time we were waiting for GIMP to become a real pro tool for serious photographers. The scarcity of well designed tools for UNIX is obvious. What *have to be* changed as soon as possible:

1) Levels dialog - *linear* histogram as in histogram tool. Grey point should use Gamma settings as follows: User click on grey surface no matter what lightness it has and Gimp calculate Gamma using pure Gamma model:

R'Gamma = log(Grey)/log(R') ; G'Gamma = log(Grey)/log(G') ;
B'Gamma = log(Grey)/log(B') ;

Grey = 0.299*R' + 0.587*G' + 0.114*B' ;

This is good stuff. I have been aware of these problems, and I am incorporating their solutions into the compositing core that will eventually become a part of gimp (gegl). What you are essentially describing is the Rec. 601 converstion from nonlinear RGB to nonlinear video luma, and then calculating the the correction factors on RGB by pulling out gamma correction on the non-linear RGB.

The actual coefficients there depend on the calibration of your monitor, and the colorspace in which the image was captured and in most cases what you want is sRGB, not Rec. 601 (which is fine for video, but not so great for computer monitors). I don't have the sRGB coordinates off hand, but I did take note of them. But what gimp will do in the future is request that the color management system convert the luma, which hopefully will have an ICC calibrated profile to back the transformation.

2) Grey point (and histogram) inside Curves Dialog using Shlick mapping method:

p = ( Grey*({R'G'B'}-2^bits) )/ ( {R'G'B'}*(1-2^bits) )

{R'G'B'} = p*{R'G'B'} / ( p*{R'G'B'}-{R'G'B'}+2^bits )

I am not familar with this algorithm. Could you please provide a source?

The problem with current tools (mentioned above,) is in their almost uselessness for photographers. Well, at least in a way to get perfect results in short time.

I was wondering if people noticed this. Yeah, without these corrections, the RGB->Gray converstion can get hosed as well.

Please consider a.s.a.p.

They are indeed being considered. Color is a hard topic, and I want to get it right.

Jack
Piotr Legiecki

--
Dan@Work

Piotr Legiecki
2003-10-21 08:29:51 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Raphaël Quinet wrote:

These ideas may be very good, but did you submit them through Bugzilla first? It would help greatly if you could link to the relevant bug reports in your message. I suppose that you have already submitted these bug reports or at least checked if someone else had already done it.

Yes, those ideas were posted some time ago to bugzilla. Some of them materialized in gimp, but not exactly in a way we were thinking of. That is why we are sending this letter.

Jacek is preparing a letter with short explanation of his ideas (he has some problems with sending emails to this group) which I will forward here.

Thanx to all who responded to our letter and agreed that those ideas are worth to implement.

Regards
Piotr Legiecki

Sven Neumann
2003-10-21 11:04:10 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Hi,

Daniel Rogers writes:

This is good stuff. I have been aware of these problems, and I am incorporating their solutions into the compositing core that will eventually become a part of gimp (gegl). What you are essentially describing is the Rec. 601 converstion from nonlinear RGB to nonlinear video luma, and then calculating the the correction factors on RGB by pulling out gamma correction on the non-linear RGB.

It seems you have been able to make sense out of what Piotr wrote. It would be nice if you or Piotr would take the time to describe in more detail what changes could be done to 1.3. I only have a vague idea of what Piotr is talking about here but of course I am very interested in incorporating his suggestions if they make sense. Patches would of course be the preferred way of describing the suggested changes.

Sven

Sven Neumann
2003-10-21 14:53:51 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Hi,

I and I wrote:

By default the tool doesn't average at all so it takes the color from a single pixel (this default should probably be changed).

I've done this change now. The new default behaviour is to have the color picker in the Curves and Levels tools to average over a 3x3 square. The default for the Color Picker tool (which is used from the Paint tools as well) didn't change.

I'm including the ChangeLog entry in case anyone here is interested to learn where such default values live in the code:

2003-10-21 Sven Neumann

* app/tools/gimpcoloroptions.c: changed the default value for "sample_average" to TRUE (for Levels and Curves tools).

* app/tools/gimpcolorpickeroptions.c: override the default value for "sample_average" and set it back to FALSE (for Color Picker).

See also:

http://developer.gimp.org/api/1.3/app/GimpColorOptions.html http://developer.gimp.org/api/1.3/app/GimpColorPickerOptions.html

(these pages do of course not yet reflect the changes I just did)

Sven

Sven Neumann
2003-10-24 10:39:06 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Hi,

Piotr Legiecki writes:

1) Levels dialog - *linear* histogram as in histogram tool.

I've done some changes and the histogram scale is now part of the tool-options of all tools that use a histogram. This means you can choose between linear and logorithmic in all those tools and the setting is remembered across sessions.

What I am unsure about (and that's why I added the user list to the Cc:) is whether we should change the default histogram scale to linear. I know that you, Piotr, will vote for this change but I would like to get a second opinion. This perhaps also depends on what other apps do and since I don't have much experience with other applications, I am asking here. To illustrate the question, I made two screenshots:

http://sven.gimp.org/gimp-histogram-linear.png http://sven.gimp.org/gimp-histogram-logarithmic.png

Both options are available; the question is just which should be the default? We could even have different defaults for histogram, levels and threshold tool but I think that would go too far...

Sven

Sven Neumann
2003-10-24 12:44:43 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Hi,

for those of you who want to follow the discussion about improvements to the Levels and Curves tools, here's a list of relevant bug reports with some comments. I'm adding the user list to the Cc: since feedback from users would be very helpful at this.

Improve color pickers in Levels tool http://bugzilla.gnome.org/show_bug.cgi?id=125303

I would very much appreciate some feedback on this. The bug report is suggesting that the current behaviour of the gray point picker is incorrect. I tend to agree with this argument but I would like to hear other people's opinions on this.

Curves dialog http://bugzilla.gnome.org/show_bug.cgi?id=125305

I don't understand what this report is talking about but perhaps one of you can enlighten us?

Linear histogram in Levels tool http://bugzilla.gnome.org/show_bug.cgi?id=125306

This one has been addressed in the meantime.

Improve Histogram with Luminance Channel http://bugzilla.gnome.org/show_bug.cgi?id=109161

A luminance channel (is that the correct term at all?) would indeed be a useful addition. Adding it to the Histogram means adding it to the Levels and Curves tools as well. This could be a rather trivial change but it might also turn out to be a lot more complicated then it seems. I am not entirely sure how much code depends on details of the GimpHistogramChannel enum.

Sven

Daniel Rogers
2003-10-24 17:29:06 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Sven Neumann wrote: | Hi,
|
| Piotr Legiecki writes:
|
|
|>1) Levels dialog - *linear* histogram as in histogram tool. |
|
| I've done some changes and the histogram scale is now part of the | tool-options of all tools that use a histogram. This means you can | choose between linear and logorithmic in all those tools and the | setting is remembered across sessions.

So, as an image processing programmer these linear and logarithmic discussions are confusing me. So, by linear, do you mean a histogram of the raw image data with no transform, and by logarithmic do you mean a histogram of the log of the raw image data?

(linear to me usually means linear-light (e.g. intensity from physics), which would be proportional to your log scale here, assuming we are trying to operate in sRGB space, which an inherent gamma factor of 2.2).

| What I am unsure about (and that's why I added the user list to the | Cc:) is whether we should change the default histogram scale to | linear. I know that you, Piotr, will vote for this change but I would | like to get a second opinion. This perhaps also depends on what other | apps do and since I don't have much experience with other | applications, I am asking here. To illustrate the question, I made two | screenshots:

Well, if I am right about your definitions above the default should be linear. Here is the reason: Linear is "perceptually linear" I.e. a small change at any point in the histogram is perceived as a uniform change in brightness at every point in the histogram. E.g. 230+5 is percieved as about the same change as 30+5. This property doesn't hold for linear-light (i.e. logarithmic) and thus is more difficult for use human-types. This property is one of the reasons non-linear-light encoding (like sRGB and L*u'v') are such a desirable space to work in.

(For you more technically minded, perceptually linear spaces also distribute errors (quantization or otherwise) across the entirtly of the percieved spectrum, rather than letting them seem to all be located near the darkest points).

- --
Dan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE/mUVBad4P1+ZAZk0RAuFwAJ46kQ/2KPoc7HOoUAK1oJJPz4RzgACfYA2M HeE7DtfERjoC6Eq3fHMicJk=
=CK/G
-----END PGP SIGNATURE-----

Tor Lillqvist
2003-10-25 09:01:58 UTC (over 20 years ago)

Major corrections in Curves and Levels dialogs.

Just my 2 euro cents: The "linear" histogram illustration Sven provided looks a lot more like histograms of typical images do in other applications than the "logarithmic" one.

I have often wondered why GIMP's (traditional logarithmic) histograms look so different than the ones you see in other (commercial) software. So my guess is that "linear" is what people expect.

--tml