Lorenzo,

there are various aproaches to scan along the gamut border. 
First of all the AToB1Tag and BToA1Tag's should contain relyable 
information about the real shape of a device, as they shall contain the 
closest match to the colour measurements by definition. Other tables are 
allowed to leave precision and work more artistic. Of course the 
measurement itself can be more precise. Some profiles include it.

As the CMM is responsible for handling the gamut, it can be used itself to 
show it. lcms has the cmsFLAGS_NOTPRECALC option for highest precision. 
Otherwise you have to do the low level stuff yourself like handling 
various CLUT types or matrix profiles.

For accessing the curves, matrices and 3D luts with lcms you may look at 
the _lcms_LUT_struc in lcms.h . All what remains is to count channels 
and positions.


1. approach (osX ColorSync utility, fallback in ICC Examin)
create a Lab boundary net
collabse to the device colours (BToA1Tag)
convert back to Lab by the AToB1Tag ... done
2. approach (argyll - hopefully correct)
scan the extreme values (RGB/CMYK...) and walk to white and black point
create a net from the obtained values
3. approach (?)
search for a good position to start
send beams into all directions
scan for valid conversions and holes
trace holes and borders down to a acceptable resolution
render the point cloud to a mesh

1. is the most quick but is not as precise
2. needs somewhat longer
3. not tested myself


kind regards
Kai-Uwe Behrmann
--
development for color management 
www.behrmann.name + www.oyranos.org + www.cinepaint.org


Am 04.03.07, 19:30 -0300 schrieb Lorenzo Ridolfi:

> Hi,
> I'm witting a code to obtain the gamut from an output RGB profile. I'm 
> planning to use the A2B1 table (dev->pcs), as the gamut tag often is not 
> a reliable source of gamut information. Looking at the littlecms API, I 
> have two alternatives to scan the A2B1 table:
>    1) create a transformation
>    2) "navigate" in the profile LUTs.
> 
> To create a transformation using the RGB output profile as INPUT, in 
> order to use the A2B1 table. Is it possible ?
> 
> If not, how can I scan the LUT ? It's only create a LUT from the A2B1 
> tables using cmsReadICCLut ? I checked the profile and the only tags 
> available are the A2Bx and B2Ax (x = 0, 1, 2) tables and there's no 1d LUTs.
> 
> Best regards,
> Lorenzo
> 
> 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to