Save provisory work for autowb ITCWB

This commit is contained in:
Desmis
2019-06-25 13:56:52 +02:00
parent 66c9cd6177
commit 5dbc61579d
15 changed files with 6317 additions and 4 deletions

View File

@@ -22,6 +22,7 @@
#include <cmath>
#include <map>
#include <string>
#include "procparams.h"
namespace rtengine
{
@@ -54,6 +55,7 @@ public:
explicit ColorTemp (double e) : temp(-1.), green(-1.), equal (e), method("Custom") {}
ColorTemp (double t, double g, double e, const std::string &m);
ColorTemp (double mulr, double mulg, double mulb, double e);
static void tempxy(bool separated, int &repref, float **Tx, float **Ty, float **Tz, float **Ta, float **Tb, float **TL, double *TX, double *TY, double *TZ, const procparams::WBParams & wbpar);
void update (const double rmul, const double gmul, const double bmul, const double equal, const double tempBias=0.0)
{
@@ -96,6 +98,8 @@ public:
static void temp2mulxyz (double tem, const std::string &method, double &Xxyz, double &Zxyz);
static void cieCAT02(double Xw, double Yw, double Zw, double &CAM02BB00, double &CAM02BB01, double &CAM02BB02, double &CAM02BB10, double &CAM02BB11, double &CAM02BB12, double &CAM02BB20, double &CAM02BB21, double &CAM02BB22, double adap );
static void cieCAT02float(float Xw, float Yw, float Zw, float &CAM02BB00, float &CAM02BB01, float &CAM02BB02, float &CAM02BB10, float &CAM02BB11, float &CAM02BB12, float &CAM02BB20, float &CAM02BB21, float &CAM02BB22, float adap);
static void icieCAT02float(float Xw, float Yw, float Zw, float &iCAM02BB00, float &iCAM02BB01, float &iCAM02BB02, float &iCAM02BB10, float &iCAM02BB11, float &iCAM02BB12, float &iCAM02BB20, float &iCAM02BB21, float &iCAM02BB22, float adap);
bool operator== (const ColorTemp& other) const
{
@@ -163,6 +167,125 @@ public:
static const double ColorchechGreD1_spect[97];
static const double ColorchechSGBlaN3_6_spect[97];//ColorChecker SG N3
static const double JDC468_GraK14_44_spect[97];//468 K14
static const double JDC468_BluM5_spect[97]; //468 M5
static const double JDC468_BluD6_spect[97]; //468 D6
static const double JDC468_BluF4_spect[97]; //468 F4
static const double JDC468_RedG21va_spect[97]; //468 G21 modifié
static const double JDC468_RedI9_spect[97]; //468 I9
static const double JDC468_GreI8_spect[97]; //468 I8
static const double JDC468_GreQ7_spect[97]; //468 Q7
static const double ColorGreenM25_spect[97];
static const double ColorYellowkeltano_spect[97];
static const double ColorGreenalsi_spect[97];
static const double ColorRedpetunia_spect[97];
static const double ColorRedkurttu_spect[97];
static const double ColorRedlupiini_spect[97];
static const double ColorRedhevosminttu_spect[97];
static const double ColorRedneilikka_spect[97];
static const double ColorRedpelagornia_spect[97];
static const double ColorRedtalvio_spect[97];
static const double ColorBrownpoimulehti_spect[97];
static const double ColorOrangetuntematon_spect[97];
static const double ColorOrangetlehmus_spect[97];
static const double ColorOrangvaahtera_spect[97];
static const double ColorBrownlehmus_spect[97];
static const double ColorBrownuotiosammal_spect[97];
static const double ColorBlacksoil_spect[97];
static const double ColorGraynahjajaekaelae_spect[97];
static const double ColorGreennuotisammal_spect[97];
static const double ColorGreenleskenlehti_spect[97];
static const double ColorGreenlinnunkaali_spect[97];
static const double ColorGreenpelto_spect[97];
static const double ColorGreenrodvoikukka[97];
static const double ColorGreenlehmus[97];
static const double ColorGreenlinden[97];
static const double ColorYellowlehmus[97];
static const double ColorYellowsuikeroalpi[97];
static const double ColorYellowpensashanhikki1[97];
static const double ColorYellowpensashanhikki2[97];
static const double ColorBluehiidenvirna[97];
static const double ColorBluekurkkuyrtti[97];
static const double ColorPinksiankaersaemoe[97];
static const double ColorVioletharakankello[97];
static const double ColorVioletalsikeapila[97];
static const double ColorVioletakilleija[97];
static const double ColorOrangekehaekukka[97];
static const double ColorRedpihlaja[97];
static const double ColorVioletpetunia[97];
static const double ColorVioletorvokki[97];
static const double ColorBluesinisievikki[97];
static const double ColorBlueiisoppi[97];
static const double ColorBluelobelia[97];
static const double ColorWhiteojaka[97];
static const double ColorWhitepetunia[97];
static const double ColorWhitepelargonia[97];
static const double ColorWhitepaeivaen[97];
static const double JDC468_B14_75Redspect[97];
static const double Colorblue_spect[97];
static const double ColorGreenkoriste[97];
static const double ColorGreenpoimulehti[97];
static const double ColorGreenhopeapaju[97];
static const double ColorReduuden[97];
static const double ColorRedpajuan[97];
static const double ColorRedjaloan[97];
static const double ColorBlueukon[97];
static const double ColorBlueorvokki[97];
static const double ColorBluemalvikki[97];
static const double ColorBlackmaito[97];
static const double ColorOrangpihlaja[97];
static const double ColorBlackpihlaja[97];
static const double ColorViolA1_spect[97];
static const double ColorViolA4_spect[97];
static const double ColorViolA6_spect[97];
static const double ColorBlueSkyK3_spect[97];
static const double ColorBlueSkyK9_spect[97];
static const double ColorBlueSkyC4_spect[97];
static const double ColorBlueSkyC14_spect[97];
static const double ColorBlueSkyE4_spect[97];
static const double ColorBlueSkyM1_spect[97];
static const double ColorBlueSky2B1_spect[97];
static const double ColorBlueSkyT7_spect[97];
static const double ColorBlueSkyU19_spect[97];
static const double ColorBlueSkyU2_spect[97];
static const double ColorBlueSkyT17_spect[97];
static const double ColorBlackM8_spect[97];
static const double ColorBlackM12_spect[97];
static const double ColorBlackM13_spect[97];
static const double ColorWhite2B12_spect[97];
static const double ColorWhite2B14_spect[97];
static const double JDC468_Blackred97_spect[97];
static const double JDC468_Blackredbl443_spect[97];
static const double JDC468_Blackbl27_spect[97];
static const double JDC468_Blackbl28_spect[97];
static const double JDC468_Blackgr214_spect[97];
static const double JDC468_Blackbl436_spect[97];
static const double JDC468_Whitebl455_spect[97];
static const double JDC468_Blackvio101_spect[97];
static const double JDC468_Whitebl92_spect[97];
static const double JDC468_Greyredbl94_spect[97];
static const double JDC468_Blue32_spect[97];
static const double JDC468_Blue236_spect[97];
static const double JDC468_Gre300_spect[97];
static const double JDC468_Blue340_spect[97];
static const double JDC468_Gree110_spect[97];
static const double JDC468_Gree457_spect[97];
static const double JDC468_Yel241_spect[97];
static const double JDC468_Ora321_spect[97];
static const double JDC468_Yellow353_spect[97];
static const double JDC468_Mag465_spect[97];
static const double JDC468_Mag333_spect[97];
static const double JDC468_Mag203_spect[97];
static const double JDC468_OraO18_spect[97]; //468 O18
static const double JDC468_OraD17_spect[97]; //468 D17
static const double Fictif_61greyspect[97];//468 K15
static const double JDC468_K15_87greyspect[97];
static const double JDC468_YelN10_spect[97]; //468 N10
static const double JDC468_GreN7_spect[97]; //468 N7
static const double JDC468_GreA10_spect[97]; //468 A10
static const double JDC468_GreK7_spect[97]; //468 K7
static const double JDC468_PurE24_spect[97]; //468 E24
static const double JDC468_BluH10_spect[97];//468 H10
static const double ColabSkin35_15_17_spect[97];//Skin L 35
static const double ColabSkin57_22_18_spect[97];//Skin L 57
@@ -196,6 +319,55 @@ public:
static const double ColabSkin70_7_32_spect[97];//Skin L 77
static const double ColabSky60_0_m31_spect[97];//Sky L=60
static const double ColabSky42_0_m24_spect[97];//Sky L=42
static const double J570_BlueB6_spect[97];//blue Cyan
static const double J570_BlueB15_spect[97];//blue Cyan
static const double J570_BlueC2_spect[97];//blue Cyan
static const double J570_BlueC14_spect[97];//blue Cyan
static const double J570_BlueC16_spect[97];//blue Cyan
static const double J570_BlueF1_spect[97];//blue Cyan
static const double J570_BlueF2_spect[97];//blue Cyan
static const double J570_BlueF10_spect[97];//blue Cyan
static const double J570_BlueF13_spect[97];//blue Cyan
static const double J570_BlueG9_spect[97];//blue Cyan
static const double J570_BlueG19_spect[97];//blue Cyan
static const double J570_BlueI5_spect[97];//blue Cyan
static const double J570_BlueH15_spect[97];//blue Cyan
static const double J570_BlueI3_spect[97];//blue Cyan
static const double J570_BlueI19_spect[97];//blue Cyan
static const double J570_BlueJ4_spect[97];//blue Cyan
static const double J570_BlueJ6_spect[97];//blue Cyan
static const double J570_BlueJ11_spect[97];//blue Cyan
static const double J570_BlueJ13_spect[97];//blue Cyan
static const double J570_BlueK5_spect[97];//blue Cyan
static const double J570_BlueN1_spect[97];//blue Cyan
static const double J570_BlueN4_spect[97];//blue Cyan
static const double J570_BlueO19_spect[97];//blue Cyan
static const double J570_BlueU8_spect[97];//blue Cyan
static const double J570_NeuN8_spect[97];//neutral
static const double J570_NeuN9_spect[97];//neutral
static const double J570_NeuO8_spect[97];//neutral
static const double J570_NeuO11_spect[97];//neutral
static const double J570_NeuD5_spect[97];//neutral
static const double J570_NeuE11_spect[97];//neutral
static const double J570_NeuK16_spect[97];//neutral
static const double J570_NeuM3_spect[97];//neutral
static const double J570_NeuN18_spect[97];//neutral
static const double J570_NeuQ1_spect[97];//neutral
static const double J570_NeuS7_spect[97];//neutral
static const double J570_NeuV10_spect[97];//neutral
static const double J570_NeuW18_spect[97];//neutral
static const double J570_NeuZ14_spect[97];//neutral
static const double J570_NeuC18_spect[97];//neutral
static const double J570_NeuD17_spect[97];//neutral
static const double J570_NeuJ11_spect[97];//neutral
static const double J570_NeuL4_spect[97];//neutral
static const double Colorlab_n72_n2_spect[97];
static const double Colorlab_10_n70_spect[97];
static const double Colorlab_n33_n70_spect[97];
static const double Colorlab_n8_n74_spect[97];
static const double Colorlab_19_n69_spect[97];
static const double Colorlab_n80_10_spect[97];
static const double Colorlab_n80_26_spect[97];
static void spectrum_to_xyz_daylight (double _m1, double _m2, double &x, double &y, double &z);
static void spectrum_to_xyz_blackbody (double _temp, double &x, double &y, double &z);