Antkeeper  0.0.1
Classes
color Namespace Reference

Color science. More...

Classes

struct  rgb_color_space
 RGB color space. More...
 

Functions

Correlated color temperature (CCT)
template<class T >
math::vec2< T > cct_to_ucs (T t) noexcept
 Calculates CIE 1960 UCS colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm. More...
 
template<class T >
math::vec3< T > cct_to_xyy (T t)
 Calculates CIE xyY colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm. More...
 
template<class T >
math::vec3< T > cct_to_xyz (T t)
 Calculates CIE XYZ colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm. More...
 
Color indices.
template<class T >
bv_to_cct (T bv) noexcept
 Approximates the temperature of a star, given its B-V index. More...
 
RGB color spaces
template<class T >
constexpr math::mat3< T > rgb_to_xyz (const math::vec2< T > &r, const math::vec2< T > &g, const math::vec2< T > &b, const math::vec2< T > &w)
 Constructs a matrix which transforms an RGB color into a CIE XYZ color. More...
 
template<class T >
constexpr math::mat3< T > rgb_to_rgb (const rgb_color_space< T > &s0, const rgb_color_space< T > &s1, const math::mat3< T > &cone_response=bradford_cone_response< T >)
 Constructs a matrix which transforms a color from one RGB color space to another RGB color space. More...
 
sRGB color space
template<class T >
math::vec3< T > srgb_oetf (const math::vec3< T > &x)
 sRGB opto-electronic transfer function (OETF). More...
 
template<class T >
math::vec3< T > srgb_eotf (const math::vec3< T > &x)
 sRGB electro-optical transfer function (EOTF). More...
 
template<class T >
constexpr rgb_color_space< T > srgb ({T{0.64}, T{0.33}}, {T{0.30}, T{0.60}}, {T{0.15}, T{0.06}}, deg2_d65< T >, &srgb_eotf< T >, &srgb_oetf< T >)
 sRGB color space. More...
 
CIE 1960 UCS color space
template<class T >
constexpr math::vec3< T > ucs_to_xyy (const math::vec2< T > &uv, T y=T{1}) noexcept
 Transforms CIE 1960 UCS chromaticity coordinates into the CIE xyY colorspace. More...
 
CIE xyY color space.
template<class T >
constexpr T xyy_to_luminance (const math::vec3< T > &x) noexcept
 Returns the luminance of a CIE xyY color. More...
 
template<class T >
constexpr math::vec2< T > xyy_to_ucs (const math::vec3< T > &x) noexcept
 Transforms a CIE xyY color into the CIE 1960 UCS colorspace. More...
 
template<class T >
constexpr math::vec3< T > xyy_to_xyz (const math::vec3< T > &x) noexcept
 Transforms a CIE xyY color into the CIE XYZ colorspace. More...
 
CIE XYZ color space
template<class T >
constexpr T xyz_to_luminance (const math::vec3< T > &x) noexcept
 Returns the luminance of a CIE XYZ color. More...
 
template<class T >
constexpr math::vec3< T > xyz_to_xyy (const math::vec3< T > &x) noexcept
 Transforms a CIE XYZ color into the CIE xyY color space. More...
 
template<class T >
xyz_match_x (T lambda)
 CIE 1931 standard observer color matching function for the X tristimulus value. More...
 
template<class T >
xyz_match_y (T lambda)
 CIE 1931 standard observer color matching function for the Y tristimulus value. More...
 
template<class T >
xyz_match_z (T lambda)
 CIE 1931 standard observer color matching function for the Z tristimulus value. More...
 
template<class T >
math::vec3< T > xyz_match (T lambda)
 Fitted piecewise gaussian approximation to the CIE 1931 standard observer color matching function. More...
 

Variables

CIE 1931 2 Degree Standard Observer illuminants
template<class T >
constexpr math::vec2< T > deg2_a = {T{0.44757}, T{0.40745}}
 
template<class T >
constexpr math::vec2< T > deg2_b = {T{0.34842}, T{0.35161}}
 
template<class T >
constexpr math::vec2< T > deg2_c = {T{0.31006}, T{0.31616}}
 
template<class T >
constexpr math::vec2< T > deg2_d50 = {T{0.34567}, T{0.35850}}
 
template<class T >
constexpr math::vec2< T > deg2_d55 = {T{0.33242}, T{0.34743}}
 
template<class T >
constexpr math::vec2< T > deg2_d65 = {T{0.31271}, T{0.32902}}
 
template<class T >
constexpr math::vec2< T > deg2_d75 = {T{0.29902}, T{0.31485}}
 
template<class T >
constexpr math::vec2< T > deg2_d93 = {T{0.28315}, T{0.29711}}
 
template<class T >
constexpr math::vec2< T > deg2_e = {T{0.33333}, T{0.33333}}
 
template<class T >
constexpr math::vec2< T > deg2_f1 = {T{0.31310}, T{0.33727}}
 
template<class T >
constexpr math::vec2< T > deg2_f2 = {T{0.37208}, T{0.37529}}
 
template<class T >
constexpr math::vec2< T > deg2_f3 = {T{0.40910}, T{0.39430}}
 
template<class T >
constexpr math::vec2< T > deg2_f4 = {T{0.44018}, T{0.40329}}
 
template<class T >
constexpr math::vec2< T > deg2_f5 = {T{0.31379}, T{0.34531}}
 
template<class T >
constexpr math::vec2< T > deg2_f6 = {T{0.37790}, T{0.38835}}
 
template<class T >
constexpr math::vec2< T > deg2_f7 = {T{0.31292}, T{0.32933}}
 
template<class T >
constexpr math::vec2< T > deg2_f8 = {T{0.34588}, T{0.35875}}
 
template<class T >
constexpr math::vec2< T > deg2_f9 = {T{0.37417}, T{0.37281}}
 
template<class T >
constexpr math::vec2< T > deg2_f10 = {T{0.34609}, T{0.35986}}
 
template<class T >
constexpr math::vec2< T > deg2_f11 = {T{0.38052}, T{0.37713}}
 
template<class T >
constexpr math::vec2< T > deg2_f12 = {T{0.43695}, T{0.40441}}
 
template<class T >
constexpr math::vec2< T > deg2_led_b1 = {T{0.4560}, T{0.4078}}
 
template<class T >
constexpr math::vec2< T > deg2_led_b2 = {T{0.4357}, T{0.4012}}
 
template<class T >
constexpr math::vec2< T > deg2_led_b3 = {T{0.3756}, T{0.3723}}
 
template<class T >
constexpr math::vec2< T > deg2_led_b4 = {T{0.3422}, T{0.3502}}
 
template<class T >
constexpr math::vec2< T > deg2_led_b5 = {T{0.3118}, T{0.3236}}
 
template<class T >
constexpr math::vec2< T > deg2_led_bh1 = {T{0.4474}, T{0.4066}}
 
template<class T >
constexpr math::vec2< T > deg2_led_rgb1 = {T{0.4557}, T{0.4211}}
 
template<class T >
constexpr math::vec2< T > deg2_led_v1 = {T{0.4560}, T{0.4548}}
 
template<class T >
constexpr math::vec2< T > deg2_led_v2 = {T{0.3781}, T{0.3775}}
 
CIE 1964 10 Degree Standard Observer illuminants
template<class T >
constexpr math::vec2< T > deg10_a = {T{0.45117}, T{0.40594}}
 
template<class T >
constexpr math::vec2< T > deg10_b = {T{0.34980}, T{0.35270}}
 
template<class T >
constexpr math::vec2< T > deg10_c = {T{0.31039}, T{0.31905}}
 
template<class T >
constexpr math::vec2< T > deg10_d50 = {T{0.34773}, T{0.35952}}
 
template<class T >
constexpr math::vec2< T > deg10_d55 = {T{0.33411}, T{0.34877}}
 
template<class T >
constexpr math::vec2< T > deg10_d65 = {T{0.31382}, T{0.33100}}
 
template<class T >
constexpr math::vec2< T > deg10_d75 = {T{0.29968}, T{0.31740}}
 
template<class T >
constexpr math::vec2< T > deg10_d93 = {T{0.28327}, T{0.30043}}
 
template<class T >
constexpr math::vec2< T > deg10_e = {T{0.33333}, T{0.33333}}
 
template<class T >
constexpr math::vec2< T > deg10_f1 = {T{0.31811}, T{0.33559}}
 
template<class T >
constexpr math::vec2< T > deg10_f2 = {T{0.37925}, T{0.36733}}
 
template<class T >
constexpr math::vec2< T > deg10_f3 = {T{0.41761}, T{0.38324}}
 
