Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
chromatic_adaptation.h File Reference
+ Include dependency graph for chromatic_adaptation.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef enum dt_adaptation_t dt_adaptation_t
 

Enumerations

enum  dt_adaptation_t {
  DT_ADAPTATION_LINEAR_BRADFORD = 0 ,
  DT_ADAPTATION_CAT16 = 1 ,
  DT_ADAPTATION_FULL_BRADFORD = 2 ,
  DT_ADAPTATION_XYZ = 3 ,
  DT_ADAPTATION_RGB = 4 ,
  DT_ADAPTATION_LAST
}
 

Functions

static __attribute__ ((always_inline)) dt_aligned_pixel_simd_t convert_XYZ_to_bradford_LMS(const dt_aligned_pixel_simd_t XYZ)
 
static void XYZ_D50_to_D65 (const dt_aligned_pixel_t XYZ_in, dt_aligned_pixel_t XYZ_out)
 
static void XYZ_D65_to_D50 (const dt_aligned_pixel_t XYZ_in, dt_aligned_pixel_t XYZ_out)
 
return vector dt_simd_set1 (valid ?(scaling+NORM_MIN) :NORM_MIN)
 
 switch (adaptation)
 
static void convert_D50_to_LMS (const dt_adaptation_t adaptation, dt_aligned_pixel_t D50)
 

Variables

static const dt_colormatrix_t XYZ_to_Bradford_LMS
 
static const dt_colormatrix_t Bradford_LMS_to_XYZ
 
static const dt_colormatrix_t XYZ_to_Bradford_LMS_transposed
 
static const dt_colormatrix_t Bradford_LMS_to_XYZ_transposed
 
static const dt_colormatrix_t XYZ_to_CAT16_LMS
 
static const dt_colormatrix_t CAT16_LMS_to_XYZ
 
static const dt_colormatrix_t XYZ_to_CAT16_LMS_transposed
 
static const dt_colormatrix_t CAT16_LMS_to_XYZ_transposed
 
static const dt_adaptation_t kind
 
static const dt_colormatrix_t XYZ_D50_to_D65_Bradford
 
static const dt_colormatrix_t XYZ_D65_to_D50_CAT16
 
static const dt_colormatrix_t XYZ_D65_to_D50_Bradford
 
static const dt_colormatrix_t XYZ_D50_to_D65_CAT16_transposed
 
static const dt_colormatrix_t XYZ_D65_to_D50_CAT16_transposed
 
static const float scaling
 
static const dt_aligned_pixel_simd_t illuminant
 
static const dt_aligned_pixel_simd_t const dt_adaptation_t adaptation
 
static const dt_aligned_pixel_simd_t const dt_adaptation_t const float p
 

Typedef Documentation

◆ dt_adaptation_t

Enumeration Type Documentation

◆ dt_adaptation_t

Enumerator
DT_ADAPTATION_LINEAR_BRADFORD 
DT_ADAPTATION_CAT16 
DT_ADAPTATION_FULL_BRADFORD 
DT_ADAPTATION_XYZ 
DT_ADAPTATION_RGB 
DT_ADAPTATION_LAST 

Definition at line 30 of file chromatic_adaptation.h.

Function Documentation

◆ __attribute__()

static __attribute__ ( (always_inline)  ) const
inlinestatic

Definition at line 62 of file chromatic_adaptation.h.

References XYZ, and XYZ_to_Bradford_LMS_transposed.

◆ convert_D50_to_LMS()

◆ dt_simd_set1()

◆ switch()

◆ XYZ_D50_to_D65()

◆ XYZ_D65_to_D50()

Variable Documentation

◆ adaptation

◆ Bradford_LMS_to_XYZ

const dt_colormatrix_t Bradford_LMS_to_XYZ
static
Initial value:
= { { 0.9870f, -0.1471f, 0.1600f, 0.f },
{ 0.4323f, 0.5184f, 0.0493f, 0.f },
{ -0.0085f, 0.0400f, 0.9685f, 0.f } }

Definition at line 50 of file chromatic_adaptation.h.

Referenced by convert_bradford_LMS_to_XYZ().

◆ Bradford_LMS_to_XYZ_transposed

const dt_colormatrix_t Bradford_LMS_to_XYZ_transposed
static
Initial value:
= { { 0.9870f, 0.4323f, -0.0085f, 0.f },
{ -0.1471f, 0.5184f, 0.0400f, 0.f },
{ 0.1600f, 0.0493f, 0.9685f, 0.f } }

Definition at line 58 of file chromatic_adaptation.h.

◆ CAT16_LMS_to_XYZ

const dt_colormatrix_t CAT16_LMS_to_XYZ
static
Initial value:
= { { 1.862068f, -1.011255f, 0.149187f, 0.f },
{ 0.38752f , 0.621447f, -0.008974f, 0.f },
{ -0.015841f, -0.034123f, 1.049964f, 0.f } }

Definition at line 90 of file chromatic_adaptation.h.

Referenced by convert_CAT16_LMS_to_XYZ().

◆ CAT16_LMS_to_XYZ_transposed

