[OpenICC] Oyranos APIs update

Chris Murphy lists at colorremedies.com
Fri Sep 30 07:45:58 EST 2005


On Sep 28, 2005, at 7:44 PM, Graeme Gill wrote:

> And a good thing too really. "Editing Space" is a subjective  
> judgement,
> so it shouldn't be encoded as a fundamental type such as profile  
> class.

What makes for an appropriate RGB editing space is not a subjective  
judgement. There are clearly defined characteristics for an editing  
space, the overriding concept is that it isn't based on the behavior  
of any real world device.

Thus far all editing spaces are already encoded exclusively as  
display class profiles even though they are not at all based on the  
actual behavior of a display.

> It's your judgement that useful colorspaces to edit in are grey  
> balanced
> etc., but other users may have different purposes in mind, and not
> need such properties.

Let's hear those different purposes before we further subject  
confusion onto users en mass.

> The correct approach (IMHO) is to categorize
> in the operating system or application, and allow the configurers and
> users to decide which profiles are in the "Editing Space" category.

Yeah, and that's really worked out well! To date the actual  
experience of most end users has demonstrated this approach has been  
nothing short of a disaster. People *routinely* select profiles that  
are not appropriate for editing images in, and wonder why they get  
posterization, and noise in their images, and can't get them to gray  
balance; and other users with less frequently but still utterly  
common is the selection of a wide gamut RGB space as a display profile!

The facts are, the overwhelming majority of end users still don't  
know anything about color management. Those who do know something  
about it aren't sophisticated enough to make this kind of decision.  
The default needs to be safe, and the first level options also need  
to be safe.

If you want to have a hidden but documented method for advanced users  
to walk this path of treachery that's fine, but to subject it onto  
all users of all sorts will sabotage color management implementation  
for the rest of us.


> Some applications may have various implementation limits on
> what they can use as Editing Space (ie. only 3 channels,
> RGB like space etc.), so obviously inappropriate profiles can't
> be used for such a purpose.

The colorspace profile class is seldom used, and I think is a more  
appropriate profile class for these kinds of profiles. They certainly  
are not display profiles, so why put them in that class? Well,  
because the display class profile had certain features available at  
the time of the invention of intermediate RGB spaces, and the  
colorspace class did not. And it takes the ICC nearly half a decade  
to make meaningful progress from the word go. So I understand why  
they are display class, I just don't agree with it. It amounts to a  
hack.

But you're absolutely correct in that the lack of sophistication of  
applications in lieu of this issue is tragic. It's lunacy that in  
2005 Apple's most advanced operating system in the world will allow  
me to see, and choose ProPhoto RGB as a display profile, as though  
it's an on-par option with the rest.

So really the question to present to developers is if it's useful for  
them to have some kind of differentiation between display profiles  
and editing spaces, so they don't have to parse at all or as much to  
test whether they are suitable editing spaces for their users. I  
think most developers would prefer two brute force options:

1. The ICC profile spec defines well behaved editing spaces, and  
creates a class for them.
2. The application can then use that class, and OPTIONALLY allow  
users to select some other space.

Because what happens when people use some wholly inappropriate  
profile as an edit space, they contact the developer, or hassle a  
bunch of their fellow users, or in extreme cases just live with  
inferior image reproduction. It's a waste of everyone's time.

>
>
>> sorting by profile class. But since the display class was usurped   
>> for this purpose, we now have various problems, including that of   
>> user interfaces showing non-device "editing spaces" in lists for   
>> display profiles to select for a particular display! Bad!
>>
>
> Any profile capable of defining a colorspace in relation to CIE space
> should be available. Some people want to edit in CMYK, Lab, HSB etc.

I do not see how this at all relates to the above paragraph you seem  
to be commenting to. It makes no sense to select non-device profiles  
for a display device, let alone selecting a CMYK or LAB profile for a  
display device. No one needs to do that, and any developer doing that  
to their users is sabotaging color management. In fact this is how  
both Windows and Mac OS work today. You can select ProPhoto RGB as  
your display profile, and it does happen with some regularity in the  
wide array of end users I visit. It's a bad experience, a waste of  
time, and totally avoidable.


> [Now I think in fact that the ICC format has to many distinctions  
> without
>  clear purpose. Why class display profiles differently to output  
> profiles ?
>  What is the point of Colorspace conversion profiles ? It's one  
> thing to
>  mark the nature of the device colorspace in the profile, it's  
> another to
>  make it a completely different class. Only 4 or 5 classes are  
> needed.]

Lars probably knows more about the history than I do, but I think  
there were two points behind the different classes. First, most of  
them do very different things in the additional profile classes. The  
basic classes for devices, are more similar to each other in their  
structure and capability, but the class designation is useful  
metadata about the profile for the purpose of easier profile list  
parsing. If you have a "printer profile" pop-up menu it makes no  
sense to list scanner profiles or display profiles. If you have a  
display profile popup menu (before the days where the OS knew what it  
was, and you had to select it manually; or in some implementations  
like QuarkXPress, and Freehand where you *still* have to select one  
manually) it makes no sense to see printer profiles in the list.

It's about making things easier for developers as well as end users.  
And this system broke when something completely different came along  
(edit spaces) and yet claims it's a display profile. It isn't a  
display profile.


Chris Murphy
Color Remedies (TM)
www.colorremedies.com/realworldcolor
-------------------------------------------------------------
Co-author "Real World Color Management, 2nd Edition"
Published by PeachPit Press (ISBN 0-321-26722-2)




More information about the openicc mailing list