how to create a dcp for an artificial light source

Oh, a LED light…

Nothing to do with the glare, but if you still have access to one, might be interesting to try a target shot illuminated with a regular incandescent light bulb. Individual LEDs are rather narrow-band, and the LED panel manufacturers come up with all sorts of narrow-band combinations to mimic true black-body illumination. Doing the spectral measurements, I have to apply a per-band adjustment for the non-linear SPD of a real black-body source, can’t imaging doing that for a LED-mix light where large portions of the spectrum are just missing…

Back to glare, I’m going to poke around the relative luminances of your target vs the ColorChecker shots I have. The white patch in your shot is quite bright relative to the others, when I compare such in my Colorchecker shots…

Hmm, is this compatible with dcamprof placing this patch 3rd in the 5 best?

  A01 RGB 0.541 0.990 0.731 XYZref 0.968 1.000 0.831 XYZcam 0.958 0.990 0.826 sRGB #FEFEFE #FEFDFE DE 0.32 DE LCh -0.21 +0.07 -0.23 (white)

I don’t have an SPD graph handy. Haven’t found one. For what it’s worth, its CRI is rated at 97. And looking at the panel SMD chips themselves, I can’t see any mixing: this panel is not one that allows colour temperature adjustments by lighting differently distinct LEDs, and all chips look identical.

Just so you know what I’m talking about: it’s the LED panel from inside this product.

I don’t have an SPD graph handy.

Do you have a Color Munki Photo (or something similar) available?

Have fun!
Claes in Lund, Sweden

I happen to have an X-Rite i1Display Pro, which I have never used to “calibrate” ambient light. Is that what I could do?

@ggbutcher
I have another question for you.
I’ve figured out the glare option problem. The .json layout file (cc24-layout.json) is specific to the X-Rite color checker 24: the position of the white, middle gray and black patches is not the same on my SpyderCheckr24. It looks like an easy fix but I get confused because of the naming of the rows and columns.

My diag.tif file looks like this:

Could you kindly post a screen capture of your diag.tif, on your colorchecker?
The layout it expects, for a colorchecker24 is 4 rows and 6 columns:

{
   "RowCount": 4,
   "ColCount": 6,
   "RelativeRowHeight": 1.0,
   "RelativeColWidth": 1.0,
   "HasColOffset": false,

   "WhitePatches": [ "D01" ],
   "BlackPatches": [ "D06" ],
   "MiddleGrayPatches": [ "D04" ]
}

It matches the pdf from xrite:

I just want to confirm the numbering from your diag.tif file.

Thanks!

'ere y’go:

diag.tif (4.2 MB)

Geesh, won’t display a tiff…

1 Like

OK, my brain suffers. I’m very confused by the identification of the patches.

Rows are columns and vice versa - but I’m not sure it matters, from a jsonio and cJSON perspective.

In your case, rows are letters, while in mine, rows are numbers.

@ggbutcher would you help me proofread my layout file?

{
   "RowCount": 6,
   "ColCount": 4,
   "RelativeRowHeight": 1.0,
   "RelativeColWidth": 1.0,
   "HasColOffset": false,

   "WhitePatches": [ "A01" ],
   "BlackPatches": [ "A06" ],
   "MiddleGrayPatches": [ "A04" ]
}

What matters is that the patch name lines up with the patch definition in the .ti3 file. I think the easy way to do this is to run dcamprof make-profile with ‘-r directoryname’, which will generated a ton of reports and images. cd to directoryname, and look at patch-errors.txt, it’ll have all the patches with their various values, DEs, an helpfully, dcamprof’s assertion of a named color. Funny, for my skin tone patches at A1 and A2, dcamprof calls them a shade of gray, and for the neutral patches they’re all shades of blue, probably owing to I shot them under a tungsten light.

I just did this, and with the above exceptions I was able to correlate all the patch names with my diag.tif (actually, you might want to look at a white-balanced, tone-lifted JPEG of it or your target shot…)

Alright, so I’m not sure I’m there, yet, but with that taken into account, I’ve updated the drive folder, again (with the patch errors and the layout file that seems to fit my spydercheckr24)

Recap: after applying the flat-field file in RT and using the “Save Reference Image” button, the commands I’ve run are:

scanin -v -p -dipn nikon_D750_60mmAFD_CN-T96_spydercheckr24.tif /opt/homebrew/Cellar/argyll-cms/2.3.1/ref/SpyderChecker24.{cht,cie}

~/programs/dcamprof/dcamprof/src/dcamprof make-profile -r report_dir -g ~/programs/dcamprof/dcamprof/data-examples/spydercheckr24-layout.json ~/Pictures/D750/spyderchecker_24/D750_60mm_CN-T96_20220724/nikon_D750_60mmAFD_CN-T96_spydercheckr24.{ti3,profile.json}
unfold me for console output - I'm surprised by the claimed A03 DeltaE ("Warning: whitest (most neutral) patch in target (A03) differs DE 13.14 ")
Reading target...
Glare test before glare matching...
Warning: large dynamic range difference detected. Likely glare issue.
Camera G on darkest patch(es) is 72.6% lighter compared to observer Y.
  Y dynamic range is 5.01 stops, G dynamic range is 4.22 stops, difference
  0.79 stops. A small difference is normal, while a large indicates that there
  is glare.
Glare-matching target...
  Minimum Y changed from 0.027800 to 0.050420. Glare was modeled in RGB space.
Testing glare after adjusting reference values (camera G and observer Y should
  be close).
Camera G on darkest patch(es) is -4.8% lighter compared to observer Y.
  Y dynamic range is 4.15 stops, G dynamic range is 4.22 stops, difference
  -0.07 stops. A small difference is normal, while a large indicates that there
  is glare.
Generating values for the calibration illuminant D50...
The most neutral patch (A03) differs 13.14 DE from actual neutral,
  transforming target reference XYZ values to match, using CAT02.
Automatic LUT relaxation weights assigned.
Making camera profile...
Finding a camera raw RGB to CIE XYZ matrix for calibration illuminant D50...
Warning: whitest (most neutral) patch in target (A03) differs DE 13.14
  from calibration illuminant, matrix precision may suffer.
Inverting to get ColorMatrix:
  {
    "ColorMatrix1": [
      [  0.968721, -0.229133, -0.096816 ],
      [ -0.549608,  1.366356,  0.213691 ],
      [ -0.181175,  0.275629,  0.635699 ]
    ]
  }
Matrix patch match average DE 1.92, DE LCh 0.76 1.06 1.10
                    median DE 1.92, DE LCh 0.67 0.95 0.86
                       p90 DE 3.45, DE LCh 1.42 2.75 2.70
                       max DE 3.62, DE LCh 2.70 2.85 3.49
ColorMatrix optimal white balance for target: 0.617163,1,0.617641 (m1.62032,1,1.61906)
Finding a camera raw RGB to CIE XYZ matrix for connection space illuminant D50...
  {
    "LUTMatrix1": [
      [  0.658287,  0.124344,  0.181588 ],
      [  0.291739,  0.653891,  0.054370 ],
      [  0.000109,  0.000915,  0.824177 ]
    ]
  }
LUTMatrix optimal white balance for target: 0.544253,1,0.732324 (m1.83738,1,1.36552)
Matrix patch match average DE 4.60, DE LCh 1.97 3.03 2.91
                    median DE 4.67, DE LCh 2.17 3.19 3.01
                       p90 DE 8.64, DE LCh 3.80 5.74 5.74
                       max DE 9.78, DE LCh 4.40 8.61 6.18
Finding a camera raw RGB to CIE XYZ matrix for connection space illuminant D50...
  Y row limit set to -0.2.
Applying white-balance to get ForwardMatrix:
  {
    "ForwardMatrix1": [
      [  0.700082,  0.183835,  0.080301 ],
      [  0.280378,  0.865972, -0.146351 ],
      [  0.062842, -0.294536,  1.056896 ]
    ]
  }
ForwardMatrix optimal white balance for target: 0.544253,1,0.732324 (m1.83738,1,1.36552)
Matrix patch match average DE 1.91, DE LCh 0.86 0.89 1.19
                    median DE 1.59, DE LCh 0.81 0.93 0.97
                       p90 DE 3.09, DE LCh 1.56 1.74 3.07
                       max DE 4.77, DE LCh 2.15 2.83 4.31
Making 2.5D chromaticity-addressed lookup table for XYZ correction...
8.33% of the patches was put in a chromaticity group due to nearby neighbor.
  25.00% of the patches was removed due to being nearby the whitepoint.
  Largest chromaticity group contains 2 patches. Patch count reduced from
  24 to 16. Note that patch matching cannot reach 100% when chromaticity
  groups are formed, as the LUT matches the average within a group.
Lightness axis is disabled. Since lightness affects chroma, the LUT chroma
  control points are recalculated to better match the uncorrected lightness.
  A residual error of up to about 0.2 DE is expected.
Relaxing LUT stretch with up to 3.86 DE. Iterating over 16 patches...
  Lightness correction is disabled.
Average DE for the 16 tested patches increased to 1.75 after LUT relax.
  50.00% could do without LUT correction.
Native LUT patch match average DE 1.75, DE LCh 0.83 0.99 0.84
                        median DE 1.54, DE LCh 0.65 0.79 0.73
                           p90 DE 3.49, DE LCh 1.60 2.83 1.47
                           max DE 3.74, DE LCh 2.15 3.34 3.42
5 worst patches for Overall DE:
  C05 RGB 0.212 0.434 0.138 XYZref 0.392 0.490 0.093 XYZcam 0.371 0.455 0.117 sRGB #B0C33F #ABBC55 DE 3.74 DE LCh -1.63 -3.23 +0.95 (light strong yellow-green)
  A06 RGB 0.028 0.053 0.040 XYZref 0.054 0.055 0.042 XYZcam 0.051 0.052 0.046 sRGB #45413E #3F4042 DE 3.63 DE LCh -0.58 -1.06 +3.42 (gray 30%)
  B03 RGB 0.411 0.541 0.127 XYZref 0.678 0.693 0.077 XYZcam 0.648 0.663 0.114 sRGB #FED30B #FCCF44 DE 3.49 DE LCh -0.98 -3.34 -0.19 (light vivid yellow)
  D03 RGB 0.060 0.130 0.058 XYZref 0.122 0.143 0.065 XYZcam 0.107 0.132 0.052 sRGB #646D49 #5B6B40 DE 3.10 DE LCh -1.56 +2.38 +1.24 (yellow-green)
  A05 RGB 0.054 0.099 0.072 XYZref 0.104 0.107 0.080 XYZcam 0.096 0.099 0.081 sRGB #5F5B56 #585858 DE 3.07 DE LCh -1.13 -2.83 +0.42 (gray 40%)
