![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Go to the source code of this file.
Data Structures | |
struct | pair |
Typedefs | |
typedef enum dt_illuminant_t | dt_illuminant_t |
typedef enum dt_illuminant_fluo_t | dt_illuminant_fluo_t |
typedef enum dt_illuminant_led_t | dt_illuminant_led_t |
typedef struct pair | pair |
Functions | |
static float | xy_to_CCT (const float x, const float y) |
static void | CCT_to_xy_daylight (const float t, float *x, float *y) |
static void | CCT_to_xy_blackbody (const float t, float *x, float *y) |
static void | illuminant_xy_to_XYZ (const float x, const float y, dt_aligned_pixel_t XYZ) |
static void | illuminant_xy_to_RGB (const float x, const float y, dt_aligned_pixel_t RGB) |
static void | illuminant_CCT_to_RGB (const float t, dt_aligned_pixel_t RGB) |
static int | find_temperature_from_raw_coeffs (const dt_image_t *img, const dt_aligned_pixel_t custom_wb, float *chroma_x, float *chroma_y) |
static int | illuminant_to_xy (const dt_illuminant_t illuminant, const dt_image_t *img, const dt_aligned_pixel_t custom_wb, float *x_out, float *y_out, const float t, const dt_illuminant_fluo_t fluo, const dt_illuminant_led_t iled) |
static void | WB_coeffs_to_illuminant_xy (const float CAM_to_XYZ[4][3], const dt_aligned_pixel_t WB, float *x, float *y) |
static void | matrice_pseudoinverse (float(*in)[3], float(*out)[3], int size) |
static float | planckian_normal (const float x, const float t) |
static void | blackbody_xy_to_tinted_xy (const float x, const float y, const float t, const float tint, float *x_out, float *y_out) |
static float | get_tint_from_tinted_xy (const float x, const float y, const float t) |
static void | xy_to_uv (const float xy[2], float uv[2]) |
struct pair | pair_min (struct pair r, struct pair n) |
static float | CCT_reverse_lookup (const float x, const float y) |
Variables | |
static float | fluorescent [DT_ILLUMINANT_FLUO_LAST][2] |
static float | led [DT_ILLUMINANT_LED_LAST][2] |
typedef enum dt_illuminant_fluo_t dt_illuminant_fluo_t |
typedef enum dt_illuminant_led_t dt_illuminant_led_t |
typedef enum dt_illuminant_t dt_illuminant_t |
enum dt_illuminant_fluo_t |
enum dt_illuminant_led_t |
enum dt_illuminant_t |
|
inlinestatic |
References planckian_normal().
|
inlinestatic |
References CCT_to_xy_blackbody(), CCT_to_xy_daylight(), dt_fast_hypotf(), pair_min(), and pair::temperature.
Referenced by check_if_close_to_daylight(), and illum_xy_callback().
|
inlinestatic |
Referenced by CCT_reverse_lookup(), get_tint_from_tinted_xy(), illuminant_CCT_to_RGB(), and illuminant_to_xy().
|
inlinestatic |
Referenced by CCT_reverse_lookup(), illuminant_CCT_to_RGB(), and illuminant_to_xy().
|
inlinestatic |
References dt_image_t::adobe_XYZ_to_CAM, dt_image_t::d65_color_matrix, DT_IMAGE_4BAYER, dt_image_is_matrix_correction_supported(), FALSE, dt_image_t::flags, matrice_pseudoinverse(), TRUE, dt_image_t::wb_coeffs, and WB_coeffs_to_illuminant_xy().
Referenced by gui_changed(), illuminant_to_xy(), process(), and reload_defaults().
|
inlinestatic |
References CCT_to_xy_blackbody(), and planckian_normal().
|
inlinestatic |
References CCT_to_xy_blackbody(), CCT_to_xy_daylight(), and illuminant_xy_to_RGB().
Referenced by paint_temperature_background().
|
inlinestatic |
Compute the x and y chromaticity coordinates in Yxy spaces for standard illuminants
Returns : TRUE if chromaticity of the requested standard illuminant has been found FALSE if no valid chromaticity has been found or custom illuminant has been requested
References CCT_to_xy_blackbody(), CCT_to_xy_daylight(), DT_ILLUMINANT_A, DT_ILLUMINANT_BB, DT_ILLUMINANT_CAMERA, DT_ILLUMINANT_CUSTOM, DT_ILLUMINANT_D, DT_ILLUMINANT_DETECT_EDGES, DT_ILLUMINANT_DETECT_SURFACES, DT_ILLUMINANT_E, DT_ILLUMINANT_F, DT_ILLUMINANT_FLUO_LAST, DT_ILLUMINANT_LAST, DT_ILLUMINANT_LED, DT_ILLUMINANT_LED_LAST, DT_ILLUMINANT_PIPE, FALSE, find_temperature_from_raw_coeffs(), fluorescent, led, and TRUE.
Referenced by _auto_set_illuminant(), check_if_close_to_daylight(), commit_params(), gui_changed(), illuminant_color_draw(), init_presets(), and update_approx_cct().
|
inlinestatic |
References dt_XYZ_to_Rec709_D50(), and illuminant_xy_to_XYZ().
Referenced by illuminant_CCT_to_RGB(), illuminant_color_draw(), and update_xy_color().
|
inlinestatic |
Referenced by _auto_set_illuminant(), commit_params(), extract_color_checker(), illuminant_xy_to_RGB(), and process().
|
inlinestatic |
References DT_ALIGNED_ARRAY, and size.
Referenced by _auto_set_illuminant(), and find_temperature_from_raw_coeffs().
Referenced by CCT_reverse_lookup().
|
inlinestatic |
Referenced by blackbody_xy_to_tinted_xy(), and get_tint_from_tinted_xy().
|
inlinestatic |
References bradford_adapt_D50(), convert_bradford_LMS_to_XYZ(), convert_XYZ_to_bradford_LMS(), and FALSE.
Referenced by find_temperature_from_raw_coeffs().
|
inlinestatic |
Referenced by check_if_close_to_daylight(), and illum_xy_callback().
|
inlinestatic |
Referenced by check_if_close_to_daylight().
|
static |
References: https://en.wikipedia.org/wiki/Planckian_locus https://en.wikipedia.org/wiki/Standard_illuminant
Note : All values are x and y chromaticities for CIE 1931 2° observer
Referenced by illuminant_to_xy().
|
static |
FLUORESCENT
F1-F6 : standard fluo lamps (two semi-broadband emissions). F4 : used for calibrating the CIE color rendering index (CRI = 51). F7-F9 : broadband / full-spectrum light (multiple phosphors, higher CRI). F10-F12 : three narrowband emissions in the R,G,B regions of the visible spectrum tuned to desired CCT.
Referenced by illuminant_to_xy().