template<class T >
constexpr math::vec2< T > deg10_f4 = {T{0.44920}, T{0.39074}}
 
template<class T >
constexpr math::vec2< T > deg10_f5 = {T{0.31975}, T{0.34246}}
 
template<class T >
constexpr math::vec2< T > deg10_f6 = {T{0.38660}, T{0.37847}}
 
template<class T >
constexpr math::vec2< T > deg10_f7 = {T{0.31569}, T{0.32960}}
 
template<class T >
constexpr math::vec2< T > deg10_f8 = {T{0.34902}, T{0.35939}}
 
template<class T >
constexpr math::vec2< T > deg10_f9 = {T{0.37829}, T{0.37045}}
 
template<class T >
constexpr math::vec2< T > deg10_f10 = {T{0.35090}, T{0.35444}}
 
template<class T >
constexpr math::vec2< T > deg10_f11 = {T{0.38541}, T{0.37123}}
 
template<class T >
constexpr math::vec2< T > deg10_f12 = {T{0.44256}, T{0.39717}}
 

ACES color spaces

template<class T >
constexpr math::vec2< T > aces_white_point = {T{0.32168}, T{0.33767}}
 CIE xy chromaticity coordinates of the ACES white point (~D60). More...
 
template<class T >
constexpr math::mat3< T > aces_ap1_rrt_sat = aces_adjust_saturation(T{0.96}, aces_ap1<T>.to_y)
 ACES AP1 RRT saturation adjustment matrix. More...
 
template<class T >
constexpr math::mat3< T > aces_ap1_odt_sat = aces_adjust_saturation(T{0.93}, aces_ap1<T>.to_y)
 ACES AP1 ODT saturation adjustment matrix. More...
 
template<class T >
constexpr rgb_color_space< T > aces_ap0 ({T{0.7347}, T{ 0.2653}}, {T{0.0000}, T{ 1.0000}}, {T{0.0001}, T{-0.0770}}, aces_white_point< T >, nullptr, nullptr)
 ACES AP0 color space. More...
 
template<class T >
constexpr rgb_color_space< T > aces_ap1 ({T{0.713}, T{0.293}}, {T{0.165}, T{0.830}}, {T{0.128}, T{0.044}}, aces_white_point< T >, nullptr, nullptr)
 ACES AP1 color space. More...
 
template<class T >
constexpr math::mat3< T > aces_adjust_saturation (T s, const math::vec3< T > &to_y) noexcept
 Constructs a saturation adjustment matrix. More...
 

Chromatic adaption transforms (CAT)

template<class T >
constexpr math::mat3< T > bradford_cone_response
 Bradford cone response matrix. More...
 
template<class T >
constexpr math::mat3< T > von_kries_cone_response
 von Kries cone response matrix. More...
 
template<class T >
constexpr math::mat3< T > xyz_scaling_cone_response = math::mat3<T>::identity()
 XYZ scaling cone response matrix. More...
 
template<class T >
constexpr math::mat3< T > cat_matrix (const math::vec2< T > &w0, const math::vec2< T > &w1, const math::mat3< T > &cone_response=bradford_cone_response< T >) noexcept
 Constructs a chromatic adaptation transform (CAT) matrix. More...
 

Detailed Description

Color science.

Function Documentation

◆ aces_adjust_saturation()

template<class T >
constexpr math::mat3<T> color::aces_adjust_saturation ( s,
const math::vec3< T > &  to_y 
)
constexprnoexcept

Constructs a saturation adjustment matrix.

Parameters
sSaturation adjustment factor.
to_yColor space to CIE XYZ luminance vector.
Returns
Saturation adjustment matrix.

Definition at line 69 of file aces.hpp.

◆ aces_ap0()

template<class T >
constexpr rgb_color_space<T> color::aces_ap0 ( {T{0.7347}, T{ 0.2653}}  ,
{T{0.0000}, T{ 1.0000}}  ,
{T{0.0001}, T{-0.0770}}  ,
aces_white_point< T >  ,
nullptr  ,
nullptr   
)
constexpr

ACES AP0 color space.

◆ aces_ap1()

template<class T >
constexpr rgb_color_space<T> color::aces_ap1 ( {T{0.713}, T{0.293}}  ,
{T{0.165}, T{0.830}}  ,
{T{0.128}, T{0.044}}  ,
aces_white_point< T >  ,
nullptr  ,
nullptr   
)
constexpr

ACES AP1 color space.

◆ bv_to_cct()

template<class T >
T color::bv_to_cct ( bv)
noexcept

Approximates the temperature of a star, given its B-V index.

Parameters
bvB-V index.
Returns
Correlated color temperature, in Kelvin.
See also
Ballesteros, F. J. (2012). "New insights into black bodies". EPL 97 (2012) 34008.

Definition at line 37 of file index.hpp.

◆ cat_matrix()

template<class T >
constexpr math::mat3<T> color::cat_matrix ( const math::vec2< T > &  w0,
const math::vec2< T > &  w1,
const math::mat3< T > &  cone_response = bradford_cone_response<T> 
)
constexprnoexcept

Constructs a chromatic adaptation transform (CAT) matrix.

Parameters
w0CIE xy chromaticity coordinates of the source illuminant.
w1CIE xy chromaticity coordinates of the destination illuminant.
cone_responseCone response matrix.
Returns
CAT matrix.
See also
Specification ICC.1:2010 (Profile version 4.3.0.0). Image technology colour management — Architecture, profile format, and data structure, Annex E.3, pp. 102.
http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html

Definition at line 79 of file cat.hpp.

◆ cct_to_ucs()

template<class T >
math::vec2<T> color::cct_to_ucs ( t)
noexcept

Calculates CIE 1960 UCS colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm.

Parameters
tCorrelated color temperature, in Kelvin.
Returns
CIE 1960 UCS colorspace chromaticity coordinates.
See also
Krystek, M. (1985), An algorithm to calculate correlated colour temperature. Color Res. Appl., 10: 38-40.

Definition at line 41 of file cct.hpp.

◆ cct_to_xyy()

template<class T >
math::vec3<T> color::cct_to_xyy ( t)

Calculates CIE xyY colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm.

Parameters
tCorrelated color temperature, in Kelvin.
Returns
CIE xyY color with Y = 1.

Definition at line 58 of file cct.hpp.

◆ cct_to_xyz()

template<class T >
math::vec3<T> color::cct_to_xyz ( t)

Calculates CIE XYZ colorspace chromaticity coordinates given a correlated color temperature using Krystek's algorithm.

Parameters
tCorrelated color temperature, in Kelvin.
Returns
CIE XYZ color with Y = 1.

Definition at line 70 of file cct.hpp.

◆ rgb_to_rgb()

template<class T >
constexpr math::mat3<T> color::rgb_to_rgb ( const rgb_color_space< T > &  s0,
const rgb_color_space< T > &  s1,
const math::mat3< T > &  cone_response = bradford_cone_response<T> 
)
constexpr

Constructs a matrix which transforms a color from one RGB color space to another RGB color space.

Parameters
s0Source color space.
s1Destination color space.
cone_responseChromatic adaptation transform cone response matrix.
Returns
Color space transformation matrix.

Definition at line 143 of file rgb.hpp.

◆ rgb_to_xyz()

template<class T >
constexpr math::mat3<T> color::rgb_to_xyz ( const math::vec2< T > &  r,
const math::vec2< T > &  g,
const math::vec2< T > &  b,
const math::vec2< T > &  w 
)
constexpr

Constructs a matrix which transforms an RGB color into a CIE XYZ color.

Parameters
rCIE xy chromaticity coordinates of the red primary.
gCIE xy chromaticity coordinates of the green primary.
bCIE xy chromaticity coordinates of the blue primary.
wCIE xy chromaticity coordinates of the white point.
Returns
Matrix which transforms an RGB color into a CIE XYZ color.
See also
https://www.ryanjuckett.com/rgb-color-space-conversion/
https://mina86.com/2019/srgb-xyz-matrix/

Definition at line 46 of file rgb.hpp.

◆ srgb()

template<class T >
constexpr rgb_color_space<T> color::srgb ( {T{0.64}, T{0.33}}  ,
{T{0.30}, T{0.60}}  ,
{T{0.15}, T{0.06}}  ,
deg2_d65< T >  ,
&srgb_eotf< T >  ,
&srgb_oetf< T >   
)
constexpr

sRGB color space.

◆ srgb_eotf()

template<class T >
math::vec3<T> color::srgb_eotf ( const math::vec3< T > &  x)

sRGB electro-optical transfer function (EOTF).

Maps a non-linear sRGB signal to a linear sRGB color.