5 worst patches for Lightness DE:
  C04 RGB 0.057 0.082 0.100 XYZref 0.114 0.093 0.134 XYZcam 0.099 0.080 0.121 sRGB #654C73 #5E466E DE 2.24 DE LCh -2.15 +0.13 -0.61 (dark purple)
  C05 RGB 0.212 0.434 0.138 XYZref 0.392 0.490 0.093 XYZcam 0.371 0.455 0.117 sRGB #B0C33F #ABBC55 DE 3.74 DE LCh -1.63 -3.23 +0.95 (light strong yellow-green)
  B01 RGB 0.062 0.272 0.285 XYZref 0.136 0.196 0.298 XYZcam 0.152 0.211 0.324 sRGB #0098B2 #0099B6 DE 2.11 DE LCh +1.60 -0.34 +1.32 (blue)
  D03 RGB 0.060 0.130 0.058 XYZref 0.122 0.143 0.065 XYZcam 0.107 0.132 0.052 sRGB #646D49 #5B6B40 DE 3.10 DE LCh -1.56 +2.38 +1.24 (yellow-green)
  B02 RGB 0.216 0.166 0.187 XYZref 0.312 0.204 0.250 XYZcam 0.328 0.218 0.245 sRGB #BE589A #C45C98 DE 2.08 DE LCh +1.41 -0.42 +1.47 (purple-red)
5 worst patches for Chroma DE:
  B03 RGB 0.411 0.541 0.127 XYZref 0.678 0.693 0.077 XYZcam 0.648 0.663 0.114 sRGB #FED30B #FCCF44 DE 3.49 DE LCh -0.98 -3.34 -0.19 (light vivid yellow)
  C05 RGB 0.212 0.434 0.138 XYZref 0.392 0.490 0.093 XYZcam 0.371 0.455 0.117 sRGB #B0C33F #ABBC55 DE 3.74 DE LCh -1.63 -3.23 +0.95 (light strong yellow-green)
  A05 RGB 0.054 0.099 0.072 XYZref 0.104 0.107 0.080 XYZcam 0.096 0.099 0.081 sRGB #5F5B56 #585858 DE 3.07 DE LCh -1.13 -2.83 +0.42 (gray 40%)
  C06 RGB 0.341 0.346 0.094 XYZref 0.542 0.480 0.070 XYZcam 0.516 0.463 0.091 sRGB #F8A730 #F0A545 DE 2.67 DE LCh -0.82 -2.46 -0.65 (light strong orange)
  D03 RGB 0.060 0.130 0.058 XYZref 0.122 0.143 0.065 XYZcam 0.107 0.132 0.052 sRGB #646D49 #5B6B40 DE 3.10 DE LCh -1.56 +2.38 +1.24 (yellow-green)
5 worst patches for Hue DE:
  A06 RGB 0.028 0.053 0.040 XYZref 0.054 0.055 0.042 XYZcam 0.051 0.052 0.046 sRGB #45413E #3F4042 DE 3.63 DE LCh -0.58 -1.06 +3.42 (gray 30%)
  B04 RGB 0.182 0.076 0.043 XYZref 0.226 0.141 0.053 XYZcam 0.244 0.151 0.063 sRGB #B64043 #BC414A DE 2.09 DE LCh +1.29 +0.18 -1.63 (red)
  B02 RGB 0.216 0.166 0.187 XYZref 0.312 0.204 0.250 XYZcam 0.328 0.218 0.245 sRGB #BE589A #C45C98 DE 2.08 DE LCh +1.41 -0.42 +1.47 (purple-red)
  B01 RGB 0.062 0.272 0.285 XYZref 0.136 0.196 0.298 XYZcam 0.152 0.211 0.324 sRGB #0098B2 #0099B6 DE 2.11 DE LCh +1.60 -0.34 +1.32 (blue)
  B05 RGB 0.079 0.257 0.107 XYZref 0.164 0.248 0.081 XYZcam 0.163 0.243 0.092 sRGB #54974B #549553 DE 1.98 DE LCh -0.47 -1.46 +1.25 (yellow-green)
5 best patches for Overall DE:
  A03 RGB 0.206 0.378 0.277 XYZref 0.365 0.378 0.312 XYZcam 0.365 0.378 0.312 sRGB #A5A5A5 #A5A5A5 DE 0.00 DE LCh +0.00 +0.00 +0.00 (gray 70%)
  A04 RGB 0.111 0.202 0.149 XYZref 0.196 0.203 0.168 XYZcam 0.196 0.203 0.168 sRGB #7C7C7C #7C7C7C DE 0.25 DE LCh -0.08 +0.23 +0.05 (gray 50%)
  A02 RGB 0.339 0.623 0.457 XYZref 0.612 0.634 0.525 XYZcam 0.601 0.623 0.516 sRGB #D0D0D0 #CECECF DE 0.41 DE LCh -0.38 -0.13 -0.04 (gray 80%)
  A01 RGB 0.536 0.982 0.725 XYZref 0.968 1.000 0.828 XYZcam 0.950 0.982 0.818 sRGB #FEFEFE #FDFCFE DE 0.59 DE LCh -0.40 +0.03 -0.43 (white)
  D05 RGB 0.271 0.331 0.204 XYZref 0.420 0.380 0.208 XYZcam 0.425 0.386 0.215 sRGB #CE9A85 #CF9B87 DE 0.63 DE LCh +0.32 -0.27 -0.47 (red)
