LA - new tool - Color appearance (Cam16 & JzCzHz) (#6377)

* Gui improvments

* Several improvments GUI Jz algo

* Change function La for lightess Jz

* SH jzazbz first

* enable Jz SH

* Clean code

* Disabled Munsell correction when Jz

* Change tooltip and Cam16 Munsell

* GUI for CzHz and HzHz curves

* Enable curves Hz(Hz) Cz(Hz)

* Improve Cz chroma

* Jz100 reference refine

* Change limit Jz100

* Refine link between jz100 and peak adaptation

* Improve GUI

* Various improvment PQ PU gamut

* Change defaults settings

* forgotten PL in gamutjz

* Small changes and comment

* Change gamujz parameter

* disabled gamut Jz too slow

* Jzazbz curve Jz(Hz)

* reenable gamutjz

* small changes

* Change tooltip

* Change labels tooltips

* Jzazbz only on advanced mode

* GUI improvments

* Change tooltip

* Change default values and tooltip

* Added tooltip Jz

* Disabled Jz gamut

* Change gamma color and light - remove exposure

* Gamma for exposure and DR

* gamma Sharp

* Gamma vibrance

* gamma optimizations

* Change tooltips

* Optimization PQ

* LA GUI for tone curve Ciecam

* LA ciecam Enable curve lightness - brightness

* LA ciecam GUI color curve

* LA ciecam enable color curve

* Change tooltip and default values

* Enable Jz curve

* Enable Cz(Cz) curve

* Enable Cz(Jz) curve

* Added Log encoding to ciecam

* Improvment algorithm remapping

* Reenable forgotten listener logencodchanged

* Change Jz tooltips

* Reenable dynamic range and exposure

* First change GUI auto ciecam

* 2nd fixed ciecam auto

* Improve GUI maskbackground curves

* Enable activspot for la ciecam

* set sensitive sliders La ciecam when auto scene conditions

* Change internal calculations see comments

* Checcbox ForceJz to 1

* Change tool position - change order CAM model

* Expander for Jzczhz

* Remove unused code

* GUI changes

* Change labels CAM16 Jzazbz

* Change slider brightness parameters

* improvment SH jz

* Some changes to brightness Jz

* Fixed scene conditions auto

* Renable forgotten change

* Prepare calculation Zcam

* Prepare Iz for zcam

* First GUI Zcam

* Improve GUI Zcam

* Calculate Qz white - brightness of the reference white

* Prepare for PQ - eventually

* Init LUT ZCAMBrightCurveJz and ZCAMBrightCurveQz

* prepare zcam achromatic variables

* First zcam

* Change algo step 5 zcam

* Another change original algo

* Another change to original algo

* first colorfullness

* Fixed bad behavior threshold and change c c2 surround parameters

* added saturation Zcam

* Change parameters surround

* Enable chroma zcam

* change chroma and lightness formula

* disable OMP for 2nd process Zcam

* Improvment zcam for some high-light images

* Change parameters overflow zcam

* Change parmeters high datas

* another change to retrieve...

* Simplify code matrix conversion xyz-jzazbz

* Adjust internam parameters zcam

* Change some parameters - clean code

* Enable PQCam16

* Enable PQ Cam16 - disable ZCAM

* remove warning compilation message

* Change GUI jzczhz

* Fixed bad behavior remaping jz

* Remove forgotten parameter - hide Jz100 - PU adaptation- chnage tooltips

* Another change to chroma parameter

* Small changes

* If verbose display in console Cam16 informations

* If verbose display in console source saturation colorfullness

* Change to La calculation for ciecam

* Change GUI cam16 - jzczhz - remove cam16 and jzczhz

* Disable exposure compensation to calculate La for all Ciecam and Log encoding

* Change label Cam16 and jzczhz

* Improve GUI Jz

* Other improvment GUI Jz Cam16

* verify nan Jz and ciecam matrix to avoid crash

* Enable La manual for Jz to change PU-adaptation

* Improve calculation to avoid crash Jz and Cam16 matrix

* Fixed crash with local contrast in cam16

* Clean code loccont

* First step GUI Cie mask

* GUI part 2 - Cie

* Build cieMask

* Gui part 3 cie

* Valid llcieMask

* Valid llcieMask

* Pass GUI curves parameters to iplocallab.cc

* 2nd pass parameters from GUI to iplocallab.cc

* Init first functions modifications

* Add expander to cam16 adjustments

* First test mask cie

* Various improvment GUI - tooltips - process

* Take into account Yb cam16 for Jz - reenable warm-cool

* Surround source Cam16 before Jz

* Improve GUI and process

* Fixed bug and bad behavior last commit

* Fixed bug chroma mask - improve GUI - Relative luminance for Jz

* Increase sensitivity mask chroma

* Improve Jz with saturation Z - improve GUI Jzczhz

* Small code improvment

* Another change mask C and enable mask for Cam16 and Jz

* Some changes

* Enable denoise chroma mask

* Small change LIM01 normchromar

* Enable Zcam matrix

* Improve chroma curves...mask and boudaries

* take into account recursive slider in settings

* Change tooltip - improvment to C curve (denoise C - best value in curves - etc.) - remove Zcam button

* Change tooltips

* First part GUI - local contrast wavelet Jz

* Passed parameters GUI local contrast wav jz to rtengine

* save config wavelet jz

* first try wavelet local contrast Jz

* Add tooltips

* Simplify code wavelet local contrast

* take into account edge wavelet performance in Wavelet Jz

* Fixed overflow jz when usig botth contradt and wavelt local jz contrast

* Adapt size winGdiHandles in filepanel to avoid crash in Windows multieditor

* First GUI part Clarity wavelet Jz

* First try wavelet Jz Cz clarity

* Added tooltips

* Small change to enable wavelet jz

* Disabled (commented) all Zcam code

* Improve behavior when SH local-contrast and Clarity are use both

* Change limit PQremap jz

* Clean and optimize code

* Reenable mjjz

* Change settings guidedfilter wavelet Jz

* Fixed crash when revory based on lum mask negative

* Change tooltip

* Fixed ad behavior auto mean and absolute luminance

* Remove warning in console

* Fixed bad behavior auto Log encoding - bad behavior curves L(H) Jz

* Fixed another bad behavior - reenable curves color and light L(H) C(H)

* first transposition Lab Jz for curves H

* Change mask boundary for Jz

* Various improvment to H curves Jz

* Add amountchrom to Hcurve Color and Light

* Improve gray boundary curves behavior

* reenable Jz curve H(H) - soft radius

* Improve guidefilter Jz H curve

* Threshold chroma Jz(Hz)

* Enable guidedfilter chroma curve H

* improve GUI curves Hz

* Checkbutton chroma for curve Jz(Hz)

* Change event selectspot

* Clean and small optimization code

* Another clean code

* Change calculation Hz references for curves Hz

* Clean code

* Various changes to GF and GUI

* Another change to Chroma for Jz(H)

* Change GUI sensitive Jz100 adapdjzcie

* Improve code for Jz100

* Change default value skin-protection to 0 instead of 50

* Clean code

* Remove BENCHFUN for ciecam

* small correction to huejz_to_huehsv2 conversion

* Added missing plum parameter for jch2xyz_ciecam02float

* another small change to huejz_to_huehsv2

* Improvment to huelab_to_huehsv2 and some double functions

* Fixed warning hide parameters in lgtm-com

* Fixed ? Missing retuen statement in lgtm-com

* Change behavior Log encoding whith PQ Cam16

* Small improvment to Jz PU adaptation

* Added forgoten to_one for Cz slider

* Replace 0.707... by RT_SQRT1_2 - change some settings chroma

* Improvment to getAutoLogloc

* Fixed crash with array in getAutoLogloc

* First try Jz Log encoding

* Forgotten Cz

* Various improvment GUI setlogscale - Jz log encoding

* Change labels tooltips Jz log

* Change wrong clipcz value

* Change tooltip auto scene conditions

* Fixed bad behavior blackevjz whiteevjz

* Small improvment to LA Log encoding std

* Avoid bad behavior Jz log when enable Relative luminance

* Change sourcegray jz calculation

* Revert last change

* Clean and comment code

* Review tooltips thanks to Wayne - harmonize response La log encoding and Jz Log encoding

* Always force Dynamic Range evaluation in full frame mode for Jz log encoding

* Remove unused code

* Small optimizations sigmoid Cam16 and Jz

* Comment code

* Change parameters deltaE for HDR

* Various improvment to Jz - La - sigmoid - log encoding

* Basic support for Sony ILCE-7M4 in camconst.json

* German translation Spot Removal (#6388)

* Filmnegative German translation (#6389)

* (Temporarily) disable `ftree-loop-vectorize` for GCC 11 because of #6384

* Added BlacEv WhiteEv to sigmoidJz

* Improve GUI for BlackEv WhiteEv

* Change location SigmoidJz in Iplocallab

* Improvment GUI and sensitivity sliders strength sigmoid

* Change labels

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
Co-authored-by: Anna <simonanna@gmx.net>
This commit is contained in:
Desmis
2021-12-21 07:43:59 +01:00
committed by GitHub
parent 4b8481f1c9
commit 1e4f41bc05
31 changed files with 9425 additions and 784 deletions

View File

@@ -1073,9 +1073,119 @@ enum ProcEventCode {
Evlocallabreparexp = 1047,
Evlocallabrepartm = 1048,
Evlocallabchroml = 1049,
Evlocallabresidgam = 1050,
Evlocallabresidslop = 1051,
Evlocallabnoisegam = 1052,
Evlocallabgamlc = 1053,
Evlocallabgamc = 1054,
Evlocallabgamex = 1055,
EvLocenacie = 1056,
Evlocallabreparcie = 1057,
EvlocallabAutograycie = 1058,
EvlocallabsourceGraycie = 1059,
Evlocallabsourceabscie = 1060,
Evlocallabsursourcie = 1061,
Evlocallabsaturlcie = 1062,
Evlocallabchromlcie = 1063,
Evlocallablightlcie = 1064,
Evlocallablightqcie = 1065,
Evlocallabcontlcie = 1066,
Evlocallabcontthrescie = 1067,
Evlocallabcontqcie = 1068,
Evlocallabcolorflcie = 1069,
Evlocallabtargabscie = 1070,
EvlocallabtargetGraycie = 1071,
Evlocallabcatadcie = 1072,
Evlocallabdetailcie = 1073,
Evlocallabsurroundcie = 1074,
Evlocallabsensicie = 1075,
Evlocallabmodecie = 1076,
Evlocallabrstprotectcie = 1077,
Evlocallabsigmoidldacie = 1078,
Evlocallabsigmoidthcie = 1079,
Evlocallabsigmoidblcie = 1080,
Evlocallabsigmoidqjcie = 1081,
Evlocallabhuecie = 1082,
Evlocallabjabcie = 1083,
Evlocallablightjzcie = 1084,
Evlocallabcontjzcie = 1085,
Evlocallabchromjzcie = 1086,
Evlocallabhuejzcie = 1087,
Evlocallabsigmoidldajzcie = 1088,
Evlocallabsigmoidthjzcie = 1089,
Evlocallabsigmoidbljzcie = 1090,
Evlocallabadapjzcie = 1091,
Evlocallabmodecam = 1092,
Evlocallabhljzcie = 1093,
Evlocallabhlthjzcie = 1094,
Evlocallabshjzcie = 1095,
Evlocallabshthjzcie = 1096,
Evlocallabradjzcie = 1097,
// EvlocallabHHshapejz = 1098,
EvlocallabCHshapejz = 1098,
Evlocallabjz100 = 1099,
Evlocallabpqremap = 1100,
EvlocallabLHshapejz = 1101,
Evlocallabshargam = 1102,
Evlocallabvibgam = 1103,
EvLocallabtoneMethodcie = 1104,
Evlocallabshapecie = 1105,
EvLocallabtoneMethodcie2 = 1106,
Evlocallabshapecie2 = 1107,
Evlocallabshapejz = 1108,
Evlocallabshapecz = 1109,
Evlocallabshapeczjz = 1110,
Evlocallabforcejz = 1111,
//Evlocallablightlzcam = 1113,
//Evlocallablightqzcam = 1114,
//Evlocallabcontlzcam = 1115,
//Evlocallabcontqzcam = 1116,
//Evlocallabcontthreszcam = 1117,
//Evlocallabcolorflzcam = 1118,
//Evlocallabsaturzcam = 1119,
//Evlocallabchromzcam = 1120,
Evlocallabpqremapcam16 = 1112,
EvLocallabEnacieMask = 1113,
EvlocallabCCmaskcieshape = 1114,
EvlocallabLLmaskcieshape = 1115,
EvlocallabHHmaskcieshape = 1116,
Evlocallabblendmaskcie = 1117,
Evlocallabradmaskcie = 1118,
Evlocallabchromaskcie = 1119,
EvlocallabLmaskcieshape = 1120,
Evlocallabrecothrescie = 1121,
Evlocallablowthrescie = 1122,
Evlocallabhigthrescie = 1123,
Evlocallabdecaycie = 1124,
Evlocallablapmaskcie = 1125,
Evlocallabgammaskcie = 1126,
Evlocallabslomaskcie = 1127,
Evlocallabqtoj = 1128,
Evlocallabsaturjzcie = 1129,
EvLocallabSpotdenoichmask = 1130,
Evlocallabsigmalcjz = 1131,
EvlocallabcsThresholdjz = 1132,
EvlocallabwavCurvejz = 1133,
Evlocallabclarilresjz = 1134,
Evlocallabclaricresjz = 1135,
Evlocallabclarisoftjz = 1136,
EvlocallabHHshapejz = 1137,
Evlocallabsoftjzcie = 1138,
Evlocallabthrhjzcie = 1139,
Evlocallabchjzcie = 1140,
Evlocallabstrsoftjzcie = 1141,
EvlocallabblackEvjz = 1142,
EvlocallabwhiteEvjz = 1143,
Evlocallablogjz = 1144,
Evlocallabtargetjz = 1145,
Evlocallabforcebw = 1146,
Evlocallabsigjz = 1147,
NUMOFEVENTS
};
class ProcEvent
{
public: