[OpenICC] Oyranos APIs update

Chris Murphy lists at colorremedies.com
Fri Sep 30 13:34:45 EST 2005


On Sep 29, 2005, at 6:55 PM, Graeme Gill wrote:

> Chris Murphy wrote:
>
>
>> 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!
>>
>
> That's not a technical problem though, it's an applicaton/user  
> interface
> problem. Present the application by default with profiles in the
> Editing space category that won't behave in unexpected ways. But don't
> stop users who know what they're doing being able to select  
> something else.

I'm reasonably sure I know what I'm doing, and yet there is no reason  
under the sun I can think of why I would legitimately need to select  
ProPhoto RGB as my display profile!


> Right, but there's little logic in having classes Colorspace, Display
> and Output either. They're all just (frustratingly slightly) different
> ways of representing the same thing, conversions of non-CIE spaces  
> to/from
> the CIE based reference space. Far better to have one class, and rely
> on other attributes flags to allow human sensible categorization.

For one, the class designation is just a metadata key and whether  
it's display or output is a possible value. Depending on the class  
value, there is a contingent minimum required tags list. Why do you  
see it as something more grandiose than that?

If you have just one class, "device" then how do you define for  
developers the required tags? Contingent on some other tag value  
presumably? Not all display profiles are LUT based, so LUTs aren't  
required for display profiles, but you need either a LUT or a matrix.  
And for output devices in an ICC paradigm LUTs are required and  
matrix tags aren't used.

I think your idea rearranges the deck chairs. It doesn't really make  
a fundamental change.

>
>> 1. The ICC profile spec defines well behaved editing spaces, and   
>> creates a class for them.
>>
>
> You're still assuming that an editing space is an unambiguous  
> thing. I don't
> see any reason to think this.

And you're assuming that it's ambiguous, yet you're providing no  
compelling evidence that it is, just that it might be someday to  
someone somewhere. An integer based RGB editing space is pretty darn  
unambiguous.


> I'm confused about what you're talking about then. You seem to be  
> implying
> that an editing space _has_ to be a display profile. Why ?

In practice all RGB editing spaces are display class profiles. I'm  
not implying it, it's a fact, and it's one I don't like.

What makes for a good RGB editing space is vastly more  
straightforward than what makes for a good CMYK editing space.


> What I'm pointing out is that you will often trip across
> situations in which there is no logical reason a particular profile  
> can't
> be used for a particular purpose, but the CMM implementation won't  
> let you,
> because they weren't expecting the profile to be of that class.

I think the idea was to let the CMS make these decisions so that  
unsophisticated developers could still implement color management  
into their applications, and not become experts at parsing the guts  
of ICC profiles.

> I've seen
> this sort of thing when people try and use one of the sRGB Colorspace
> profiles in applications that were expecting an sRGB Display profile.
> I think it would be a bad move to make this worse, by trying to  
> introduce
> yet another profile class, that is fundamentally just another PCS  
> to/from non-PCS
> profile.

I see the profile class as merely metadata for parsing purposes,  
nothing more. You see it as something that ought to have more meaning.

RGB editing spaces aren't really display profiles and yet all of them  
claim that they are. It's a bogus claim, that screws up the ability  
to filter profiles effectively which is a necessary developer and  
user function. The most logical *existing* class is colorspace.  
That's why I mentioned it.


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