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
|