Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Calibrated Monitor - calibrated to what?

0 views
Skip to first unread message

Giovanni Moretti

unread,
Jul 30, 2002, 1:02:21 AM7/30/02
to
Hi

I'm using an Eye-One Pro (from Gretag MacBeth) to calibrate my monitor. In
the process it creates an ICC profile. I'm slightly puzzled as to what this
"calibrated" monitor and the Windows 2000 Colour management system are doing
with my RGB values.

The system (WindowsXP) has the newly created monitor profile set as the
"default" for colour management. My understanding is that if the image being
viewed has its own ICC profile then these two (image + monitor) profiles can
be composed and will yield the correct colours on the screen.

My question is what happens when pixel values from an uncalibrated source
are viewed. Examples would be calculated RGB values or images without
inbuilt profiles (such as JPG or BMP) .

-- What transform, if any, does the newly created monitor profile impose?
-- In the absence of a source profile, is it assumed the source is sRGB?

I'm wanting to:

1. work in XYZ/LAB space and then be able to translate calculated values
to RGB
for display and still have the colour shown to the user be that
corresponding to
the expected XYZ value.

2. be able to back-calculate, from colours chosen by the user (in RGB
space)
what XYZ values the chosen RGB values correspond to.

Using the formulae from Fairchild and Charles Poynton's Color FAQ, I've
written a small colour space transformation library that (for a given
whitepoint) lets me transform between RGB and XYZ/LAB once the gamma of the
system is known (measured or assumed) and the chromaticity of the monitor is
known. This assume the video card lookup-table is a linear ramp.

-- How is the newly created display profile going to affect this?

A note I read on the Microsoft website, stated (rather tentatively) that for
an "uncalibrated" source (no profile) and a calibrated target (eg monitor
with ICC profile) the Windows display subsystem would assume the source
pixel values represented sRGB values. Is this in fact what happens?

Do I have to create my own profile and register this with the Windows Colour
management subsystem (looking at the ICC documents - this is a **Large**
amount of work) or is there a simpler way of mapping from RGB to known XYZ
values?

Apologies if this isn't totally coherent (and for the length) ...

Your thoughts would be appreciated

Thanks
Giovanni

Martí Maria

unread,
Jul 30, 2002, 9:57:15 AM7/30/02
to
Hi,

> I'm using an Eye-One Pro (from Gretag MacBeth) to calibrate my monitor. In
> the process it creates an ICC profile. I'm slightly puzzled as to what this
> "calibrated" monitor and the Windows 2000 Colour management system are doing
> with my RGB values.
>
> The system (WindowsXP) has the newly created monitor profile set as the
> "default" for colour management. My understanding is that if the image being
> viewed has its own ICC profile then these two (image + monitor) profiles can
> be composed and will yield the correct colours on the screen.

This would be the expected method, however, Win32 does NOT apply, nor
use any profiles without the explicit app coopertion. This means that, unless
the image viewer is color savvy, no matter you have monitor profile set up
and the image has embedded profile: no color management is done.

The ugly part is that very few apps are actually color savvy.

> My question is what happens when pixel values from an uncalibrated source
> are viewed. Examples would be calculated RGB values or images without
> inbuilt profiles (such as JPG or BMP) .

This is absolutly app dependent. Some does use sRGB, assuming the images
are intended for monitor. Some others does not perform any color correction.

> -- What transform, if any, does the newly created monitor profile impose?
> -- In the absence of a source profile, is it assumed the source is sRGB?
>

Win32 ICM works in two different ways. Inside DC, that is, the GDI is
performing the transform "on the fly" and outside DC, that is, the programmer
is responsible to apply manually the transform. For using the first method, you
must supply colorimetric nformation to BMP. This can only be done by using
the V4 and V5 variants of BMP format (and these are rarely used)
If using outside DC method, you can also specify the source colorspace by
means of gamma-primaries or by a ICC profile.

> I'm wanting to:
>
> 1. work in XYZ/LAB space and then be able to translate calculated values
> to RGB
> for display and still have the colour shown to the user be that
> corresponding to
> the expected XYZ value.
>
> 2. be able to back-calculate, from colours chosen by the user (in RGB
> space)
> what XYZ values the chosen RGB values correspond to.
>
> Using the formulae from Fairchild and Charles Poynton's Color FAQ, I've
> written a small colour space transformation library that (for a given
> whitepoint) lets me transform between RGB and XYZ/LAB once the gamma of the
> system is known (measured or assumed) and the chromaticity of the monitor is
> known. This assume the video card lookup-table is a linear ramp.

In real world is a bit harder. You must also white balance to force mapping
of white to white point and supply a chromatic adaptation. Whithout this, you
will see a cast if white point of both spaces are not same.

> A note I read on the Microsoft website, stated (rather tentatively) that for
> an "uncalibrated" source (no profile) and a calibrated target (eg monitor
> with ICC profile) the Windows display subsystem would assume the source
> pixel values represented sRGB values. Is this in fact what happens?

I'm not sure on this, but this could be as erronous as not doing any color
management at all. sRGB is an educated guess for most monitors, but
very different of any scanner/camera and even printer colorspaces.

> Do I have to create my own profile and register this with the Windows Colour
> management subsystem (looking at the ICC documents - this is a **Large**
> amount of work) or is there a simpler way of mapping from RGB to known XYZ
> values?

I'm mantaining a free CMM library that can effectively do what you are asking
for. And yes, this is a large amount of work, it took me about 5 years to get
all this stuff workig. :-)

If you want to take a look:
http://www.littlecms.com

Hope this helps
Marti.


ADS

unread,
Aug 13, 2002, 3:48:28 AM8/13/02
to

> I'm mantaining a free CMM library that can effectively do what you are
asking
> for. And yes, this is a large amount of work, it took me about 5 years to
get
> all this stuff workig. :-)
>
> If you want to take a look:
> http://www.littlecms.com
>


And it's a very great library!

Armindo


0 new messages