Parameters
xNon-linear sRGB signal.
Returns
Linear sRGB color.
See also
IEC 61966-2-1:1999

Definition at line 63 of file srgb.hpp.

◆ srgb_oetf()

template<class T >
math::vec3<T> color::srgb_oetf ( const math::vec3< T > &  x)

sRGB opto-electronic transfer function (OETF).

Maps a linear sRGB color to a non-linear sRGB signal.

Parameters
xLinear sRGB color.
Returns
Non-linear sRGB signal.
See also
IEC 61966-2-1:1999

Definition at line 43 of file srgb.hpp.

◆ ucs_to_xyy()

template<class T >
constexpr math::vec3<T> color::ucs_to_xyy ( const math::vec2< T > &  uv,
y = T{1} 
)
constexprnoexcept

Transforms CIE 1960 UCS chromaticity coordinates into the CIE xyY colorspace.

Parameters
uvCIE 1960 UCS chromaticity coordinates.
yLuminance or Y value of the resulting xyY color.
Returns
CIE xyY color.

Definition at line 38 of file ucs.hpp.

◆ xyy_to_luminance()

template<class T >
constexpr T color::xyy_to_luminance ( const math::vec3< T > &  x)
inlineconstexprnoexcept

Returns the luminance of a CIE xyY color.

Parameters
xCIE xyY color.
Returns
return Luminance of x.

Definition at line 38 of file xyy.hpp.

◆ xyy_to_ucs()

template<class T >
constexpr math::vec2<T> color::xyy_to_ucs ( const math::vec3< T > &  x)
constexprnoexcept

Transforms a CIE xyY color into the CIE 1960 UCS colorspace.

Parameters
xCIE xyY color.
Returns
CIE 1960 UCS color.

Definition at line 51 of file xyy.hpp.

◆ xyy_to_xyz()

template<class T >
constexpr math::vec3<T> color::xyy_to_xyz ( const math::vec3< T > &  x)
constexprnoexcept

Transforms a CIE xyY color into the CIE XYZ colorspace.

Parameters
xCIE xyY color.
Returns
CIE XYZ color.

Definition at line 65 of file xyy.hpp.

◆ xyz_match()

template<class T >
math::vec3<T> color::xyz_match ( lambda)

Fitted piecewise gaussian approximation to the CIE 1931 standard observer color matching function.

Parameters
lambdaWavelength of light, in nanometers.
Returns
Matching CIE XYZ color.
See also
match_x(T)
match_y(T)
match_z(T)
Wyman, C., Sloan, P.J., & Shirley, P. (2013). Simple Analytic Approximations to the CIE XYZ Color Matching Functions.

Definition at line 130 of file xyz.hpp.

◆ xyz_match_x()

template<class T >
T color::xyz_match_x ( lambda)

CIE 1931 standard observer color matching function for the X tristimulus value.

Parameters
lambdaWavelength of light, in nanometers.
Returns
Matching X tristimulus value.
See also
match(T)

Definition at line 64 of file xyz.hpp.

◆ xyz_match_y()

template<class T >
T color::xyz_match_y ( lambda)

CIE 1931 standard observer color matching function for the Y tristimulus value.

Parameters
lambdaWavelength of light, in nanometers.
Returns
Matching Y tristimulus value.
See also
match(T)

Definition at line 86 of file xyz.hpp.

◆ xyz_match_z()

template<class T >
T color::xyz_match_z ( lambda)

CIE 1931 standard observer color matching function for the Z tristimulus value.

Parameters
lambdaWavelength of light, in nanometers.
Returns
Matching Z tristimulus value.
See also
match(T)

Definition at line 106 of file xyz.hpp.

◆ xyz_to_luminance()

template<class T >
constexpr T color::xyz_to_luminance ( const math::vec3< T > &  x)
inlineconstexprnoexcept

Returns the luminance of a CIE XYZ color.

Parameters
xCIE XYZ color.
Returns
return Luminance of x.

Definition at line 37 of file xyz.hpp.

◆ xyz_to_xyy()

template<class T >
constexpr math::vec3<T> color::xyz_to_xyy ( const math::vec3< T > &  x)
constexprnoexcept

Transforms a CIE XYZ color into the CIE xyY color space.

Parameters
xCIE XYZ color.
Returns
CIE xyY color.

Definition at line 49 of file xyz.hpp.

Variable Documentation

◆ aces_ap1_odt_sat

