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

@@ -431,6 +431,7 @@ public:
bool shortc;
bool savrest;
bool scopemask;
bool denoichmask;
bool lumask;
// Color & Light
bool visicolor;
@@ -439,6 +440,7 @@ public:
bool curvactiv;
bool lightness;
bool reparcol;
bool gamc;
bool contrast;
bool chroma;
bool labgridALow;
@@ -514,6 +516,7 @@ public:
bool expchroma;
bool sensiex;
bool structexp;
bool gamex;
bool blurexpde;
bool strexp;
bool angexp;
@@ -593,6 +596,7 @@ public:
bool complexvibrance;
bool saturated;
bool pastels;
bool vibgam;
bool warm;
bool psthreshold;
bool protectskins;
@@ -669,6 +673,7 @@ public:
bool noiselumc;
bool noiselumdetail;
bool noiselequal;
bool noisegam;
bool noisechrof;
bool noisechroc;
bool noisechrodetail;
@@ -787,6 +792,7 @@ public:
bool shardamping;
bool shariter;
bool sharblur;
bool shargam;
bool sensisha;
bool inverssha;
// Local Contrast
@@ -804,6 +810,9 @@ public:
bool residshathr;
bool residhi;
bool residhithr;
bool gamlc;
bool residgam;
bool residslop;
bool residblur;
bool levelblur;
bool sigmabl;
@@ -966,6 +975,108 @@ public:
bool Lmask_curve;
bool LLmask_curvewav;
bool csthresholdmask;
//locallabcie
bool visicie;
bool complexcie;
bool expcie;
bool reparcie;
bool sensicie;
bool Autograycie;
bool forcejz;
bool forcebw;
bool qtoj;
bool jabcie;
bool sigmoidqjcie;
bool logjz;
bool sigjz;
bool chjzcie;
bool sourceGraycie;
bool sourceabscie;
bool sursourcie;
bool modecam;
bool modecie;
bool saturlcie;
bool rstprotectcie;
bool chromlcie;
bool huecie;
bool toneMethodcie;
bool ciecurve;
bool toneMethodcie2;
bool ciecurve2;
bool chromjzcie;
bool saturjzcie;
bool huejzcie;
bool softjzcie;
bool strsoftjzcie;
bool thrhjzcie;
bool jzcurve;
bool czcurve;
bool czjzcurve;
bool HHcurvejz;
bool CHcurvejz;
bool LHcurvejz;
bool lightlcie;
bool lightjzcie;
bool lightqcie;
bool contlcie;
bool contjzcie;
bool adapjzcie;
bool jz100;
bool pqremap;
bool pqremapcam16;
bool hljzcie;
bool hlthjzcie;
bool shjzcie;
bool shthjzcie;
bool radjzcie;
bool contthrescie;
bool blackEvjz;
bool whiteEvjz;
bool targetjz;
bool sigmoidldacie;
bool sigmoidthcie;
bool sigmoidblcie;
bool sigmoidldajzcie;
bool sigmoidthjzcie;
bool sigmoidbljzcie;
bool contqcie;
bool colorflcie;
/*
bool lightlzcam;
bool lightqzcam;
bool contlzcam;
bool contqzcam;
bool contthreszcam;
bool colorflzcam;
bool saturzcam;
bool chromzcam;
*/
bool targabscie;
bool targetGraycie;
bool catadcie;
bool detailcie;
bool surroundcie;
bool enacieMask;
bool CCmaskciecurve;
bool LLmaskciecurve;
bool HHmaskciecurve;
bool blendmaskcie;
bool radmaskcie;
bool sigmalcjz;
bool clarilresjz;
bool claricresjz;
bool clarisoftjz;
bool locwavcurvejz;
bool csthresholdjz;
bool chromaskcie;
bool lapmaskcie;
bool gammaskcie;
bool slomaskcie;
bool Lmaskciecurve;
bool recothrescie;
bool lowthrescie;
bool higthrescie;
bool decaycie;
LocallabSpotEdited(bool v);