Marti,
is it useful to place the matrix simply in the matrix part of a mft2 LUT?
Perhaps this would suffice building a valid XYZ abstract profile?
All other parts of the mft2 can be filled with defaults.
regards
Kai-Uwe Behrmann
+ development for color management
+ imaging / panoramas
+ email: [EMAIL PROTECTED]
+ http://www.behrmann.name
Am 07.09.05, 11:52 +0200 schrieb Marti:
>
> Hi,
> The matrix XYZ -
> > I'm trying to write a little application that produces ICC profiles for
> > the simulation of color blindness (deuteranopia and protanopia).
>
> I think the correct way to deal with that would be to build an
> abstract XYZ -> XYZ profile holding the simulation. In this
> way you got no dependencies on any RGB space.
>
> XYZ can be readily obtained by chaining XYZ to LMS and LMS to XYZ matrices.
> You need not RGB anymore because all that is handled by the input/output
> profiles. A multiprofile transform may be used latter to obtain the RGB ->
> RGB, by means of icclink, for example.
>
> As additional benefit you are not restricted to RGB anymore.
>
> For bulding such abstract profile, you need a something like:
>
> hProfile = cmsOpenProfileFromFile("abstract.icc", "w");
> AToB0 = cmsAllocLUT();
> cmsAlloc3DGrid(AToB0, GRID_POINTS, 3, 3);
> cmsSample3DGrid(AToB0, Forward, NULL, 0);
> cmsAddTag(hProfile, icSigAToB0Tag, AToB0);
> cmsSetColorSpace(hProfile, icSigXYZData);
> cmsSetPCS(hProfile, icSigXYZData);
> cmsSetDeviceClass(hProfile, icSigAbstractClass);
> cmsCloseProfile(hProfile);
> cmsFreeLUT(AToB0);
>
> Then, you need to write the callback:
>
> static
> int Forward(register WORD In[], register WORD Out[], register LPVOID Cargo)
> { cmsCIEXYZ XYZ;
> cmsXYZEncoded2Float(&XYZ, In);
> // ... apply here the transform XYZ = [M] * XYZ
> cmsFloat2XYZEncoded(Out, &XYZ);
> return TRUE;
> }
>
> Hope this helps
> Regards,
> --
> Marti Maria
> The littlecms project.
> www.littlecms.com
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.344 / Virus Database: 267.10.18/91 - Release Date: 06/09/2005
>
>
>
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO
> September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> _______________________________________________
> Lcms-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/lcms-user
>
>
Mit freundlichen Grüßen
Kai-Uwe Behrmann
+ Programmierung für
+ Farbmanagement / Bilder / Panoramen
+ http://www.behrmann.name
+ email: [EMAIL PROTECTED]