template<class T >
constexpr math::mat3<T> color::aces_ap1_odt_sat = aces_adjust_saturation(T{0.93}, aces_ap1<T>.to_y)
constexpr

ACES AP1 ODT saturation adjustment matrix.

Definition at line 86 of file aces.hpp.

◆ aces_ap1_rrt_sat

template<class T >
constexpr math::mat3<T> color::aces_ap1_rrt_sat = aces_adjust_saturation(T{0.96}, aces_ap1<T>.to_y)
constexpr

ACES AP1 RRT saturation adjustment matrix.

Definition at line 82 of file aces.hpp.

◆ aces_white_point

template<class T >
constexpr math::vec2<T> color::aces_white_point = {T{0.32168}, T{0.33767}}
constexpr

CIE xy chromaticity coordinates of the ACES white point (~D60).

Definition at line 34 of file aces.hpp.

◆ bradford_cone_response

template<class T >
constexpr math::mat3<T> color::bradford_cone_response
constexpr
Initial value:
=
{
T{ 0.8951}, T{-0.7502}, T{ 0.0389},
T{ 0.2664}, T{ 1.7135}, T{-0.0685},
T{-0.1614}, T{ 0.0367}, T{ 1.0296}
}

Bradford cone response matrix.

See also
Specification ICC.1:2010 (Profile version 4.3.0.0). Image technology colour management — Architecture, profile format, and data structure, Annex E.3, pp. 102.
http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html

Definition at line 38 of file cat.hpp.

◆ deg10_a

template<class T >
constexpr math::vec2<T> color::deg10_a = {T{0.45117}, T{0.40594}}
inlineconstexpr

Definition at line 100 of file illuminants.hpp.

◆ deg10_b

template<class T >
constexpr math::vec2<T> color::deg10_b = {T{0.34980}, T{0.35270}}
inlineconstexpr

Definition at line 102 of file illuminants.hpp.

◆ deg10_c

template<class T >
constexpr math::vec2<T> color::deg10_c = {T{0.31039}, T{0.31905}}
inlineconstexpr

Definition at line 104 of file illuminants.hpp.

◆ deg10_d50

template<class T >
constexpr math::vec2<T> color::deg10_d50 = {T{0.34773}, T{0.35952}}
inlineconstexpr

Definition at line 106 of file illuminants.hpp.

◆ deg10_d55

template<class T >
constexpr math::vec2<T> color::deg10_d55 = {T{0.33411}, T{0.34877}}
inlineconstexpr

Definition at line 108 of file illuminants.hpp.

◆ deg10_d65

template<class T >
constexpr math::vec2<T> color::deg10_d65 = {T{0.31382}, T{0.33100}}
inlineconstexpr

Definition at line 110 of file illuminants.hpp.

◆ deg10_d75

template<class T >
constexpr math::vec2<T> color::deg10_d75 = {T{0.29968}, T{0.31740}}
inlineconstexpr

Definition at line 112 of file illuminants.hpp.

◆ deg10_d93

template<class T >
constexpr math::vec2<T> color::deg10_d93 = {T{0.28327}, T{0.30043}}
inlineconstexpr

Definition at line 114 of file illuminants.hpp.

◆ deg10_e

template<class T >
constexpr math::vec2<T> color::deg10_e = {T{0.33333}, T{0.33333}}
inlineconstexpr

Definition at line 116 of file illuminants.hpp.

◆ deg10_f1

template<class T >
constexpr math::vec2<T> color::deg10_f1 = {T{0.31811}, T{0.33559}}
inlineconstexpr

Definition at line 118 of file illuminants.hpp.

◆ deg10_f10

template<class T >
constexpr math::vec2<T> color::deg10_f10 = {T{0.35090}, T{0.35444}}
inlineconstexpr

Definition at line 136 of file illuminants.hpp.

◆ deg10_f11

template<class T >
constexpr math::vec2<T> color::deg10_f11 = {T{0.38541}, T{0.37123}}
inlineconstexpr

Definition at line 138 of file illuminants.hpp.

◆ deg10_f12

template<class T >
constexpr math::vec2<T> color::deg10_f12 = {T{0.44256}, T{0.39717}}
inlineconstexpr

Definition at line 140 of file illuminants.hpp.

◆ deg10_f2

template<class T >
constexpr math::vec2<T> color::deg10_f2 = {T{0.37925}, T{0.36733}}
inlineconstexpr

