Question
Using D65 illuminant and a 2° observer, what are the values of sRGB red, green, blue, cyan, magenta, and yellow in CIE L*ab color space?
Here are the coordinates of my white point:
95.047, 100, 108.883
Problem
I tried a dozen different tools (both free and paid, like Photoshop), and noticed not a single one can agree on what red (and the other colors) is in CIE Lab, even when using the same illuminant, observer, and white point.
What I tried
I made a benchmark using different tools. Here is a sample using the following online tools:
┌───┬─────────────┬────────────────────────┬───────────────────────┬─────────────────────┐
│ │ Rgb │ Lab (aspose.app) │ Lab (colorizer.org) │ Lab (nixsensor.com) │
├───┼─────────────┼────────────────────────┼───────────────────────┼─────────────────────┤
│ R │ 255, 0, 0 │ 54.291, 64.644, 55.913 │ 53.23, 80.11, 67.22 │ 53.24 80.09 67.20 │
│ G │ 0, 255, 0 │ 87.819, -63.417, 64.79 │ 87.74, -86.18, 83.18 │ 87.73 -86.18 83.18 │
│ B │ 0, 0, 255 │ 29.568, 54.63, -89.624 │ 32.3, 79.2, -107.86 │ 32.30 79.19 -107.86 │
│ C │ 0, 255, 255 │ 90.666, -40.526, -11.9 │ 91.12, -48.08, -14.14 │ 91.11 -48.09 -14.13 │
│ M │ 255, 0, 255 │ 60.169, 74.832, -48.40 │ 60.32, 98.25, -60.84 │ 60.32 98.23 -60.82 │
│ Y │ 255, 255, 0 │ 97.607, -12.6, 74.715 │ 97.14, -21.56, 94.48 │ 97.14 -21.55 94.48 │
└───┴─────────────┴────────────────────────┴───────────────────────┴─────────────────────┘
These results seem somewhat similar in the L channel, but the a and b values are inconsistent from one tool to the other.
Looking at the source from cielab.io, I can see they use the exact same illuminant, observer, and white point as I do.
const STD_ILL_D65: XYZ = { x: 0.950489, y: 1, z: 1.08884 };
So what is going on here? Why can't I find anywhere a standard definition of red, green, blue, etc in CIE Lab using D65 illuminant and 2° observer?
Your question has unfortunately an infinite amount of answers because they are an infinite amount of RGB spaces (thus the infinite quantity of primaries and secondaries).
You need to specify which RGB space your values are encoded with, ideally which gamut, whitepoint and colour component transfer function, Then, with that, you can obtain a single answer.