GIMP should fork babl and GEGL
This discussion is connected to the gimp-user-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.
GIMP should fork babl and GEGL
Below explains why GIMP should fork babl and GEGL for use just with GIMP:
Hacker News picked up an article from my website: The Sad State of High
Bit Depth GIMP Color Management
(http://ninedegreesbelow.com/photography/sad-state-of-high-bit-depth-gimp-color-management.html)
In the Hacker News comments (https://news.ycombinator.com/item?id=8549560 ), "unhammer" said:
//begin quote
From glancing over it, it seems to me like Elle Stone wants GIMP to
make a rather radical shift to Do The Right Thing, while Øyvind Kolås
(Pippin) values making small improvements one step at a time to avoid
breaking current functionality.
//end quote
unhammer's otherwise excellent summary overlooks one very important point, which is that there is absolutely *no* current functionality in GIMP that would be broken by Doing the Right Thing, which is to give GIMP proper ICC profile color management.
The only caveat is that a very few GIMP UI functions really do need to be labelled as "only for device sRGB images" or in some cases "only for device NTSC images". This article lists all such functions: http://ninedegreesbelow.com/gimpgit/gimp-hard-coded-sRGB.html
Moving back to the Hacker News comments, our very own Jon Nordby ("jononor") reveals precisely where the "current functionality" that would be broken by Doing the Right Thing actually resides:
//begin quote GEGL is developed for GIMP, and other projects. http://www.jonnor.com/2014/04/imgflo-0-1-an-image-processing... http://www.jonnor.com/2014/11/imgflo-0-2-the-grid-launched/ Disclosure: I'm a GEGL dev and the imgflo maintainer.
The 'other projects' part is one of the reasons why the proposed solution 'just strip all colorspace info, assume it is the same throughout entire processing pipeline' is not acceptable for GEGL, even if that might somewhat close to the typical usecase for GIMP. //end quote
In other words, nothing in *GIMP* would be compromised or broken by Doing the Right Thing. However, Nordby's other projects *would* be affected. Of course his other software could be patched to assume sRGB as the image input profile, but perhaps that is something he doesn't want to do.
As an aside, by "just strip all colorspace info", Norby seems to mean replacing hard-coded sRGB parameters with equivalent parameters pulled from the user's chosen RGB working space, which is precisely the Right Thing to Do for GIMP.
The ICC profile color management problem with current GIMP 2.8/2.9 is that some babl/GEGL/GIMP functions are written using hard-coded sRGB Y and XYZ parameters. These functions necessarily give wrong results if you, the GIMP user, try to edit images in other RGB working spaces such as AdobeRGB1998, BetaRGB, or ProPhotoRGB (http://ninedegreesbelow.com/photography/users-guide-to-high-bit-depth-gimp.html).
The "Right Thing to Do" for GIMP is to use LCMS to retrieve the Y and XYZ values from the image's actual user-chosen ICC working space profile and then use the Right values instead of the Wrong values.
Moving back to the Hacker News comments, Jon Nordby said:
//begin quote
This article is primarly a strawman argument, the 'architecture' which
is so adamantly argued against has already been abandoned (much thanks
to arguments from OP).
https://git.gnome.org/browse/babl/tree/docs/roadmap.txt#n74 It has
however not magically implemented itself yet.
This is somewhat recognized in the article section which starts "There
is a ray of hope". The implication that the issues demonstrated will go
away as a consequence of this has somehow been lost, possibly due to
miscommunication.
//end quote
My article does not present a strawman argument. Based on his last post to the GIMP developer's mailing list, head babl/GEGL developer Øyvind Kolås is still clinging to his hopelessly broken unbounded sRGB model for image editing.
If Kolås had really given up on unbounded sRGB, he wouldn't still be saying things like "Using a fixed linear RGB format instead of userRGB is what for some operations will provide the consistent results for the same property values / slider positions" (https://mail.gnome.org/archives/gimp-developer-list/2014-October/msg00096.html). For those of you who don't speak "bablese", "fixed linear RGB" means linear gamma unbounded *s*RGB.
Kolås's desire for "consistent slider results" betrays his failure to understand the nature of color-managed RGB image editing. Yes, many editing operations do produce different results in different RGB working spaces. This is precisely *why* we have different RGB working spaces. The ONLY person qualified to pick which RGB working space to use for any given technical or artistic purpose is YOU, the GIMP *USER*.
Kolås's plan seems to be to use unbounded sRGB whenever and wherever possible, with Kolås being the judge of "whenever and wherever possible".
Nordby's plan seems to be to "eventually" implement side-by-side babl/GEGL processing for sRGB and for the user's choice of RGB working spaces. This plan unnecessarily complicates the code and totally ignores the fact that sRGB is just another ICC profile RGB working space that needs *no* special treatment.
The only way I can see for GIMP to get out of this babl/GEGL "hard-coded sRGB mess" is for GIMP to fork a babl/GEGL branch meant specifically for GIMP. That way Nordby can have his "sRGB only" branch, Kolås can play with unbounded sRGB, and GIMP can have proper ICC profile color management without having to take a backseat to the needs of other babl/GEGL projects.
Another advantage to forking babl and GEGL for GIMP is that GIMP's fork of babl and GEGL could be GPLed, thus freeing the GIMP devs to add FFTW (Fourier transforms, http://www.fftw.org/) and other new functionality to GIMP. FFTW is GPLed. At present, GIMP is somewhat hobbled as to what GPL code can be used for new editing functions because the babl/GEGL code is LGPLed.
With kindest regards, Elle Stone
http://ninedegreesbelow.com Color management and free/libre photography
GIMP should fork babl and GEGL
Hi,
On Tue, Nov 4, 2014 at 7:27 PM, Elle Stone wrote:
[...]
Skipping all the main contents, since I don't know enough to be able
to tell what is "the right thing to do" or not.
Just a comment on the license and forking part.
Another advantage to forking babl and GEGL for GIMP is that GIMP's fork of babl and GEGL could be GPLed, thus freeing the GIMP devs to add FFTW (Fourier transforms, http://www.fftw.org/) and other new functionality to GIMP. FFTW is GPLed. At present, GIMP is somewhat hobbled as to what GPL code can be used for new editing functions because the babl/GEGL code is LGPLed.
You can't just relicense a whole program just because you forked it. Unless you asked a copyright assignment from contributors when they contributed code (which the GIMP project doesn't do), each piece of code still belongs to every person who contributed it. Which means that to be able to relicense GEGL or babl, you'll have to ask permission to every single person who contributed code over the years, and if you can't get it, delete or rewrite all the pieces of code that still exists and you could not get relicensing permission for. Well that's a huge and laborious work.
Also LGPL is usually used for library to allow a wide range of software to use the library. If the forked version was to become GPL, it would become very limited as to which program can use it.
In any case, I don't believe a fork is any kind of solution here (or
at least not the best one). If there really is a problem (I don't deny
nor acknowledge it; as I said, I don't know enough), I would really
hope for a real in-code solution to be found for all kind of software
to be able to use GEGL/babl with the various use case and no broken
workflow. A single library being shared by a wide range of software is
a real strength. In particular it allows the library to gain stability
since we can get a lot of feedbacks and patchs from various downstream
program (such as GIMP or imgflo). I would be really sad if we were to
lose this strength.
If things were becoming too bad for GIMP somehow and we need to fork a
library we use, I am not 100% against the possibility, but this should
really be the last last possibility to consider. Working in harmony
with upstream and helping each other should really be the way to go.
Jehan
With kindest regards,
Elle Stone
--
http://ninedegreesbelow.com
Color management and free/libre photography _______________________________________________ gimp-user-list mailing list
List address: gimp-user-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-user-list List archives: https://mail.gnome.org/archives/gimp-user-list
GIMP should fork babl and GEGL
(apologies for top-posting)
Hi Elle,
The BABL roadmap[1], which was written in response to comments raised by
you (and others),
details a mechanism for working with multiple RGB color spaces. It will be
possible to create a babl format specifier which means
"whatever-the-artist-chose-for-this-image RGB".
All GEGL operations which currently wrongly use hardcoded bablRGB ("RGBA
float" and similar) will be changed to use this new specifier.
Duplicate/side-by-side implementations of operations is not necessary nor
planned.
With this BABL work in place, GIMP/GEGL can then use LCMS to read in the
ICC color profiles from inputs and set up the parameters for this color
space.
I do not understand how this solution (once implemented) will not work for your usecase. If you think it will not, please explain why.
I have no desired for a "sRGB only" workflow, and it does not help the discussion to jump such a conclusion. Please do not assume that the different needs are in conflict/adverserial to each other.
1. https://git.gnome.org/browse/babl/tree/docs/roadmap.txt#n74
On 4 November 2014 19:27, Elle Stone wrote:
Below explains why GIMP should fork babl and GEGL for use just with GIMP:
Hacker News picked up an article from my website: The Sad State of High Bit Depth GIMP Color Management
(http://ninedegreesbelow.com/photography/sad-state-of-high- bit-depth-gimp-color-management.html)In the Hacker News comments (https://news.ycombinator.com/item?id=8549560 ), "unhammer" said:
//begin quote From glancing over it, it seems to me like Elle Stone wants GIMP to make a rather radical shift to Do The Right Thing, while Øyvind Kolås (Pippin) values making small improvements one step at a time to avoid breaking current functionality.
//end quoteunhammer's otherwise excellent summary overlooks one very important point, which is that there is absolutely *no* current functionality in GIMP that would be broken by Doing the Right Thing, which is to give GIMP proper ICC profile color management.
The only caveat is that a very few GIMP UI functions really do need to be labelled as "only for device sRGB images" or in some cases "only for device NTSC images". This article lists all such functions: http://ninedegreesbelow.com/gimpgit/gimp-hard-coded-sRGB.html
Moving back to the Hacker News comments, our very own Jon Nordby ("jononor") reveals precisely where the "current functionality" that would be broken by Doing the Right Thing actually resides:
//begin quote GEGL is developed for GIMP, and other projects. http://www.jonnor.com/2014/04/imgflo-0-1-an-image-processing... http://www.jonnor.com/2014/11/imgflo-0-2-the-grid-launched/ Disclosure: I'm a GEGL dev and the imgflo maintainer.
The 'other projects' part is one of the reasons why the proposed solution 'just strip all colorspace info, assume it is the same throughout entire processing pipeline' is not acceptable for GEGL, even if that might somewhat close to the typical usecase for GIMP. //end quote
In other words, nothing in *GIMP* would be compromised or broken by Doing the Right Thing. However, Nordby's other projects *would* be affected. Of course his other software could be patched to assume sRGB as the image input profile, but perhaps that is something he doesn't want to do.
As an aside, by "just strip all colorspace info", Norby seems to mean replacing hard-coded sRGB parameters with equivalent parameters pulled from the user's chosen RGB working space, which is precisely the Right Thing to Do for GIMP.
The ICC profile color management problem with current GIMP 2.8/2.9 is that some babl/GEGL/GIMP functions are written using hard-coded sRGB Y and XYZ parameters. These functions necessarily give wrong results if you, the GIMP user, try to edit images in other RGB working spaces such as AdobeRGB1998, BetaRGB, or ProPhotoRGB (http://ninedegreesbelow.com/ photography/users-guide-to-high-bit-depth-gimp.html).
The "Right Thing to Do" for GIMP is to use LCMS to retrieve the Y and XYZ values from the image's actual user-chosen ICC working space profile and then use the Right values instead of the Wrong values.
Moving back to the Hacker News comments, Jon Nordby said:
//begin quote This article is primarly a strawman argument, the 'architecture' which is so adamantly argued against has already been abandoned (much thanks to arguments from OP). https://git.gnome.org/browse/ babl/tree/docs/roadmap.txt#n74 It has however not magically implemented itself yet.
This is somewhat recognized in the article section which starts "There is a ray of hope". The implication that the issues demonstrated will go away as a consequence of this has somehow been lost, possibly due to miscommunication.
//end quoteMy article does not present a strawman argument. Based on his last post to the GIMP developer's mailing list, head babl/GEGL developer Øyvind Kolås is still clinging to his hopelessly broken unbounded sRGB model for image editing.
If Kolås had really given up on unbounded sRGB, he wouldn't still be saying things like "Using a fixed linear RGB format instead of userRGB is what for some operations will provide the consistent results for the same property values / slider positions" (https://mail.gnome.org/ archives/gimp-developer-list/2014-October/msg00096.html). For those of you who don't speak "bablese", "fixed linear RGB" means linear gamma unbounded *s*RGB.
Kolås's desire for "consistent slider results" betrays his failure to understand the nature of color-managed RGB image editing. Yes, many editing operations do produce different results in different RGB working spaces. This is precisely *why* we have different RGB working spaces. The ONLY person qualified to pick which RGB working space to use for any given technical or artistic purpose is YOU, the GIMP *USER*.
Kolås's plan seems to be to use unbounded sRGB whenever and wherever possible, with Kolås being the judge of "whenever and wherever possible".
Nordby's plan seems to be to "eventually" implement side-by-side babl/GEGL processing for sRGB and for the user's choice of RGB working spaces. This plan unnecessarily complicates the code and totally ignores the fact that sRGB is just another ICC profile RGB working space that needs *no* special treatment.
The only way I can see for GIMP to get out of this babl/GEGL "hard-coded sRGB mess" is for GIMP to fork a babl/GEGL branch meant specifically for GIMP. That way Nordby can have his "sRGB only" branch, Kolås can play with unbounded sRGB, and GIMP can have proper ICC profile color management without having to take a backseat to the needs of other babl/GEGL projects.
Another advantage to forking babl and GEGL for GIMP is that GIMP's fork of babl and GEGL could be GPLed, thus freeing the GIMP devs to add FFTW (Fourier transforms, http://www.fftw.org/) and other new functionality to GIMP. FFTW is GPLed. At present, GIMP is somewhat hobbled as to what GPL code can be used for new editing functions because the babl/GEGL code is LGPLed.
With kindest regards,
Elle Stone
--
http://ninedegreesbelow.com
Color management and free/libre photography _______________________________________________ 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
Jon Nordby - www.jonnor.com
GIMP should fork babl and GEGL
On Tue, Nov 4, 2014 at 10:27 PM, Elle Stone wrote:
Another advantage to forking babl and GEGL for GIMP is that GIMP's fork of babl and GEGL could be GPLed, thus freeing the GIMP devs to add FFTW (Fourier transforms, http://www.fftw.org/) and other new functionality to GIMP. FFTW is GPLed. At present, GIMP is somewhat hobbled as to what GPL code can be used for new editing functions because the babl/GEGL code is LGPLed.
Well, it's a shame we can't legally use FFTW to revive that GSoC project, but FFTW is not the only option out there. There's e.g. https://github.com/anthonix/ffts.
Also, as Jehan correctly stated, licensing a library under GPL opens a whole can of worms. Just google for "libredwg gpl freecad librecad" to see what kind of madness can happen.
Alex
GIMP should fork babl and GEGL
On 11/04/2014 02:31 PM, Jon Nordby wrote:
(apologies for top-posting)
Hi Elle,
The BABL roadmap[1], which was written in response to comments raised by you (and others),
details a mechanism for working with multiple RGB color spaces. It will be possible to create a babl format specifier which means "whatever-the-artist-chose-for-this-image RGB". All GEGL operations which currently wrongly use hardcoded bablRGB ("RGBA float" and similar) will be changed to use this new specifier. Duplicate/side-by-side implementations of operations is not necessary nor planned.
With this BABL work in place, GIMP/GEGL can then use LCMS to read in the ICC color profiles from inputs and set up the parameters for this color space.
I do not understand how this solution (once implemented) will not work for your usecase. If you think it will not, please explain why.
I have no desired for a "sRGB only" workflow, and it does not help the discussion to jump such a conclusion. Please do not assume that the different needs are in conflict/adverserial to each other.
1. https://git.gnome.org/browse/babl/tree/docs/roadmap.txt#n74
What you just described IS side-by-side implementations of operations. In an ICC profile color-managed application, sRGB is just another RGB working space. You don't need to special-case sRGB.
Right now all GEGL operations specify "bablRGB": RGBA, R'G'B'A, etc.
In Pippin's originally planned "unbounded sRGB architecture", "bablRGB" meant "convert the image to unbounded sRGB before perfoming *any* editing operation". Now the plan is that bablRGB will mean "convert to unbounded sRGB for *some* operations".
But thankfully the "convert from UserRGB to unbounded sRGB" code has not yet been written. So in reality, at this point in time "bablRGB" already IS UserRGB. There is no reason to write a whole bunch of new babl format specifiers for UserRGB. That would be side-by-side implementation.
ALL current babl/GEGL/GIMP editing operations already work just fine, regardless of the user's chosen RGB working space, EXCEPT for the fact that there are still hard-coded Y and XYZ parameters in the babl/GEGL/GIMP code base.
To work with UserRGB data, those hard-coded sRGB Y and XYZ parameters need to be generalized to use Y and XYZ parameters pulled from the user's chosen RGB working space. If you generalize those operations to work with Y and XYZ pulled from UserRGB, those operations will work just fine even when UserRGB really is sRGB.
"bablRGB" is now in fact and should remain UserRGB. There is no reason to write code that makes "bablRGB" mean "convert to unbounded sRGB" and then write more code that means "use UserRGB instead of sRGB".
I'm leaving to one side the babl sRGB TRC flips because that code requires special handling, and the user really does need a way to completely disable those TRC flips. A fundamental premise for writing an RGB image editor is that you never mess with the user's RGB data without their explicit permission. Just opening the image with GIMP is NOT explicit permission.
Best regards, Elle Stone
GIMP should fork babl and GEGL
In his last post on the topic Pippin said:
Once we have the vocabulary to also describe this aspect of the pixelformats used by operations, the first thing we should do is to annotate all the operations which are broken when done with sRGB primaries, then we will be able to continue refactoring, profiling and optimizing; without breaking existing functionality/rendering. Not only in terms of making more operations request directly userRGB, but also doing things like make some linear operations accept any of userRGB or bablRGB (or other linear RGB); and creating output buffers in the same format – to avoid unnecessary conversions in such cases.
Using a fixed linear RGB format instead of userRGB is what for some operations will provide the consistent results for the same property values / slider positions. Knowing which operations this is important for is easier to determine when we have code providing the vocabulary in babl. The further along on the roadmap, more of the road will have to be laid/determined as we walk it.
Nothing in the above post shows that Pippin has given up on unbounded sRGB. If Pippin really understood anything I've been trying to explain, he wouldn't still be saying things like:
//begin quote
"Using a fixed linear RGB format instead of userRGB is what for some
operations will provide the consistent results for the same property
values / slider positions. Knowing which operations this is important
for is easier to determine when we have code providing the vocabulary in
babl."
//end quote
There is not one single operation for which it is important that sliders produce consistent results. NONE. NOT ONE. The whole premise that sliders should produce consistent results is grounded in a misconception of the requirements for RGB image editing.
Anyone not indoctrinated in the whole unbounded sRGB mystique that's been perpetrated among the babl/GEGL/GIMP devs for the last however many years would be rolling on the floor laughing if they could fight their way past the nonstandard "color management" vocabulary enough to understand what you all have been talking about all these years.
I no longer have the time to continue being actively involved with GIMP development (OK, that cheering in the background isn't nice! :) ). My hope is to see the whole unbounded sRGB thing abandoned. Let bablRGB be UserRGB. You can deal with device-specific code with a UI warning. An RGB image editor should NEVER mess with the user's RGB data without the user's explicit request. Behind the scenes conversions to unbounded sRGB is just wrong.
GIMP is important to free/libre artists. GIMP is also important to would-be refugees from Adobe Cloud. Artists need non-proprietary alternatives and specifically they need software that doesn't lock the user's work inside proprietary formats that can't even be accessed without a subscription.
(To forestall one of Pippin's stock responses, no, I am not advocating that GIMP be a PhotoShop clone. One reason I switched to Linux and free software was because I was unhappy with PhotoShop limitations regarding linear gamma image processing; sadly Cinepaint capabilities were overrated; even more sadly, all these years later GIMP high bit depth image processing is saddled with the whole unbounded sRGB overlay.)
If GIMP can't get ICC profile color management exactly right, well, DarkTable partly fills the gap with its built-in masks. And Krita is frankly leaving GIMP in the dust in very many ways. Krita is a load of fun to use for painting. But Krita not aimed at photographers and it's not as easy to use for strictly RGB image editing as GIMP would be, could be, if unbounded sRGB is just abandoned and the devs starting listening to potential and actual GIMP users.
What free/libre photographers really need is for GIMP to be everything it could be if ICC profile color management is properly implemented across the board for all editing operations. This whole unbounded sRGB thing is a dead-end street.
Best regards, Elle Stone
GIMP should fork babl and GEGL
My apologies in advance for sounding preachy, but here goes:
GIMP developers need to start paying attention to what potential and actual GIMP users really want and need from their RGB image editor.
I respectfully suggest the following:
Drop the incredibly paternalistic attitude that the devs know better than the GIMP users what GIMP users really need.
Try finding a few actual high end users who understand ICC profile color management and the requirements for proper RGB image editing, and *ask* them what they need. Talk to Krita users and Darktable users. Even try to find a few Adobe Cloud refugees and talk to them - there is certainly enough interest in high bit depth GIMP being expressed in the various photography forums.
Ask these actual and potential new GIMP users how GIMP would need to change before these users would be happy using GIMP for photographic image editing. And please don't try to hide from the user what's happening in the background. Instead show some respect the user's RGB data. Users are trusting that GIMP doesn't do silly things like converting to unbounded sRGB in the background or deciding for the user whether an operation should be done on linear or perceptually uniform RGB.
Best regards, Elle Stone
GIMP should fork babl and GEGL
On Wed, Nov 5, 2014 at 4:57 PM, Elle Stone wrote:
Drop the incredibly paternalistic attitude that the devs know better than the GIMP users what GIMP users really need.
Out of curiosity: if we had that attitude, what was the point of working with a user experience architect from 2006 to 2013, actually conducting interviews with end-user and adding/rewriting features based on those interviews? :)
Try finding a few actual high end users who understand ICC profile color management and the requirements for proper RGB image editing, and *ask* them what they need. Talk to Krita users and Darktable users. Even try to find a few Adobe Cloud refugees and talk to them - there is certainly enough interest in high bit depth GIMP being expressed in the various photography forums.
With Peter's departure, someone would have to take over the role of UI/UX guy to do interviews properly and write specs.
Alex
GIMP should fork babl and GEGL
On 5 November 2014 13:50, Elle Stone wrote:
On 11/04/2014 02:31 PM, Jon Nordby wrote:
(apologies for top-posting)
Hi Elle,
The BABL roadmap[1], which was written in response to comments raised by you (and others),
details a mechanism for working with multiple RGB color spaces. It will be possible to create a babl format specifier which means "whatever-the-artist-chose-for-this-image RGB". All GEGL operations which currently wrongly use hardcoded bablRGB ("RGBA float" and similar) will be changed to use this new specifier. Duplicate/side-by-side implementations of operations is not necessary nor planned.With this BABL work in place, GIMP/GEGL can then use LCMS to read in the
ICC color profiles from inputs and set up the parameters for this color space.
I do not understand how this solution (once implemented) will not work for your usecase. If you think it will not, please explain why.
I have no desired for a "sRGB only" workflow, and it does not help the discussion to jump such a conclusion. Please do not assume that the different needs are in conflict/adverserial to each other.
1. https://git.gnome.org/browse/babl/tree/docs/roadmap.txt#n74
What you just described IS side-by-side implementations of operations. In an ICC profile color-managed application, sRGB is just another RGB working space. You don't need to special-case sRGB.
No it is not. There will be one implementation of say "multiply". It will be able to work on any RGB color space. Including sRGB, but without need for special casing.
Right now all GEGL operations specify "bablRGB": RGBA, R'G'B'A, etc.
In Pippin's originally planned "unbounded sRGB architecture", "bablRGB" meant "convert the image to unbounded sRGB before perfoming *any* editing operation". Now the plan is that bablRGB will mean "convert to unbounded sRGB for *some* operations".
The meaning of the "bablRGB" specifiers has not, and will not change. The vast majority of operations will just stop using them (because they have hardcoded sRGB parameters), and instead use the new specifiers, as per the roadmap.
Jon Nordby - www.jonnor.com
GIMP should fork babl and GEGL
On 11/05/2014 08:22 AM, Jon Nordby wrote:
What you just described IS side-by-side implementations of operations. In an ICC profile color-managed application, sRGB is just another RGB working space. You don't need to special-case sRGB.
No it is not. There will be one implementation of say "multiply". It will be able to work on any RGB color space. Including sRGB, but without need for special casing.
Right now all GEGL operations specify "bablRGB": RGBA, R'G'B'A, etc.
In Pippin's originally planned "unbounded sRGB architecture", "bablRGB" meant "convert the image to unbounded sRGB before perfoming *any* editing operation". Now the plan is that bablRGB will mean "convert to unbounded sRGB for *some* operations".
The meaning of the "bablRGB" specifiers has not, and will not change. The vast majority of operations will just stop using them (because they have hardcoded sRGB parameters), and instead use the new specifiers, as per the roadmap.
For the babl code that converts an sRGB image to grayscale for use as a layer mask, do you plan to add a new set of functions that convert from UserRGB to grayscale?
That code would, of course, need to pull Y values from UserRGB. Which of course means that the new code for UserRGB would also work for sRGB images.
For the babl code that converts from color to Y for painting on a mask, that code currently is hard-coded to use sRGB Y values. Do you plan to add a new set of functions that convert from UserRGB to Y for painting on a mask? That code would also, of course, need to pull Y values from UserRGB. Which of course means that the new code for UserRGB would also work for sRGB images.
For all the GIMP UI functions that currently use hard-coded sRGB Y values sprinkled through babl, GEGL, and GIMP, do you plan to add a new set of alternate functions that will use Y values pulled from UserRGB? Again, that new UserRGB code will also work for sRGB images.
How is this not side-by-side implementation?
Why would any sane developer want to write all the new code and have it exist side by side with equivalent hard-coded sRGB functions?
What part of the latest new plan am I missing? Could you explain the purpose that is served by having all the functions with hard-coded sRGB parameters sit side by side with equivalent functions that use UserRGB parameters?
Or are you really getting rid of *all* the hard-coded sRGB parameters? In which case, what is the new purpose for the bablRGB formats that "will not change" their meanings?
Best regards, Elle Stone
http://ninedegreesbelow.com Color management and free/libre photography
GIMP should fork babl and GEGL
Elle Stone (ellestone@ninedegreesbelow.com) wrote:
Why would any sane developer want to write all the new code and have it exist side by side with equivalent hard-coded sRGB functions?
Why would any sane developer want to fork an existing libary and have it exist side by side with an equivalent but subtly incompatible library?
Bye, Simon
simon@budig.de http://simon.budig.de/
GIMP should fork babl and GEGL
On 11/05/2014 09:07 AM, Simon Budig wrote:
Elle Stone (ellestone@ninedegreesbelow.com) wrote:
Why would any sane developer want to write all the new code and have it exist side by side with equivalent hard-coded sRGB functions?
Why would any sane developer want to fork an existing libary and have it exist side by side with an equivalent but subtly incompatible library?
Bye, Simon
You are entirely avoiding the very pertinent question I just asked and you full well know it.
Now could you try answering the question I did ask? Although frankly I'd rather hear what Jon Nordby has to say.
Elle
GIMP should fork babl and GEGL
On 11/05/2014 07:34 AM, Alexandre Prokoudine wrote:
On Tue, Nov 4, 2014 at 10:27 PM, Elle Stone wrote:
Another advantage to forking babl and GEGL for GIMP is that GIMP's fork of babl and GEGL could be GPLed, thus freeing the GIMP devs to add FFTW (Fourier transforms, http://www.fftw.org/) and other new functionality to GIMP. FFTW is GPLed. At present, GIMP is somewhat hobbled as to what GPL code can be used for new editing functions because the babl/GEGL code is LGPLed.
Well, it's a shame we can't legally use FFTW to revive that GSoC project, but FFTW is not the only option out there. There's e.g. https://github.com/anthonix/ffts.
Also, as Jehan correctly stated, licensing a library under GPL opens a whole can of worms. Just google for "libredwg gpl freecad librecad" to see what kind of madness can happen.
I'm not exactly keen on the idea of forking babl and GEGL. Nonetheless, it is a legitimate question to consider much GIMP is being/might in the future be compromised by the needs of other projects that use babl and GEGL.
The FFTW code is a case in point. I haven't looked at the anthonix code and frankly I'm not enough of a mathematician to make an informed judgement (has any free/libre software adopted it in place of FFTW?).
There is already that google summer of code Fourier branch, and I've peeked into enough useful algorithms to know that GIMP users would benefit from having access to Fourier-based algorithms, which is useful even for "simple" things like a convincing lens blur and motion blur, and of course sharpening that goes beyond unsharp mask.
At the moment GIMP devs have way more than "enough to do" without worrying about Fourier-based enhancements. But it seems a shame to have to worry about licensing issues if/when that happy day comes when Fourier-based code reaches the head of the "let's do this" list.
Elle
GIMP should fork babl and GEGL
On 5 November 2014 14:50, Elle Stone wrote:
On 11/05/2014 08:22 AM, Jon Nordby wrote:
What you just described IS side-by-side implementations of operations. In an ICC profile color-managed application, sRGB is just another RGB working space. You don't need to special-case sRGB.
No it is not. There will be one implementation of say "multiply". It will be able to work on any RGB color space. Including sRGB, but without need for special casing.
Right now all GEGL operations specify "bablRGB": RGBA, R'G'B'A, etc.
In Pippin's originally planned "unbounded sRGB architecture", "bablRGB" meant "convert the image to unbounded sRGB before perfoming *any* editing operation". Now the plan is that bablRGB will mean "convert to unbounded sRGB for *some* operations".
The meaning of the "bablRGB" specifiers has not, and will not change. The vast majority of operations will just stop using them (because they have hardcoded sRGB parameters), and instead use the new specifiers, as per the roadmap.
For the babl code that converts an sRGB image to grayscale for use as a layer mask, do you plan to add a new set of functions that convert from UserRGB to grayscale?
That code would, of course, need to pull Y values from UserRGB. Which of course means that the new code for UserRGB would also work for sRGB images.
For the babl code that converts from color to Y for painting on a mask, that code currently is hard-coded to use sRGB Y values. Do you plan to add a new set of functions that convert from UserRGB to Y for painting on a mask? That code would also, of course, need to pull Y values from UserRGB. Which of course means that the new code for UserRGB would also work for sRGB images.
For all the GIMP UI functions that currently use hard-coded sRGB Y values sprinkled through babl, GEGL, and GIMP, do you plan to add a new set of alternate functions that will use Y values pulled from UserRGB? Again, that new UserRGB code will also work for sRGB images.
How is this not side-by-side implementation?
When I said "operations" I meant GEGL operations: There will be no side-by-side implementation of GEGL operations. Yes, we will have to introduce new babl color conversion functions which handle arbitary RGB color spaces by looking up parameters from UserRGB. Both to convert from&to grayscale and between the various RGB spaces. There is no escaping that, as we don't have any code that can handle these cases right now.
Whether the existing conversion functions with hardcoded sRGB parameters for bablRGB will remain once general functions exists, is an open question. It could be that they will just call into the general RGB color conversion functions with the particular parameters of sRGB. Or it could be that keeping the functions as-is has benefits that outweigh the cost of keeping the code around, like being able to do performance optimization tricks not possible in the general case.
What part of the latest new plan am I missing? Could you explain the
purpose that is served by having all the functions with hard-coded sRGB parameters sit side by side with equivalent functions that use UserRGB parameters?
Or are you really getting rid of *all* the hard-coded sRGB parameters? In which case, what is the new purpose for the bablRGB formats that "will not change" their meanings?
For operations which have an actual dependency on sRGB parameters, like the previously mentioned operations emulating color blindness. Or for interacting with (sometimes broken) operating-system/library interfaces which expects sRGB. I don't expect it to be particularly common. The primary reason (as I see it) for not changing the semantics of existing specifiers is to preserve compatibility. Code outside of BABL/GEGL/GIMP could very well be reliant on the current meaning of the bablRGB formats.
Jon Nordby - www.jonnor.com
GIMP should fork babl and GEGL
On 11/05/2014 09:40 AM, Jon Nordby wrote:
On 5 November 2014 14:50, Elle Stone wrote:
For the babl code that converts an sRGB image to grayscale for use as a layer mask, do you plan to add a new set of functions that convert from UserRGB to grayscale?
That code would, of course, need to pull Y values from UserRGB. Which of course means that the new code for UserRGB would also work for sRGB images.
For the babl code that converts from color to Y for painting on a mask, that code currently is hard-coded to use sRGB Y values. Do you plan to add a new set of functions that convert from UserRGB to Y for painting on a mask? That code would also, of course, need to pull Y values from UserRGB. Which of course means that the new code for UserRGB would also work for sRGB images.
For all the GIMP UI functions that currently use hard-coded sRGB Y values sprinkled through babl, GEGL, and GIMP, do you plan to add a new set of alternate functions that will use Y values pulled from UserRGB? Again, that new UserRGB code will also work for sRGB images.
How is this not side-by-side implementation?
When I said "operations" I meant GEGL operations: There will be no side-by-side implementation of GEGL operations.
Will this also be true of any editing operations that remain within the GIMP code base, once GIMP is fully geglified?
A separate question - will there actually be any remaining editing operations in the GIMP code base once GIMP is fully geglified?
Yes, we will have to introduce new babl color conversion functions which handle arbitary RGB color spaces by looking up parameters from UserRGB. Both to convert from&to grayscale and between the various RGB spaces. There is no escaping that, as we don't have any code that can handle these cases right now.
OK. This makes sense.
Whether the existing conversion functions with hardcoded sRGB parameters for bablRGB will remain once general functions exists, is an open question. It could be that they will just call into the general RGB color conversion functions with the particular parameters of sRGB.
It seems to me that this might be the preferable course of action. This way there would be no reason for code to be written that tries to second-guess the user's intentions as to whether UserRGB really is the same as GIMP's built-in sRGB.
Or it could be that keeping the functions as-is has benefits that outweigh the cost of keeping the code around, like being able to do performance optimization tricks not possible in the general case.
Speaking as a developer (you all keep telling me I'm a developer), a crucially important guiding principle for writing a high end image editor is that you never mess with the user's RGB data without the user's explicit consent.
If you *ask* the user whether they want to have their data treated as "bonified same as GIMP's sRGB" and then use optimized sRGB-only code, that's one thing. Doing so behind the user's back, without their consent, that's another thing. That is disrespecting the user's control over their RGB data.
What part of the latest new plan am I missing? Could you explain the purpose that is served by having all the functions with hard-coded sRGB parameters sit side by side with equivalent functions that use UserRGB parameters?
Or are you really getting rid of *all* the hard-coded sRGB parameters? In which case, what is the new purpose for the bablRGB formats that "will not change" their meanings?
For operations which have an actual dependency on sRGB parameters, like the previously mentioned operations emulating color blindness.
Two practical problems will need solutions:
First, for code that clearly requires that the image be an sRGB image, converting the image to sRGB without the user's *explicit* consent is disrespecting the user's RGB data. If there are GIMP UI functions that only work for sRGB images, give the user a choice. Don't convert the image to sRGB without the user's explicit consent. Maybe they'd just as soon not use that editing operation.
Second, some functions currently use sRGB and NTSC *device* parameters:
* Some of the existing hard-coded sRGB *device* parameters in the code base clearly ought to be D50-adapted ICC profile parameters. That code should be generalized to use UserRGB Y and XYZ values.
* Some of the functions seem to suggest that the unadapted *device* parameters really are appropriate for the originally intended use, and that the affected functions simply aren't appropriate for use in an ICC profile *color-managed* workflow. These "device" functions should be identified in the UI so the unsuspecting user doesn't try to use these functions thinking they are appropriate for ICC profile color-managed images. I think the color-deficiency filter might actually be one of these functions.
Converting the image to the sRGB or NTSC ICC profile is inappropriate for any device-specific code that for whatever reason might need to remain within the code base. Likewise, any proposed special-case/optimized treatment for sRGB as an ICC profile won't apply to functions that need to use sRGB or NTSC device-based code.
For information about device sRGB vs ICC profile sRGB, see "The
Luminance of an sRGB Color",
http://ninedegreesbelow.com/photography/srgb-luminance.html.
Or for
interacting with (sometimes broken) operating-system/library interfaces which expects sRGB. I don't expect it to be particularly common.
In this case, maybe the user should be warned in the UI to disable color management altogether in the Preferences?
Because in this (hopefully extremely uncommon) case it sounds like the user is faced with broken/inappropriate libraries that make proper ICC profile color management impossible.
The primary reason (as I see it) for not changing the semantics of existing specifiers is to preserve compatibility. Code outside of BABL/GEGL/GIMP could very well be reliant on the current meaning of the bablRGB formats.
This makes perfect sense as a reason for keeping the existing babl specifiers for compatibility, and writing new specifiers for UserRGB for use with GEGL/GIMP.
It sounds like you do understand what I've been trying to explain about problems with unbounded sRGB, and no doubt I've misunderstood some of what you've been trying to say.
Assuming the other babl/GEGL/GIMP devs are on board with what you've just explained, it sounds like high bit depth GIMP really will be (maybe even in time for GIMP 2.10?) a high bit depth and properly ICC profile color-managed RGB free/libre image editor.
Best regards, Elle Stone
GIMP should fork babl and GEGL
I'd like to add my penny's worth on this discussion. My primary use of gimp involves editing photographic images, for both web and print purposes.
On 11/06/14 05:04, Elle Stone wrote:
Speaking as a developer (you all keep telling me I'm a developer), a crucially important guiding principle for writing a high end image editor is that you never mess with the user's RGB data without the user's explicit consent.
If you *ask* the user whether they want to have their data treated as "bonified same as GIMP's sRGB" and then use optimized sRGB-only code, that's one thing. Doing so behind the user's back, without their consent, that's another thing. That is disrespecting the user's control over their RGB data.
This is critical. If I'm working with a wide-gamut profile, I really really really don't want gimp screwing with the rgb data without my say so. Even if the result is not obvious visually, I need a heads-up so I can pay close attention to what's happening and undo the operation if appropriate.
Gary
GIMP should fork babl and GEGL
On Thu, Nov 6, 2014 at 8:24 PM, Gary Aitken wrote:
If you *ask* the user whether they want to have their data treated as "bonified same as GIMP's sRGB" and then use optimized sRGB-only code, that's one thing. Doing so behind the user's back, without their consent, that's another thing. That is disrespecting the user's control over their RGB data.
This is critical. If I'm working with a wide-gamut profile, I really really really don't want gimp screwing with the rgb data without my say so.
Frankly, I'm puzzled. It's been, how many? 8 years? since GIMP asks users what it should do with a picture that is tagged with a profile that doesn't match the current RGB working space. Has anyone actually suggested that this is going to be otherwise? :)
Alex
GIMP should fork babl and GEGL
Hi Alex,
If you *ask* the user whether they want to have their data treated as "bonified same as GIMP's sRGB" and then use optimized sRGB-only code, that's one thing. Doing so behind the user's back, without their consent, that's another thing. That is disrespecting the user's control over their RGB data.
This is critical. If I'm working with a wide-gamut profile, I really really really don't want gimp screwing with the rgb data without my say so.
Frankly, I'm puzzled. It's been, how many? 8 years? since GIMP asks users what it should do with a picture that is tagged with a profile that doesn't match the current RGB working space. Has anyone actually suggested that this is going to be otherwise? :)
Maybe I'm misunderstanding the discussion. Gimp asks when one opens an image what one wants as the working colorspace. But we're talking about operations *after* the image has been opened and the working colorspace has been established.
Once I establish the colorspace, I expect all operations to be performed in a manner which is consistent with and preserves that colorspace. If some operation deals in some other space without my knowledge, that's not good.
My apologies if I'm misunderstanding the discussion.
Gary
GIMP should fork babl and GEGL
On 11/06/2014 12:35 PM, Gary Aitken wrote:
Maybe I'm misunderstanding the discussion. Gimp asks when one opens an image what one wants as the working colorspace. But we're talking about operations *after* the image has been opened and the working colorspace has been established.
Once I establish the colorspace, I expect all operations to be performed in a manner which is consistent with and preserves that colorspace. If some operation deals in some other space without my knowledge, that's not good.
My apologies if I'm misunderstanding the discussion.
You aren't misunderstanding the discussion.
The current proposed solution to the current hard-coded Y and XYZ sRGB parameters is to generalize all editing operations to use UserRGB Y and XYZ.
But there are a handful of editing operations that can't be generalized, that only work properly when done on actual sRGB images.
One proposed solution to the "only works in sRGB" problem is to convert the image to sRGB for those few editing operations. That would be OK as an *option*. Even just a UI notification would be sufficient and then the user could choose to convert to sRGB or to simply not use that particular editing operation.
Previously (back in April) the plan was to convert all images to unbounded sRGB before editing would begin, and the user wouldn't have a choice in the matter.
More recently the plan was to convert to unbounded sRGB for just some editing operations and use UserRGB for other editing operations, and again the user wouldn't have a choice in the matter.
At this point we hopefully are down to "only convert to sRGB for those very few editing operations that really only work in the sRGB color space".
I'm saying "and make sure you still give the user a choice." There should never, ever be a forced conversion to sRGB. The only correct thing to do is tell the user what the problem is and let the user decide what to do, either convert to sRGB or else don't use the affected editing operation.
In addition to trying to avert any forced ICC profile conversions, I'm also concerned about special "sRGB only optimized code".
Personally I would prefer that sRGB be treated just like any other RGB
working space, with no special "sRGB only optimized code paths", partly
because there are too many sRGB profile variants (Will the Real sRGB
Profile Please Stand Up?
http://ninedegreesbelow.com/photography/srgb-profile-comparison.html).
Giving the user a choice whether to use or not use "optimized sRGB only code paths" would be OK. Not telling the user that sRGB images might be handled differently is not OK.
I don't want the devs to decide for me that "this profile is close enough to sRGB that we'll just assume it really is the same as GIMP's sRGB and then we'll use different code paths."
Even if the image profile really is the GIMP sRGB profile, I still think the user should have a choice of whether to use "optimized sRGB only" code paths.
Given the previously planned forced conversions to unbounded sRGB, I
think it's important to stress that the user really does need to have
complete control over when and whether:
* an image is converted from UserRGB to sRGB.
* the GIMP sRGB profile is assumed to be "close enough" to some other
sRGB profile variant.
* special optimized sRGB only code is used.
Best regards, Elle
GIMP should fork babl and GEGL
On Thu, Nov 6, 2014 at 10:00 PM, Elle Stone wrote:
On 11/06/2014 12:35 PM, Gary Aitken wrote:
Maybe I'm misunderstanding the discussion. Gimp asks when one opens an image what one wants as the working colorspace. But we're talking about operations *after* the image has been opened and the working colorspace has been established.
Once I establish the colorspace, I expect all operations to be performed in a manner which is consistent with and preserves that colorspace. If some operation deals in some other space without my knowledge, that's not good.
My apologies if I'm misunderstanding the discussion.
You aren't misunderstanding the discussion.
The current proposed solution to the current hard-coded Y and XYZ sRGB parameters is to generalize all editing operations to use UserRGB Y and XYZ.
But there are a handful of editing operations that can't be generalized, that only work properly when done on actual sRGB images.
One proposed solution to the "only works in sRGB" problem is to convert the image to sRGB for those few editing operations. That would be OK as an *option*. Even just a UI notification would be sufficient and then the user could choose to convert to sRGB or to simply not use that particular editing operation.
Previously (back in April) the plan was to convert all images to unbounded sRGB before editing would begin, and the user wouldn't have a choice in the matter.
More recently the plan was to convert to unbounded sRGB for just some editing operations and use UserRGB for other editing operations, and again the user wouldn't have a choice in the matter.
At this point we hopefully are down to "only convert to sRGB for those very few editing operations that really only work in the sRGB color space".
I'm saying "and make sure you still give the user a choice." There should never, ever be a forced conversion to sRGB. The only correct thing to do is tell the user what the problem is and let the user decide what to do, either convert to sRGB or else don't use the affected editing operation.
In addition to trying to avert any forced ICC profile conversions, I'm also concerned about special "sRGB only optimized code".
Personally I would prefer that sRGB be treated just like any other RGB working space, with no special "sRGB only optimized code paths", partly because there are too many sRGB profile variants (Will the Real sRGB Profile Please Stand Up? http://ninedegreesbelow.com/ photography/srgb-profile-comparison.html).
Giving the user a choice whether to use or not use "optimized sRGB only code paths" would be OK. Not telling the user that sRGB images might be handled differently is not OK.
I don't want the devs to decide for me that "this profile is close enough to sRGB that we'll just assume it really is the same as GIMP's sRGB and then we'll use different code paths."
Even if the image profile really is the GIMP sRGB profile, I still think the user should have a choice of whether to use "optimized sRGB only" code paths.
Given the previously planned forced conversions to unbounded sRGB, I think it's important to stress that the user really does need to have complete control over when and whether:
* an image is converted from UserRGB to sRGB. * the GIMP sRGB profile is assumed to be "close enough" to some other sRGB profile variant.
* special optimized sRGB only code is used.
Hi All,
I am a recent subscriber to the list and I have read with interest the recent threads and I am trying to figure out the "what next?". Developer resources in any project are generally very limited, so it's important to get more people contributing.
Is there a test suite available that could show the expected behavior? If not, let's try to build one, both the test-suite code plus the images (before/after).
Regarding the color spaces and conversions, it should be easy to try to
make some of the the changes
(most of them sound like simple text substitutions),
compile the source and see how well it performs on the test-suite.
Any comments on that?
Simos
GIMP should fork babl and GEGL
On 11/07/2014 04:25 AM, Simos Xenitellis wrote:
Hi All,
I am a recent subscriber to the list and I have read with interest the recent threads and I am trying to figure out the "what next?". Developer resources in any project are generally very limited, so it's important to get more people contributing.
Is there a test suite available that could show the expected behavior? If not, let's try to build one, both the test-suite code plus the images (before/after).
Regarding the color spaces and conversions, it should be easy to try to make some of the the changes
(most of them sound like simple text substitutions), compile the source and see how well it performs on the test-suite. Any comments on that?Simos
The text/code editor Geany can be used to do a file search in GEGL and GIMP for the following string (confine the search to *.c and *.h files): babl_format ("
GEGL has 212 such strings. GIMP has 503.
Here are some example strings with the actual babl formats included (the list is not exhaustive):
babl_format ("Y' u8")
babl_format ("Y u32")
babl_format ("YA u32")
babl_format ("Y float")
babl_format ("Y' float")
babl_format ("Y'A float")
babl_format ("Y'CbCrA float")
babl_format ("R'G'B'A u8")
babl_format ("R'G'B'A u16")
babl_format ("R'G'B' float")
babl_format ("R'G'B'A float")
babl_format ("R'aG'aB'aA float")
babl_format ("CIE Lab alpha float")
and so on . . .
If I understand Jon Nordby correctly, all of these babl_formats really are supposed to be dedicated formats that were intended to be used only with images encoded using the sRGB primaries. Changing the intended meaning of these formats might break compatibility with other software that uses babl.
So new babl_formats need to be written to take the place of all the "dedicated sRGB only" formats. Then the text substitutions could be made.
The problem is made more complicated by the fact that babl does many of the calculations for GEGL and GIMP functions that use Y (in particular painting on a mask and making an grayscale copy of the image for use as a mask). Babl also does the conversions to the YCbCr and CIELAB formats for GEGL and GIMP.
So all the babl functions that currently use hard-coded sRGB parameters either need to be generalized to use parameters pulled from UserRGB (meaning whatever RGB working space the user chooses, which might in fact be sRGB, or might be ProPhotoRGB, or etc). Or else duplicate babl functions for UserRGB need to be written.
The same is true for GEGL and GIMP functions that use Y to calculate Luminance, except most likely for GEGL and GIMP there won't be any "side by side" generalized and sRGB-only functions. Instead the existing functions will all be generalized.
Only a few GIMP UI functions use RGB working-space-specific ("UserRGB")
Y and XYZ values. This article lists where UserRGB Y and XYZ parameters
need to be used:
http://ninedegreesbelow.com/gimpgit/gimp-hard-coded-sRGB.html
To avert any possible confusion, when you open an image using GIMP, there is not and never has been a forced conversion from UserRGB to sRGB. The previously planned code that would have done so, never was written. If I understand Jon Nordby correctly, the development plan that would have required such code seems to have been put aside.
Currently only a few GIMP UI editing operations (that use Y to calculate
Luminance or XYZ to convert to LAB) are affected by the "babl_format"
assumption that the image really is an sRGB image. This article lists
most of the GIMP UI functions that are currently only accurate for sRGB
images:
http://ninedegreesbelow.com/photography/users-guide-to-high-bit-depth-gimp.html
Hopefully Jon Nordby will point out any mistakes I might have made in the above summary.
Best regards, Elle
Test images and test suite (was Re: [Gimp-user] GIMP should fork babl and GEGL)
On 11/06/2014 11:24 AM, Gary Aitken wrote:
Even if the result is not obvious visually, I need a heads-up so I can pay close attention to what's happening and undo the operation if appropriate.
On 11/07/2014 04:25 AM, Simos Xenitellis wrote:
Is there a test suite available that could show the expected behavior? If not, let's try to build one, both the test-suite code plus the images (before/after).
As Gary hinted, when doing "X" to an image, whatever "X" might be, sometimes results are visually obvious and sometimes not. Many times when editing images, I've done "X" and thought "X" was just fine, only to realize later that "X" had changed the file in an unwanted way that only became obvious several editing steps later.
And sometimes "X" can make a change in an image that the monitor's limited color gamut can't display, that might only pop up visually when the image is printed or displayed on a wider gamut display.
There are a lot of nice copyright-encumbered test images available on the internet, but not many "copyleft" test images, and not many images that reflect the full range of colors as captured by digital cameras and then interpreted using typical matrix input profiles.
When I was testing unbounded sRGB image editing, the first task was to put together some appropriate test images and then figure out which tests needed to be made, as per Simos's "test suite".
A good test suite of "copyleft" images would be a nice thing to have, whether for testing new and existing editing algorithms, or for whatever testing that individual GIMP users might want to do on their own (printer-related, for example).
Best regards, Elle Stone
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Hi,
On Fri, Nov 7, 2014 at 1:07 PM, Elle Stone wrote:
On 11/06/2014 11:24 AM, Gary Aitken wrote:
Even if the result is not obvious visually, I need a heads-up so I can pay close attention to what's happening and undo the operation if appropriate.
On 11/07/2014 04:25 AM, Simos Xenitellis wrote:
Is there a test suite available that could show the expected behavior? If not, let's try to build one, both the test-suite code plus the images (before/after).
As Gary hinted, when doing "X" to an image, whatever "X" might be, sometimes results are visually obvious and sometimes not. Many times when editing images, I've done "X" and thought "X" was just fine, only to realize later that "X" had changed the file in an unwanted way that only became obvious several editing steps later.
And sometimes "X" can make a change in an image that the monitor's limited color gamut can't display, that might only pop up visually when the image is printed or displayed on a wider gamut display.
There are a lot of nice copyright-encumbered test images available on the internet, but not many "copyleft" test images, and not many images that reflect the full range of colors as captured by digital cameras and then interpreted using typical matrix input profiles.
When I was testing unbounded sRGB image editing, the first task was to put together some appropriate test images and then figure out which tests needed to be made, as per Simos's "test suite".
A good test suite of "copyleft" images would be a nice thing to have, whether for testing new and existing editing algorithms, or for whatever testing that individual GIMP users might want to do on their own (printer-related, for example).
That's a good idea. What kind of images would be the most interesting?
Basically should that be images, taken with a good digital camera, of
a lot of objects of various colors?
It could also be images with color gradients, I guess (sunset/rise and such)?
Or do you already have such copyleft images at your disposal that you
could provide?
Indeed if we could gather these for access to anyone as reference
(then various software could use them for their own tests), it would
be great.
Jehan
Best regards,
Elle Stone
_______________________________________________ gimp-user-list mailing list
List address: gimp-user-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-user-list List archives: https://mail.gnome.org/archives/gimp-user-list
Test images and test suite (was Re: GIMP should fork babl and GEGL)
I suggested
http://www.imagemagick.org/download/image-bank/16bit840x840images/README to
Elle.
Some details RE: how they were made are found in individual .txt files,
e.g.
http://www.imagemagick.org/download/image-bank/16bit840x840images/wave.txt
Test images and test suite (was Re: [Gimp-developer] GIMP should fork babl and GEGL)
On 11/07/2014 10:25 AM, Jehan Pagès wrote:
A good test suite of "copyleft" images would be a nice thing to have, whether for testing new and existing editing algorithms, or for whatever testing that individual GIMP users might want to do on their own (printer-related, for example).
That's a good idea. What kind of images would be the most interesting? Basically should that be images, taken with a good digital camera, of a lot of objects of various colors?
It could also be images with color gradients, I guess (sunset/rise and such)? Or do you already have such copyleft images at your disposal that you could provide?
Indeed if we could gather these for access to anyone as reference (then various software could use them for their own tests), it would be great.Jehan
Nicolas Robidous's test image collection is very nice, in particular the baby's face and the brightly colored buildings make great test images. His images are already converted to sRGB, which means they can't really fully exercise the color gamuts of reasonably decent printers and wider gamut displays.
I can make available "straight from the camera interpolated raw file, no enhancements added" images of very saturated (outside the sRGB color gamut) natural objects, mostly flowers.
I've also put together various artificial color ramps, granger rainbows, stepped gray scales, and such. And I have IT8 target shots from several cameras, which I think the photographers would release under an appropriate license.
I wish that I had a nice set of pictures of people's faces, young to old, male and female, of diverse skin colors. Skin tones are something that everyone wants to get "just right", so faces make great test images. Such photographs ideally would be shot raw under natural daylight, more or less full frame, and properly white balanced, preferably with a white balancing object discretely placed somewhere in the image frame (styrofoam cups, PVC plastic, white coffee filters all work really well, often as well as commercially available white balancing aids).
High quality images with good gradients would be a nice addition to a collection of test images. Interpolated raw files that have been output in a wider gamut color space would be more versatile than images that have already been converted to sRGB.
Here are links to some sample collections of copyrighted test images:
http://www.pcstats.com/articleimages/200601/samsungspp2040_300dpi1.jpg
I would love to have enough copyleft images to put together a copyleft composite similar to the one in the above link.
http://www.northlight-images.co.uk/article_pages/test_images.html
http://www.outbackphoto.com/printinginsights/pi048/essay.html
Thinking more about "what kind of images", it depends on who's testing what. Here are some possible reasons for wanting test images:
* Testing scaling algorithms.
* Testing ICC profile conversions from wider gamut color spaces to printer profiles and/or to display screen profiles.
* Testing the quality of prints made by a commercial or personally owned printers.
So the first question is: What kind of test images, for what kinds of testing, do you all, as a diverse group of GIMP users and developers, wish you had access to?
Elle
Test images and test suite (was Re: GIMP should fork babl and GEGL)
I can't add much to the color discussion, but at least I can offer up just about any of my images as RAW for any testing (just about everything I shoot is cc-by-sa usually). If anyone finds one of mine they would like, just let me know and I'd be happy to provide the camera raw file.
On Fri, Nov 7, 2014 at 1:24 PM, Elle Stone wrote:
On 11/07/2014 10:25 AM, Jehan Pagès wrote:
A good test suite of "copyleft" images would be a nice thing to have,
whether for testing new and existing editing algorithms, or for whatever testing that individual GIMP users might want to do on their own (printer-related, for example).
That's a good idea. What kind of images would be the most interesting? Basically should that be images, taken with a good digital camera, of a lot of objects of various colors?
It could also be images with color gradients, I guess (sunset/rise and such)?
Or do you already have such copyleft images at your disposal that you could provide?
Indeed if we could gather these for access to anyone as reference (then various software could use them for their own tests), it would be great.Jehan
Nicolas Robidous's test image collection is very nice, in particular the baby's face and the brightly colored buildings make great test images. His images are already converted to sRGB, which means they can't really fully exercise the color gamuts of reasonably decent printers and wider gamut displays.
I can make available "straight from the camera interpolated raw file, no enhancements added" images of very saturated (outside the sRGB color gamut) natural objects, mostly flowers.
I've also put together various artificial color ramps, granger rainbows, stepped gray scales, and such. And I have IT8 target shots from several cameras, which I think the photographers would release under an appropriate license.
I wish that I had a nice set of pictures of people's faces, young to old, male and female, of diverse skin colors. Skin tones are something that everyone wants to get "just right", so faces make great test images. Such photographs ideally would be shot raw under natural daylight, more or less full frame, and properly white balanced, preferably with a white balancing object discretely placed somewhere in the image frame (styrofoam cups, PVC plastic, white coffee filters all work really well, often as well as commercially available white balancing aids).
High quality images with good gradients would be a nice addition to a collection of test images. Interpolated raw files that have been output in a wider gamut color space would be more versatile than images that have already been converted to sRGB.
Here are links to some sample collections of copyrighted test images:
http://www.pcstats.com/articleimages/200601/samsungspp2040_300dpi1.jpg
I would love to have enough copyleft images to put together a copyleft composite similar to the one in the above link.
http://www.northlight-images.co.uk/article_pages/test_images.html
http://www.outbackphoto.com/printinginsights/pi048/essay.html
Thinking more about "what kind of images", it depends on who's testing what. Here are some possible reasons for wanting test images:
* Testing scaling algorithms.
* Testing ICC profile conversions from wider gamut color spaces to printer profiles and/or to display screen profiles.
* Testing the quality of prints made by a commercial or personally owned printers.
So the first question is: What kind of test images, for what kinds of testing, do you all, as a diverse group of GIMP users and developers, wish you had access to?
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
pat david http://blog.patdavid.net
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Hi,
On Mon, Nov 10, 2014 at 5:30 PM, Pat David wrote:
I can't add much to the color discussion, but at least I can offer up just about any of my images as RAW for any testing (just about everything I shoot is cc-by-sa usually). If anyone finds one of mine they would like, just let me know and I'd be happy to provide the camera raw file.
I was actually gonna suggest to perhaps ask you, in particular for the
"nice set of pictures of people's faces, young to old, male and
female, of diverse skin colors." since I know you like to shoot
people. That may be a start.
Since you forgot to add a link to your photos (maybe out of
humility?), here they are: https://www.flickr.com/photos/patdavid
Unfortunately I am about the same for the actual color discussion part, and I'm not sure which photos are the best for color/printer/algorithms/other tests, but I can for instance host the test suite photos. Maybe under testimages.libreart.info or some similar URL. So I suggest that if someone on this thread thinks that this or that photo is interesting, tell me, and I'll make a test page gathering raw photos. With time, I think we should be able to gather a good suite of standard copyleft test photos.
Jehan
On Fri, Nov 7, 2014 at 1:24 PM, Elle Stone wrote:
On 11/07/2014 10:25 AM, Jehan Pagès wrote:
A good test suite of "copyleft" images would be a nice thing to have,
whether for testing new and existing editing algorithms, or for whatever testing that individual GIMP users might want to do on their own (printer-related, for example).
That's a good idea. What kind of images would be the most interesting? Basically should that be images, taken with a good digital camera, of a lot of objects of various colors?
It could also be images with color gradients, I guess (sunset/rise and such)?
Or do you already have such copyleft images at your disposal that you could provide?
Indeed if we could gather these for access to anyone as reference (then various software could use them for their own tests), it would be great.Jehan
Nicolas Robidous's test image collection is very nice, in particular the baby's face and the brightly colored buildings make great test images. His images are already converted to sRGB, which means they can't really fully exercise the color gamuts of reasonably decent printers and wider gamut displays.
I can make available "straight from the camera interpolated raw file, no enhancements added" images of very saturated (outside the sRGB color gamut) natural objects, mostly flowers.
I've also put together various artificial color ramps, granger rainbows, stepped gray scales, and such. And I have IT8 target shots from several cameras, which I think the photographers would release under an appropriate license.
I wish that I had a nice set of pictures of people's faces, young to old, male and female, of diverse skin colors. Skin tones are something that everyone wants to get "just right", so faces make great test images. Such photographs ideally would be shot raw under natural daylight, more or less full frame, and properly white balanced, preferably with a white balancing object discretely placed somewhere in the image frame (styrofoam cups, PVC plastic, white coffee filters all work really well, often as well as commercially available white balancing aids).
High quality images with good gradients would be a nice addition to a collection of test images. Interpolated raw files that have been output in a wider gamut color space would be more versatile than images that have already been converted to sRGB.
Here are links to some sample collections of copyrighted test images:
http://www.pcstats.com/articleimages/200601/samsungspp2040_300dpi1.jpg
I would love to have enough copyleft images to put together a copyleft composite similar to the one in the above link.
http://www.northlight-images.co.uk/article_pages/test_images.html
http://www.outbackphoto.com/printinginsights/pi048/essay.html
Thinking more about "what kind of images", it depends on who's testing what. Here are some possible reasons for wanting test images:
* Testing scaling algorithms.
* Testing ICC profile conversions from wider gamut color spaces to printer profiles and/or to display screen profiles.
* Testing the quality of prints made by a commercial or personally owned printers.
So the first question is: What kind of test images, for what kinds of testing, do you all, as a diverse group of GIMP users and developers, wish you had access to?
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--
pat david
http://blog.patdavid.net
_______________________________________________ gimp-user-list mailing list
List address: gimp-user-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-user-list List archives: https://mail.gnome.org/archives/gimp-user-list
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Here are links to some sample collections of copyrighted test images:
http://www.pcstats.com/articleimages/200601/samsungspp2040_300dpi1.jpg http://www.northlight-images.co.uk/article_pages/test_images.html http://www.outbackphoto.com/printinginsights/pi048/essay.html
So the first question is: What kind of test images, for what kinds of testing, do you all, as a diverse group of GIMP users and developers, wish you had access to?
Elle
I know we have a diverse and talented group of GIMP users. It seems to me that assembling a good set of test images really does need to start with feedback from GIMP users as to what kind of test images they might find useful.
I already know which test images I've downloaded from the internet over the years, for what purposes. I also know which test images I've put together, and for what purposes. It could be that no one else would find these images useful.
So the important question is:
*What copyrighted or otherwise test images GIMP users might have downloaded from the internet and found useful, and *what kinds of test images GIMP users might have already put together, *for what particular testing purposes.
It could be the case that hardly any GIMP user has ever used any test images (doubtful).
It could be the case that the phrase "test image" needs further clarification. Here are some random examples of when an appropriate test image might be useful:
1. Somewhere in my collection of copyrighted test images that can't be shared, there is a brightly colored montage that includes buildings along a stretch of beach, a parrot, and a woman's face. I found that test image very useful for learning about various "conversion to black and white" routines.
2. Grayscale block and grayscale and color gradient images are useful for testing things like:
*How "LCMS2 plus the monitor+monitor-profile plus the GIMP color management settings" affects how dark an image can get before dark gray and black can't be visually distinguished. *How smoothly the monitor+profile displays and the printer+profile prints smooth gradients.
3. A granger rainbow can be used for all kinds of testing, such as "Visually what kind of overlap is there between any given RGB working space and the monitor+profile" and "What happens when extremely saturated colors from a selected RGB working space are converted to the printer profile using perceptual intent".
So before getting too far down the road of randomly assembling images and hoping someone finds them useful enough to justify the time and effort that would be involved, I think it would be helpful, actually essential, to have feedback from at least a few GIMP users as to what kinds of test images you've used in the past (preferably with links to example test images), for what specific testing purposes.
Best regards, Elle Stone
http://ninedegreesbelow.com Color management and free/libre photography
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/11/14 08:15, Elle Stone wrote:
So the important question is:
*What copyrighted or otherwise test images GIMP users might have downloaded from the internet and found useful, and *what kinds of test images GIMP users might have already put together, *for what particular testing purposes.
The things I find most useful are the following:
1. Peoples' faces. Important here is a wide selection of ethnicities, such as white, asian, african, latino. It would be useful to have individual images; and combination images with the extremes (e.g. white, african, and wedding dress in the same image). In the african group, a wide range from very black to brown.
2. Highly saturated from the natural world -- birds and flowers, for example. I may have a few birds of use. Others may well have better images.
3. Color gradients and ICC targets. In this category I would find useful a chart specifically designed to show the boundaries of different well-known colorspaces, such as sRGB, AdobeRGB, and ProPhoto. If the chart had an outline of the colorspaces as separate .xcf layers it would be great. It might be useful to have layers for some printers as well.
It would be good if images have neutral gray cards / gradients of some sort in them, although that is obviously not always possible.
Gary
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On Tue, Nov 11, 2014 at 9:15 AM, Elle Stone wrote:
*What copyrighted or otherwise test images GIMP users might have downloaded from the internet and found useful, and *what kinds of test images GIMP users might have already put together, *for what particular testing purposes.
I have used this image for a wide variety of testing, mostly to do
with printing:
http://www.pixl.dk/download/ (first link)
(note to prudes, there is a woman's bare bottom included ;)
The license wording is a little ambiguous, but I interpret it to mean that it's OK to use it for testing purposes, as long as you aren't selling or otherwise distributing the image itself. I'm not sure how that would relate to a project like GIMP, and it appears we'd need a German speaker to even ask.
The 2002 version contains a *wide* variety of things that can go spectacularly wrong when printing (eg for one, over saturation of black completely destroys the image of the watch), and was a real life saver when I was setting up the workflow of: Workstation -> Digital RIP -> Large Format Printer. It's a beastly image to try and print correctly, and I imagine the 2009 version is just as devious :)
/goes back to munching popcorn and lurking on the color threads...
Chris
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/11/14 17:32, Chris Mohler wrote:
The 2002 version contains a *wide* variety of things that can go spectacularly wrong when printing (eg for one, over saturation of black completely destroys the image of the watch), and was a real life saver when I was setting up the workflow of: Workstation -> Digital RIP -> Large Format Printer. It's a beastly image to try and print correctly, and I imagine the 2009 version is just as devious :)
For the curious and not overly competent, can you shed some light on the kinds of issues you had and how you dealt with them?
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/11/2014 11:45 AM, Gary Aitken wrote:
On 11/11/14 08:15, Elle Stone wrote:
So the important question is:
*What copyrighted or otherwise test images GIMP users might have downloaded from the internet and found useful, and *what kinds of test images GIMP users might have already put together, *for what particular testing purposes.
The things I find most useful are the following:
1. Peoples' faces. Important here is a wide selection of ethnicities, such as white, asian, african, latino. It would be useful to have individual images; and combination images with the extremes (e.g. white, african, and wedding dress in the same image). In the african group, a wide range from very black to brown.
Despite the plethora of CC- and public domain images, finding suitable test images is harder than one might think. It's obvious that a lot of time and thought went into Nicolas Robidoux's collection (http://www.imagemagick.org/download/image-bank/16bit840x840images).
In particular, it's not easy to find faces that were properly white-balanced and haven't been "in-camera jpeg processed" to have saturated colors and dark shadows.
Maybe Pat David (and other GIMP users) could suggest some good face images that were shot raw, preferably in full spectrum lighting (daylight, direct sunlight, high quality studio lighting, etc), and properly white balanced, that could be release under a suitable license?
2. Highly saturated from the natural world -- birds and flowers, for example. I may have a few birds of use. Others may well have better images.
Raw files of such images from a variety of cameras would be very good to have.
3. Color gradients and ICC targets. In this category I would find useful a chart specifically designed to show the boundaries of different well-known colorspaces, such as sRGB, AdobeRGB, and ProPhoto.
Hmm, ArgyllCMS can be used to relate actual image colors to the boundaries of any given RGB working color space, and also to compare different RGB working space color gamuts. Are the images on this page sort of what you were thinking of?
If the chart had an outline of
the colorspaces as separate .xcf layers it would be great. It might be useful to have layers for some printers as well.
The thing is, color gamuts are 3-dimensional, so 2D charts only tell
part of the story.
http://brucelindbloom.com/index.html?WorkingSpaceInfo.html has great
interactive tools for comparing color spaces. Click on the 3D Gamut
Viewer link.
Also there is the related question of how much any give RGB working space overlaps with real-world colors as seen by the mythical average human. Lindbloom's chart indicates that ProPhotoRGB, for example, contains a lot of imaginary colors and also holds almost all real colors, whereas sRGB has no imaginary colors but only holds about 35% of all real colors.
Also see this Lindbloom page for a comparison between ProPhotoRGB and real world LAB colors as normally encoded by imaging software: http://brucelindbloom.com/index.html?LabGamutDisplayHelp.html
I think what you are asking about might fall into the category of better soft-proofing tools. Right now GIMP's softproofing is pretty much only what's available from LCMS, which sadly doesn't deal with "real vs. imaginary" and also does a terrible job with linear gamma working spaces (not relevant to 8-bit GIMP, but very important for high bit depth GIMP).
A test image image that shows more or less finely granulated colors spanning the full range of real world colors would be *very* nice to have, but I don't know how to make such an image. Lindbloom does supply Lab Gamut test images, but the license is restrictive (see http://brucelindbloom.com/index.html?ProfileEvaluation.html).
Elle
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/11/2014 07:32 PM, Chris Mohler wrote:
The license wording is a little ambiguous, but I interpret it to mean that it's OK to use it for testing purposes, as long as you aren't selling or otherwise distributing the image itself. I'm not sure how that would relate to a project like GIMP, and it appears we'd need a German speaker to even ask.
Keeping in mind that I am not a lawyer and corrections/additions to what's below are very welcome . . .
The license for the excellent (even if not quite "family-rated") Pixl test image reads like many/most test image licenses. The image can't be redistributed as part of a package of test images. Nor can it be used commercially.
Which raises the question of how to license a package of test images, hopefully in a way to be compatible with distribution alongside free/libre software.
CC-BY-SA (used by Wikipedia and compatible with free software) allows commercial use of images. AFAIK commercial use does require a release from all recognizable people in the image.
Releasing an image as public domain/CC0 (also used by Wikipedia and compatible with free software) requires consent of the person taking the photograph and also would seem to require the consent of any recognizable person being photographed.
Also, if there is a recognizable person in the image, the thorny issue
of personality rights is raised
(http://en.wikipedia.org/wiki/Personality_rights).
So two practical questions are how to license and how to distribute the test images.
Elle
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Jehan,
Ah, I did mean to link something, but thank you for linking my Flickr account. Note that for the most part, I have the RAW files from any of my photos that I'd be happy to release for whatever purposes are needed.
I also have model releases for all of my images as well, and can include them as needed (there might need to be some discussion surrounding how that release is made available and in what context as they contain probably sensitive information regarding the models themselves).
To Elle's point about licensing, I can make them CC-BY(-SA) as appropriate.
To Elle's other point about color, I would imagine that the most desirable solution would be to host the actual RAW files themselves (hopefully from a variety of capture sources/cameras). Any further work around conversion should probably be noted as needed to effectively reproduce the results.
More importantly, if there is a consensus reached about certain types of test images, I am also available to shoot new ones specifically for the purpose. I can rent other cameras/bodies as needed to support multiple capture sources. Please don't hesitate to ask if there's something that may prove useful (I may not be coding, but perhaps I can at least help out in this way).
pat david http://blog.patdavid.net
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/12/2014 08:32 PM, Pat David wrote:
Jehan,
Ah, I did mean to link something, but thank you for linking my Flickr account. Note that for the most part, I have the RAW files from any of my photos that I'd be happy to release for whatever purposes are needed.
I also have model releases for all of my images as well, and can include them as needed (there might need to be some discussion surrounding how that release is made available and in what context as they contain probably sensitive information regarding the models themselves).
To Elle's point about licensing, I can make them CC-BY(-SA) as appropriate.
To Elle's other point about color, I would imagine that the most desirable solution would be to host the actual RAW files themselves (hopefully from a variety of capture sources/cameras). Any further work around conversion should probably be noted as needed to effectively reproduce the results.
More importantly, if there is a consensus reached about certain types of test images, I am also available to shoot new ones specifically for the purpose. I can rent other cameras/bodies as needed to support multiple capture sources. Please don't hesitate to ask if there's something that may prove useful (I may not be coding, but perhaps I can at least help out in this way).
It looks like we've reached the point of "let's do this", which will require assembling the actual images and ironing out a lot of details.
I take it as given that Pat, Jehan, and myself will do the actual work of assembling the images, yes? And all three of us will also contribute test images. We each have websites so we can put up pages with thumbnails of suggested test images for consideration.
Nicolas Robidoux has already pointed to a good collection of images, which also provides a model for including all the required copyright and image generation information.
Contributions of proposed test images from other people are of course very, very welcome.
Would it be appropriate to perhaps ascertain who all wants to be actively involved in putting together a pack of test images? And then perhaps take this discussion off-list until we have something concrete to present for further input from GIMP users?
Best regards, Elle Stone
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Hi,
On Thu, Nov 13, 2014 at 2:32 AM, Pat David wrote:
Jehan,
Ah, I did mean to link something, but thank you for linking my Flickr account. Note that for the most part, I have the RAW files from any of my photos that I'd be happy to release for whatever purposes are needed.
I also have model releases for all of my images as well, and can include them as needed (there might need to be some discussion surrounding how that release is made available and in what context as they contain probably sensitive information regarding the models themselves).
Yes I wanted to make a point about this as well, and I forgot. Thanks
for reminding. On the legal point of view, I think we will need to
have:
1/ the explicit agreement of the photographer (licensing);
2/ the explicit agreement of the model (or their legal representative,
i.e. parents usually when they are underage) if there are human being
shown and recognizable in the photograph.
This way, we make sure to have photos usable under any circumstances. That's more bothering, but better be safe than sorry.
To Elle's point about licensing, I can make them CC-BY(-SA) as appropriate.
To Elle's other point about color, I would imagine that the most desirable solution would be to host the actual RAW files themselves (hopefully from a variety of capture sources/cameras). Any further work around conversion should probably be noted as needed to effectively reproduce the results.
More importantly, if there is a consensus reached about certain types of test images, I am also available to shoot new ones specifically for the purpose. I can rent other cameras/bodies as needed to support multiple capture sources. Please don't hesitate to ask if there's something that may prove useful (I may not be coding, but perhaps I can at least help out in this way).
Well if that costs you money (renting camera/model) and is done for
this specific task, I would be for crowdfunding a bit. Unless that's
not your sole purpose and you are planning to use these photos somehow
else.
Otherwise I don't think we are in a hurry, and the set can also be
gathered slowly with time and patience (when a photograph hires a
model or is hired for some usual shooting purpose, one can just ask
the model if he'd accept some photos, and which ones, to be used in a
test set).
Jehan
--
pat david
http://blog.patdavid.net
_______________________________________________ gimp-user-list mailing list
List address: gimp-user-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-user-list List archives: https://mail.gnome.org/archives/gimp-user-list
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/13/2014 09:23 AM, Jehan Pags wrote:
Otherwise I don't think we are in a hurry, and the set can also be gathered slowly with time and patience
+1
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Hi,
On Thu, Nov 13, 2014 at 1:55 PM, Elle Stone wrote:
On 11/12/2014 08:32 PM, Pat David wrote:
Jehan,
Ah, I did mean to link something, but thank you for linking my Flickr account. Note that for the most part, I have the RAW files from any of my photos that I'd be happy to release for whatever purposes are needed.
I also have model releases for all of my images as well, and can include them as needed (there might need to be some discussion surrounding how that
release is made available and in what context as they contain probably sensitive information regarding the models themselves).To Elle's point about licensing, I can make them CC-BY(-SA) as appropriate.
To Elle's other point about color, I would imagine that the most desirable solution would be to host the actual RAW files themselves (hopefully from a
variety of capture sources/cameras). Any further work around conversion should probably be noted as needed to effectively reproduce the results.More importantly, if there is a consensus reached about certain types of test images, I am also available to shoot new ones specifically for the purpose. I can rent other cameras/bodies as needed to support multiple capture sources. Please don't hesitate to ask if there's something that may prove useful (I may not be coding, but perhaps I can at least help out in this way).
It looks like we've reached the point of "let's do this", which will require assembling the actual images and ironing out a lot of details.
I take it as given that Pat, Jehan, and myself will do the actual work of assembling the images, yes? And all three of us will also contribute test images. We each have websites so we can put up pages with thumbnails of suggested test images for consideration.
Well for the "contribute test images" part, I'm not a photographer. I have a good enough Canon camera and I can try to shoot some objects with RAW on request though, but I won't guarantee the art quality for these. Though you'll say that's not the purpose of this test set anyway. :P
For the rest, yes, I can help organize, host if necessary, put up a
small website (nothing fancy, I'm not really into web UI design) or
something.
Also we should probably broaden the user list to encompass other FLOSS
graphics projects which would also be interested and can provide user
input and well as contribute photos. I don't think it should stay a
GIMP-only project.
As for gathering user input for instance, if every potential
interested project (GIMP, ImageMagick, Krita, G'Mic... are the ones
I'd think without much searching) would make a blog post to ask user
input and later user raw photos once we got the input, we could have a
usable test image set in no times (which can anyway always improve
with time and more user input).
Nicolas Robidoux has already pointed to a good collection of images, which also provides a model for including all the required copyright and image generation information.
Contributions of proposed test images from other people are of course very, very welcome.
Would it be appropriate to perhaps ascertain who all wants to be actively involved in putting together a pack of test images? And then perhaps take this discussion off-list until we have something concrete to present for further input from GIMP users?
I think the first step would be a small simple page to present the
project with a way to contact us. We could have a basic survey there
"what are you looking for when you want test image and for what
purpose?". I can do such a thing.
Then we can redirect people to this URI anytime, and ask projects to
do blog posts. Because staying email-only is a way to have the project
end up in limbo with time passing.
Then at some point, we go to the "gathering step" where we ask users to send raw photos, ask them to accept the licensing (I would agree with CC by and CC by-sa personally), and ask them to get the explicit agreement of the model (maybe with a written agreement scan even?). And of course we could present what we already have.
For the decisions on exact contents, I would let any of you in charge though, since I am not the best fit to decide. My main purpose here is to improve Free Software and Graphics environment. :-)
Jehan
Best regards,
Elle Stone_______________________________________________ gimp-user-list mailing list
List address: gimp-user-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-user-list List archives: https://mail.gnome.org/archives/gimp-user-list
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Jehan Pags (jehan.marmottard@gmail.com) wrote:
Well for the "contribute test images" part, I'm not a photographer. I have a good enough Canon camera and I can try to shoot some objects with RAW on request though, but I won't guarantee the art quality for these. Though you'll say that's not the purpose of this test set anyway. :P
I do have access to a x-rite color checker which should be in a reasonably good condition (it is slightly older but has been stored in the dark).
I could try to set up a colorful scene and shoot it in RAW with my Nikon D40. Would this be of any help?
(I am right now unsure about the correct lighting, there *should* be some daylight neon tubes around, but I am at the moment unsure where they are...)
Bye,
Simon
simon@budig.de http://simon.budig.de/
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/13/2014 10:02 AM, Simon Budig wrote:
I do have access to a x-rite color checker which should be in a reasonably good condition (it is slightly older but has been stored in the dark).
I could try to set up a colorful scene and shoot it in RAW with my Nikon D40. Would this be of any help?
Yes. A colorchecker is very often found in composite test images. Given the number of websites that post pictures of colorchecker charts, hopefully there are no copyright restrictions on photographs of same.
(I am right now unsure about the correct lighting, there *should* be some daylight neon tubes around, but I am at the moment unsure where they are...)
You raise a good point. On the one hand, natural daylight on a sunny day (D65ish) and direct morning and late afternoon/early evening sunlight (D50ish) are wonderful full spectrum light sources that really bring out colors. On the other hand, studio lighting is either iffy or expensive and probably sometimes both (my own studio lighting is on the "cheap and iffy" side).
Where I am sunlight is in short supply until spring, so it's studio lighting or nothing. For flourescent and LED lighting, the fact that the label says "daylight" is not very informative by itself. The other half of the story is the CRI, "color rendering index" (http://en.wikipedia.org/wiki/Color_rendering_index). Anything 92 and above is probably good enough.
Elle
Test images and test suite (was Re: GIMP should fork babl and GEGL)
On 11/13/2014 09:51 AM, Jehan Pagès wrote:
I take it as given that Pat, Jehan, and myself will do the actual work of assembling the images, yes? And all three of us will also contribute test images. We each have websites so we can put up pages with thumbnails of suggested test images for consideration.
Well for the "contribute test images" part, I'm not a photographer. I have a good enough Canon camera and I can try to shoot some objects with RAW on request though, but I won't guarantee the art quality for these. Though you'll say that's not the purpose of this test set anyway. :P
Well, I think it's asking a lot to expect a test image to also be artistically pleasing, except for maybe for people's faces, and Pat David makes really good photographs of people's faces.
For the rest, yes, I can help organize, host if necessary, put up a small website (nothing fancy, I'm not really into web UI design) or something.
If you are willing to put together a small website, that would be wonderful. Simple is better than complicated.
To allow for displaying and sorting through potential test images, I think jpeg image "large thumbnails" would suffice and would minimize demands on your server.
For actual storage and distribution of a finished pack of test images plus associated raw files, server demands would go up. So that's a separate issue to be addressed.
Also we should probably broaden the user list to encompass other FLOSS graphics projects which would also be interested and can provide user input and well as contribute photos. I don't think it should stay a GIMP-only project.
+1.
As for gathering user input for instance, if every potential interested project (GIMP, ImageMagick, Krita, G'Mic... are the ones I'd think without much searching) would make a blog post to ask user input and later user raw photos once we got the input, we could have a usable test image set in no times (which can anyway always improve with time and more user input).
I think the first step would be a small simple page to present the project with a way to contact us. We could have a basic survey there "what are you looking for when you want test image and for what purpose?". I can do such a thing.
Sounds good to me.
It might be nice to put up a page of sample test image "large thumbnails" comprising a mix of synthetic test images, colorful subjects, and faces. And we could include a list of links to existing useful but copyright-encumbered test images to give people an idea of the kinds of test images we'd like to put together.
I can supply thumbnails of some of the synthetic and colorful test images that I've put together. Would "512px max dimension jpegs" be a good size?
The thumbnail images wouldn't represent any composite test images. But once we have a good set of images to work with, suitable composite test images would be easy to put together.
Then we can redirect people to this URI anytime, and ask projects to do blog posts. Because staying email-only is a way to have the project end up in limbo with time passing.
Then at some point, we go to the "gathering step" where we ask users to send raw photos, ask them to accept the licensing (I would agree with CC by and CC by-sa personally), and ask them to get the explicit agreement of the model (maybe with a written agreement scan even?). And of course we could present what we already have.
For the decisions on exact contents, I would let any of you in charge though, since I am not the best fit to decide.
That's a place where input from users would be really, really helpful. Otherwise the people putting together the test images don't know what other people would find useful.
Elle
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Hi,
On Thu, Nov 13, 2014 at 11:04 PM, Elle Stone wrote:
On 11/13/2014 09:51 AM, Jehan Pagès wrote:
I take it as given that Pat, Jehan, and myself will do the actual work of assembling the images, yes? And all three of us will also contribute test images. We each have websites so we can put up pages with thumbnails of suggested test images for consideration.
Well for the "contribute test images" part, I'm not a photographer. I have a good enough Canon camera and I can try to shoot some objects with RAW on request though, but I won't guarantee the art quality for these. Though you'll say that's not the purpose of this test set anyway. :P
Well, I think it's asking a lot to expect a test image to also be artistically pleasing, except for maybe for people's faces, and Pat David makes really good photographs of people's faces.
For the rest, yes, I can help organize, host if necessary, put up a small website (nothing fancy, I'm not really into web UI design) or something.
If you are willing to put together a small website, that would be wonderful. Simple is better than complicated.
I'll do it soon.
To allow for displaying and sorting through potential test images, I think jpeg image "large thumbnails" would suffice and would minimize demands on your server.
For actual storage and distribution of a finished pack of test images plus associated raw files, server demands would go up. So that's a separate issue to be addressed.
I think I'll use TuxFamily which is my usual FLOSS community host when I'm unsure my small server will handle correctly the load. So that should not be a problem.
Also we should probably broaden the user list to encompass other FLOSS graphics projects which would also be interested and can provide user input and well as contribute photos. I don't think it should stay a GIMP-only project.
+1.
As soon as I finished the website, and as you validate the way the project is presented (I'll do a small base text, but I'll expect fixes), I'll try and reach out to several graphics project. Also Steve Czajka from GIMP magazine said that if we can put up a small text before the end of November, it should go into January release without much problem (apparently GIMP magazine is getting monthly from now on). So we should be able to gather interested people this way, I hope. :-)
As for gathering user input for instance, if every potential interested project (GIMP, ImageMagick, Krita, G'Mic... are the ones I'd think without much searching) would make a blog post to ask user input and later user raw photos once we got the input, we could have a usable test image set in no times (which can anyway always improve with time and more user input).
I think the first step would be a small simple page to present the project with a way to contact us. We could have a basic survey there "what are you looking for when you want test image and for what purpose?". I can do such a thing.
Sounds good to me.
It might be nice to put up a page of sample test image "large thumbnails" comprising a mix of synthetic test images, colorful subjects, and faces. And we could include a list of links to existing useful but copyright-encumbered test images to give people an idea of the kinds of test images we'd like to put together.
I can supply thumbnails of some of the synthetic and colorful test images that I've put together. Would "512px max dimension jpegs" be a good size?
I guess it is.
The thumbnail images wouldn't represent any composite test images. But once we have a good set of images to work with, suitable composite test images would be easy to put together.
Then we can redirect people to this URI anytime, and ask projects to do blog posts. Because staying email-only is a way to have the project end up in limbo with time passing.
Then at some point, we go to the "gathering step" where we ask users to send raw photos, ask them to accept the licensing (I would agree with CC by and CC by-sa personally), and ask them to get the explicit agreement of the model (maybe with a written agreement scan even?). And of course we could present what we already have.
For the decisions on exact contents, I would let any of you in charge though, since I am not the best fit to decide.
That's a place where input from users would be really, really helpful. Otherwise the people putting together the test images don't know what other people would find useful.
Ok. :-)
Jehan
Elle
_______________________________________________ gimp-user-list mailing list
List address: gimp-user-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-user-list List archives: https://mail.gnome.org/archives/gimp-user-list
Test images and test suite (was Re: GIMP should fork babl and GEGL)
Hi Elle, Pat and others,
On Thu, Nov 13, 2014 at 1:55 PM, Elle Stone wrote:
On 11/12/2014 08:32 PM, Pat David wrote:
Jehan,
Ah, I did mean to link something, but thank you for linking my Flickr account. Note that for the most part, I have the RAW files from any of my photos that I'd be happy to release for whatever purposes are needed.
I also have model releases for all of my images as well, and can include them as needed (there might need to be some discussion surrounding how that
release is made available and in what context as they contain probably sensitive information regarding the models themselves).To Elle's point about licensing, I can make them CC-BY(-SA) as appropriate.
To Elle's other point about color, I would imagine that the most desirable solution would be to host the actual RAW files themselves (hopefully from a
variety of capture sources/cameras). Any further work around conversion should probably be noted as needed to effectively reproduce the results.More importantly, if there is a consensus reached about certain types of test images, I am also available to shoot new ones specifically for the purpose. I can rent other cameras/bodies as needed to support multiple capture sources. Please don't hesitate to ask if there's something that may prove useful (I may not be coding, but perhaps I can at least help out in this way).
It looks like we've reached the point of "let's do this", which will require assembling the actual images and ironing out a lot of details.
I take it as given that Pat, Jehan, and myself will do the actual work of assembling the images, yes? And all three of us will also contribute test images. We each have websites so we can put up pages with thumbnails of suggested test images for consideration.
You said on the babl/gegl discussion that you'd be unsubscribing from the GIMP mailing lists. So first, I hope you'll stay in contact, and subscribe again at some point, and even more I sincerely hope we'll meet you in LGM where I'm sure the discussions with other contributors will be much more productive than most of what happened on the mailing list (I don't understand enough of the technical to take position, but I feel like the problem is mostly a communication problem. And dialogging only through emails does not help, far from it).
More on topic with this thread, does it mean you also wish to get out
of this small project of assembling a test suite of images? I hope
not, because I am not enough of a hard-core user myself to handle the
decision part (though Patrick David is definitely one, but 2 are
better than 1).
I have not taken the time to do the small web page yet, but I was
planning to set it up within the next week, and getting the news to
users (and GIMP magazine, etc.) before end of month. Are we putting
this project on hold?
Jehan
Nicolas Robidoux has already pointed to a good collection of images, which also provides a model for including all the required copyright and image generation information.
Contributions of proposed test images from other people are of course very, very welcome.
Would it be appropriate to perhaps ascertain who all wants to be actively involved in putting together a pack of test images? And then perhaps take this discussion off-list until we have something concrete to present for further input from GIMP users?
Best regards, Elle Stone
_______________________________________________ gimp-user-list mailing list
List address: gimp-user-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-user-list List archives: https://mail.gnome.org/archives/gimp-user-list
- postings
- 38
GIMP should fork babl and GEGL
Gimps needs another head developer to take over the color management part. It is currently stuck in a BABL nightmare of confusion.
Hi Elle, Pat and others,
On Thu, Nov 13, 2014 at 1:55 PM, Elle Stone wrote:
You said on the babl/gegl discussion that you'd be unsubscribing from the GIMP mailing lists. So first, I hope you'll stay in contact, and subscribe again at some point, and even more I sincerely hope we'll meet you in LGM where I'm sure the discussions with other contributors will be much more productive than most of what happened on the mailing list (I don't understand enough of the technical to take position, but I feel like the problem is mostly a communication problem. And dialogging only through emails does not help, far from it).More on topic with this thread, does it mean you also wish to get out of this small project of assembling a test suite of images? I hope not, because I am not enough of a hard-core user myself to handle the decision part (though Patrick David is definitely one, but 2 are better than 1).
I have not taken the time to do the small web page yet, but I was planning to set it up within the next week, and getting the news to users (and GIMP magazine, etc.) before end of month. Are we putting this project on hold?Jehan