Writing output to "/Users/cynamon/Pictures/D750/spyderchecker_24/D750_60mm_CN-T96_20220724/nikon_D750_60mmAFD_CN-T96_spydercheckr24.profile.json"...
Complete!

Salut @nonophuran,

I happen to have an X-Rite i1Display Pro, which I have never used to “calibrate” ambient light. Is that what I could do?

Yes, it could be of assistance to you, showing what spectrum
your LED panel really emits (especially the R9 value and TLCI).
Then you can compare with other LED makes Spectral emissions from modern light sources (more graphs added).

Are you sure about CRI 97? Nanguang states CRI 95.

Have fun!
Claes à Lund, La Suède

1 Like

But now, your worst overall dE is well within acceptability. Here are the five worst patches, pulled from your console output that somehow didn’t format well:

worst patches for Overall DE: 
C05 RGB 0.212 0.434 0.138 XYZref 0.392 0.490 0.093 XYZcam 0.371 0.455 0.117 sRGB #B0C33F #ABBC55 DE 3.74 DE LCh -1.63 -3.23 +0.95 (light strong yellow-green) 
A06 RGB 0.028 0.053 0.040 XYZref 0.054 0.055 0.042 XYZcam 0.051 0.052 0.046 sRGB #45413E #3F4042 DE 3.63 DE LCh -0.58 -1.06 +3.42 (gray 30%) 
B03 RGB 0.411 0.541 0.127 XYZref 0.678 0.693 0.077 XYZcam 0.648 0.663 0.114 sRGB #FED30B #FCCF44 DE 3.49 DE LCh -0.98 -3.34 -0.19 (light vivid yellow) 
D03 RGB 0.060 0.130 0.058 XYZref 0.122 0.143 0.065 XYZcam 0.107 0.132 0.052 sRGB #646D49 #5B6B40 DE 3.10 DE LCh -1.56 +2.38 +1.24 (yellow-green) 
A05 RGB 0.054 0.099 0.072 XYZref 0.104 0.107 0.080 XYZcam 0.096 0.099 0.081 sRGB #5F5B56 #585858 DE 3.07 DE LCh -1.13 -2.83 +0.42 (gray 40%)

Max dE of 3.74 is nothing to sneeze at for a matrix profile…

Bear-of-little-brain here, seems as long as the glare detection is limited to “neutral” patches, you’re now getting good chromatic results. There are a number of other variables we haven’t discussed, correspondence of the actual patch values to the reference file values for one, but with what resources you have available I think you’re now working in the realm of acceptability.

1 Like

Occurs to me, there’s spectral data for the D750, available courtesy the OpenFilmTools project. Without any target shots, a dual-illuminant DCP can be made from it like this:

dcamprof make-target -i StdA -p cc24 -c Nikon_D750_dcamprof.json Nikon_d750_StdA.ti3
dcamprof make-target -i D65 -p cc24 -c Nikon_D750_dcamprof.json Nikon_d750_D65.ti3
dcamprof make-profile -r StdA -n nikon_d750_StdA -i StdA Nikon_d750_StdA.ti3 Nikon_d750_StdA.json
dcamprof make-profile -r D65 -n nikon_d750_D65 -i D65 Nikon_d750_D65.ti3 Nikon_d750_D65.json
dcamprof make-dcp Nikon_d750_StdA.json Nikon_d750_D65.json nikon_d750.dcp

Where Nikon_D750_dcamprof.json is the spectral file in dcamprof format, which contains this:

{
	"camera_name": "Nikon D750",

	"ssf_bands": [ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830 ],

	"red_ssf": [ 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.008642, 0.008544, 0.008545, 0.008709, 0.009270, 0.009713, 0.010454, 0.012480, 0.016389, 0.022577, 0.030923, 0.040471, 0.049288, 0.056913, 0.063919, 0.070186, 0.075291, 0.077618, 0.078096, 0.077069, 0.076119, 0.075425, 0.074651, 0.073788, 0.072942, 0.072050, 0.070707, 0.069581, 0.068909, 0.068043, 0.067060, 0.066656, 0.065924, 0.065371, 0.064647, 0.063875, 0.063414, 0.062685, 0.061827, 0.061046, 0.059796, 0.058723, 0.057806, 0.056671, 0.055293, 0.054134, 0.052985, 0.051980, 0.051067, 0.050326, 0.049535, 0.048829, 0.048253, 0.047760, 0.047148, 0.046945, 0.046903, 0.046885, 0.047195, 0.047161, 0.047684, 0.048272, 0.048954, 0.049839, 0.051052, 0.052156, 0.053647, 0.055593, 0.057849, 0.059995, 0.062192, 0.064326, 0.066143, 0.067388, 0.068161, 0.068528, 0.068465, 0.067919, 0.067098, 0.065844, 0.064011, 0.062422, 0.060833, 0.059288, 0.058037, 0.057094, 0.056243, 0.055489, 0.054748, 0.054273, 0.053969, 0.053534, 0.053427, 0.053699, 0.053837, 0.054062, 0.054476, 0.055261, 0.056276, 0.057331, 0.058467, 0.059829, 0.061383, 0.062800, 0.064698, 0.066526, 0.068631, 0.070701, 0.073114, 0.075477, 0.078431, 0.081654, 0.085074, 0.089044, 0.092966, 0.097915, 0.102490, 0.107590, 0.112660, 0.117800, 0.123210, 0.128550, 0.133520, 0.138110, 0.142180, 0.145460, 0.147450, 0.148950, 0.148990, 0.147860, 0.145780, 0.142570, 0.138290, 0.133360, 0.127980, 0.121390, 0.115290, 0.108600, 0.102140, 0.096076, 0.090258, 0.084759, 0.079918, 0.075068, 0.070989, 0.067315, 0.064023, 0.061212, 0.059067, 0.057325, 0.056084, 0.055179, 0.054886, 0.054781, 0.055046, 0.055406, 0.055958, 0.056634, 0.057617, 0.058720, 0.059967, 0.061244, 0.062810, 0.064639, 0.066618, 0.069151, 0.072410, 0.076636, 0.082150, 0.089929, 0.100380, 0.115390, 0.135400, 0.162140, 0.197310, 0.240820, 0.292370, 0.349070, 0.410880, 0.473610, 0.535620, 0.592800, 0.642850, 0.685020, 0.718120, 0.745050, 0.764510, 0.777980, 0.787800, 0.793820, 0.796760, 0.797040, 0.793710, 0.788190, 0.782710, 0.776840, 0.769110, 0.760680, 0.751640, 0.743040, 0.733930, 0.724020, 0.713870, 0.703110, 0.690400, 0.677570, 0.663070, 0.649060, 0.634250, 0.619820, 0.606480, 0.592770, 0.580320, 0.568600, 0.556750, 0.545870, 0.534510, 0.522610, 0.511110, 0.499010, 0.486380, 0.473380, 0.459880, 0.446900, 0.433750, 0.421510, 0.410000, 0.399170, 0.389020, 0.379530, 0.369360, 0.359290, 0.349310, 0.339550, 0.329650, 0.320130, 0.310810, 0.301620, 0.293170, 0.284400, 0.275670, 0.267320, 0.259590, 0.252030, 0.244410, 0.236940, 0.229470, 0.222170, 0.215120, 0.207840, 0.201340, 0.194230, 0.187650, 0.181110, 0.174480, 0.168440, 0.162400, 0.156180, 0.150450, 0.144170, 0.137910, 0.131210, 0.124140, 0.116290, 0.108080, 0.099517, 0.090607, 0.081752, 0.073034, 0.064540, 0.056857, 0.049765, 0.043201, 0.037644, 0.032752, 0.028488, 0.024992, 0.021857, 0.019208, 0.016947, 0.014965, 0.013313, 0.011854, 0.010633, 0.009493, 0.008541, 0.007635, 0.006823, 0.006133, 0.005461, 0.004907, 0.004381, 0.003882, 0.003473, 0.003089, 0.002760, 0.002523, 0.002242, 0.002032, 0.001847, 0.001668, 0.001517, 0.001405, 0.001302, 0.001188, 0.001130, 0.001079, 0.001025, 0.000981, 0.000931, 0.000902, 0.000839, 0.000805, 0.000799, 0.000773, 0.000745, 0.000729, 0.000723, 0.000704, 0.000693, 0.000680, 0.000668, 0.000646, 0.000633, 0.000618, 0.000588, 0.000575, 0.000566, 0.000514, 0.000503, 0.000477, 0.000451, 0.000427, 0.000413, 0.000399, 0.000386, 0.000381, 0.000387, 0.000373, 0.000364, 0.000366, 0.000363, 0.000355, 0.000348, 0.000347, 0.000344, 0.000342, 0.000337, 0.000337, 0.000331, 0.000330, 0.000323, 0.000322, 0.000323, 0.000310, 0.000317, 0.000311, 0.000310, 0.000309, 0.000302, 0.000304, 0.000302, 0.000293, 0.000290, 0.000297, 0.000296, 0.000295, 0.000295, 0.000283, 0.000280, 0.000273, 0.000276, 0.000276, 0.000271, 0.000269, 0.000261, 0.000262, 0.000258, 0.000249, 0.000256, 0.000251, 0.000244, 0.000249, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000 ],

	"green_ssf": [ 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.015998, 0.015741, 0.015942, 0.016565, 0.017308, 0.018373, 0.020045, 0.022917, 0.028142, 0.036839, 0.048510, 0.062374, 0.076415, 0.089642, 0.102330, 0.114270, 0.124830, 0.132310, 0.137650, 0.140550, 0.142980, 0.146040, 0.149120, 0.152500, 0.155400, 0.157810, 0.160740, 0.163520, 0.166950, 0.170390, 0.174330, 0.178010, 0.181890, 0.185910, 0.189530, 0.192950, 0.196880, 0.200470, 0.203140, 0.205400, 0.208300, 0.210670, 0.213200, 0.215470, 0.218250, 0.220700, 0.223360, 0.226760, 0.230300, 0.234120, 0.238720, 0.242850, 0.247670, 0.252790, 0.258100, 0.264170, 0.271250, 0.278970, 0.287650, 0.296650, 0.306660, 0.317850, 0.329530, 0.341760, 0.353490, 0.366640, 0.378720, 0.392030, 0.405090, 0.417730, 0.430210, 0.442030, 0.453600, 0.464090, 0.473550, 0.480290, 0.486920, 0.492640, 0.496980, 0.500030, 0.502870, 0.504530, 0.505050, 0.505740, 0.507250, 0.508670, 0.509450, 0.511330, 0.513930, 0.518160, 0.523360, 0.530870, 0.539990, 0.549960, 0.562070, 0.575650, 0.589710, 0.604900, 0.620920, 0.638470, 0.657500, 0.677490, 0.697200, 0.716050, 0.738120, 0.757610, 0.775970, 0.793980, 0.809890, 0.825670, 0.841710, 0.857380, 0.872870, 0.887970, 0.902870, 0.915870, 0.928580, 0.939950, 0.948390, 0.956810, 0.966130, 0.973490, 0.980210, 0.987380, 0.991630, 0.995490, 0.998750, 0.999940, 1.000000, 0.999460, 0.998660, 0.997020, 0.994110, 0.990720, 0.985360, 0.979820, 0.972570, 0.964830, 0.957310, 0.949140, 0.940580, 0.932450, 0.925550, 0.919680, 0.913330, 0.906170, 0.898380, 0.890130, 0.880950, 0.870600, 0.859670, 0.848890, 0.837340, 0.826420, 0.815400, 0.804410, 0.792800, 0.780590, 0.768620, 0.755110, 0.739190, 0.723960, 0.708420, 0.692740, 0.677940, 0.663200, 0.649040, 0.634780, 0.619780, 0.605810, 0.591240, 0.576690, 0.561530, 0.547590, 0.533000, 0.518490, 0.503650, 0.488540, 0.472880, 0.457940, 0.443610, 0.428700, 0.413950, 0.398910, 0.383950, 0.368980, 0.353370, 0.338420, 0.323560, 0.308430, 0.294280, 0.280010, 0.266010, 0.252420, 0.239570, 0.227190, 0.214820, 0.203080, 0.191680, 0.180390, 0.169780, 0.159770, 0.150320, 0.141270, 0.132760, 0.124870, 0.117340, 0.110340, 0.103670, 0.097643, 0.091910, 0.086551, 0.081703, 0.077181, 0.073018, 0.069241, 0.065665, 0.062399, 0.059440, 0.056709, 0.054074, 0.051668, 0.049244, 0.047147, 0.045024, 0.043130, 0.041375, 0.039708, 0.038254, 0.036817, 0.035459, 0.034214, 0.032967, 0.031725, 0.030687, 0.029554, 0.028553, 0.027557, 0.026622, 0.025696, 0.024770, 0.023825, 0.022982, 0.022167, 0.021395, 0.020593, 0.019871, 0.019171, 0.018492, 0.017849, 0.017291, 0.016760, 0.016264, 0.015833, 0.015442, 0.015046, 0.014712, 0.014391, 0.014095, 0.013768, 0.013443, 0.013075, 0.012665, 0.012156, 0.011655, 0.011077, 0.010420, 0.009702, 0.009030, 0.008286, 0.007581, 0.006954, 0.006307, 0.005742, 0.005212, 0.004742, 0.004330, 0.003963, 0.003614, 0.003337, 0.003072, 0.002846, 0.002635, 0.002448, 0.002282, 0.002141, 0.001969, 0.001860, 0.001728, 0.001593, 0.001495, 0.001388, 0.001286, 0.001209, 0.001127, 0.001052, 0.000978, 0.000921, 0.000864, 0.000820, 0.000776, 0.000722, 0.000687, 0.000655, 0.000633, 0.000615, 0.000598, 0.000586, 0.000575, 0.000557, 0.000543, 0.000527, 0.000515, 0.000507, 0.000504, 0.000501, 0.000495, 0.000486, 0.000481, 0.000484, 0.000476, 0.000465, 0.000459, 0.000447, 0.000442, 0.000433, 0.000426, 0.000424, 0.000416, 0.000410, 0.000405, 0.000395, 0.000394, 0.000392, 0.000388, 0.000380, 0.000372, 0.000372, 0.000367, 0.000362, 0.000363, 0.000361, 0.000360, 0.000360, 0.000354, 0.000362, 0.000355, 0.000353, 0.000346, 0.000346, 0.000345, 0.000345, 0.000343, 0.000344, 0.000338, 0.000336, 0.000333, 0.000333, 0.000328, 0.000324, 0.000326, 0.000326, 0.000326, 0.000321, 0.000317, 0.000316, 0.000320, 0.000321, 0.000313, 0.000309, 0.000305, 0.000302, 0.000299, 0.000297, 0.000296, 0.000290, 0.000285, 0.000285, 0.000276, 0.000274, 0.000275, 0.000271, 0.000272, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000 ],

	"blue_ssf": [ 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.042726, 0.044328, 0.045810, 0.047830, 0.050482, 0.054059, 0.059877, 0.071029, 0.093099, 0.131190, 0.187570, 0.254170, 0.323150, 0.390440, 0.454770, 0.515670, 0.570940, 0.612850, 0.640610, 0.658060, 0.671180, 0.685730, 0.700160, 0.712600, 0.722010, 0.728950, 0.735760, 0.744040, 0.750440, 0.759230, 0.768140, 0.779340, 0.791480, 0.802910, 0.814510, 0.825110, 0.836610, 0.847600, 0.854590, 0.860520, 0.865510, 0.870340, 0.873340, 0.878120, 0.882150, 0.885980, 0.889390, 0.894820, 0.900490, 0.907300, 0.913580, 0.917220, 0.921000, 0.922390, 0.921530, 0.919660, 0.919890, 0.919970, 0.918410, 0.917190, 0.917710, 0.919530, 0.920960, 0.922560, 0.924070, 0.924130, 0.923000, 0.921220, 0.921610, 0.919930, 0.917290, 0.913770, 0.909880, 0.906510, 0.900480, 0.892650, 0.885490, 0.877670, 0.869210, 0.860290, 0.850290, 0.840160, 0.829370, 0.817750, 0.806590, 0.794630, 0.780350, 0.765680, 0.751100, 0.735570, 0.718650, 0.702750, 0.686330, 0.668490, 0.651460, 0.634270, 0.617470, 0.600070, 0.583860, 0.567450, 0.551350, 0.536550, 0.519630, 0.502800, 0.486710, 0.470970, 0.454460, 0.437360, 0.419730, 0.403130, 0.385460, 0.369150, 0.353590, 0.337170, 0.322140, 0.307340, 0.293550, 0.279570, 0.267300, 0.254970, 0.243420, 0.232500, 0.222220, 0.212800, 0.204040, 0.195700, 0.187570, 0.179970, 0.173140, 0.166450, 0.160610, 0.154760, 0.148950, 0.143440, 0.138010, 0.132920, 0.128080, 0.123030, 0.118460, 0.113690, 0.109090, 0.104880, 0.100390, 0.095973, 0.091748, 0.087398, 0.083099, 0.078782, 0.074482, 0.070263, 0.066373, 0.062408, 0.058545, 0.055075, 0.051600, 0.048382, 0.045102, 0.042340, 0.039667, 0.037034, 0.034733, 0.032619, 0.030607, 0.028749, 0.027221, 0.025732, 0.024388, 0.023209, 0.022099, 0.021106, 0.020196, 0.019561, 0.018865, 0.018289, 0.017701, 0.017134, 0.016580, 0.016069, 0.015527, 0.015040, 0.014597, 0.014181, 0.013665, 0.013257, 0.012801, 0.012303, 0.011875, 0.011433, 0.011030, 0.010576, 0.010194, 0.009822, 0.009466, 0.009118, 0.008776, 0.008518, 0.008239, 0.007939, 0.007724, 0.007551, 0.007323, 0.007135, 0.007009, 0.006810, 0.006678, 0.006530, 0.006446, 0.006328, 0.006254, 0.006163, 0.006064, 0.005991, 0.005917, 0.005846, 0.005816, 0.005800, 0.005799, 0.005724, 0.005690, 0.005647, 0.005623, 0.005609, 0.005544, 0.005464, 0.005381, 0.005327, 0.005299, 0.005289, 0.005294, 0.005283, 0.005288, 0.005305, 0.005344, 0.005396, 0.005428, 0.005478, 0.005505, 0.005526, 0.005590, 0.005675, 0.005741, 0.005786, 0.005821, 0.005855, 0.005913, 0.005956, 0.005969, 0.006014, 0.006051, 0.006079, 0.006073, 0.006119, 0.006138, 0.006117, 0.006103, 0.006126, 0.006090, 0.006049, 0.005998, 0.005924, 0.005807, 0.005701, 0.005526, 0.005309, 0.005096, 0.004756, 0.004467, 0.004154, 0.003806, 0.003443, 0.003109, 0.002809, 0.002494, 0.002235, 0.002005, 0.001777, 0.001595, 0.001450, 0.001304, 0.001186, 0.001082, 0.001005, 0.000910, 0.000844, 0.000779, 0.000720, 0.000668, 0.000608, 0.000565, 0.000537, 0.000501, 0.000459, 0.000439, 0.000422, 0.000397, 0.000366, 0.000353, 0.000346, 0.000332, 0.000295, 0.000273, 0.000263, 0.000257, 0.000247, 0.000245, 0.000238, 0.000226, 0.000223, 0.000222, 0.000221, 0.000214, 0.000210, 0.000206, 0.000208, 0.000209, 0.000206, 0.000208, 0.000203, 0.000199, 0.000195, 0.000197, 0.000193, 0.000189, 0.000188, 0.000187, 0.000180, 0.000183, 0.000180, 0.000179, 0.000181, 0.000188, 0.000181, 0.000177, 0.000179, 0.000179, 0.000177, 0.000171, 0.000177, 0.000168, 0.000168, 0.000171, 0.000163, 0.000166, 0.000167, 0.000167, 0.000164, 0.000165, 0.000161, 0.000165, 0.000165, 0.000162, 0.000159, 0.000161, 0.000161, 0.000159, 0.000160, 0.000154, 0.000153, 0.000154, 0.000153, 0.000154, 0.000154, 0.000159, 0.000163, 0.000172, 0.000176, 0.000180, 0.000181, 0.000178, 0.000178, 0.000174, 0.000165, 0.000155, 0.000149, 0.000147, 0.000142, 0.000135, 0.000135, 0.000125, 0.000128, 0.000124, 0.000125, 0.000123, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000 ]

}

I just ran it, and max dE for the StdA profile is 2.75, for the D65 it’s 3.92.

Maybe, a usefui reference…

hi @Claes

I see. I’ll check what I can do to assess.

I’m not sure it’s CRI 97. Specs are just specs and with an ugly diffuser on top, no doubt some of the Rn are affected.

OK, before I dive into plotting the profile as suggested on dcamprof documentation page, what are the sections of interest, to you, @ggbutcher, in the console output of the make-profile command? I’m pretty sure I’m not following properly the workflow.

Am I, really (I suppose a plot study is the only answer)? is the fact that the profile is based upon 16 (out of 24) patches not a concern, when it comes to the outlying ones? i.e. should I not strive to have more patches included or does it compromise profile smoothness? (also, do I need a smooth profile or an accurate one, for my use case?)

Thanks for mentioning that!
searching for the spectral data was on my bucket list, too. But I’m not sure what to do with it in my LED source case - am I missing something obvious?

Again, I’m asking many questions. Thanks for your answers and availability already!

Me, it’s patch-errors.txt in the reports directory. I even wrote a script to sort them by dE…

This may be a little simplistic, but if I get a good dE for the red, green and blue patches I figure I’ve got a good (accurate) chromatic triangle in the matrix. After that, I’d only worry patches for specific uses, e.g., skin tones. A matrix profile is “smooth” to the extent that the gamut transforms are linear, and you’re not going to get really good gradation in extreme colors unless you include a LUT, and a 24-patch target shot doesn’t inform that endeavor too well.