Definition at line 120 of file illuminants.hpp.

◆ deg10_f3

template<class T >
constexpr math::vec2<T> color::deg10_f3 = {T{0.41761}, T{0.38324}}
inlineconstexpr

Definition at line 122 of file illuminants.hpp.

◆ deg10_f4

template<class T >
constexpr math::vec2<T> color::deg10_f4 = {T{0.44920}, T{0.39074}}
inlineconstexpr

Definition at line 124 of file illuminants.hpp.

◆ deg10_f5

template<class T >
constexpr math::vec2<T> color::deg10_f5 = {T{0.31975}, T{0.34246}}
inlineconstexpr

Definition at line 126 of file illuminants.hpp.

◆ deg10_f6

template<class T >
constexpr math::vec2<T> color::deg10_f6 = {T{0.38660}, T{0.37847}}
inlineconstexpr

Definition at line 128 of file illuminants.hpp.

◆ deg10_f7

template<class T >
constexpr math::vec2<T> color::deg10_f7 = {T{0.31569}, T{0.32960}}
inlineconstexpr

Definition at line 130 of file illuminants.hpp.

◆ deg10_f8

template<class T >
constexpr math::vec2<T> color::deg10_f8 = {T{0.34902}, T{0.35939}}
inlineconstexpr

Definition at line 132 of file illuminants.hpp.

◆ deg10_f9

template<class T >
constexpr math::vec2<T> color::deg10_f9 = {T{0.37829}, T{0.37045}}
inlineconstexpr

Definition at line 134 of file illuminants.hpp.

◆ deg2_a

template<class T >
constexpr math::vec2<T> color::deg2_a = {T{0.44757}, T{0.40745}}
inlineconstexpr

Definition at line 34 of file illuminants.hpp.

◆ deg2_b

template<class T >
constexpr math::vec2<T> color::deg2_b = {T{0.34842}, T{0.35161}}
inlineconstexpr

Definition at line 36 of file illuminants.hpp.

◆ deg2_c

template<class T >
constexpr math::vec2<T> color::deg2_c = {T{0.31006}, T{0.31616}}
inlineconstexpr

Definition at line 38 of file illuminants.hpp.

◆ deg2_d50

template<class T >
constexpr math::vec2<T> color::deg2_d50 = {T{0.34567}, T{0.35850}}
inlineconstexpr

Definition at line 40 of file illuminants.hpp.

◆ deg2_d55

template<class T >
constexpr math::vec2<T> color::deg2_d55 = {T{0.33242}, T{0.34743}}
inlineconstexpr

Definition at line 42 of file illuminants.hpp.

◆ deg2_d65

template<class T >
constexpr math::vec2<T> color::deg2_d65 = {T{0.31271}, T{0.32902}}
inlineconstexpr

Definition at line 44 of file illuminants.hpp.

◆ deg2_d75

template<class T >
constexpr math::vec2<T> color::deg2_d75 = {T{0.29902}, T{0.31485}}
inlineconstexpr

Definition at line 46 of file illuminants.hpp.

◆ deg2_d93

template<class T >
constexpr math::vec2<T> color::deg2_d93 = {T{0.28315}, T{0.29711}}
inlineconstexpr

Definition at line 48 of file illuminants.hpp.

◆ deg2_e

template<class T >
constexpr math::vec2<T> color::deg2_e = {T{0.33333}, T{0.33333}}
inlineconstexpr

Definition at line 50 of file illuminants.hpp.

◆ deg2_f1

template<class T >
constexpr math::vec2<T> color::deg2_f1 = {T{0.31310}, T{0.33727}}
inlineconstexpr

Definition at line 52 of file illuminants.hpp.

◆ deg2_f10

template<class T >
constexpr math::vec2<T> color::deg2_f10 = {T{0.34609}, T{0.35986}}
inlineconstexpr

Definition at line 70 of file illuminants.hpp.

◆ deg2_f11

template<class T >
constexpr math::vec2<T> color::deg2_f11 = {T{0.38052}, T{0.37713}}
inlineconstexpr

Definition at line 72 of file illuminants.hpp.

◆ deg2_f12

template<class T >
constexpr math::vec2<T> color::deg2_f12 = {T{0.43695}, T{0.40441}}
inlineconstexpr

Definition at line 74 of file illuminants.hpp.

◆ deg2_f2

