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

Reply via email to