Inconsistencies between different color hugs?

110 views
Skip to first unread message

niklas....@gmail.com

unread,
Jun 22, 2015, 11:16:43 AM6/22/15
to colorhu...@googlegroups.com
Hi,

I'm trying to match the luminance of two spots on a display by using two Color Hugs at the same time. I need this because I'm forced to work with a very inhomogeneous projector whose position changes slightly every day (since I have to set it up every day). So I'm trying to compute individual gamma corrections for these spots using measurements from two Color Hugs, one for each spot. My method works in so far, as the readings that I get from the two devices are roughly identical after I correct for the difference in gamma between the two spots. Perceptually however the two spots still look rather different.

To test whether the two color hugs might give different measurements for the same input, I measured the response of both devices to uniform "gray" screens (R=G=B) in the top left corner of my laptop screen. It appears that XYZ values that I get from argyll's spotread command are fairly different for the two devices (see attached plot, especially solid and dashed blue line).

My questions are:

a) Do you think this entire approach is doomed from the start? I'm new to this business and might not see obvious reasons that could stop this from working.

b) Is there anything I can do to match the output of the devices? I've looked at the ccmx calibration matrices and they are fairly different (which I guess is OK):
Output of "colorhug-cmd get-calibration 0" for device #2 (C2 in plot, serial number is 001011)
index: 0
supports LCD: 1
supports LED: 1
supports CRT: 1
supports projector: 1
description: Factory Calibration
( 1,00    0,00    1,00    )
( 0,00    2,00    -0,44    )
( -0,74    -1,98    6,00    )

Interestingly this matrix appears to be different from the archived one online: https://github.com/hughski/colorhug-calibration/blob/master/archive/calibration-001011.ccmx When I load this file using 'colorhug-cmd set-calibration 0 file' the values of get-calibration do not become equal to the those online.

Output for device #3 (C3 in plot, serial number is 0010013)
index: 0
supports LCD: 1
supports LED: 1
supports CRT: 1
supports projector: 1
description: Factory Calibration
( 1,00    0,00    0,00    )
( 0,00    2,00    -0,45    )
( -0,68    -1,82    6,00    )

The matrix is also not equal to the one online I found here: https://github.com/hughski/colorhug-calibration/blob/master/archive/calibration-001013.ccmx

Could the fact the two matrices are not equal to their online counterparts be the source of the problem?

I use ubuntu (uname -r -> 3.19.0-15-generic) running inside a virtual box and compiled colorhug-client from source (0.2.7) to look at the ccmx calibration. I used Agryll 1.7.0 for mac and spotread to get XYZ readings from both devices (those in the plot).

Some more debug output about both devices is below.

Best,
Niklas

The firmware version on both is 1.2.3, serial numbers are 001011 and 001013. The calibration-map is
colorhug-cmd get-calibration-map
0 -> 0
1 -> 0
2 -> 0
3 -> 0
4 -> 0
5 -> 0
on both devices.

Only the factory calibration is stored on each device:
colorhug-cmd list-calibration
Index    Description
0    Factory Calibration [LCPE]





lum_compare_color_hug.png

Richard Hughes

unread,
Jun 22, 2015, 1:04:51 PM6/22/15
to colorhu...@googlegroups.com
On 22 June 2015 at 16:16, <niklas....@gmail.com> wrote:
> a) Do you think this entire approach is doomed from the start? I'm new to
> this business and might not see obvious reasons that could stop this from
> working.

Not doomed, but tricky. It might be it's best to load on the same
calibration profile for both devices, although they really should be
very similar... (see below)

> Interestingly this matrix appears to be different from the archived one
> online:
> https://github.com/hughski/colorhug-calibration/blob/master/archive/calibration-001011.ccmx

Hmm, the online one should match the one in the device.....

> When I load this file using 'colorhug-cmd set-calibration 0 file' the values
> of get-calibration do not become equal to the those online.
> ( 1,00 0,00 0,00 )
> ( 0,00 2,00 -0,45 )
> ( -0,68 -1,82 6,00 )

Okay, those look very suspicious numbers. I'm guessing you:

* Are using an old version of colorhug-client or lcms2
* Get different numbers when using LANG=C

> The firmware version on both is 1.2.3, serial numbers are 001011 and 001013.

Both in the same batch, so the calibration matrix should be very similar.

Richard.

niklas....@gmail.com

unread,
Jun 23, 2015, 6:53:23 AM6/23/15
to colorhu...@googlegroups.com
Dear Richard,

thank you for your quick reply. This helped a lot!

 
Not doomed, but tricky. It might be it's best to load on the same
calibration profile for both devices, although they really should be
very similar... (see below)
 I don't understand, shouldn't the calibration profile correct for differences between the two devices?
 
Okay, those look very suspicious numbers. I'm guessing you:

* Are using an old version of colorhug-client or lcms2
* Get different numbers when using LANG=C
I've switched to a different PC that natively runs linux (not in a virtual box).  I don't know which version of colorhug client it runs (there is no --version switch?) but it successfully replaced the calibration matrices. They are identical to the ones online now. Something in my virtual box setup apparently prevented me from using the color hugs correctly.

I ran a few more tests, this time with a projector. In particular I again measured the same spot on the screen for different levels of R=G=B values with both devices.  In a second step I loaded the calibration matrix from device 001011 onto device 001013 and repeated the test. The first attached plot sows the results, again XYZ values read out using spotread (Argyll 1.7.0), C2 is device 001011, C3 is 001013 and C3 Same Cb is 001013 with the calibration matrix from 001011. Again, there are clear differences between the devices.

Next I repeated the same steps but read out RGB values using 'colorhug-cmd take-readings'. If I plot the intensity (r+g+b)/3 the curves actually look very similar. This is puzzling to me - I would have expected the RGB values to also show differences. Is the calibration matrix only used to go from XYZ to RGB values? I also checked that spotread and "colorhug-cmd take-readings-xyz 0" give the same results, which they do.

Any feedback / explanations would be highly appreciated. Thank you for your help.
Niklas





 




projector_colorhug_comparison_xyz.png
projector_colorhug_comparison_rgb.png

niklas wilming

unread,
Jul 24, 2015, 11:39:03 AM7/24/15
to colorhug-users, niklas....@gmail.com
Hi again,

I was wondering if you could maybe comment on the differences between RGB and XYZ values. Any help here would really be appreciated.

Thanks,
Niklas
Reply all
Reply to author
Forward
0 new messages