[argyllcms] Re: Spectral to LAB conversion in ArgyllCMS (non-D50)

  • From: Edgar Loser <loser@xxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Wed, 22 Nov 2017 09:39:03 +0100

Hi Joe, hi Graeme,

it's all open source...
from spec2cie.c
[...]
        /* Could use sp2cie->get_cie_il() to get CIE white point */
        /* if we wanted to return L*a*b* relative to that. */
        /* We would have to mark that in the .ti3 though. */
        /* This won't work for emmisive though, since get_cie_il() will return 
'E' */
        icmXYZ2Lab(&icmD50, Lab, XYZ);
[...]
The calculation of Lab values is done with (96.42, 100.00, 82.49) (i.e. XYZ of 
D50) all the time.

@Graeme:
perhaps you could do something like
        icmXYZ2Lab(ill_wp, Lab, XYZ);
using the illumination whitepoint calculated earlier...

just 'n idea, you're the boss

Edgar

Am 21.11.2017 um 20:01 schrieb Joe Tschudi:

Hi all,

I have some doubts concerning Argyll to generate „correct“ results when it comes to converting spectral remission data to LAB with illuminants other than D50, for example D65.

Let’s take this measurement as an example:

CTI3
DESCRIPTOR "Argyll Calibration Target chart information 3"
ORIGINATOR "Argyll chartread"
CREATED "Tue Nov 21 11:40:48 2017"
DEVICE_CLASS "OUTPUT"
COLOR_REP "iRGB_XYZ"
TARGET_INSTRUMENT "X-Rite i1 Pro 2"
DEVCALSTD "XRGA"
SPECTRAL_BANDS "36"
SPECTRAL_START_NM "380.000000"
SPECTRAL_END_NM "730.000000"
NUMBER_OF_FIELDS 44
BEGIN_DATA_FORMAT
SAMPLE_ID SAMPLE_LOC RGB_R RGB_G RGB_B XYZ_X XYZ_Y XYZ_Z SPEC_380 SPEC_390 SPEC_400 SPEC_410 SPEC_420 SPEC_430 SPEC_440 SPEC_450 SPEC_460 SPEC_470 SPEC_480 SPEC_490 SPEC_500 SPEC_510 SPEC_520 SPEC_530 SPEC_540 SPEC_550 SPEC_560 SPEC_570 SPEC_580 SPEC_590 SPEC_600 SPEC_610 SPEC_620 SPEC_630 SPEC_640 SPEC_650 SPEC_660 SPEC_670 SPEC_680 SPEC_690 SPEC_700 SPEC_710 SPEC_720 SPEC_730
END_DATA_FORMAT
NUMBER_OF_SETS 1
BEGIN_DATA
1 "A1" 0.00000 0.00000 0.00000 72.91935 75.78345 63.31897 13.82440 24.51009 42.92666 62.90718 72.58204 75.32479 76.39339 77.09808 77.86022 78.27855 78.29813 78.18973 77.92235 77.55539 77.17655 76.51846 75.86392 75.31128 74.78584 74.74929 74.42571 74.42530 74.71852 75.24019 75.85005 76.50475 77.39677 78.18509 78.85255 79.27352 79.46704 79.51374 79.58382 79.51583 78.79055 77.62491
END_DATA

 1. If we convert to CIE D50 (1931_2) using spec2cie -n I get LAB 89.76 -0.31 
-0.78. So far so good (other applications
    deliver a deviation of approx. dE76 0.02, fully acceptable). Bruce 
Lindbloom’s SpectralCalculator10nm spreadsheet
    returns LAB 89.76 -0.34 -0.76, again within the expected tolerance.
 2. If we convert to CIE using D65 illuminant (1931_2) using spec2cie -i D65 -n 
I get LAB 89.78 -2.66 -18.31. Heavy
    blue. Other applications return LAB 89.78 -0.48 -0.57 (example ColorLogic 
ColorAnt or Babelcolor PatchTool ). Bruce
    Lindbloom’s SpectralCalculator10nm spreadsheet returns LAB 89.78 -0.5 
-0.56. That looks all much more realistic to
me considering the fact that under D65 viewing light the white doesn’t change that much.

I get that some understandings (that includes the logic of certain other profiling engines!) come from the fact that the PCS of ICC is based on D50. So that even a non-D50 illuminant is reverted back to default ICC D50? I don’t know. And others obviously use a different approach which I personally find more practicable and visibly correct in spectral to LAB conversion, I was wondering if Graeme or anyone could kindly shed some light into this matter?

Thanks,
Joe Tschudi


Am 21.11.2017 um 09:42 schrieb Alexey Gribunin <Gribunin@xxxxxxx 
<mailto:Gribunin@xxxxxxx>>:

Hello Graeme!

First of all, many thanks to you for this great tool!

I tried to use conversion form GMDI to XRGA with the following string:
spec2cie.exe -v -A GA GMDI.ti3 XRGA.ti3
And I found that spectral values stays absolutely the same, they are simply 
copied from input to output.
At the same time XYZ and Lab values looks really converted (average dE=0.6, Max 
dE=2).

Is it right behavior? It looks strange because in output ti3 XYZ (and Lab) values misaligned with the spectrals in the same file.

Best regards,
Alexey Gribunin, UNIT Color Technologies, Moscow, Russia.

On 18/11/2017 07:03, Graeme Gill wrote:
> I'm pleased to announce the release of ArgyllCMS V2.0.0.
>
> This is a bug fix and minor feature release.
> See <http://www.argyllcms.com/doc/ChangesSummary.html>
>
> Source and binaries are available here:
> <http://www.argyllcms.com/#Downloads>
>
> Enjoy!
>     Graeme Gill.




--
lakeBits Inh. Edgar Loser
Haydnstr. 25
78464 Konstanz
Tel 0049 7531 5844154 0
Fax 0049 7531 5844154 9
https://www.colymp.com/
mailto:loser@xxxxxxxxxx

Other related posts: