![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include <assert.h>#include <lcms2.h>#include <math.h>#include <stdlib.h>#include <string.h>#include "bauhaus/bauhaus.h"#include "common/colorspaces_inline_conversions.h"#include "common/darktable.h"#include "common/opencl.h"#include "control/control.h"#include "control/conf.h"#include "develop/develop.h"#include "develop/imageop_gui.h"#include "develop/imageop_math.h"#include "develop/tiling.h"#include "dtgtk/expander.h"#include "gui/gtk.h"#include "gui/color_picker_proxy.h"#include "iop/iop_api.h"#include "common/colorspaces.h"#include "external/cie_colorimetric_tables.c"
Include dependency graph for temperature.c:Go to the source code of this file.
Data Structures | |
| struct | dt_iop_temperature_params_t |
| struct | dt_iop_temperature_gui_data_t |
| struct | dt_iop_temperature_data_t |
| struct | dt_iop_temperature_global_data_t |
| struct | dt_iop_temperature_preset_data_t |
Macros | |
| #define | INITIALBLACKBODYTEMPERATURE 4000 |
| #define | DT_IOP_LOWEST_TEMPERATURE 1901 |
| #define | DT_IOP_HIGHEST_TEMPERATURE 25000 |
| #define | DT_IOP_LOWEST_TINT 0.135 |
| #define | DT_IOP_HIGHEST_TINT 2.326 |
| #define | DT_IOP_NUM_OF_STD_TEMP_PRESETS 4 |
| #define | DT_IOP_TEMP_AS_SHOT 0 |
| #define | DT_IOP_TEMP_SPOT 1 |
| #define | DT_IOP_TEMP_USER 2 |
| #define | DT_IOP_TEMP_D65 3 |
| #define | c1 3.7417715246641281639549488324352159753e-16L |
| #define | c2 0.014387769599838156481252937624049081933L |
Typedefs | |
| typedef struct dt_iop_temperature_params_t | dt_iop_temperature_params_t |
| typedef struct dt_iop_temperature_gui_data_t | dt_iop_temperature_gui_data_t |
| typedef struct dt_iop_temperature_data_t | dt_iop_temperature_data_t |
| typedef struct dt_iop_temperature_global_data_t | dt_iop_temperature_global_data_t |
| typedef struct dt_iop_temperature_preset_data_t | dt_iop_temperature_preset_data_t |
| const float c1 3.7417715246641281639549488324352159753e-16L |
Definition at line 795 of file colorspaces_inline_conversions.h.
Referenced by checker_set_color(), dn_weight(), green_equilibration_lavg(), JzAzBz_2_XYZ(), lmmse_demosaic(), local_laplacian_internal(), parse_cht(), rcd_demosaic(), smooth_path_linsys(), smooth_paths_linsys(), spd_blackbody(), weight(), and win_image_find_duplicates().
| const float c2 0.014387769599838156481252937624049081933L |
Definition at line 796 of file colorspaces_inline_conversions.h.
Referenced by _maketaps_mitchell(), checker_set_color(), dn_weight(), dt_image_path_append_version_no_db(), green_equilibration_lavg(), heat_PDE_diffusion(), JzAzBz_2_XYZ(), parse_cht(), smooth_path_linsys(), smooth_paths_linsys(), spd_blackbody(), weight(), and win_image_find_duplicates().
| #define DT_IOP_HIGHEST_TEMPERATURE 25000 |
Definition at line 93 of file temperature.c.
| #define DT_IOP_HIGHEST_TINT 2.326 |
Definition at line 96 of file temperature.c.
| #define DT_IOP_LOWEST_TEMPERATURE 1901 |
Definition at line 92 of file temperature.c.
| #define DT_IOP_LOWEST_TINT 0.135 |
Definition at line 95 of file temperature.c.
| #define DT_IOP_NUM_OF_STD_TEMP_PRESETS 4 |
Definition at line 98 of file temperature.c.
| #define DT_IOP_TEMP_AS_SHOT 0 |
Definition at line 101 of file temperature.c.
| #define DT_IOP_TEMP_D65 3 |
Definition at line 104 of file temperature.c.
| #define DT_IOP_TEMP_SPOT 1 |
Definition at line 102 of file temperature.c.
| #define DT_IOP_TEMP_USER 2 |
Definition at line 103 of file temperature.c.
| #define INITIALBLACKBODYTEMPERATURE 4000 |
Definition at line 90 of file temperature.c.
| typedef struct dt_iop_temperature_data_t dt_iop_temperature_data_t |
| typedef struct dt_iop_temperature_global_data_t dt_iop_temperature_global_data_t |
| typedef struct dt_iop_temperature_gui_data_t dt_iop_temperature_gui_data_t |
| typedef struct dt_iop_temperature_params_t dt_iop_temperature_params_t |
| typedef struct dt_iop_temperature_preset_data_t dt_iop_temperature_preset_data_t |
|
inlinestatic |
Definition at line 188 of file temperature.c.
References p.
Referenced by gui_changed(), gui_update(), mul2xyz(), and reload_defaults().
|
inlinestatic |
Definition at line 183 of file temperature.c.
References p.
Referenced by preset_tune_callback(), and temp_tint_callback().
|
static |
Definition at line 1318 of file temperature.c.
References darktable, dt_bauhaus_combobox_get(), dt_bauhaus_combobox_set(), DT_IOP_TEMP_AS_SHOT, DT_IOP_TEMP_D65, DT_IOP_TEMP_USER, g, darktable_t::gui, dt_iop_module_t::gui_data, preset, dt_gui_gtk_t::reset, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 1026 of file temperature.c.
References dt_image_t::adobe_XYZ_to_CAM, dt_image_t::d65_color_matrix, dt_iop_module_t::dev, dt_colorspaces_conversion_matrices_rgb(), dt_image_is_matrix_correction_supported(), and dt_develop_t::image_storage.
Referenced by find_coeffs(), and reload_defaults().
| void cleanup_global | ( | dt_iop_module_so_t * | module | ) |
Definition at line 1264 of file temperature.c.
References dt_iop_module_so_t::data, dt_free, dt_opencl_free_kernel(), dt_iop_temperature_global_data_t::kernel_whitebalance_1f, dt_iop_temperature_global_data_t::kernel_whitebalance_1f_xtrans, and dt_iop_temperature_global_data_t::kernel_whitebalance_4f.
| void cleanup_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 727 of file temperature.c.
References dt_dev_pixelpipe_iop_t::data, and dt_free_align.
| void color_picker_apply | ( | dt_iop_module_t * | self, |
| GtkWidget * | picker, | ||
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 1408 of file temperature.c.
References darktable, dt_iop_module_t::dev, dt_bauhaus_combobox_set(), dt_bauhaus_slider_set(), dt_dev_add_history_item, DT_IOP_TEMP_SPOT, g, darktable_t::gui, dt_iop_module_t::gui_data, mul2temp(), p, dt_iop_module_t::params, dt_iop_module_t::picked_color, dt_iop_module_t::picked_color_max, dt_iop_module_t::picked_color_min, dt_gui_gtk_t::reset, TRUE, and void().
| void color_rgb_sliders | ( | struct dt_iop_module_t * | self | ) |
Definition at line 733 of file temperature.c.
References dt_iop_module_t::dev, dt_bauhaus_slider_clear_stops(), dt_bauhaus_slider_get(), dt_bauhaus_slider_get_hard_max(), dt_bauhaus_slider_set_feedback(), dt_bauhaus_slider_set_stop(), DT_IMAGE_4BAYER, FALSE, dt_image_t::flags, g, dt_iop_module_t::gui_data, and dt_develop_t::image_storage.
Referenced by gui_reset(), gui_update(), and preset_tune_callback().
| void color_temptint_sliders | ( | struct dt_iop_module_t * | self | ) |
Definition at line 822 of file temperature.c.
References ch, double(), dt_bauhaus_slider_clear_stops(), dt_bauhaus_slider_get(), DT_BAUHAUS_SLIDER_MAX_STOPS, dt_bauhaus_slider_set_feedback(), dt_bauhaus_slider_set_stop(), DT_IOP_HIGHEST_TEMPERATURE, DT_IOP_HIGHEST_TINT, DT_IOP_LOWEST_TEMPERATURE, DT_IOP_LOWEST_TINT, g, dt_iop_module_t::gui_data, i, temp2mul(), and temperature_tint_to_XYZ().
Referenced by gui_reset(), gui_update(), and preset_tune_callback().
| void commit_params | ( | struct dt_iop_module_t * | self, |
| dt_iop_params_t * | p1, | ||
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 680 of file temperature.c.
References dt_iop_buffer_dsc_t::coeffs, d, dt_dev_pixelpipe_iop_t::data, dt_iop_module_t::dev, dt_dev_pixelpipe_iop_t::dsc_in, dt_dev_pixelpipe_iop_t::dsc_out, DT_IMAGE_4BAYER, dt_image_is_matrix_correction_supported(), dt_image_pipe_class(), dt_image_pipe_class_name(), dt_iop_fmt_log, dt_iop_buffer_dsc_t::enabled, dt_dev_pixelpipe_iop_t::enabled, FALSE, dt_image_t::flags, g, dt_iop_module_t::gui_data, dt_develop_t::image_storage, IS_NULL_PTR, k, p, dt_dev_pixelpipe_iop_t::process_cl_ready, dt_iop_buffer_dsc_t::processed_maximum, dt_develop_t::proxy, dt_iop_buffer_dsc_t::temperature, TRUE, dt_develop_t::wb_coeffs, and dt_develop_t::wb_is_D65.
| int default_colorspace | ( | dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| const dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 251 of file temperature.c.
References dt_iop_buffer_dsc_t::cst, dt_dev_pixelpipe_iop_t::dsc_in, IOP_CS_RAW, and IOP_CS_RGB.
| int default_group | ( | ) |
Definition at line 241 of file temperature.c.
References IOP_GROUP_TECHNICAL.
| const char ** description | ( | struct dt_iop_module_t * | self | ) |
Definition at line 232 of file temperature.c.
References dt_iop_set_description().
| typedef double | ( | (*)(unsigned long int wavelength, double TempK) | spd | ) |
References double().
Referenced by _aspect_apply(), _bin_pixels_waveform_in_roi(), _compute_prequantized_primaries(), _darkroom_edge_pan_update_state(), _drawlayer_map_source_damage_to_target(), _get_auto_exp(), _get_export_size(), _get_image_buffer(), _menu_icon_draw(), _metadata_view_update_values(), _nm_fit_output_to_input_roi(), _nm_fitness(), _paint_waveform(), _polygon_border_get_XY(), _popup_coordinates(), _refresh_progress_counter(), _track_add_point(), apply_box_aspect(), cairo_draw_hatches(), color_temptint_sliders(), distort_backtransform(), distort_transform(), double(), draw_slider_line(), dt_cairo_rescale_surface(), dt_get_papers(), dt_gpx_get_location(), dt_gui_update_em(), dt_histogram_worker(), dt_set_xmp_exif_geotag(), dt_thumbtable_scroll_to_rowid(), dtgtk_cairo_paint_shortcut(), enlarge_ntuple_list(), gaussian_kernel(), gaussian_sampler(), get_params(), get_theta(), nfa(), process(), reduce_region_radius(), refine(), region2rect(), set_params(), show_pango_text(), spd_blackbody(), and thinplate_match().
|
static |
Definition at line 1090 of file temperature.c.
References calculate_bogus_daylight_wb(), dt_image_t::camera_missing_sample, dt_iop_module_t::dev, dt_control_log(), DT_IMAGE_4BAYER, dt_image_t::filename, dt_image_t::flags, ignore_missing_wb(), dt_develop_t::image_storage, k, and dt_image_t::wb_coeffs.
Referenced by reload_defaults().
| int flags | ( | ) |
Definition at line 246 of file temperature.c.
References IOP_FLAGS_ALLOW_TILING, and IOP_FLAGS_ONE_INSTANCE.
| gboolean force_enable | ( | struct dt_iop_module_t * | self, |
| const gboolean | current_state | ||
| ) |
Definition at line 666 of file temperature.c.
References dt_iop_module_t::dev, dt_image_is_monochrome(), dt_image_pipe_class(), dt_image_pipe_class_name(), dt_iop_fmt_log, dt_develop_t::image_storage, and state.
| void gui_changed | ( | dt_iop_module_t * | self, |
| GtkWidget * | w, | ||
| void * | previous | ||
| ) |
Definition at line 1306 of file temperature.c.
References _temp_array_from_params(), dt_bauhaus_combobox_set(), DT_IOP_TEMP_USER, g, dt_iop_module_t::gui_data, mul2temp(), p, and dt_iop_module_t::params.
| void gui_cleanup | ( | struct dt_iop_module_t * | self | ) |
Definition at line 1604 of file temperature.c.
References DT_REQUEST_COLORPICK_OFF, IOP_GUI_FREE, and dt_iop_module_t::request_color_pick.
| void gui_init | ( | struct dt_iop_module_t * | self | ) |
Definition at line 1490 of file temperature.c.
References darktable_t::bauhaus, btn_toggled(), darktable, dt_bauhaus_combobox_new(), dt_bauhaus_slider_from_params(), dt_bauhaus_slider_new_with_range_and_feedback(), dt_bauhaus_slider_set_digits(), dt_bauhaus_slider_set_format(), dt_bauhaus_widget_set_label(), DT_COLOR_PICKER_AREA, dt_color_picker_new_with_cst(), dt_gui_add_class(), DT_GUI_BOX_SPACING, DT_GUI_MODULE, dt_gui_new_collapsible_section(), DT_IOP_HIGHEST_TEMPERATURE, DT_IOP_HIGHEST_TINT, DT_IOP_LOWEST_TEMPERATURE, DT_IOP_LOWEST_TINT, dt_iop_togglebutton_new(), dt_ui_section_label_new(), dtgtk_cairo_paint_bulb(), dtgtk_cairo_paint_camera(), dtgtk_cairo_paint_colorpicker(), dtgtk_cairo_paint_masks_drawn(), DTGTK_TOGGLEBUTTON, dtgtk_togglebutton_set_paint(), FALSE, g, IOP_CS_NONE, IOP_GUI_ALLOC, k, preset_tune_callback(), temp_tint_callback(), TRUE, and dt_iop_module_t::widget.
| void gui_reset | ( | struct dt_iop_module_t * | self | ) |
Definition at line 1611 of file temperature.c.
References color_rgb_sliders(), color_temptint_sliders(), dt_bauhaus_combobox_get(), dt_iop_color_picker_reset(), DT_IOP_TEMP_AS_SHOT, DT_IOP_TEMP_D65, DT_IOP_TEMP_USER, g, dt_iop_module_t::gui_data, preset, and TRUE.
|
static |
Definition at line 1449 of file temperature.c.
References dt_iop_module_t::dev, dt_image_t::dsc, dt_bauhaus_widget_set_label(), DT_IMAGE_4BAYER, dt_iop_buffer_dsc_t::filters, FILTERS_ARE_CYGM, dt_image_t::flags, g, dt_iop_module_t::gui_data, and dt_develop_t::image_storage.
Referenced by reload_defaults().
| void gui_update | ( | struct dt_iop_module_t * | self | ) |
Refresh GUI controls from current params and configuration.
gui callbacks, these are needed.
Definition at line 953 of file temperature.c.
References _temp_array_from_params(), color_rgb_sliders(), color_temptint_sliders(), dt_iop_module_t::default_enabled, dt_iop_module_t::dev, dt_bauhaus_combobox_get(), dt_bauhaus_combobox_set(), dt_bauhaus_slider_set(), dt_gui_update_collapsible_section(), dt_image_is_matrix_correction_supported(), dt_image_is_monochrome(), dt_iop_color_picker_reset(), DT_IOP_TEMP_AS_SHOT, DT_IOP_TEMP_D65, DT_IOP_TEMP_USER, FALSE, g, dt_iop_module_t::gui_data, dt_iop_module_t::hide_enable_button, dt_develop_t::image_storage, mul2temp(), p, dt_iop_module_t::params, preset, TRUE, and dt_iop_module_t::widget.
|
static |
Definition at line 193 of file temperature.c.
References dt_image_t::camera_makermodel, FALSE, dt_image_t::filename, i, and TRUE.
Referenced by find_coeffs().
| void init_global | ( | dt_iop_module_so_t * | module | ) |
| void init_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 721 of file temperature.c.
References dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_iop_t::data_size, and dt_calloc_align().
| int legacy_params | ( | dt_iop_module_t * | self, |
| const void *const | old_params, | ||
| const int | old_version, | ||
| void * | new_params, | ||
| const int | new_version | ||
| ) |
Definition at line 159 of file temperature.c.
References n, and dt_iop_temperature_params_t::red.
|
static |
Definition at line 471 of file temperature.c.
References mul2xyz(), p, and XYZ_to_temperature().
Referenced by color_picker_apply(), gui_changed(), gui_update(), preset_tune_callback(), and reload_defaults().
|
static |
Definition at line 450 of file temperature.c.
References _temp_array_from_params(), g, dt_iop_module_t::gui_data, i, k, p, and XYZ.
Referenced by mul2temp().
| const char * name | ( | ) |
Definition at line 227 of file temperature.c.
| void output_format | ( | dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece, | ||
| dt_iop_buffer_dsc_t * | dsc | ||
| ) |
Definition at line 260 of file temperature.c.
References default_output_format().
|
static |
Definition at line 1055 of file temperature.c.
References dt_image_t::adobe_XYZ_to_CAM, dt_image_t::d65_color_matrix, dt_iop_module_t::dev, dt_colorspaces_conversion_matrices_xyz(), dt_control_log(), dt_image_needs_rawprepare(), g, dt_iop_module_t::gui_data, and dt_develop_t::image_storage.
Referenced by reload_defaults().
|
static |
Definition at line 1341 of file temperature.c.
References _temp_params_from_array(), color_rgb_sliders(), color_temptint_sliders(), darktable, darktable_t::develop, dt_bauhaus_combobox_get(), dt_bauhaus_slider_set(), dt_dev_add_history_item, dt_iop_color_picker_reset(), DT_IOP_TEMP_AS_SHOT, DT_IOP_TEMP_D65, DT_IOP_TEMP_SPOT, DT_IOP_TEMP_USER, g, darktable_t::gui, dt_iop_module_t::gui_data, mul2temp(), dt_iop_module_t::off, p, dt_iop_module_t::params, dt_gui_gtk_t::reset, and TRUE.
Referenced by gui_init().
| __DT_CLONE_TARGETS__ int process | ( | struct dt_iop_module_t * | self, |
| const dt_dev_pixelpipe_t * | pipe, | ||
| const dt_dev_pixelpipe_iop_t * | piece, | ||
| const void *const | ivoid, | ||
| void *const | ovoid | ||
| ) |
Definition at line 477 of file temperature.c.
References __OMP_PARALLEL_FOR__, ch, dt_iop_buffer_dsc_t::channels, d, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_iop_t::dsc_in, DT_DEV_PIXELPIPE_DISPLAY_MASK, FC(), FCxtrans(), dt_iop_buffer_dsc_t::filters, height, dt_iop_roi_t::height, i, k, dt_dev_pixelpipe_t::mask_display, out, ovoid, p, dt_dev_pixelpipe_iop_t::roi_out, width, dt_iop_roi_t::width, dt_iop_roi_t::x, dt_iop_buffer_dsc_t::xtrans, and dt_iop_roi_t::y.
| int process_cl | ( | struct dt_iop_module_t * | self, |
| const dt_dev_pixelpipe_t * | pipe, | ||
| const dt_dev_pixelpipe_iop_t * | piece, | ||
| cl_mem | dev_in, | ||
| cl_mem | dev_out | ||
| ) |
Definition at line 601 of file temperature.c.
References d, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_t::devid, dt_dev_pixelpipe_iop_t::dsc_in, DT_DEBUG_OPENCL, dt_opencl_copy_host_to_device_constant(), dt_opencl_enqueue_kernel_2d(), dt_opencl_release_mem_object(), dt_opencl_set_kernel_arg(), dt_print(), error(), FALSE, dt_iop_buffer_dsc_t::filters, dt_iop_module_t::global_data, height, dt_iop_roi_t::height, IS_NULL_PTR, kernel(), dt_iop_temperature_global_data_t::kernel_whitebalance_1f, dt_iop_temperature_global_data_t::kernel_whitebalance_1f_xtrans, dt_iop_temperature_global_data_t::kernel_whitebalance_4f, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, ROUNDUPDHT, ROUNDUPDWD, TRUE, width, dt_iop_roi_t::width, dt_iop_roi_t::x, dt_iop_buffer_dsc_t::xtrans, and dt_iop_roi_t::y.
| void reload_defaults | ( | dt_iop_module_t * | module | ) |
Definition at line 1142 of file temperature.c.
References _temp_array_from_params(), calculate_bogus_daylight_wb(), d, dt_iop_module_t::default_enabled, dt_iop_module_t::dev, dt_bauhaus_combobox_add(), dt_bauhaus_combobox_clear(), dt_bauhaus_slider_set_default(), dt_conf_is_equal(), dt_image_is_matrix_correction_supported(), dt_image_is_monochrome(), dt_image_pipe_class(), dt_image_pipe_class_name(), dt_iop_fmt_log, DT_IOP_NUM_OF_STD_TEMP_PRESETS, find_coeffs(), g, dt_iop_module_t::gui_data, gui_sliders_update(), dt_iop_module_t::hide_enable_button, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, mul2temp(), prepare_matrices(), and dt_iop_module_t::widget.
Definition at line 276 of file temperature.c.
References c1, c2, and double().
Referenced by temperature_to_XYZ().
Definition at line 310 of file temperature.c.
Referenced by temperature_to_XYZ().
|
static |
Definition at line 336 of file temperature.c.
Referenced by temperature_to_XYZ().
|
static |
TODO: problem here is that tint as it is is just a nasty hack modyfying Y component and therefore changing RGB coefficients in wrong way, because modifying only Y in that way doesn’t move XYZ point orthogonally to planckian locus. That means it actually changes temperature and thus it lies!
Definition at line 434 of file temperature.c.
References temperature_to_XYZ(), and xyz2mul().
Referenced by color_temptint_sliders(), and temp_tint_callback().
|
static |
Definition at line 1273 of file temperature.c.
References _temp_params_from_array(), darktable, darktable_t::develop, dt_bauhaus_combobox_set(), dt_bauhaus_slider_get(), dt_bauhaus_slider_set(), dt_dev_add_history_item, dt_iop_color_picker_reset(), DT_IOP_TEMP_USER, g, darktable_t::gui, dt_iop_module_t::gui_data, p, dt_iop_module_t::params, dt_gui_gtk_t::reset, temp2mul(), and TRUE.
Referenced by gui_init().
Definition at line 382 of file temperature.c.
References temperature_to_XYZ().
Referenced by color_temptint_sliders().
|
static |
Definition at line 365 of file temperature.c.
References DT_IOP_HIGHEST_TEMPERATURE, DT_IOP_LOWEST_TEMPERATURE, INITIALBLACKBODYTEMPERATURE, spd_blackbody(), spd_daylight(), and spectrum_to_XYZ().
Referenced by temp2mul(), temperature_tint_to_XYZ(), and XYZ_to_temperature().
|
static |
Definition at line 415 of file temperature.c.
References g, dt_iop_module_t::gui_data, i, k, and XYZ.
Referenced by temp2mul().
|
static |
Definition at line 392 of file temperature.c.
References DT_IOP_HIGHEST_TEMPERATURE, DT_IOP_HIGHEST_TINT, DT_IOP_LOWEST_TEMPERATURE, DT_IOP_LOWEST_TINT, temperature_to_XYZ(), and XYZ.
Referenced by mul2temp().