• Please use real names.

    Greetings to all who have registered to OPF and those guests taking a look around. Please use real names. Registrations with fictitious names will not be processed. REAL NAMES ONLY will be processed

    Firstname Lastname

    Register

    We are a courteous and supportive community. No need to hide behind an alia. If you have a genuine need for privacy/secrecy then let me know!
  • Welcome to the new site. Here's a thread about the update where you can post your feedback, ask questions or spot those nasty bugs!

Monitor calibration data

Doug Kerr

Well-known member
As many of you know, I will often post a message here that:

• Tells you something I have just learned that you might not already know.

•Reveals that there are some uncertainties in my new knowledge that I hope some of you might be able to straighten out.

This message is in that vein.
*************
First, let me give some background to avoid misunderstanding about what is being talked about.

When we calibrate and profile a display system, two things are done:

• The calibration system ascertains the properties of the monitor itself (in effect, determines the specifications of its native color space). It then prepares a set of entries for the color lookup tables (CLUTs) in the video board that will modify this color space to as close as possible to the color space we would like to have our display system have (often sRGB). (We usually get to tell the calibration software which one that is.)

But rarely is this result fully attained, mostly because (as I understand it) the video board does not have, in addition to its CLUTs, the necessary matrix algebra capability to mediate between the monitor's native primaries (often called "phosphors", by anomaly to the situation in a CRT) and the primaries of the desired color space.

In any case, I will call the resulting color space for the display, as influenced by this CLUT data, its adjusted native color space.

• The profiling system then determines the characteristics of the adjusted native color space of the display and prepares an ICC profile that will allow a profile-aware application to transform an image from the working color space to that adjusted native color space for the display in use.
*************
Now, I have been mystified by these two matters:

• Where is the set of CLUT entries for "calibration" of the monitor stored?

• How are these entries loaded into the CLUTs when the system is started?

With regard to the latter, I knew that at an earlier time, my installation had a small program that automatically ran when the system was started, which implanted the calibration CLUT entries (from wherever they were stored).

But I cannot find anything in the Startup folder or in the Run section of the Windows Registry for such an operation now. (But I do find a shadow of a prior, but now inactive, autorun program in this vein.)

Now it seems that this is the situation (subject to some uncertainty!):

• The calibration CLUT entries are stored in an "appendix" to the ICC profile for the display device in question. They are not really part of the profile proper. But in fact the profile proper is predicated on the display having the adjusted native color space that will occur if the calibration CLUT entries in this "appendix" are loaded.

• It begins to look as if, if the profile nominated in Windows as the default for a particular display has such a "calibration data appendix", Windows will load it into the CLUT upon startup.

Now, much of this "insight" comes from a fascinating tool to which my attention was directed in another forum, the Windows Color Settings applet (for the Control panel).

This applet can do the following:

• Nominate ICC profiles for any device (nothing new here)

• Set the default profile for a device (nothing new here)

• Show (via an asterisk after the profile name) which profiles have an appendix with calibration CLUT data (which the applet speaks of as "gamut table information"). [That's probably not the best name, but I can understand it; after all, the gamut of the adjusted color space is influenced by the CLUT calibration data.]

• Force the calibration CLUT data from a particular profile having such to be implanted in the video board CLUt's right now.

• Show the gamut of the device implied by its profile (in a rotatable perspective 3D form, in either of two coordinate systems).

Now, the description of the applet says that it also provides for the automatic loading of the calibration CLUT data ("gamut data"), from a profile having such, at startup.

It's not clear to me how a Control Panel applet can do this, and in fact I had recently thought that this always happens (even if one has not installed the applet). This may be an inept description; what may be meant is that the applet allows the user to select the profile whose calibration CLUT data will be loaded at startup by Windows (merely by nominating that profile as the default for the display in question, which of course can be done already in another place).

Those interested in the Color Setting Control Panel applet can get it (for Windows XP, SP2 and beyond) here:

http://www.microsoft.com/downloads/...9174-7f8d429fbb9e&displayLang=en#Instructions

Perhaps Windows Vista already includes this capability as standard.

Well, that's what I know, and what I think!
 

Doug Kerr

Well-known member
Further findings on this issue.

1. The "annex" to the profile that carries the "calibration" LUT data is the vcgt tag (vcgt=video card gamma table). It can be in one of two forms:

• The "table" form. Here, the actual entries to the LUT are stored (256 per channel).

• The "formula" form. Here, each curve is described by three parameters, whose working I have not yet divined.

With regard to the formula form, I do not yet know whether:

• The LUT loader works the formula to develop a set of table entries for the LUT and passes that to the video card, or

• The LUT loader passes the formula parameters to the video card, which takes it from there.

It does not seem that the vcgt tag is provided for by the current ICC profile spec itself (although it may be by some supplement). It actually seems to have been invented by Apple. The official ICC profile reader reports it as a "proprietary" tag.

2. It now seems that Windows does not itself automatically load the vcgt tag data from the default profile for a display at startup. Rather, an LUT loader (generally an accessory provided as part of a calibration/profiling system, with a link in the Startup folder) is needed to do that.

We press on to learn more.

Best regards,

Doug
 

Doug Kerr

Well-known member
It turns out that the Windows Color Control Control Panel Applet can in fact automatically load the LUT data from the vcgt tag of the default profile for the display at system startup.

To use this, first make an editable shortcut to the applet. Call for a new shortcut to be made. Navigate to the exe file for the applet (WinColor.exe). It will typically have been installed here:

C:\Program Files\Pro Imaging Powertoys\Microsoft Color Control Panel Applet for Windows XP

Give the new shortcut a suitable name (I suggest "Windows LUT loader").

Then, right click on the shortcut icon and select Properties. In the Shortcut tab, the Target field, add, after the entire command, a space followed by '/L'. Thus, the whole target will now read:

"C:\Program Files\Pro Imaging Powertoys\Microsoft Color Control Panel Applet for Windows XP\WinColor.exe" /L

Executing this shortcut will then execute the applet so that it will load the vcgt data from the default profile into the display LUT.

There is no on-screen indication that this has been done (other, of course, than a change in the coloration of the desktop).

Now, so this happens automatically when the system is started, place this special shortcut into your Startup folder.

Be sure that shortcuts to other LUT loaders (Adobe Gamma, Spyder3Utility, ColorVision Startup, etc.) are removed from all Startup folders.

I'm not sure, but I believe that with this approach one can load vcgt data from separate profiles into the LUT's for multiple displays on systems that have such (with separate LUT's for the two video cards or video card "heads".) (The applet is able to keep track of separate default profiles for separate displays.)

Aren't you glad you asked!

Best regards,

Doug
 
Top