I threw that in as a baseline reference - if you can get close to that in dE with a matrix profile, I think you’re doing quite well.

The thing with the SSF data is that you can train a profile with it and a well-measured set of reference spectra, more than just a 24-patch target. There are two Munsell sets in dcamprof worth playing with, and I got a Lippman2000 skin tone set in dcamprof json format from @NateWeatherly some time back that might be interesting.

He’s the one who pointed out that one could do a couple of spectral measurements of colors of interest, stick them in a .ti3 file with the ColorChecker red, green, blue, black, and white patches and make a profile tuned to those specific colors and also be generally “colorimetric”. Need a spectrometer for that, but it’s an interesting capability for reproduction work.

I have a spyderchecker…the colors are also not in the same spots exactly as the cc24 and often I find your image needs to be oriented with the white patch top left if you have not shot it that way…

I have attached a spreadsheet that has some including spectral data for the CC24 and SC24. I was using this to try and use my spyderchecker card with the Xrite software.

There were two issues …version 1.2 of the xrite software read the patchs in a different order… I had worked it out then upgraded and then had to look at it again…

The data are in two tabs. There is a header section to remind me of the patch order used and the difference between the two cards.

I used this software to sort the order of the data from the SC to match the CC24 read order so that the Xrite software would work.

THen i just replaced the reference file used by the software… so its a hack but the software is free to download and I just wanted to see if I could do it…

If you can decipher all the manipulations it might be useful. I found the the data published by Xrite and Datacolor and a couple of examples of spectral data for the SC24 which were necessary to use the X-rite software…

Spyder to Xrite modifications for Xrite version 2.1.zip (209.9 KB)

@ggbutcher @todd @Claes thanks so much for responding here.

Before I go down a few other rabbit holes (CRI + TLCI of my light source, X-Rite hack, measure the spydercheckr24 myself?), I think I need to plot whatever profiles I’ve already generated, as I have several combinations of options to check.

  1. fix glare with -g in dcamprof
  2. fix flat field in RT
  3. fix flat field in dcamprof

And right now, in plain text, to me, the six combinations I get are difficult to compare.

combination -g RT FF dcamprof FF
1
2 1
3 1
4 1 1
5 1
6 1 1

Not having used gnuplot before as suggested in dcamprof manual, can anyone suggest which graphs (from the make-profile -r option) are the most meaningful and how I should compare them?

By the way, I’ve found a different spyderchecker24 .cie file (the one that’s bundled in lumariver); perhaps it’s better than the one in argyll.

Thanks!

I just went through the data list for the reports directory and I still can’t come up with the need to evaluate anything other than patch/profile (overall) dE for my ColorChecker-trained target and SSF profiles.

I keep trying to visualize some sort of plot that shows the LUT transformation of a particular color hue in its various saturations, but I’m not coming up with anything that wouldn’t require significant coding, and I really can’t think of a metric that would tell anything better than visually comparing a problematic image pushed through a matrix vs LUT profile.

Well, in DCamProf manual profiling tips section:

Do experiment! Learn how to use a plotting tool and plot results.

→ I think it could be relevant, esp. as I have now two distinct spectral references for the same card. Now what if one reference is not accurate enough? Does it not force dcamprof to optimise the profile in a wrong set of directions?

Yeah, it’s important to check to make sure that it’s a glare-glint on the frame. I will say from experience, it’s almost expected that you will have a few pixels in this category.

Two distinct spectral references for the same card is not good situation, as each represents a different assertion regarding colorimetric accuracy. All you can tell from a comparison of them is how different from each other they are, not that one is more accurate than the other. Getting at accuracy would require re-measuring the card with a spectrophotometer, and comparing those measurements with the respective reference file measurements. Then, throw out the reference file that is furthest (and that could be a simple Euclidian distance) from the spectrophtotometer measurements.

As I’ve messed with such, having such an instrument has become more compelling. I’ve tried simple wide-band devices such as this:

https://www.sparkfun.com/products/15050

but it won’t offer sufficient resolution for measuring targets. This device:

https://www.amazon.com/X-Rite-EOSTUDIO-i1Studio/dp/B076PN4PMG

would do the trick, but that part of X-Rite spun off into a company called Calibrite, which promply added about $90US to the $489 cost of the device when made by X-Rite. Knew I shoulda bought one last year…

1 Like

the situation is this one:

  • the .cie file in argyll-cms for the SpyderCheckr24… does not contain spectral data, only XYZ values and dates back to 2011 (before the change in dyes)
    image

  • the .cie file in lumariver has spectral data and dates back to 2017

→ the choice is easy, for me, if I have to only guess.

1 Like