Zephyr Scientific Library (zscilib)
colorimetry.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2020 Kevin Townsend (KTOWN)
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
21 #ifndef ZEPHYR_INCLUDE_ZSL_COLORIMETRY_H_
22 #define ZEPHYR_INCLUDE_ZSL_COLORIMETRY_H_
23 
24 #include <stddef.h>
25 #include <stdint.h>
26 #include <zsl/zsl.h>
27 #include <zsl/matrices.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
57 
63 };
64 
75 
82 
89 
95 
101 
107 
114 
120 };
121 
157 
164 };
165 
172 
175 
178 
181 
184 
187 
190 
193 
196 
199 
202 
205 
208 };
209 
230 
241 
253 };
254 
258 struct zsl_clr_xyz {
270  uint8_t x_invalid : 1;
272  uint8_t y_invalid : 1;
274  uint8_t z_invalid : 1;
275 };
276 
280 struct zsl_clr_xyy {
292  uint8_t x_invalid : 1;
294  uint8_t y_invalid : 1;
296  uint8_t Y_invalid : 1;
297 };
298 
302 struct zsl_clr_uv60 {
312  uint8_t u_invalid : 1;
314  uint8_t v_invalid : 1;
315 };
316 
320 struct zsl_clr_uv76 {
330  uint8_t u_invalid : 1;
332  uint8_t v_invalid : 1;
333 };
334 
338 struct zsl_clr_rgbf {
348  uint8_t r_invalid : 1;
350  uint8_t g_invalid : 1;
352  uint8_t b_invalid : 1;
354  uint8_t a_invalid : 1;
355 };
356 
360 struct zsl_clr_rgb8 {
362  uint8_t r;
364  uint8_t g;
366  uint8_t b;
368  uint8_t a;
370  uint8_t r_invalid : 1;
372  uint8_t g_invalid : 1;
374  uint8_t b_invalid : 1;
376  uint8_t a_invalid : 1;
377 };
378 
384  uint16_t r;
386  uint16_t g;
388  uint16_t b;
390  uint16_t a;
392  uint8_t r_invalid : 1;
394  uint8_t g_invalid : 1;
396  uint8_t b_invalid : 1;
398  uint8_t a_invalid : 1;
400  uint8_t bit_depth;
401 };
402 
406 struct zsl_clr_cct {
423  uint8_t cct_invalid : 1;
425  uint8_t duv_invalid : 1;
426 };
427 
437  char *name;
439  struct {
446  } data;
447 };
448 
457  char *name;
462  struct {
469  } data[95];
470 };
471 
515 struct zsl_clr_spd {
517  size_t size;
518  struct {
520  unsigned int nm;
523  } comps[];
524 };
525  /* End of STRUCT group */
527 
546 int zsl_clr_conv_spd_xyz(const struct zsl_clr_spd *spd, enum zsl_clr_obs obs,
547  struct zsl_clr_xyz *xyz);
548 
558 int zsl_clr_conv_xyy_xyz(struct zsl_clr_xyy *xyy, struct zsl_clr_xyz *xyz);
559 
569 int zsl_clr_conv_xyz_xyy(struct zsl_clr_xyz *xyz, struct zsl_clr_xyy *xyy);
570 
579 int zsl_clr_conv_xyy_uv60(struct zsl_clr_xyy *xyy, struct zsl_clr_uv60 *uv);
580 
590 int zsl_clr_conv_xyz_uv60(struct zsl_clr_xyz *xyz, struct zsl_clr_uv60 *uv);
591 
601 int zsl_clr_conv_uv60_xyz(struct zsl_clr_uv60 *uv, struct zsl_clr_xyz *xyz);
602 
612 int zsl_clr_conv_uv60_xyy(struct zsl_clr_uv60 *uv, struct zsl_clr_xyy *xyy);
613 
622 int zsl_clr_conv_uv60_uv76(struct zsl_clr_uv60 *uv60,
623  struct zsl_clr_uv76 *uv76);
624 
633 int zsl_clr_conv_uv76_uv60(struct zsl_clr_uv76 *uv76,
634  struct zsl_clr_uv60 *uv60);
635 
646  struct zsl_clr_uv60 *uv);
647 
659  struct zsl_clr_xyz *xyz);
660 
673  struct zsl_mtx *mtx, struct zsl_clr_rgb8 *rgb);
674 
687  struct zsl_mtx *mtx, struct zsl_clr_rgbf *rgb);
688 
698 int zsl_clr_conv_cct_xyy(struct zsl_clr_cct *cct, enum zsl_clr_obs obs,
699  struct zsl_clr_xyy *xyy);
700 
710 int zsl_clr_conv_cct_xyz(struct zsl_clr_cct *cct, enum zsl_clr_obs obs,
711  struct zsl_clr_xyz *xyz);
712 
724  struct zsl_clr_uv60 *uv, struct zsl_clr_cct *cct);
725 
736 int zsl_clr_conv_xyz_rgb8(struct zsl_clr_xyz *xyz, struct zsl_mtx *mtx,
737  struct zsl_clr_rgb8 *rgb);
738 
753 int zsl_clr_conv_xyz_rgbf(struct zsl_clr_xyz *xyz, struct zsl_mtx *mtx,
754  struct zsl_clr_rgbf *rgb);
755  /* End of CONV group */
757 
774 int zsl_clr_norm_spd(struct zsl_clr_spd *spd);
775  /* End of NORM group */
777 
820 int zsl_clr_illum_get(enum zsl_clr_obs obs, enum zsl_clr_illum illum,
821  const struct zsl_clr_illum_data **data);
822 
850 void zsl_clr_obs_get(enum zsl_clr_obs obs,
851  const struct zsl_clr_obs_data **data);
852 
861 void zsl_clr_lef_get(enum zsl_clr_lef lef, const struct zsl_clr_spd **data);
862 
873 int zsl_clr_lef_lerp(enum zsl_clr_lef lef, unsigned int nm, zsl_real_t *val);
874 
885 void zsl_clr_rgbccm_get(enum zsl_clr_rgb_ccm ccm, struct zsl_mtx **mtx);
886  /* End of COLOR_DATA group */
888 
889 #ifdef __cplusplus
890 }
891 #endif
892 
893 #endif /* ZEPHYR_INCLUDE_ZSL_COLORIMETRY_H_ */
894  /* End of colorimetry group */
ZSL_CLR_RGB_CCM_SRGB_D65
@ ZSL_CLR_RGB_CCM_SRGB_D65
Definition: colorimetry.h:171
zsl_clr_rgb16::a
uint16_t a
Definition: colorimetry.h:390
zsl_clr_rgb8::b
uint8_t b
Definition: colorimetry.h:366
zsl_clr_rgbf::a
zsl_real_t a
Definition: colorimetry.h:346
zsl_clr_rgb_ccm
zsl_clr_rgb_ccm
List of included 3x3 XYZ to RGB color space correlation matrices.
Definition: colorimetry.h:169
ZSL_CLR_ILLUM_D55
@ ZSL_CLR_ILLUM_D55
Definition: colorimetry.h:100
zsl_clr_rgb8::b_invalid
uint8_t b_invalid
Definition: colorimetry.h:374
zsl_clr_uv60::uv60_u
zsl_real_t uv60_u
Definition: colorimetry.h:304
zsl_clr_spd::size
size_t size
Definition: colorimetry.h:517
zsl_clr_xyy::xyy_x
zsl_real_t xyy_x
Definition: colorimetry.h:282
zsl_clr_conv_uv60_cct
int zsl_clr_conv_uv60_cct(enum zsl_clr_uv_cct_method method, struct zsl_clr_uv60 *uv, struct zsl_clr_cct *cct)
Converts a CIE 1960 (u, v) pair to a CIE 1960 CCT and Duv pair using the specified conversion algorit...
zsl_clr_spd::comps
struct zsl_clr_spd::@2 comps[]
zsl_clr_xyy::Y_invalid
uint8_t Y_invalid
Definition: colorimetry.h:296
zsl_clr_lef_lerp
int zsl_clr_lef_lerp(enum zsl_clr_lef lef, unsigned int nm, zsl_real_t *val)
Interpolates a single value from the specified CIE luminous efficiency function using linear interpol...
zsl_clr_obs
zsl_clr_obs
List of supported CIE standard observer models. All models cover the 360 nm to 830 nm range in 5 nm s...
Definition: colorimetry.h:51
zsl_clr_conv_ct_uv60
int zsl_clr_conv_ct_uv60(zsl_real_t ct, enum zsl_clr_obs obs, struct zsl_clr_uv60 *uv)
zsl_clr_conv_xyz_rgbf
int zsl_clr_conv_xyz_rgbf(struct zsl_clr_xyz *xyz, struct zsl_mtx *mtx, struct zsl_clr_rgbf *rgb)
Converts a CIE 1931 XYZ tristimulus to an floating point RGBA value using the supplied XYZ to RGB col...
zsl_clr_norm_spd
int zsl_clr_norm_spd(struct zsl_clr_spd *spd)
Normalises the supplied spectral power distribution data to a 1.0 range. This function call is destru...
zsl_clr_lef_get
void zsl_clr_lef_get(enum zsl_clr_lef lef, const struct zsl_clr_spd **data)
Retrieves a pointer to the zsl_clr_spd data for the specified CIE luminous efficiency function.
zsl_clr_conv_ct_rgb8
int zsl_clr_conv_ct_rgb8(zsl_real_t ct, enum zsl_clr_obs obs, struct zsl_mtx *mtx, struct zsl_clr_rgb8 *rgb)
Converts an exact CIE 1960 CCT (Duv = 0.0) to an 8-bit RGBA value using the supplied XYZ to RGB color...
zsl_clr_conv_xyy_xyz
int zsl_clr_conv_xyy_xyz(struct zsl_clr_xyy *xyy, struct zsl_clr_xyz *xyz)
Converts a CIE 1931 xyY chromaticity to its XYZ tristimulus equivalent.
zsl_clr_rgb16::b_invalid
uint8_t b_invalid
Definition: colorimetry.h:396
ZSL_CLR_ILLUM_D65
@ ZSL_CLR_ILLUM_D65
Definition: colorimetry.h:106
zsl_clr_conv_cct_xyz
int zsl_clr_conv_cct_xyz(struct zsl_clr_cct *cct, enum zsl_clr_obs obs, struct zsl_clr_xyz *xyz)
Converts a CIE 1960 CCT and Duv pair to a CIE 1931 XYZ tristimulus.
ZSL_CLR_OBS_10_DEG
@ ZSL_CLR_OBS_10_DEG
Definition: colorimetry.h:62
zsl_clr_rgb16
RGBA color using 16-bit values.
Definition: colorimetry.h:382
zsl_clr_rgb16::r
uint16_t r
Definition: colorimetry.h:384
zsl_clr_rgb8::g_invalid
uint8_t g_invalid
Definition: colorimetry.h:372
zsl_clr_rgb16::r_invalid
uint8_t r_invalid
Definition: colorimetry.h:392
ZSL_CLR_ILLUM_D50
@ ZSL_CLR_ILLUM_D50
Definition: colorimetry.h:94
zsl_mtx
Represents a m x n matrix, with data stored in row-major order.
Definition: matrices.h:46
zsl_clr_cct
Data representing a single CIE 1960 CCT, Duv value pair.
Definition: colorimetry.h:406
zsl_clr_rgb16::g
uint16_t g
Definition: colorimetry.h:386
zsl_clr_uv76::uv76_u
zsl_real_t uv76_u
Definition: colorimetry.h:322
zsl_clr_illum_get
int zsl_clr_illum_get(enum zsl_clr_obs obs, enum zsl_clr_illum illum, const struct zsl_clr_illum_data **data)
Retrieves a pointer to the zsl_clr_illum_data for the specified illuminant.
ZSL_CLR_RGB_CCM_BT_709
@ ZSL_CLR_RGB_CCM_BT_709
Definition: colorimetry.h:189
ZSL_CLR_ILLUM_B
@ ZSL_CLR_ILLUM_B
Definition: colorimetry.h:81
zsl_clr_rgbf::r_invalid
uint8_t r_invalid
Definition: colorimetry.h:348
zsl_clr_conv_xyy_uv60
int zsl_clr_conv_xyy_uv60(struct zsl_clr_xyy *xyy, struct zsl_clr_uv60 *uv)
Converts a CIE 1931 xyY chromaticity to its CIE 1960 uv equivalent.
zsl_clr_uv76::observer
enum zsl_clr_obs observer
Definition: colorimetry.h:326
ZSL_CLR_ILLUM_A
@ ZSL_CLR_ILLUM_A
Definition: colorimetry.h:74
ZSL_CLR_UV_CCT_METHOD_OHNO2011
@ ZSL_CLR_UV_CCT_METHOD_OHNO2011
Yoshi Ohno 2011 CORM.
Definition: colorimetry.h:240
zsl_clr_rgbf
RGBA color using floating-space notation from 0.0 .. 1.0.
Definition: colorimetry.h:338
zsl_clr_illum_data::xyz_z
zsl_real_t xyz_z
Definition: colorimetry.h:445
zsl_clr_cct::cct_invalid
uint8_t cct_invalid
Definition: colorimetry.h:423
ZSL_CLR_RGB_CCM_ADOBERGB98
@ ZSL_CLR_RGB_CCM_ADOBERGB98
Definition: colorimetry.h:177
zsl_clr_rgbf::b_invalid
uint8_t b_invalid
Definition: colorimetry.h:352
zsl_clr_conv_uv76_uv60
int zsl_clr_conv_uv76_uv60(struct zsl_clr_uv76 *uv76, struct zsl_clr_uv60 *uv60)
Converts a CIE 1976 u'v' value to its CIE 1960 uv equivalent.
zsl_clr_uv_cct_method
zsl_clr_uv_cct_method
The algorithm to use when converting a CIE 1960 UV value to CCT, Duv.
Definition: colorimetry.h:214
zsl_clr_illum_data::xyz_y
zsl_real_t xyz_y
Definition: colorimetry.h:443
zsl_clr_rgb16::g_invalid
uint8_t g_invalid
Definition: colorimetry.h:394
zsl_clr_obs_data::name
char * name
Definition: colorimetry.h:457
zsl_clr_uv76::uv76_v
zsl_real_t uv76_v
Definition: colorimetry.h:324
zsl_clr_spd
Spectral power distribution for a specific illumination.
Definition: colorimetry.h:515
zsl_clr_xyz
CIE 1931 XYZ tristimulus values.
Definition: colorimetry.h:258
ZSL_CLR_ILLUM_ICC
@ ZSL_CLR_ILLUM_ICC
Definition: colorimetry.h:119
zsl_clr_xyy::xyy_y
zsl_real_t xyy_y
Definition: colorimetry.h:284
ZSL_CLR_RGB_CCM_NTSC
@ ZSL_CLR_RGB_CCM_NTSC
Definition: colorimetry.h:183
ZSL_CLR_RGB_CCM_DCI_P3_PLUS
@ ZSL_CLR_RGB_CCM_DCI_P3_PLUS
Definition: colorimetry.h:204
zsl_clr_xyz::xyz_y
zsl_real_t xyz_y
Definition: colorimetry.h:262
zsl_clr_rgbf::b
zsl_real_t b
Definition: colorimetry.h:344
zsl_clr_illum_data
CIE 1931 XYZ tristimulus values for a standard illuminant.
Definition: colorimetry.h:431
zsl_clr_obs_data::xyz_x
zsl_real_t xyz_x
Definition: colorimetry.h:464
zsl_clr_conv_uv60_xyz
int zsl_clr_conv_uv60_xyz(struct zsl_clr_uv60 *uv, struct zsl_clr_xyz *xyz)
Converts a CIE 1960 uv value to its CIE 1931 XYZ tristimulus equivalent.
zsl_clr_uv60::observer
enum zsl_clr_obs observer
Definition: colorimetry.h:308
zsl_clr_xyz::xyz_z
zsl_real_t xyz_z
Definition: colorimetry.h:264
zsl_clr_illum_data::name
char * name
Definition: colorimetry.h:437
zsl_clr_cct::cct
zsl_real_t cct
Correlated color temperature.
Definition: colorimetry.h:413
zsl_clr_conv_xyz_xyy
int zsl_clr_conv_xyz_xyy(struct zsl_clr_xyz *xyz, struct zsl_clr_xyy *xyy)
Converts CIE 1931 XYZ tristimulus values to the xyY chromaticity equivalent.
zsl_clr_conv_spd_xyz
int zsl_clr_conv_spd_xyz(const struct zsl_clr_spd *spd, enum zsl_clr_obs obs, struct zsl_clr_xyz *xyz)
Converts the supplied spectral power distribution data into it's equivalent XYZ tristimulus using the...
zsl_clr_conv_uv60_uv76
int zsl_clr_conv_uv60_uv76(struct zsl_clr_uv60 *uv60, struct zsl_clr_uv76 *uv76)
Converts a CIE 1960 uv value to its CIE 1976 u'v' equivalent.
zsl_clr_uv60::uv60_v
zsl_real_t uv60_v
Definition: colorimetry.h:306
ZSL_CLR_RGB_CCM_CIE_RGB
@ ZSL_CLR_RGB_CCM_CIE_RGB
Definition: colorimetry.h:207
zsl_clr_spd::nm
unsigned int nm
Definition: colorimetry.h:520
zsl_clr_rgb8::g
uint8_t g
Definition: colorimetry.h:364
ZSL_CLR_RGB_CCM_DCI_P3
@ ZSL_CLR_RGB_CCM_DCI_P3
Definition: colorimetry.h:201
zsl_clr_uv76::illuminant
enum zsl_clr_illum illuminant
Definition: colorimetry.h:328
zsl_clr_rgbf::g_invalid
uint8_t g_invalid
Definition: colorimetry.h:350
zsl_clr_conv_cct_xyy
int zsl_clr_conv_cct_xyy(struct zsl_clr_cct *cct, enum zsl_clr_obs obs, struct zsl_clr_xyy *xyy)
Converts a CIE 1960 CCT and Duv pair to a CIE 1931 xyY chromaticity.
zsl_clr_rgb8::r
uint8_t r
Definition: colorimetry.h:362
zsl_clr_uv76
CIE 1976 UCS chromaticity coordinates.
Definition: colorimetry.h:320
ZSL_CLR_ILLUM_E
@ ZSL_CLR_ILLUM_E
Definition: colorimetry.h:113
zsl_clr_xyz::observer
enum zsl_clr_obs observer
Definition: colorimetry.h:266
zsl_clr_obs_data
CIE 1931 XYZ tristimulus values for a standard observer model in 5 nm steps from 360-830 nm (95 steps...
Definition: colorimetry.h:453
zsl_clr_conv_xyz_uv60
int zsl_clr_conv_xyz_uv60(struct zsl_clr_xyz *xyz, struct zsl_clr_uv60 *uv)
Converts CIE 1931 XYZ tristimulus values to its CIE 1960 uv equivalent.
zsl_clr_obs_data::data
struct zsl_clr_obs_data::@1 data[95]
zsl_clr_lef
zsl_clr_lef
List of supported CIE luminous efficiency functions. All functions cover the 380 nm to 780 nm range i...
Definition: colorimetry.h:150
zsl_clr_uv60::illuminant
enum zsl_clr_illum illuminant
Definition: colorimetry.h:310
zsl_clr_xyz::x_invalid
uint8_t x_invalid
Definition: colorimetry.h:270
zsl_clr_xyy
CIE 1931 xyY chromaticity coordinates.
Definition: colorimetry.h:280
zsl_clr_rgb8::r_invalid
uint8_t r_invalid
Definition: colorimetry.h:370
zsl_clr_xyz::y_invalid
uint8_t y_invalid
Definition: colorimetry.h:272
zsl_clr_illum_data::data
struct zsl_clr_illum_data::@0 data
zsl_clr_conv_uv60_xyy
int zsl_clr_conv_uv60_xyy(struct zsl_clr_uv60 *uv, struct zsl_clr_xyy *xyy)
Converts a CIE 1960 uv value to its CIE 1931 xyY chromaticity equivalent.
zsl_clr_xyz::xyz_x
zsl_real_t xyz_x
Definition: colorimetry.h:260
zsl_clr_rgbf::g
zsl_real_t g
Definition: colorimetry.h:342
zsl_clr_illum_data::xyz_x
zsl_real_t xyz_x
Definition: colorimetry.h:441
zsl_clr_uv76::u_invalid
uint8_t u_invalid
Definition: colorimetry.h:330
zsl_clr_xyz::z_invalid
uint8_t z_invalid
Definition: colorimetry.h:274
ZSL_CLR_RGB_CCM_SRGB_D50
@ ZSL_CLR_RGB_CCM_SRGB_D50
Definition: colorimetry.h:174
zsl_clr_rgb16::bit_depth
uint8_t bit_depth
Definition: colorimetry.h:400
zsl_clr_uv60::v_invalid
uint8_t v_invalid
Definition: colorimetry.h:314
zsl_clr_rgb8::a_invalid
uint8_t a_invalid
Definition: colorimetry.h:376
zsl_clr_rgbf::r
zsl_real_t r
Definition: colorimetry.h:340
ZSL_CLR_LEF_CIE51_SCOTOPIC
@ ZSL_CLR_LEF_CIE51_SCOTOPIC
Definition: colorimetry.h:163
zsl_clr_conv_xyz_rgb8
int zsl_clr_conv_xyz_rgb8(struct zsl_clr_xyz *xyz, struct zsl_mtx *mtx, struct zsl_clr_rgb8 *rgb)
Converts a CIE 1931 XYZ tristimulus to an 8-bit RGBA value using the supplied XYZ to RGB color space ...
zsl_clr_obs_data::xyz_y
zsl_real_t xyz_y
Definition: colorimetry.h:466
ZSL_CLR_UV_CCT_METHOD_OHNO2014
@ ZSL_CLR_UV_CCT_METHOD_OHNO2014
Yoshi Ohno 2014.
Definition: colorimetry.h:252
zsl_clr_rgb16::b
uint16_t b
Definition: colorimetry.h:388
zsl_clr_xyy::y_invalid
uint8_t y_invalid
Definition: colorimetry.h:294
zsl_clr_uv60::u_invalid
uint8_t u_invalid
Definition: colorimetry.h:312
zsl_clr_rgb8
RGBA color using 8-bit values.
Definition: colorimetry.h:360
zsl_clr_obs_get
void zsl_clr_obs_get(enum zsl_clr_obs obs, const struct zsl_clr_obs_data **data)
Retrieves a pointer to the zsl_clr_obs_data for the specified CIE standard observer model.
ZSL_CLR_RGB_CCM_ACES_P0
@ ZSL_CLR_RGB_CCM_ACES_P0
Definition: colorimetry.h:195
zsl_clr_cct::duv
zsl_real_t duv
Distance of the measured chromaticity from the Planckian locus (AKA black body curve).
Definition: colorimetry.h:421
zsl_clr_rgbccm_get
void zsl_clr_rgbccm_get(enum zsl_clr_rgb_ccm ccm, struct zsl_mtx **mtx)
Retrieves a pointer to a standard 3x3 XYZ to RGB color space correlation matrix.
zsl_clr_rgb16::a_invalid
uint8_t a_invalid
Definition: colorimetry.h:398
zsl_clr_conv_ct_rgbf
int zsl_clr_conv_ct_rgbf(zsl_real_t ct, enum zsl_clr_obs obs, struct zsl_mtx *mtx, struct zsl_clr_rgbf *rgb)
Converts an exact CIE 1960 CCT (Duv = 0.0) to an floating point RGBA value using the supplied XYZ to ...
zsl_clr_xyy::x_invalid
uint8_t x_invalid
Definition: colorimetry.h:292
zsl_clr_rgb8::a
uint8_t a
Definition: colorimetry.h:368
matrices.h
API header file for matrices in zscilib.
zsl_clr_illum
zsl_clr_illum
List of supported CIE standard illuminants.
Definition: colorimetry.h:68
ZSL_CLR_OBS_2_DEG
@ ZSL_CLR_OBS_2_DEG
Definition: colorimetry.h:56
zsl_clr_obs_data::observer
enum zsl_clr_obs observer
Definition: colorimetry.h:455
zsl_clr_uv76::v_invalid
uint8_t v_invalid
Definition: colorimetry.h:332
zsl.h
API header file for zscilib.
zsl_clr_rgbf::a_invalid
uint8_t a_invalid
Definition: colorimetry.h:354
zsl_clr_conv_ct_xyz
int zsl_clr_conv_ct_xyz(zsl_real_t ct, enum zsl_clr_obs obs, struct zsl_clr_xyz *xyz)
Converts an exact CIE 1960 CCT (Duv = 0.0) to a CIE 1931 XYZ tristimulus.
ZSL_CLR_LEF_CIE88_PHOTOPIC
@ ZSL_CLR_LEF_CIE88_PHOTOPIC
Definition: colorimetry.h:156
zsl_clr_cct::duv_invalid
uint8_t duv_invalid
Definition: colorimetry.h:425
zsl_clr_illum_data::observer
enum zsl_clr_obs observer
Definition: colorimetry.h:435
zsl_clr_xyy::illuminant
enum zsl_clr_illum illuminant
Definition: colorimetry.h:290
ZSL_CLR_RGB_CCM_BT_2020
@ ZSL_CLR_RGB_CCM_BT_2020
Definition: colorimetry.h:192
ZSL_CLR_ILLUM_C
@ ZSL_CLR_ILLUM_C
Definition: colorimetry.h:88
zsl_real_t
double zsl_real_t
Definition: zsl.h:51
zsl_clr_xyy::xyy_Y
zsl_real_t xyy_Y
Definition: colorimetry.h:286
zsl_clr_obs_data::xyz_z
zsl_real_t xyz_z
Definition: colorimetry.h:468
ZSL_CLR_RGB_CCM_PAL_SECAM
@ ZSL_CLR_RGB_CCM_PAL_SECAM
Definition: colorimetry.h:186
zsl_clr_illum_data::illuminant
enum zsl_clr_illum illuminant
Definition: colorimetry.h:433
zsl_clr_xyy::observer
enum zsl_clr_obs observer
Definition: colorimetry.h:288
zsl_clr_uv60
CIE 1960 UCS chromaticity coordinates.
Definition: colorimetry.h:302
ZSL_CLR_UV_CCT_METHOD_MCCAMY
@ ZSL_CLR_UV_CCT_METHOD_MCCAMY
McCamy's approximation.
Definition: colorimetry.h:229
zsl_clr_xyz::illuminant
enum zsl_clr_illum illuminant
Definition: colorimetry.h:268
ZSL_CLR_RGB_CCM_ACES_P1
@ ZSL_CLR_RGB_CCM_ACES_P1
Definition: colorimetry.h:198
ZSL_CLR_RGB_CCM_SONY_SGAMUT3_CINE
@ ZSL_CLR_RGB_CCM_SONY_SGAMUT3_CINE
Definition: colorimetry.h:180
zsl_clr_spd::value
zsl_real_t value
Definition: colorimetry.h:522