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:
@@ -118,7 +118,7 @@ public:
|
||||
bool isLocallabToolAdded();
|
||||
|
||||
// Mask background management function
|
||||
void refChanged(const double huer, const double lumar, const double chromar);
|
||||
void refChanged(const double huer, const double lumar, const double chromar, const float fab);
|
||||
|
||||
// Mask preview functions
|
||||
virtual bool isMaskViewActive()
|
||||
@@ -126,7 +126,7 @@ public:
|
||||
return false;
|
||||
};
|
||||
virtual void resetMaskView() {};
|
||||
virtual void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) {};
|
||||
virtual void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) {};
|
||||
|
||||
// Advice tooltips management function
|
||||
virtual void updateAdviceTooltips(const bool showTooltips) {};
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
|
||||
protected:
|
||||
// To be implemented
|
||||
virtual void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) {}; // Only necessary when using mask
|
||||
virtual void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) {}; // Only necessary when using mask
|
||||
|
||||
private:
|
||||
// Remove button event function
|
||||
@@ -180,6 +180,7 @@ private:
|
||||
// Color & Light specific widgets
|
||||
Gtk::Frame* const lumFrame;
|
||||
Adjuster* const reparcol;
|
||||
Adjuster* const gamc;
|
||||
Adjuster* const lightness;
|
||||
Adjuster* const contrast;
|
||||
Adjuster* const chroma;
|
||||
@@ -277,7 +278,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -302,7 +303,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void curvactivChanged();
|
||||
void gridMethodChanged();
|
||||
@@ -347,6 +348,7 @@ private:
|
||||
Gtk::CheckButton* const norm;
|
||||
Adjuster* const fatlevel;
|
||||
Adjuster* const fatanchor;
|
||||
Adjuster* const gamex;
|
||||
Adjuster* const sensiex;
|
||||
Adjuster* const structexp;
|
||||
Adjuster* const blurexpde;
|
||||
@@ -402,7 +404,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -421,7 +423,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void expMethodChanged();
|
||||
void exnoiseMethodChanged();
|
||||
@@ -438,7 +440,7 @@ private:
|
||||
};
|
||||
|
||||
|
||||
/* ==== LocallabShadow ==== */
|
||||
/* ==== LocallabjShadow ==== */
|
||||
class LocallabShadow:
|
||||
public Gtk::Box,
|
||||
public LocallabTool
|
||||
@@ -498,7 +500,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -517,7 +519,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void shMethodChanged();
|
||||
void inversshChanged();
|
||||
@@ -540,6 +542,7 @@ private:
|
||||
// Vibrance specific widgets
|
||||
Adjuster* const saturated;
|
||||
Adjuster* const pastels;
|
||||
Adjuster* const vibgam;
|
||||
Adjuster* const warm;
|
||||
ThresholdAdjuster* const psThreshold;
|
||||
Gtk::CheckButton* const protectSkins;
|
||||
@@ -584,7 +587,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -610,7 +613,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void protectskins_toggled();
|
||||
void avoidcolorshift_toggled();
|
||||
@@ -642,7 +645,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -724,6 +727,7 @@ private:
|
||||
Adjuster* const noiselumc;
|
||||
Adjuster* const noiselumdetail;
|
||||
Adjuster* const noiselequal;
|
||||
Adjuster* const noisegam;
|
||||
CurveEditorGroup* const LocalcurveEditorwavhue;
|
||||
FlatCurveEditor* wavhue;
|
||||
Adjuster* const noisechrof;
|
||||
@@ -787,7 +791,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
void neutral_pressed();
|
||||
@@ -813,7 +817,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void blMethodChanged();
|
||||
void fftwblChanged();
|
||||
@@ -884,7 +888,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -903,7 +907,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void equiltmChanged();
|
||||
void showmasktmMethodChanged();
|
||||
@@ -983,7 +987,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -1002,7 +1006,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void loglinChanged();
|
||||
void retinexMethodChanged();
|
||||
@@ -1026,6 +1030,7 @@ class LocallabSharp:
|
||||
private:
|
||||
Adjuster* const sharcontrast;
|
||||
Adjuster* const sharblur;
|
||||
Adjuster* const shargam;
|
||||
Adjuster* const sharamount;
|
||||
Adjuster* const shardamping;
|
||||
Adjuster* const shariter;
|
||||
@@ -1042,7 +1047,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -1089,6 +1094,9 @@ private:
|
||||
Adjuster* const residshathr;
|
||||
Adjuster* const residhi;
|
||||
Adjuster* const residhithr;
|
||||
Adjuster* const gamlc;
|
||||
Adjuster* const residgam;
|
||||
Adjuster* const residslop;
|
||||
Adjuster* const sensilc;
|
||||
Adjuster* const reparw;
|
||||
Gtk::Frame* const clariFrame;
|
||||
@@ -1173,7 +1181,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -1198,7 +1206,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void localcontMethodChanged();
|
||||
void origlcChanged();
|
||||
@@ -1272,7 +1280,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -1291,7 +1299,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void showmaskcbMethodChanged();
|
||||
void enacbMaskChanged();
|
||||
@@ -1375,7 +1383,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
void surroundChanged();
|
||||
@@ -1390,7 +1398,7 @@ public:
|
||||
void adjusterChanged(Adjuster* a, double newval) override;
|
||||
void curveChanged(CurveEditor* ce) override;
|
||||
|
||||
void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg);
|
||||
void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1);
|
||||
|
||||
private:
|
||||
void enabledChanged() override;
|
||||
@@ -1405,7 +1413,7 @@ private:
|
||||
void ciecamChanged();
|
||||
void showmaskLMethodChanged();
|
||||
void enaLMaskChanged();
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void updateLogGUI();
|
||||
void updateLogGUI2();
|
||||
@@ -1462,7 +1470,7 @@ public:
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
|
||||
@@ -1488,7 +1496,7 @@ private:
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
|
||||
void showmask_MethodChanged();
|
||||
void enamaskChanged();
|
||||
@@ -1498,4 +1506,221 @@ private:
|
||||
void updateMaskGUI();
|
||||
};
|
||||
|
||||
|
||||
/* ==== Locallabcie ==== */
|
||||
class Locallabcie:
|
||||
public Gtk::Box,
|
||||
public ThresholdAdjusterListener,
|
||||
public LocallabTool
|
||||
{
|
||||
private:
|
||||
Adjuster* const sensicie;
|
||||
Adjuster* const reparcie;
|
||||
Gtk::CheckButton* const jabcie;
|
||||
MyComboBoxText* const modecam;
|
||||
MyComboBoxText* const modecie;
|
||||
Gtk::Frame* const jzFrame;
|
||||
Gtk::Box* const modeHBoxcam;
|
||||
Gtk::Box* const modeHBoxcie;
|
||||
Gtk::Frame* const cieFrame;
|
||||
Gtk::CheckButton* const Autograycie;
|
||||
Adjuster* const sourceGraycie;
|
||||
Adjuster* const sourceabscie;
|
||||
MyComboBoxText* const sursourcie;
|
||||
Gtk::Box* const surHBoxcie;
|
||||
Gtk::Frame* const cie1Frame;
|
||||
Gtk::Frame* const cie1lightFrame;
|
||||
Gtk::Frame* const cie1contFrame;
|
||||
Gtk::Frame* const cie1colorFrame;
|
||||
Gtk::Frame* const czlightFrame;
|
||||
// Gtk::Frame* const czcontFrame;
|
||||
Gtk::Frame* const czcolorFrame;
|
||||
Gtk::Frame* const PQFrame;
|
||||
Gtk::CheckButton* const qtoj;
|
||||
Adjuster* const lightlcie;
|
||||
Adjuster* const lightjzcie;
|
||||
Adjuster* const contjzcie;
|
||||
Adjuster* const adapjzcie;
|
||||
Adjuster* const jz100;
|
||||
Adjuster* const pqremap;
|
||||
Adjuster* const pqremapcam16;
|
||||
Gtk::CheckButton* const forcejz;
|
||||
MyExpander* const expjz;
|
||||
Gtk::Frame* const jzshFrame;
|
||||
Adjuster* const hljzcie;
|
||||
Adjuster* const hlthjzcie;
|
||||
Adjuster* const shjzcie;
|
||||
Adjuster* const shthjzcie;
|
||||
Adjuster* const radjzcie;
|
||||
|
||||
MyExpander* const expwavjz;
|
||||
|
||||
Gtk::Frame* const contFramejz;
|
||||
Adjuster* const sigmalcjz;
|
||||
CurveEditorGroup* const LocalcurveEditorwavjz;
|
||||
FlatCurveEditor* const wavshapejz;
|
||||
ThresholdAdjuster* const csThresholdjz;
|
||||
Gtk::Frame* const clariFramejz;
|
||||
Adjuster* const clarilresjz;
|
||||
Adjuster* const claricresjz;
|
||||
Adjuster* const clarisoftjz;
|
||||
|
||||
MyExpander* const expcam16;
|
||||
|
||||
Adjuster* const lightqcie;
|
||||
Adjuster* const contlcie;
|
||||
Adjuster* const contqcie;
|
||||
Adjuster* const contthrescie;
|
||||
Gtk::Frame* const logjzFrame;
|
||||
Gtk::CheckButton* const logjz;
|
||||
Adjuster* const blackEvjz;
|
||||
Adjuster* const whiteEvjz;
|
||||
Adjuster* const targetjz;
|
||||
Gtk::Frame* const bevwevFrame;
|
||||
Gtk::CheckButton* const forcebw;
|
||||
|
||||
Gtk::Frame* const sigmoidFrame;
|
||||
Adjuster* const sigmoidldacie;
|
||||
Adjuster* const sigmoidthcie;
|
||||
Adjuster* const sigmoidblcie;
|
||||
Gtk::CheckButton* const sigmoidqjcie;
|
||||
Gtk::Frame* const sigmoidjzFrame;
|
||||
Gtk::CheckButton* const sigjz;
|
||||
Adjuster* const sigmoidldajzcie;
|
||||
Adjuster* const sigmoidthjzcie;
|
||||
Adjuster* const sigmoidbljzcie;
|
||||
|
||||
Adjuster* const colorflcie;
|
||||
Adjuster* const saturlcie;
|
||||
Adjuster* const rstprotectcie;
|
||||
Adjuster* const chromlcie;
|
||||
Adjuster* const huecie;
|
||||
CurveEditorGroup* const cieCurveEditorG;
|
||||
MyComboBoxText* const toneMethodcie;
|
||||
DiagonalCurveEditor* const shapecie;
|
||||
CurveEditorGroup* const cieCurveEditorG2;
|
||||
MyComboBoxText* const toneMethodcie2;
|
||||
DiagonalCurveEditor* const shapecie2;
|
||||
|
||||
Adjuster* const chromjzcie;
|
||||
Adjuster* const saturjzcie;
|
||||
Adjuster* const huejzcie;
|
||||
CurveEditorGroup* const jz1CurveEditorG;
|
||||
DiagonalCurveEditor* const shapejz;
|
||||
DiagonalCurveEditor* const shapecz;
|
||||
|
||||
|
||||
Gtk::Frame* const HFramejz;
|
||||
Gtk::Frame* const JzHFramejz;
|
||||
CurveEditorGroup* const jz2CurveEditorG;
|
||||
CurveEditorGroup* const jz3CurveEditorG;
|
||||
DiagonalCurveEditor* const shapeczjz;
|
||||
FlatCurveEditor* const HHshapejz;
|
||||
FlatCurveEditor* const CHshapejz;
|
||||
FlatCurveEditor* const LHshapejz;
|
||||
Adjuster* const softjzcie;
|
||||
Adjuster* const thrhjzcie;
|
||||
Gtk::CheckButton* const chjzcie;
|
||||
Adjuster* const strsoftjzcie;
|
||||
|
||||
/*
|
||||
Gtk::Frame* const ciezFrame;
|
||||
Adjuster* const lightlzcam;
|
||||
Adjuster* const lightqzcam;
|
||||
Adjuster* const contlzcam;
|
||||
Adjuster* const contqzcam;
|
||||
Adjuster* const contthreszcam;
|
||||
Adjuster* const colorflzcam;
|
||||
Adjuster* const saturzcam;
|
||||
Adjuster* const chromzcam;
|
||||
*/
|
||||
MyExpander* const expLcie;
|
||||
Gtk::Frame* const cie2Frame;
|
||||
Adjuster* const targetGraycie;
|
||||
Adjuster* const targabscie;
|
||||
Adjuster* const detailcie;
|
||||
Adjuster* const catadcie;
|
||||
MyComboBoxText* const surroundcie;
|
||||
Gtk::Box* const surrHBoxcie;
|
||||
|
||||
MyExpander* const exprecovcie;
|
||||
Gtk::Label* const maskusablecie;
|
||||
Gtk::Label* const maskunusablecie;
|
||||
Adjuster* const recothrescie;
|
||||
Adjuster* const lowthrescie;
|
||||
Adjuster* const higthrescie;
|
||||
Adjuster* const decaycie;
|
||||
|
||||
MyExpander* const expmaskcie;
|
||||
MyComboBoxText* const showmaskcieMethod;
|
||||
Gtk::CheckButton* const enacieMask;
|
||||
CurveEditorGroup* const maskcieCurveEditorG;
|
||||
FlatCurveEditor* const CCmaskcieshape;
|
||||
FlatCurveEditor* const LLmaskcieshape;
|
||||
FlatCurveEditor* const HHmaskcieshape;
|
||||
Adjuster* const blendmaskcie;
|
||||
Adjuster* const radmaskcie;
|
||||
Adjuster* const lapmaskcie;
|
||||
Adjuster* const chromaskcie;
|
||||
Adjuster* const gammaskcie;
|
||||
Adjuster* const slomaskcie;
|
||||
|
||||
CurveEditorGroup* const mask2cieCurveEditorG;
|
||||
DiagonalCurveEditor* const Lmaskcieshape;
|
||||
|
||||
sigc::connection AutograycieConn, forcejzConn, forcebwConn, qtojConn, showmaskcieMethodConn, enacieMaskConn, jabcieConn, sursourcieconn, surroundcieconn, modecieconn, modecamconn, sigmoidqjcieconn, logjzconn, sigjzconn, chjzcieconn, toneMethodcieConn, toneMethodcieConn2;
|
||||
public:
|
||||
Locallabcie();
|
||||
~Locallabcie();
|
||||
|
||||
bool isMaskViewActive() override;
|
||||
void resetMaskView() override;
|
||||
void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override;
|
||||
|
||||
void updateAdviceTooltips(const bool showTooltips) override;
|
||||
void setDefaultExpanderVisibility() override;
|
||||
|
||||
void disableListener() override;
|
||||
void enableListener() override;
|
||||
void read(const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override;
|
||||
void write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override;
|
||||
void setDefaults(const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited = nullptr) override;
|
||||
void adjusterChanged(Adjuster* a, double newval) override;
|
||||
void adjusterChanged(ThresholdAdjuster* a, double newBottom, double newTop) override {}; // Not used
|
||||
// void adjusterChanged3(ThresholdAdjuster* a, double newBottom, double newTop) override {};
|
||||
void adjusterChanged(ThresholdAdjuster* a, double newBottomLeft, double newTopLeft, double newBottomRight, double newTopRight) override {}; // Not used
|
||||
void adjusterChanged(ThresholdAdjuster* a, int newBottom, int newTop) override {}; // Not used
|
||||
void adjusterChanged(ThresholdAdjuster* a, int newBottomLeft, int newTopLeft, int newBottomRight, int newTopRight) override {}; // Not used
|
||||
void adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int newTopL, int newBottomR, int newTopR) override;
|
||||
void sursourcieChanged();
|
||||
void surroundcieChanged();
|
||||
void modecieChanged();
|
||||
void modecamChanged();
|
||||
void curveChanged(CurveEditor* ce) override;
|
||||
void toneMethodcieChanged();
|
||||
void toneMethodcie2Changed();
|
||||
void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1);
|
||||
|
||||
private:
|
||||
void enabledChanged() override;
|
||||
void convertParamToNormal() override;
|
||||
void convertParamToSimple() override;
|
||||
void updateGUIToMode(const modeType new_type) override;
|
||||
void complexityModeChanged();
|
||||
void AutograycieChanged();
|
||||
void forcejzChanged();
|
||||
void forcebwChanged();
|
||||
void qtojChanged();
|
||||
void jabcieChanged();
|
||||
void sigmoidqjcieChanged();
|
||||
void logjzChanged();
|
||||
void sigjzChanged();
|
||||
void chjzcieChanged();
|
||||
void updatecieGUI();
|
||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||
void showmaskcieMethodChanged();
|
||||
void enacieMaskChanged();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user