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