All, I'm new to this list, and I don't know if profile questions (as opposed to strict lcms questions) are regarded off topic. If they are, please ignore and forgive me. The reason for my area of interest is that I'm trying to learn color management basics, profile structure and theory, and such, and the user friendly lcms at this point is bound to only protect me from all that nitty gritty detail.
I'm trying to completely correctly decode images with an embedded profile as a first step. Below is an example of a TIFF with such a profile: File "DeltaE_16bit_gamma1.0.tif" Byte order: Motorola Format: Classic TIFF IFD Tree Single page at offset 8 Single page Offset: 8 Next IFD: 0 NewSubfileType (1 LONG): - ImageWidth (1 LONG): 3072 ImageLength (1 LONG): 2048 BitsPerSample (3 SHORT): 16, 16, 16 Compression (1 SHORT): No compression PhotometricInterpretation (1 SHORT): RGB StripOffsets (2048 LONG): 17228, 35660, 54092, 72524,... SamplesPerPixel (1 SHORT): 3 RowsPerStrip (1 LONG): 1 StripByteCounts (2048 LONG): 18432, 18432, 18432, 18432,... XResolution (1 RATIONAL): 72 YResolution (1 RATIONAL): 72 PlanarConfiguration (1 SHORT): Chunky format ResolutionUnit (1 SHORT): Inch ICC Profile (628 UNDEFINED): 0, 0, 2, 116, 97, 112, 112,... The header of the embedded profile looks like this: Profile size: 0.61 Kb Preferred CMM type: appl Profile version number: 2.1.0.0 Class: Display Device profile Input space: rgbData Output space: XYZData Profile creation date: 2001.09.07 15:39:29 Primary platform: Apple Computer, Inc. Flags: - Device manufacturer: Device model: Device attributes: Reflective; Glossy; Positive media polarity; Colour media Rendering intent: Media-relative colorimetric PCS illuminant: X=0,9642; Y=1,0000; Z=0,8249 Profile creator: Profile ID: 00000000000000000000000000000000 And finally here are the profile tags: ProfileDescription (Description): ... Copyright (Text): ... RedMatrixColumn (XYZ): X=0,4360; Y=0,2224; Z=0,0139 GreenMatrixColumn (XYZ): X=0,3852; Y=0,7170; Z=0,0971 BlueMatrixColumn (XYZ): X=0,1430; Y=0,0606; Z=0,7139 RedTRC (Curve): Gamme curve, gamma=1,0000 (is identity curve) GreenTRC (Curve): Gamme curve, gamma=1,0000 (is identity curve) BlueTRC (Curve): Gamme curve, gamma=1,0000 (is identity curve) MediaWhitePoint (XYZ): X=0,9505; Y=1,0000; Z=1,0891 I am able to 'decode' the profile (the above dumps are build by my own code), but apart from that, everything is hazy at best... 1) Is this kind of profile typical for profiles embedded in images? Are there any other kinds used for this purpose? I.e., when I'll be able to apply this type of profile, is my job decoding images properly done? 2) It is clear to me that this is the TRC/Matrix type of profile, but it is not clear how exactly my code should come to that conclusion. Should my code treat profiles as belonging to this type on the basis of the presence of certain tag (XxxMatrixColumn and XxxTRC tags), or should it also double-check the profile class is 'Display Device profile', or something else/additional still? As a general rule, how are the different (application-centered) types of profile recognized? 3) Is my understanding correct that, as far as application of this profile is concerned, I can safely ignore the MediaWhitePoint tag? 4) My current profile application code converts the RGB flavor in the file to D50-based XYZ by applying the (TRC convertion which is optimized away in this case and the) matrix convertion. Problem is though, the rest of my library thinks 'along' the D65/sRGB/Lab 'axis'. As a temporary measure, my code simply ignores the fact that the resulting XYZ is D50 based, and converts it to sRGB as if it were D65-based XYZ instead. Naturally, the results are *almost* fine. In my search for the missing link, I keep stumbling upon such magic formulae like 'chromatic adaptation' and 'bradford'. But both the maths and the theory are totally beyond me, sofar, and I'm not even real sure that I'm looking in the right places... I realize it may be a lot to ask, but could anyone provide (a pointer to) a clear, step by step insight in the process? These are all probably stupid questions... Please forgive me, I am a totally new to this stuff. Many thanks for any insights anyone can provide!! Joris Van Damme [EMAIL PROTECTED] http://www.awaresystems.be/ Download your free TIFF tag viewer for windows here: http://www.awaresystems.be/imaging/tiff/astifftagviewer.html ------------------------------------------------------- SF.Net email is sponsored by: GoToMeeting - the easiest way to collaborate online with coworkers and clients while avoiding the high cost of travel and communications. There is no equipment to buy and you can meet as often as you want. Try it free.http://ads.osdn.com/?ad_id=7402&alloc_id=16135&op=click _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user