Hi,

 

>I meant the user can choose the intent that goes between each profile  

>in our UI. They can choose the intent that comes after the input  

>profile, after the printer profile, and after the proofer profile.

 

Ok, that makes sense. However, this is not currently implemented in lcms.

Only one intent is allowed in multiprofile transforms and two intents are
allowed in proofing transforms. 

Of course you can do it by yourself, using low-level functions. I guess
100-200 lines of code would be enough. The trick is to generate one
transform per intent and then join them together using  cmsSample3DGrid. 

Take a look on the source code of cmsCreateMultiprofileTransform, file is
cmsxform.c, you need something like the MultiprofileSampler.

 

> Yes, I need the monitor profile because I'm color matching to the  

> screen, as stated in my original message. This might be "soft proofing".

 

Ok, this is the point of cmsCreateProofingTransform(), you specify the input
profile, the profile for the device you are going to simulate, printer in
this case, and the profile for the device to render the simulation, a
monitor in this case. That is 3 profiles. On the other hand you may want to
use a different printer to do the proof, so then you use the proofer profile
instead of monitor. That's still 3 profiles.

 

 

>Can you explain why the printer profile would be given twice? Would  

>the proofer profile also need to be given twice? E.g. input->printer- 

> >printer->proofer->proofer->monitor?

 

Is just a matter of matching colorspaces. Profiles may work in both
directions Lab -> Colorspace and Colorspace -> Lab, then any multiprofile
transform should have compatible colorspaces in the joints. Tahe for example
a sRGB as input, a CMYK printer and a monitor as proofer (RGB)

 

If I try to join together in a multiprofile transform, I can join sRGB and
the printer since both have Lab as connection point:

 

RGB - [sRGB ICC] - Lab - [CMYK Printer] - CMYK

 

But please note the connexion point now is in CMYK space, so I cannot put a
RGB monitor there. The Monitor profile has either RGB or Lab connexions, but
no CMYK. So I need to get Lab or RGB to plug monitor profile. I can do that
by using the printer profile twice:

 

 

RGB - [sRGB ICC] - Lab - [CMYK Printer] - CMYK - [CMYK Printer] - Lab -
[Monitor RGB] ->  RGB

 

So far so good. But this is not only because mechanical reasons, putting the
profile twice means something. And in fact this is the "proofing" stage. In
the first part, Lab to CMYK, the printer profile is used in the output
direction. This is the same as if it were used in normal workflow. It is
giving the native CMYK for the target printer. That is the workflow to be
proofed. Then we need to know the colorimetry of those CMYK, and this is the
reason of using the output profile in the reverse direction. The AToB
direction is something like an "embedded spectrophotometer" in the profile.
It can "measure" the CMYK values out to Lab. Then we have to convert those
Lab to the proofing device, a monitor in this case. 

 

If we use a proofer printer instead of monitor, all remains same, but
instead of monitor we have to use the proofer profile.

 

RGB - [sRGB ICC] - Lab - [CMYK Printer] - CMYK - [CMYK Printer] - Lab -
[Proofer CMYK] ->  CMYK

 

 

 

Then comes the intents. The first one is the intent used in the workflow you
want to proof, which may be any. For the "measurement" using reverse
direction you need relative colorimetric (since white point does not change)
and for the proofer the intent may be any, preferable relative or absolute
colorimetric. That is: two intents selectable by the user, as the
"measurement" part should be relative colorimetric to work.

 

And this is how cmsCreateProofingTransform works.

 

Hope this helps

All the best

 

Marti Maria

The littleCMS project

www.littlecms.com

 

 

 

 

-----Original Message-----

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Steve Mills

Sent: Friday, May 09, 2008 4:24 PM

To: lcms-user lcms-user

Subject: Re: [Lcms-user] Confused about cmsCreateMultiprofileTransform error

 

On May 9, 2008, at 09:12:54, Marti.Maria wrote:

 

>> The user can supply the intent between each profile.

> 

> No. At least not in lcms cmsCreateMultiprofileTransform, which  

> forces you a

> single intent.

> This is not intrinsically bad, as mixing intents makes no sense in  

> all but

> softproofing scenarios.

 

I meant the user can choose the intent that goes between each profile  

in our UI. They can choose the intent that comes after the input  

profile, after the printer profile, and after the proofer profile.

 

Since cmsCreateMultiprofileTransform doesn't provide a place to  

provide these intents, I assumed lcms would use the intent currently  

set in each profile at each step. When the user sets the intent in the  

UI, we set that intent in the profile object.

 

> Do you need proofer AND monitor combined? Why?

 

Yes, I need the monitor profile because I'm color matching to the  

screen, as stated in my original message. This might be "soft proofing".

 

> If you really need 4 profiles

> (because abstract profiles, etc) you may consider using

> cmsTrasform2Devicelink, but I would not recommend to use that unless  

> really

> needed, because may result in loss of accuracy.

> Maybe just using cmsCreateMultiprofileTransform and specifying the  

> printer

> profile twice would solve the problem.

 

 

Can you explain why the printer profile would be given twice? Would  

the proofer profile also need to be given twice? E.g. input->printer- 

 >printer->proofer->proofer->monitor?

 

_________________________________________________________

Steve Mills                              Me: 952-401-6255

Senior Software Architect                         MultiAd

[EMAIL PROTECTED]                       www.multi-ad.com

 

 

 

-------------------------------------------------------------------------

This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 

Don't miss this year's exciting event. There's still time to save $100. 

Use priority code J8TL2D2. 

http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javao
ne

_______________________________________________

Lcms-user mailing list

Lcms-user@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/lcms-user

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to