[argyllcms] Re: Using a Sequel Chroma 4

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Fri, 07 Dec 2007 16:30:54 +1100

Preben Soeberg wrote:

I guessed the chroma 4 is much like the Eye One Display as it was
originally a OEM variant of the Chroma 4.

Yes, I understand it's something like that.

So, in i1disp.c, I changed the code to look like this

At the top of the file
static boolean chroma4 = FALSE;

This should go in the _i1disp structure in i1disp.h
after lite".

At line 1100:
if (ver < 5.1) {
   vv = 'L';
   chroma4 = TRUE;
}
if (ver >= 5.0 && ver <= 5.3 && vv == 'L') {

It would be better if you said what the version number and
sub type (vv) the chroma 4 is, so that it could be
recognized correctly, rather than faking an i1disp1,
and this means I could investigate how this instrument
should be treated (or not).

At line 1300:
/* RGB channel scale factors */
for (i = 0; i < 3; i++) {
   double tt;
   tt = (double)p->reg44_S[i] * 1e11/((double)p->reg40_S * (double)p->reg42_S);
   if (chroma4) tt *= 4;          //  Multiply white level reading with 4 to
be more correct

The last hack was made to give white level around 140 Cd/m^2 using
dispcal -yl -r.
This also gives correct reading for maximum brightness according to
monitor specifications.

It's hard to justify this unless you've got another instrument
that you trust to compare it with though. (ie. the monitor
specs could be quite different to the actual monitor behaviour).

The right spot for an absolute scale factor is in i1disp_take_XYZ_measurement().

It works like a dream, though I cannot rely on the absolute value of gamma.
Setting -g1.75 in dispcal gives a final gamma of 2.2 (according to my
gamma swatches, downloaded from Timo Autiokari).

It's probably more reliable to check for yourself using dispwin and spotread.
Read the Y for 100% and 50%. Gamma = log(50%Y/100%Y) / log(0.5)

I'm leaving Nvidias settings from installation time untouched.

I do not understand the black point setting, as I see it in the
calibration file:
BEGIN_DATA
0.0000 0.019102 0.018301 0.017533
3.9216e-003 0.025279 0.024478 0.024011
7.8431e-003 0.031338 0.030534 0.030370

I don't understand why is it not going down to more near zero.

It doesn't necessarily follow that zero device value is the threshold
where the display starts to turn on. Some devices have a dead zone
from zero where nothing happens, so it's important to
set the calibrated zero at the threshold where something starts
to happen, otherwise the display characteristic isn't invertible,
and a calibration curve can't be created.

Having said that, it doesn't mean that I think the current
calibration algorithm is perfect in what it achieves for
the black point.

Thanks for the feedback on the Chroma 4 - I'll see about
adding your changes into the code, if you can clarify what
the actual version number and sub-model ID is.

Graeme Gill.

Other related posts: