[Openicc] Print-colormanagement, application->CUPS->gutenprint

Hal V Engel hvengel at astound.net
Wed Apr 20 04:20:21 EST 2005


On Tuesday 19 April 2005 08:11 am, Michael Sweet wrote:
> Hal V Engel wrote:
> > ...
> > I think some of us are confusing getting fairly good colors on
> > printed output with color management.  ...
>
> No, I'm not, but that is, quite frankly, the ultimate goal of
> any color management.

Some color managed work flows never go to a printer - at least not as the 
intended final result.  One example is Cinepaint which is used to edit frames 
for movies.  Printing is part of color management but if your output is going 
to be a movie it is definitely not the ultimate goal.  There are all kinds of 
end states for color managed work flows and a printed document or photograph 
is only one of many.

I would say that the ultimate goal of color management is to keep color 
consistent at all stages of the work flow.  Printing is just one of those 
stages.  I don't mean this as a trivialization.  Printing is a very important 
part of CM but it is no more important than any of the other stages in the 
work flow.  After all if I mess up my work flow at image acquisition I will 
have messed up colors all the way through to the printer.  The result is 
still messed up no matter how good of a job the printing system did of 
correctly printing the image.  I don't think I can over state this: color 
management is an end to end process and every stage of that process is 
equally important.
 
>
> Your complaint that you can't plug in any profile and any ink
> set into your printer and get Gimp/Gutenprint to take it without
> hacking the driver isn't valid, 

This was an observation not a complaint.  And I don't want to plug in any 
profile I want to plug in custom created device specific profiles.  I will 
quote Jan-Peter Homann from an earlier note to try to clarify what I was 
trying to say: 

"1a. good profiles need good linearization
-------------------------------------------
The linearization of the CMYK(cmRGB..) chanels is the basis for 
printers-colormanagement which works.

Linearization is mainly done with 1D Luts for each channel. During 
linearization, the user sets an inklimit for every single channel and 
generates / manipulates an curve from zero-color to the inklimit.
This 1D Luts can be generated via an graphical interface like a 
gradation curve, or they are calculated by measurement with an 
densitometer / spectrophotometer like the GMB EyeOne.
Also necessary is an total-inklimit for all channels together.
This inklimit is done by replacing equal CMY-amounts with K, also known 
as GCR. The optimal total-inklimit is visual evaluated from testprints 
with special images for inspection of inklimits.

After linearization / inklimiting, the testchart for profiling will be 
printed."

As Jan-Peter correctly points out printers (actually I think he really was 
talking about the printer/paper/ink combination) should be individually 
linearized to get the best possible results and that this should take place 
before printing the profiling target that will be be used to generate a 
custom profile.  Most high end 3rd party inks will be close enough to the OEM 
inks in color and gamut that the factory default linearization is close 
enough to get a result that is nearly as good as OEM inks using the factory 
default linearization with a custom profile.  But both could be improved, 
perhaps substantially, if the printer/paper/ink combination were custom 
linearized before profiling.

Stable versions of gimp-print/Gutenprint have the linearization curves hard 
coded and these are not user configurable.  At least not without a lot of 
fairly low level work.   Again an observation not a complaint.  I have not 
looked at version 5.0 in any detail but it appears that at least some work 
has been done to improve this and I am sure that more work will be done in 
the future.  In the long run I think we will need higher level tools to build 
an install custom linearization curves.   This has all come a long way but 
there is still much work that needs to be done. 

snip

>
> I'm not sure what you mean about a black point compensation option.
> The black point is usually specified as part of the source profile
> in the application/document, so CUPS will get that information
> (black point, white point, and other profile info) in the print
> job, too.  Similarly, the printer profile specifies the black
> point (and white point) for the given combo of media, inkset,
> and resolution...
>
> Are you looking for an option to disable gamut expansion?
>
> Couldn't that be handled by the rendering intent option?

Black point compensation is an option that is available in Photoshop's print 
preview dialog in the color management section.  I am not sure exactly what 
it does but I think it has something to do with how that darker parts of the 
image are handled during the color space conversion.  So I guess that it is 
part of the rendering intent in that it slightly changes how the image is 
rendered.  I also know that I get slightly better shadow detail in my prints 
if I use it.

>
> > By the way when will CUPS 1.2 be released for us non-Mac users?
>
> I'm hoping that betas will be available within a month (I've been
> saying that for a while now, but I've been busy) with a production
> release this fall.

Please keep us informed.  When the Gutenprint folks get the hooks in place in 
the plug-in to test a full CM printing work flow I would like to install and 
test betas of both CUPS and Gutenprint.

Also will this include model specific printer profiles or will someone else 
have to produce these?  For testing purposes I can produce my own custom 
device specific profiles if no profiles are supplied.  But I would like to 
test with both the supplied model specific profiles and my custom profiles.
 
>
> I suspect that Apple won't be adopting CUPS 1.2 until MacOS X 10.5
> at the earliest (you'd have to ask them for an official answer,
> although I suspect you won't get one at this point... :)



More information about the openicc mailing list