Apple P3 D50 Viewing Color Space in Baselight

Hello friends,

I am a student colorist, and in my past I have done a lot of image editing in Photoshop, mainly for printing purposes. My entire setup is centered around D50. Bias Light, Check Booth, Studio Lighting, Monitor Calibration…

I have been testing Baselight Look and, oh man, this thing is powerful. I am looking for a workflow that can be hybrid for D50 prints or D65 videos.

I found the colourspaces files, duplicated Apple_Display_P3D65.flspace and edited with the D50 white point coordinates. The XYZ coordinates were the most challenging, as they were floating point. I used MatLab to find them, and I was able to bring this D50 setup into Baselight.

The result was not quite what I expected, and I don't know if the error is in my expectations or in the adjustment I made. I expected the same scene to look identical on a calibrated D65 monitor using D65 flspace as the scene on a D50 monitor using D50 flspace, but it doesn't. In the D50 still warmer, and the exposure drops by about 0.5 stop. No changes in scopes.

Can anyone with experience please give me some insight into what's going on?

Thanks to all on this excellent forum, I'm learning a lot.
 
Last edited:
in D65:
DisplayName = "Apple: 2.2 Gamma / P3 D65";
BlackPoint = 0;
WhitePoint = 1023;

Help =
"Primaries: P3: 0.680,0.320, 0.265,0.690, 0.150,0.060\n"
"Tone curve: sRGB Display, pure 2.2 power-law\n"
"White: D65 100 nits\n"
"From ICC Profile: Display P3\n"
"Full range";

SteepBlacks = 1;

to_lin = upto("@@");
vec4 convertToLinear(vec4 val)
{
vec3 P = (sign(val.rgb)*pow(abs(val.rgb), vec3(2.2)));
return vec4(P.rgb, val.a);
}
@@

from_lin = upto("@@");
vec4 convertFromLinear(vec4 val, int clip)
{
vec3 P = sign(val.rgb)*pow(abs(val.rgb), vec3(1.0/2.2));
return vec4(P.rgb, val.a);
}
@@

// tl-utils TcsMatrix 0.68,0.32,0.265,0.69,0.15,0.06 0.3127,0.329
// Matrix calculated from CIE x,y values...
// RGB: 0.68,0.32,0.265,0.69,0.15,0.06
// White = x,y: 0.3127,0.329

RGB_XYZ = [array
0.486570948648216, 0.2289745640697487, -3.9720755169334855e-17,
0.2656676931690931, 0.6917385218365064, 0.04511338185890264,
0.1982172852343625, 0.079286914093745, 1.0439443689009757];

White_XYZ = [array 95.04559270516715,100.0,108.90577507598785];

type = "display";
range = "full";
ViewingCondition="Office-100";
DefaultHiddenUses = [set "GradeResult","Working",];
ColourMetadata = [struct Primaries= "DCI-P3-D65" , TransferFunction="sRGB"];
 
in D50:
DisplayName = "Apple: 2.2 Gamma / P3 D50";
BlackPoint = 0;
WhitePoint = 1023;

Help =
"Primaries: P3: 0.680,0.320, 0.265,0.690, 0.150,0.060\n"
"Tone curve: sRGB Display, pure 2.2 power-law\n"
"White: D50 100 nits\n"
"From ICC Profile: Display P3\n"
"Full range";

SteepBlacks = 1;

to_lin = upto("@@");
vec4 convertToLinear(vec4 val)
{
vec3 P = (sign(val.rgb)*pow(abs(val.rgb), vec3(2.2)));
return vec4(P.rgb, val.a);
}
@@

from_lin = upto("@@");
vec4 convertFromLinear(vec4 val, int clip)
{
vec3 P = sign(val.rgb)*pow(abs(val.rgb), vec3(1.0/2.2));
return vec4(P.rgb, val.a);
}
@@