template<class T >
constexpr math::vec2<T> color::deg2_f2 = {T{0.37208}, T{0.37529}}
inlineconstexpr

Definition at line 54 of file illuminants.hpp.

◆ deg2_f3

template<class T >
constexpr math::vec2<T> color::deg2_f3 = {T{0.40910}, T{0.39430}}
inlineconstexpr

Definition at line 56 of file illuminants.hpp.

◆ deg2_f4

template<class T >
constexpr math::vec2<T> color::deg2_f4 = {T{0.44018}, T{0.40329}}
inlineconstexpr

Definition at line 58 of file illuminants.hpp.

◆ deg2_f5

template<class T >
constexpr math::vec2<T> color::deg2_f5 = {T{0.31379}, T{0.34531}}
inlineconstexpr

Definition at line 60 of file illuminants.hpp.

◆ deg2_f6

template<class T >
constexpr math::vec2<T> color::deg2_f6 = {T{0.37790}, T{0.38835}}
inlineconstexpr

Definition at line 62 of file illuminants.hpp.

◆ deg2_f7

template<class T >
constexpr math::vec2<T> color::deg2_f7 = {T{0.31292}, T{0.32933}}
inlineconstexpr

Definition at line 64 of file illuminants.hpp.

◆ deg2_f8

template<class T >
constexpr math::vec2<T> color::deg2_f8 = {T{0.34588}, T{0.35875}}
inlineconstexpr

Definition at line 66 of file illuminants.hpp.

◆ deg2_f9

template<class T >
constexpr math::vec2<T> color::deg2_f9 = {T{0.37417}, T{0.37281}}
inlineconstexpr

Definition at line 68 of file illuminants.hpp.

◆ deg2_led_b1

template<class T >
constexpr math::vec2<T> color::deg2_led_b1 = {T{0.4560}, T{0.4078}}
inlineconstexpr

Definition at line 76 of file illuminants.hpp.

◆ deg2_led_b2

template<class T >
constexpr math::vec2<T> color::deg2_led_b2 = {T{0.4357}, T{0.4012}}
inlineconstexpr

Definition at line 78 of file illuminants.hpp.

◆ deg2_led_b3

template<class T >
constexpr math::vec2<T> color::deg2_led_b3 = {T{0.3756}, T{0.3723}}
inlineconstexpr

Definition at line 80 of file illuminants.hpp.

◆ deg2_led_b4

template<class T >
constexpr math::vec2<T> color::deg2_led_b4 = {T{0.3422}, T{0.3502}}
inlineconstexpr

Definition at line 82 of file illuminants.hpp.

◆ deg2_led_b5

template<class T >
constexpr math::vec2<T> color::deg2_led_b5 = {T{0.3118}, T{0.3236}}
inlineconstexpr

Definition at line 84 of file illuminants.hpp.

◆ deg2_led_bh1

template<class T >
constexpr math::vec2<T> color::deg2_led_bh1 = {T{0.4474}, T{0.4066}}
inlineconstexpr

Definition at line 86 of file illuminants.hpp.

◆ deg2_led_rgb1

template<class T >
constexpr math::vec2<T> color::deg2_led_rgb1 = {T{0.4557}, T{0.4211}}
inlineconstexpr

Definition at line 88 of file illuminants.hpp.

◆ deg2_led_v1

template<class T >
constexpr math::vec2<T> color::deg2_led_v1 = {T{0.4560}, T{0.4548}}
inlineconstexpr

Definition at line 90 of file illuminants.hpp.

◆ deg2_led_v2

template<class T >
constexpr math::vec2<T> color::deg2_led_v2 = {T{0.3781}, T{0.3775}}
inlineconstexpr

Definition at line 92 of file illuminants.hpp.

◆ von_kries_cone_response

template<class T >
constexpr math::mat3<T> color::von_kries_cone_response
constexpr
Initial value:
=
{
T{ 0.40024}, T{-0.22630}, T{0.00000},
T{ 0.70760}, T{ 1.16532}, T{0.00000},
T{-0.08081}, T{ 0.04570}, T{0.91822}
}

von Kries cone response matrix.

See also
http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html

Definition at line 51 of file cat.hpp.

◆ xyz_scaling_cone_response

template<class T >
constexpr math::mat3<T> color::xyz_scaling_cone_response = math::mat3<T>::identity()
constexpr

XYZ scaling cone response matrix.

See also
http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html

Definition at line 64 of file cat.hpp.