Re: [Lcms-user] Confused about cmsCreateMultiprofileTransform error
An ICC-based CMM for color management
Brought to you by:
mm2
From: Marti.Maria <mar...@li...> - 2008-05-10 14:14:57
|
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: lcm...@li... [mailto:lcm...@li...] 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 sm...@mu... 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 Lcm...@li... https://lists.sourceforge.net/lists/listinfo/lcms-user |