GNOME Bugzilla – Bug 28889
compose/decompose should support IHS, YCbCr, YUV, LUV, CieLab, S-CieLab, YIQ
Last modified: 2004-12-22 21:47:04 UTC
Package: gimp Version: 1.1.26 Name........: Martin Weber Email.......: martweb@gmx.net Platform....: SuSE Linux 6.4, Pentium II GIMP Version: 1.1.26 GTK Version.: 1.2.8 WM/Version..: -- Other system notes: -- -- Problem description: Wish: compose/decompose should also support IHS, YCbCr, YUV, LUV, CieLab, S-CieLab, YIQ -- -- How to repeat: -- -- Other comments: -- ------- Additional Comments From austin@gimp.org 2000-10-19 05:21:17 ---- Subject: Re: Bug#28889: [gimp-bug] Wish for compose/decompose From: Austin Donnelly <austin@gimp.org> To: 28889@bugs.gnome.org Message-Id: <14830.48397.934977.780824@hornet.cl.cam.ac.uk> Date: Thu, 19 Oct 2000 10:21:17 +0100 > Wish: compose/decompose should also support IHS, YCbCr, YUV, LUV, > CieLab, S-CieLab, YIQ Martin would also like HSL support. Austin ------- Bug moved to this database by debbugs-export@bugzilla.gnome.org 2001-01-28 11:03 ------- This bug was previously known as bug 28889 at http://bugs.gnome.org/ http://bugs.gnome.org/show_bug.cgi?id=28889 Originally filed under the gimp product and general component. The original reporter (martweb@gmx.net) of this bug does not have an account here. Reassigning to the exporter, debbugs-export@bugzilla.gnome.org. Reassigning to the default owner of the component, egger@suse.de.
Re-assigning all Gimp bugs to default component owner (Gimp bugs list)
Reassigned to current CVS because it's a wishlist item.
YCbCr already done with the patches of http://bugzilla.gnome.org/show_bug.cgi?id=96448
Will this come in GIMP 1.3.x?
If someone submits a patch that implements this feature, yes. ;-)
Anyone have a set of decent formulae for the decomposition/recomposition? Adding new modes for this is actually more or less trivial once we have formulae. Cheers, Dave.
Adrian Likins (adrian@gimp.org) collected and implemented lots of space conversions for (IIRC) a palette-sorting tool he made a few years ago. You could ask him.
I *think* this is it: http://adrian.gimp.org/sortpal/
Ayup, that's the one I recall. Perhaps not as comprehensive as I remembered, though. There's RGB<->L*a*b* code in the gimp tree already, as cpercep.c, which can be used as reference or 'borrowed' wholesale (but ideally not used implicitly through the cpercep interfaces, since cpercep's back-end space isn't guaranteed to remain a specific flavour of L*a*b* at all). My misty memory also recalls a compendium of conversions that Raph L did a few years ago (GPL I think). Someone could ask him what became of that.
I wrote RGB<->YUV (Y*U*V* IIRC) code for an old cpercep.c if I can find it, and also RGB<->YIQ buried away even further back. These are probably quite well documented on the 'net though, it's just L*a*b* that it's murder finding a relatively bug-free two-way conversion equation or implementation for (hence cpercep.c). You're going to need a consistant policy for out-of-gamut colours and range scale-and-bias (e.g. for L*a*b*, 0<=L<=100, -inf<={a,b}<=inf [though consistantly within approximately -128<={a,b}<=128 for SRGB-specified source colours]).
*** Bug 103449 has been marked as a duplicate of this bug. ***
Changes at the request of Dave Neary on the developer mailing list. I am changing many of the bugzilla reports that have not specified a target milestone to Future milestone. Hope that is acceptable.
This looks like pretty low-hanging fruit - I'd like to see if anyone agrees to do this for 2.0. Changing milestone to 1.3.x. It's not a major feature though, so if no-one wants to do it, there's no problem bumping it. Dave.
Adding PATCH keyword to bugs which reference code capable of solving any outstanding issues in the bug Dave.
I found some working code on the registry and merged it into the official plug-in: 2003-09-11 Sven Neumann <sven@gimp.org> * plug-ins/common/compose.c * plug-ins/common/decompose.c: merged in enhancements done by Alexey Dyachenko: support for LAB colorspace and an option to decompose into layers instead of multiple images.
Closing this as resolved, even if some of the mentioned colourspaces aren't implemented. Dave.