const dt_colormatrix_t CAT16_LMS_to_XYZ_transposed
static
Initial value:
= { { 1.862068f, 0.38752f , -0.015841f, 0.f },
{ -1.011255f, 0.621447f, -0.034123f, 0.f },
{ 0.149187f, -0.008974f, 1.049964f, 0.f } }

Definition at line 98 of file chromatic_adaptation.h.

◆ illuminant

const dt_aligned_pixel_simd_t illuminant

◆ kind

◆ p

const dt_aligned_pixel_simd_t const dt_adaptation_t const float p
Initial value:
{
const float Y = in[1]

Definition at line 309 of file chromatic_adaptation.h.

Referenced by switch().

◆ scaling

static const float scaling

◆ XYZ_D50_to_D65_Bradford

const dt_colormatrix_t XYZ_D50_to_D65_Bradford
static
Initial value:
= { { 0.95547342f, -0.02309845f, 0.06325924f, 0.f },
{ -0.02836971f, 1.00999540f, 0.02104144f, 0.f },
{ 0.01231401f, -0.02050765f, 1.33036593f, 0.f } }

Definition at line 253 of file chromatic_adaptation.h.

◆ XYZ_D50_to_D65_CAT16_transposed

const dt_colormatrix_t XYZ_D50_to_D65_CAT16_transposed
static
Initial value:
= { { 9.89466254e-01f, -5.40518733e-03f, -4.03920992e-04f, 0.f },
{ -4.00304626e-02f, 1.00666069e+00f, 1.50768030e-02f, 0.f },
{ 4.40530317e-02f, -1.75551955e-03f, 1.30210211e+00f, 0.f } }

Definition at line 268 of file chromatic_adaptation.h.

Referenced by XYZ_D50_to_D65().

◆ XYZ_D65_to_D50_Bradford

const dt_colormatrix_t XYZ_D65_to_D50_Bradford
static
Initial value:
= { { 1.04792979f, 0.02294687f, -0.05019227f, 0.f },
{ 0.02962781f, 0.99043443f, -0.0170738f, 0.f },
{ -0.00924304f, 0.01505519f, 0.75187428f, 0.f } }

Definition at line 263 of file chromatic_adaptation.h.

◆ XYZ_D65_to_D50_CAT16

const dt_colormatrix_t XYZ_D65_to_D50_CAT16
static
Initial value:
= { { 1.01085433e+00f, 4.07086103e-02f, -3.41445825e-02f, 0.f },
{ 5.42814201e-03f, 9.93581926e-01f, 1.15592039e-03f, 0.f },
{ 2.50722468e-04f, -1.14918759e-02f, 7.67964947e-01f, 0.f } }

Definition at line 258 of file chromatic_adaptation.h.

Referenced by _filmic_agx_Yrg_to_xyz_D50(), process(), and process_cl().

◆ XYZ_D65_to_D50_CAT16_transposed

const dt_colormatrix_t XYZ_D65_to_D50_CAT16_transposed
static
Initial value:
= { { 1.01085433e+00f, 5.42814201e-03f, 2.50722468e-04f, 0.f },
{ 4.07086103e-02f, 9.93581926e-01f, -1.14918759e-02f, 0.f },
{ -3.41445825e-02f, 1.15592039e-03f, 7.67964947e-01f, 0.f } }

Definition at line 273 of file chromatic_adaptation.h.

Referenced by XYZ_D65_to_D50().

◆ XYZ_to_Bradford_LMS

const dt_colormatrix_t XYZ_to_Bradford_LMS
static
Initial value:
= { { 0.8951f, 0.2664f, -0.1614f, 0.f },
{ -0.7502f, 1.7135f, 0.0367f, 0.f },
{ 0.0389f, -0.0685f, 1.0296f, 0.f } }

Definition at line 46 of file chromatic_adaptation.h.

Referenced by convert_XYZ_to_bradford_LMS().

◆ XYZ_to_Bradford_LMS_transposed

const dt_colormatrix_t XYZ_to_Bradford_LMS_transposed
static
Initial value:
= { { 0.8951f, -0.7502f, 0.0389f, 0.f },
{ 0.2664f, 1.7135f, -0.0685f, 0.f },
{ -0.1614f, 0.0367f, 1.0296f, 0.f } }

Definition at line 54 of file chromatic_adaptation.h.

Referenced by __attribute__().

◆ XYZ_to_CAT16_LMS

const dt_colormatrix_t XYZ_to_CAT16_LMS
static
Initial value:
= { { 0.401288f, 0.650173f, -0.051461f, 0.f },
{ -0.250268f, 1.204414f, 0.045854f, 0.f },
{ -0.002079f, 0.048952f, 0.953127f, 0.f } }

Definition at line 86 of file chromatic_adaptation.h.

Referenced by convert_XYZ_to_CAT16_LMS().

◆ XYZ_to_CAT16_LMS_transposed

const dt_colormatrix_t XYZ_to_CAT16_LMS_transposed
static
Initial value:
= { { 0.401288f, -0.250268f, -0.002079f, 0.f },
{ 0.650173f, 1.204414f, 0.048952f, 0.f },
{ -0.051461f, 0.045854f, 0.953127f, 0.f } }

Definition at line 94 of file chromatic_adaptation.h.