// tl-utils TcsMatrix 0.68,0.32,0.265,0.69,0.15,0.06 0.3457,0.3585
// Matrix calculated from CIE x,y values...
// RGB: 0.68,0.32,0.265,0.69,0.15,0.06
// White = x,y: 0.3457,0.3585

RGB_XYZ = [array
0.486570948648216, 0.2289745640697487, -3.9720755169334855e-17,
0.2656676931690931, 0.6917385218365064, 0.04511338185890264,
0.1982172852343625, 0.079286914093745, 1.0439443689009757];

White_XYZ = [array 96.419865576090000,100.0,82.5116483221040];

type = "display";
range = "full";
ViewingCondition="Office-100";
DefaultHiddenUses = [set "GradeResult","Working",];
ColourMetadata = [struct Primaries= "DCI-P3-D50" , TransferFunction="sRGB"];
 
If you want a D50 visual white point you also need to set the mastering colour space to your new colour space.
That is in Scene Settings -> Colour and Formats -> Advanced.
 
You are using the same XYZ matrix in both spaces, which is probably incorrect. You have to calculate a new matrix.
I adjusted the white point in the tl-utils command. This CLI tool generates the matrices for .flspace files and is a part of Baselight. D50 is available as a preset for the white points. Use 'tl-utils TcsMatrix' to see available options.

Code:
tl-utils TcsMatrix P3 D50

// Matrix calculated from CIE x,y values...
// RGB = P3: 0.680,0.320, 0.265,0.690, 0.150,0.060
// White =    D50: 0.345659,0.358496

RGB_XYZ = [array
           0.5549310445785522, 0.2611440122127533, 0.0000000000000000,
           0.2609849274158478, 0.6795457005500793, 0.0443182140588760,
           0.1482761651277542, 0.0593104623258114, 0.7809211611747742];

I don't have experience with a D50 environment and can't verify the matrix.
 
If you want a D50 visual white point you also need to set the mastering colour space to your new colour space.
That is in Scene Settings -> Colour and Formats -> Advanced.
Hi Dani. Sure, this adjustment worked (with Andy's .flspace). In one of your videos, about creative and technical white points, you mentioned that "if you don't understand what's happening, a good idea would be to leave it on automatic". That was my mistake. I understand that what I'm trying to do is the exceptions, not the trivial. Thanks.
 
You are using the same XYZ matrix in both spaces, which is probably incorrect. You have to calculate a new matrix.
I adjusted the white point in the tl-utils command. This CLI tool generates the matrices for .flspace files and is a part of Baselight. D50 is available as a preset for the white points. Use 'tl-utils TcsMatrix' to see available options.

Code:
tl-utils TcsMatrix P3 D50

// Matrix calculated from CIE x,y values...
// RGB = P3: 0.680,0.320, 0.265,0.690, 0.150,0.060
// White =    D50: 0.345659,0.358496

RGB_XYZ = [array
           0.5549310445785522, 0.2611440122127533, 0.0000000000000000,
           0.2609849274158478, 0.6795457005500793, 0.0443182140588760,
           0.1482761651277542, 0.0593104623258114, 0.7809211611747742];

I don't have experience with a D50 environment and can't verify the matrix.
That's it Andy!! It worked perfectly. I saw in some video the possibilities of tl-utils and I planned to return to them in the future. Unfortunately I couldn't find this utility to try to recreate these results myself. Where are they hiding? One suggestion would be a video exploring the capabilities of these utilities by lines of code. Thanks a lot
 
Hi Felipe, glad it was helpful.
The tl-utils tool is located here on a Mac:
/Applications/Baselight/Current/Utilities/Tools
The user base of tl-utils is pretty small, and normal colourists won't need it. Therefore, a video tutorial is not high on my list.
If you have specific questions, feel free to reach out and ask.
 
I'm sure I looked in this folder. Maybe it's a tool that doesn't come with the LOOK version. When I activate a trial license I'll make sure to have a copy with me. Thanks

Untitled-1.jpg
 
Back
Top