Merge branch 'dev' into clear-pp3-bug-fix
This commit is contained in:
commit
d3dca005eb
6
.github/workflows/codeql.yml
vendored
6
.github/workflows/codeql.yml
vendored
@ -41,13 +41,13 @@ jobs:
|
|||||||
echo "Running apt update."
|
echo "Running apt update."
|
||||||
sudo apt update
|
sudo apt update
|
||||||
echo "Installing dependencies with apt."
|
echo "Installing dependencies with apt."
|
||||||
DEBIAN_FRONTEND=noninteractive sudo apt install -y cmake libgtk-3-dev libgtkmm-3.0-dev liblensfun-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev liblensfun-bin libexiv2-dev libtcmalloc-minimal4 libhwy0 libhwy-dev
|
DEBIAN_FRONTEND=noninteractive sudo apt install -y cmake libgtk-3-dev libgtkmm-3.0-dev liblensfun-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev liblensfun-bin libexiv2-dev libtcmalloc-minimal4 libhwy-dev libopenexr-dev libgif-dev
|
||||||
|
|
||||||
- name: Install libjxl
|
- name: Install libjxl
|
||||||
run: |
|
run: |
|
||||||
echo "Downloading and installing libjxl..."
|
echo "Downloading and installing libjxl..."
|
||||||
VERSION_UBUNTU=22.04
|
VERSION_UBUNTU=24.04
|
||||||
VERSION_JXL=0.10.3
|
VERSION_JXL=0.11.1
|
||||||
curl -Ss -qgb "" -fLC - --retry 3 --retry-delay 3 -o libjxl-debs.tar.gz \
|
curl -Ss -qgb "" -fLC - --retry 3 --retry-delay 3 -o libjxl-debs.tar.gz \
|
||||||
"https://github.com/libjxl/libjxl/releases/download/v${VERSION_JXL}/jxl-debs-amd64-ubuntu-${VERSION_UBUNTU}-v${VERSION_JXL}.tar.gz"
|
"https://github.com/libjxl/libjxl/releases/download/v${VERSION_JXL}/jxl-debs-amd64-ubuntu-${VERSION_UBUNTU}-v${VERSION_JXL}.tar.gz"
|
||||||
tar xf libjxl-debs.tar.gz
|
tar xf libjxl-debs.tar.gz
|
||||||
|
@ -1124,8 +1124,8 @@ HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold
|
|||||||
HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength
|
HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength
|
||||||
HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle
|
HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle
|
||||||
HISTORY_MSG_891;Local - Contrast Wavelet Graduated
|
HISTORY_MSG_891;Local - Contrast Wavelet Graduated
|
||||||
HISTORY_MSG_892;Local - Log Encoding Graduated Strength
|
HISTORY_MSG_892;Local - Log encoding Graduated Strength
|
||||||
HISTORY_MSG_893;Local - Log Encoding Graduated angle
|
HISTORY_MSG_893;Local - Log encoding Graduated angle
|
||||||
HISTORY_MSG_894;Local - SD - ΔE preview color intensity
|
HISTORY_MSG_894;Local - SD - ΔE preview color intensity
|
||||||
HISTORY_MSG_897;Local - Contrast Wavelet ES strength
|
HISTORY_MSG_897;Local - Contrast Wavelet ES strength
|
||||||
HISTORY_MSG_898;Local - Contrast Wavelet ES radius
|
HISTORY_MSG_898;Local - Contrast Wavelet ES radius
|
||||||
@ -1191,7 +1191,7 @@ HISTORY_MSG_957;Local - Denoise mode
|
|||||||
HISTORY_MSG_958;Local - Show/hide settings
|
HISTORY_MSG_958;Local - Show/hide settings
|
||||||
HISTORY_MSG_959;Local - Inverse blur
|
HISTORY_MSG_959;Local - Inverse blur
|
||||||
HISTORY_MSG_960;Local - Log encoding - cat16
|
HISTORY_MSG_960;Local - Log encoding - cat16
|
||||||
HISTORY_MSG_961;Local - Log encoding Ciecam
|
HISTORY_MSG_961;Local - Log encoding CIECAM
|
||||||
HISTORY_MSG_962;Local - Log encoding Absolute luminance source
|
HISTORY_MSG_962;Local - Log encoding Absolute luminance source
|
||||||
HISTORY_MSG_963;Local - Log encoding Absolute luminance target
|
HISTORY_MSG_963;Local - Log encoding Absolute luminance target
|
||||||
HISTORY_MSG_964;Local - Log encoding Surround
|
HISTORY_MSG_964;Local - Log encoding Surround
|
||||||
@ -1308,9 +1308,9 @@ HISTORY_MSG_1075;Local - CIECAM Surround viewing
|
|||||||
HISTORY_MSG_1076;Local - CIECAM Scope
|
HISTORY_MSG_1076;Local - CIECAM Scope
|
||||||
HISTORY_MSG_1077;Local - CIECAM Mode
|
HISTORY_MSG_1077;Local - CIECAM Mode
|
||||||
HISTORY_MSG_1078;Local - Red and skin protection
|
HISTORY_MSG_1078;Local - Red and skin protection
|
||||||
HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J
|
HISTORY_MSG_1079;Local - CIECAM Sigmoid Q Contrast
|
||||||
HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold
|
HISTORY_MSG_1080;Local - CIECAM Sigmoid Q Skew
|
||||||
HISTORY_MSG_1081;Local - CIECAM Sigmoid blend
|
HISTORY_MSG_1081;Local - CIECAM Sigmoid Q Display white point
|
||||||
HISTORY_MSG_1082;Local - CIECAM Auto threshold
|
HISTORY_MSG_1082;Local - CIECAM Auto threshold
|
||||||
HISTORY_MSG_1083;Local - CIECAM Hue
|
HISTORY_MSG_1083;Local - CIECAM Hue
|
||||||
HISTORY_MSG_1084;Local - Uses Black Ev - White Ev
|
HISTORY_MSG_1084;Local - Uses Black Ev - White Ev
|
||||||
@ -1318,9 +1318,9 @@ HISTORY_MSG_1085;Local - Jz lightness
|
|||||||
HISTORY_MSG_1086;Local - Jz contrast
|
HISTORY_MSG_1086;Local - Jz contrast
|
||||||
HISTORY_MSG_1087;Local - Jz chroma
|
HISTORY_MSG_1087;Local - Jz chroma
|
||||||
HISTORY_MSG_1088;Local - Jz hue
|
HISTORY_MSG_1088;Local - Jz hue
|
||||||
HISTORY_MSG_1089;Local - Jz Sigmoid strength
|
HISTORY_MSG_1089;Local - Jz Sigmoid contrast
|
||||||
HISTORY_MSG_1090;Local - Jz Sigmoid threshold
|
HISTORY_MSG_1090;Local - Jz Sigmoid skew
|
||||||
HISTORY_MSG_1091;Local - Jz Sigmoid blend
|
HISTORY_MSG_1091;Local - Jz Sigmoid Display White point
|
||||||
HISTORY_MSG_1092;Local - Jz adaptation
|
HISTORY_MSG_1092;Local - Jz adaptation
|
||||||
HISTORY_MSG_1093;Local - CAM model
|
HISTORY_MSG_1093;Local - CAM model
|
||||||
HISTORY_MSG_1094;Local - Jz highligths
|
HISTORY_MSG_1094;Local - Jz highligths
|
||||||
@ -1376,9 +1376,9 @@ HISTORY_MSG_1143;Local - Jz blackev
|
|||||||
HISTORY_MSG_1144;Local - Jz whiteev
|
HISTORY_MSG_1144;Local - Jz whiteev
|
||||||
HISTORY_MSG_1145;Local - Jz Log encoding
|
HISTORY_MSG_1145;Local - Jz Log encoding
|
||||||
HISTORY_MSG_1146;Local - Jz Log encoding target gray
|
HISTORY_MSG_1146;Local - Jz Log encoding target gray
|
||||||
HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv
|
HISTORY_MSG_1147;Local - Jz Scale Yb scene
|
||||||
HISTORY_MSG_1148;Local - Jz Sigmoid
|
HISTORY_MSG_1148;Local - Jz Sigmoid
|
||||||
HISTORY_MSG_1149;Local - Q Sigmoid
|
HISTORY_MSG_1149;Local - Q Sigmoid & Slope based
|
||||||
HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q
|
HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q
|
||||||
HISTORY_MSG_BLSHAPE;Blur by level
|
HISTORY_MSG_BLSHAPE;Blur by level
|
||||||
HISTORY_MSG_BLURCWAV;Blur chroma
|
HISTORY_MSG_BLURCWAV;Blur chroma
|
||||||
@ -1465,23 +1465,39 @@ HISTORY_MSG_ICM_GAMUT;Gamut control
|
|||||||
HISTORY_MSG_ICM_GREX;Primaries Green X
|
HISTORY_MSG_ICM_GREX;Primaries Green X
|
||||||
HISTORY_MSG_ICM_GREY;Primaries Green Y
|
HISTORY_MSG_ICM_GREY;Primaries Green Y
|
||||||
HISTORY_MSG_ICM_MIDTCIE;Midtones
|
HISTORY_MSG_ICM_MIDTCIE;Midtones
|
||||||
|
HISTORY_MSG_ICM_OFFSTRC;Offset
|
||||||
|
HISTORY_MSG_ICM_OPACITYW;Offset
|
||||||
HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries
|
HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries
|
||||||
HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D
|
HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D
|
||||||
HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type
|
HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type
|
||||||
HISTORY_MSG_ICM_PRESER;Preserve neutral
|
HISTORY_MSG_ICM_PRESER;Preserve neutral
|
||||||
|
HISTORY_MSG_ICM_PYRWAVTRC;Contrast profile
|
||||||
HISTORY_MSG_ICM_REDX;Primaries Red X
|
HISTORY_MSG_ICM_REDX;Primaries Red X
|
||||||
HISTORY_MSG_ICM_REDY;Primaries Red Y
|
HISTORY_MSG_ICM_REDY;Primaries Red Y
|
||||||
HISTORY_MSG_ICM_REFI;Refinement Colors
|
HISTORY_MSG_ICM_REFI;Refinement Colors
|
||||||
|
HISTORY_MSG_ICM_RESIDTRC;Residual contrast
|
||||||
|
HISTORY_MSG_ICM_SIGMATRC;Local contrast Attenation response
|
||||||
HISTORY_MSG_ICM_SHIFTX;Refinement Colors - Shift x
|
HISTORY_MSG_ICM_SHIFTX;Refinement Colors - Shift x
|
||||||
HISTORY_MSG_ICM_SHIFTY;Refinement Colors - Shift y
|
HISTORY_MSG_ICM_SHIFTY;Refinement Colors - Shift y
|
||||||
HISTORY_MSG_ICM_SMOOTHCIE;Smooth highlights
|
HISTORY_MSG_ICM_SMOOTHCIE;Smooth highlights
|
||||||
HISTORY_MSG_ICM_TRCEXP;Abstract Profile
|
HISTORY_MSG_ICM_TRCEXP;Abstract Profile
|
||||||
|
HISTORY_MSG_ICM_WAVEXP;Contrast Enhancement
|
||||||
HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma
|
HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma
|
||||||
HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method
|
HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method
|
||||||
HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method
|
HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method
|
||||||
HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope
|
HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope
|
||||||
HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method
|
HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method
|
||||||
HISTORY_MSG_ILLUM;CAL - SC - Illuminant
|
HISTORY_MSG_ILLUM;CAL - SC - Illuminant
|
||||||
|
HISTORY_MSG_LOCAL_CIE_CONTSIG;Local CIECAM - Sigmoid contrast
|
||||||
|
HISTORY_MSG_LOCAL_CIE_SKEWSIG;Local CIECAM - Sigmoid skew
|
||||||
|
HISTORY_MSG_LOCAL_CIE_SMOOTHTH;Local CIECAM - Attenuation threshold
|
||||||
|
HISTORY_MSG_LOCAL_CIE_SMOOTHLNK;Local CIECAM - Link R G B
|
||||||
|
HISTORY_MSG_LOCAL_CIE_WEVMETHOD11;Local CIECAM - Black Ev White Ev
|
||||||
|
HISTORY_MSG_LOCAL_CIE_WHITSIG;Local CIECAM - Sigmoid Display white point
|
||||||
|
HISTORY_MSG_LOCAL_CIE_SMOOTH_HIGH;Local CIECAM - Highlight Attenuation only
|
||||||
|
HISTORY_MSG_LOCAL_CIE_SMOOTHTRC;Local CIECAM - Gamma based Highlight attenuation
|
||||||
|
HISTORY_MSG_LOCAL_CIE_SMOOTHTRCREL;Local CIECAM - Relative gamma mode
|
||||||
|
HISTORY_MSG_LOCAL_OFFSETWAV;Local Wav offset
|
||||||
HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount
|
HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount
|
||||||
HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness
|
HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness
|
||||||
HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast
|
HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast
|
||||||
@ -1516,7 +1532,7 @@ HISTORY_MSG_LOCAL_CIE_GREYL;Local - CIECAM Green Y
|
|||||||
HISTORY_MSG_LOCAL_CIE_ILL;Local - CIECAM TRC Illuminant
|
HISTORY_MSG_LOCAL_CIE_ILL;Local - CIECAM TRC Illuminant
|
||||||
HISTORY_MSG_LOCAL_CIE_LOGCIEQ;Local - CIECAM Log encoding Q
|
HISTORY_MSG_LOCAL_CIE_LOGCIEQ;Local - CIECAM Log encoding Q
|
||||||
HISTORY_MSG_LOCAL_CIE_MIDT;Local - CIECAM Mid Tones
|
HISTORY_MSG_LOCAL_CIE_MIDT;Local - CIECAM Mid Tones
|
||||||
HISTORY_MSG_LOCAL_CIE_NORM;Local - CIECAM Normalize L
|
HISTORY_MSG_LOCAL_CIE_NORM11;Local - CIECAM Normalize luminance 5.11
|
||||||
HISTORY_MSG_LOCAL_CIE_PRIM;Local - CIECAM TRC primaries
|
HISTORY_MSG_LOCAL_CIE_PRIM;Local - CIECAM TRC primaries
|
||||||
HISTORY_MSG_LOCAL_CIE_REDXL;Local - CIECAM Red X
|
HISTORY_MSG_LOCAL_CIE_REDXL;Local - CIECAM Red X
|
||||||
HISTORY_MSG_LOCAL_CIE_REDYL;Local - CIECAM Red Y
|
HISTORY_MSG_LOCAL_CIE_REDYL;Local - CIECAM Red Y
|
||||||
@ -1525,10 +1541,11 @@ HISTORY_MSG_LOCAL_CIE_SATCIE;Local - CIECAM Saturation control
|
|||||||
HISTORY_MSG_LOCAL_CIE_SHIFTXL;Local - CIECAM Shift x
|
HISTORY_MSG_LOCAL_CIE_SHIFTXL;Local - CIECAM Shift x
|
||||||
HISTORY_MSG_LOCAL_CIE_SHIFTYL;Local - CIECAM Shift y
|
HISTORY_MSG_LOCAL_CIE_SHIFTYL;Local - CIECAM Shift y
|
||||||
HISTORY_MSG_LOCAL_CIE_SIG;Local - Sigmoid
|
HISTORY_MSG_LOCAL_CIE_SIG;Local - Sigmoid
|
||||||
HISTORY_MSG_LOCAL_CIE_SIGADAP;Local - CIECAM Sigmoid adaptability
|
HISTORY_MSG_LOCAL_CIE_SIGADAP;Local - CIECAM Sigmoid adaptability 5.11
|
||||||
HISTORY_MSG_LOCAL_CIE_SIGMET;Local - CIECAM Sigmoid method
|
HISTORY_MSG_LOCAL_CIE_SIGMET;Local - CIECAM Tone mapping Q
|
||||||
HISTORY_MSG_LOCAL_CIE_SLOP;Local - CIECAM Slope
|
HISTORY_MSG_LOCAL_CIE_SLOP;Local - CIECAM Slope
|
||||||
HISTORY_MSG_LOCAL_CIE_SLOPESMO;Local - CIECAM Gray balance
|
HISTORY_MSG_LOCAL_CIE_SLOPESMO;Local - CIECAM Gray balance
|
||||||
|
HISTORY_MSG_LOCAL_CIE_SLOPESMOQ;Local - CIECAM Gray balance
|
||||||
HISTORY_MSG_LOCAL_CIE_SLOPESMOB;Local - CIECAM Blue balance
|
HISTORY_MSG_LOCAL_CIE_SLOPESMOB;Local - CIECAM Blue balance
|
||||||
HISTORY_MSG_LOCAL_CIE_SLOPESMOG;Local - CIECAM Green balance
|
HISTORY_MSG_LOCAL_CIE_SLOPESMOG;Local - CIECAM Green balance
|
||||||
HISTORY_MSG_LOCAL_CIE_SLOPESMOR;Local - CIECAM Red balance
|
HISTORY_MSG_LOCAL_CIE_SLOPESMOR;Local - CIECAM Red balance
|
||||||
@ -1554,7 +1571,21 @@ HISTORY_MSG_LOCAL_LOG_BLACKS;Local - Log Blacks distribution
|
|||||||
HISTORY_MSG_LOCAL_LOG_COMPR;Local - Log Compress brightness
|
HISTORY_MSG_LOCAL_LOG_COMPR;Local - Log Compress brightness
|
||||||
HISTORY_MSG_LOCAL_LOG_SAT;Local - Log Saturation control
|
HISTORY_MSG_LOCAL_LOG_SAT;Local - Log Saturation control
|
||||||
HISTORY_MSG_LOCAL_LOG_WHITES;Local - Log Whites distribution
|
HISTORY_MSG_LOCAL_LOG_WHITES;Local - Log Whites distribution
|
||||||
|
HISTORY_MSG_LOCAL_LOGCIE12;Local - CIECAM - Log encoding
|
||||||
|
HISTORY_MSG_LOCAL_PROCESSWAV;Local - Wavelets - Show modifications
|
||||||
HISTORY_MSG_LOCAL_TMO_SATUR;Local Exp Fattal Saturation
|
HISTORY_MSG_LOCAL_TMO_SATUR;Local Exp Fattal Saturation
|
||||||
|
HISTORY_MSG_LOCAL_QJMETHOD;Local - CIECAM Tone mapping operator Q and J
|
||||||
|
HISTORY_MSG_LOCAL_SIGDACIE;Local - CIECAM Contrast 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGTHCIE;Local - CIECAM Threshold 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGBLCIE;Local - CIECAM Blend 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGQ11;Local - CIECAM Sigmoid Q - deprecated
|
||||||
|
HISTORY_MSG_LOCAL_SIGQ12;Local - CIECAM Sigmoid Q and Slope based
|
||||||
|
HISTORY_MSG_LOCAL_SIGSENSICIE;Local - CIECAM Adaptability 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGJZ11;Local - Jz Sigmoid J 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGFORCEBW;Local - Jz White Ev and Black Ev 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGJZ11CONT;Local - Jz Contrast 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGJZ11GRAY;Local - Jz Threshold 5.11
|
||||||
|
HISTORY_MSG_LOCAL_SIGJZ11BL;Local - Jz Blend 5.11
|
||||||
HISTORY_MSG_METADATA_MODE;Metadata copy mode
|
HISTORY_MSG_METADATA_MODE;Metadata copy mode
|
||||||
HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontrast - Contrast threshold
|
HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontrast - Contrast threshold
|
||||||
HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold
|
HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold
|
||||||
@ -1968,7 +1999,7 @@ PREFERENCES_CHUNKSIZE_RAW_CA;Raw CA correction
|
|||||||
PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic
|
PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic
|
||||||
PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic
|
PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic
|
||||||
PREFERENCES_CHUNKSIZE_RGB;RGB processing
|
PREFERENCES_CHUNKSIZE_RGB;RGB processing
|
||||||
PREFERENCES_CIE;Ciecam
|
PREFERENCES_CIE;CIECAM
|
||||||
PREFERENCES_CIEARTIF;Avoid artifacts
|
PREFERENCES_CIEARTIF;Avoid artifacts
|
||||||
PREFERENCES_CLIPPINGIND;Clipping Indication
|
PREFERENCES_CLIPPINGIND;Clipping Indication
|
||||||
PREFERENCES_CLUTSCACHE;HaldCLUT Cache
|
PREFERENCES_CLUTSCACHE;HaldCLUT Cache
|
||||||
@ -2282,6 +2313,8 @@ SORT_DESCENDING;Descending
|
|||||||
TC_LOCALLAB_PRIM_SHIFTX;Shift x
|
TC_LOCALLAB_PRIM_SHIFTX;Shift x
|
||||||
TC_LOCALLAB_PRIM_SHIFTX_TOOLTIP;In combination with "Refine colors", allows you to:\n 1) for low values, adjust the image purity.\n 2) for higher values, carry out moderate color toning.\nBe careful not to go outside the CIE xy diagram.
|
TC_LOCALLAB_PRIM_SHIFTX_TOOLTIP;In combination with "Refine colors", allows you to:\n 1) for low values, adjust the image purity.\n 2) for higher values, carry out moderate color toning.\nBe careful not to go outside the CIE xy diagram.
|
||||||
TC_LOCALLAB_PRIM_SHIFTY;Shift y
|
TC_LOCALLAB_PRIM_SHIFTY;Shift y
|
||||||
|
TP_LOCALLAB_PROCESSWAV;Show modified areas with Wavelets
|
||||||
|
TP_LOCALLAB_PROCESSWAV_TOOLTIP;Wavelet decomposition:\nShows the changes made by the wavelet settings.\n\nYou see the changes made to the decomposed image, factoring in the deltaE and transitions, when you modify the wavelet settings. Note that this is different from Wavelet levels in the Advanced tab in which you always see the results of the decomposition.
|
||||||
TC_PRIM_BLUX;Bx
|
TC_PRIM_BLUX;Bx
|
||||||
TC_PRIM_BLUY;By
|
TC_PRIM_BLUY;By
|
||||||
TC_PRIM_GREX;Gx
|
TC_PRIM_GREX;Gx
|
||||||
@ -2418,7 +2451,7 @@ TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the
|
|||||||
TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output]
|
TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output]
|
||||||
TP_COLORAPP_GAMUT;Use gamut control in L*a*b* mode
|
TP_COLORAPP_GAMUT;Use gamut control in L*a*b* mode
|
||||||
TP_COLORAPP_GEN;Settings
|
TP_COLORAPP_GEN;Settings
|
||||||
TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments.
|
TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM Color Appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments.
|
||||||
TP_COLORAPP_HUE;Hue (h)
|
TP_COLORAPP_HUE;Hue (h)
|
||||||
TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow.
|
TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow.
|
||||||
TP_COLORAPP_IL41;D41
|
TP_COLORAPP_IL41;D41
|
||||||
@ -2816,9 +2849,11 @@ TP_ICM_LABEL;Color Management
|
|||||||
TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6
|
TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6
|
||||||
TP_ICM_NEUTRAL;Reset
|
TP_ICM_NEUTRAL;Reset
|
||||||
TP_ICM_NOICM;No ICM: sRGB Output
|
TP_ICM_NOICM;No ICM: sRGB Output
|
||||||
|
TP_ICM_OPACITYWLI;Variable contrast
|
||||||
TP_ICM_OUTPUTPROFILE;Output Profile
|
TP_ICM_OUTPUTPROFILE;Output Profile
|
||||||
TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K
|
TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K
|
||||||
TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046
|
TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046
|
||||||
|
TP_ICM_PRIMFRAME;Primaries & Illuminant
|
||||||
TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750
|
TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750
|
||||||
TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders).
|
TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders).
|
||||||
TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653
|
TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653
|
||||||
@ -2828,11 +2863,14 @@ TP_ICM_SAVEREFERENCE;Save Reference Image
|
|||||||
TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance
|
TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance
|
||||||
TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
|
TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles.
|
||||||
TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
|
TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
|
||||||
|
TP_ICM_SMOOTHFRAME;Highlight attenuation
|
||||||
TP_ICM_TONECURVE;Tone curve
|
TP_ICM_TONECURVE;Tone curve
|
||||||
TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
|
TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve.
|
||||||
TP_ICM_TRCFRAME;Abstract Profile
|
TP_ICM_TRCFRAME;Abstract Profile
|
||||||
TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to CIECAM) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant', which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries', which allows you to change the destination primaries with three main uses - channel mixer, restore image color (saturation), and calibration.\nNote: Abstract profiles take into account the built-in working profiles without modifying them. They do not work with custom working profiles.
|
TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to CIECAM) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant', which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries', which allows you to change the destination primaries with three main uses - channel mixer, restore image color (saturation), and calibration.\nNote: Abstract profiles take into account the built-in working profiles without modifying them. They do not work with custom working profiles.
|
||||||
TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus.
|
TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus.
|
||||||
|
TP_ICM_WAVFRAME;Contrast Enhancement
|
||||||
|
TP_ICM_WAVREFI;Refinement
|
||||||
TP_ICM_WORKINGPROFILE;Working Profile
|
TP_ICM_WORKINGPROFILE;Working Profile
|
||||||
TP_ICM_WORKING_CAT;Matrix adaptation
|
TP_ICM_WORKING_CAT;Matrix adaptation
|
||||||
TP_ICM_WORKING_CAT_BRAD;Bradford
|
TP_ICM_WORKING_CAT_BRAD;Bradford
|
||||||
@ -2876,6 +2914,7 @@ TP_ICM_WORKING_PRIM_REC;Rec2020
|
|||||||
TP_ICM_WORKING_PRIM_SRGB;sRGB
|
TP_ICM_WORKING_PRIM_SRGB;sRGB
|
||||||
TP_ICM_WORKING_PRIM_TOOLTIP;Performs a gamut control. Destination primaries (Advanced) allows you to change the destination primaries to restore or change image color (saturation). The color balance is significantly preserved when the 'Working Profile' and the 'Destination primaries' are similar. 'Working Profile' is not modified.\nWhen 'Custom LA (sliders)' is selected, you can modify the values of the 3 primaries (Red, Green, and Blue) for x and y.
|
TP_ICM_WORKING_PRIM_TOOLTIP;Performs a gamut control. Destination primaries (Advanced) allows you to change the destination primaries to restore or change image color (saturation). The color balance is significantly preserved when the 'Working Profile' and the 'Destination primaries' are similar. 'Working Profile' is not modified.\nWhen 'Custom LA (sliders)' is selected, you can modify the values of the 3 primaries (Red, Green, and Blue) for x and y.
|
||||||
TP_ICM_WORKING_PRIM_WID;WideGamut
|
TP_ICM_WORKING_PRIM_WID;WideGamut
|
||||||
|
TP_ICM_WORKING_SMOOTH;Highlight attenuation
|
||||||
TP_ICM_WORKING_TRC;Tone response curve:
|
TP_ICM_WORKING_TRC;Tone response curve:
|
||||||
TP_ICM_WORKING_TRC_18;Prophoto g=1.8
|
TP_ICM_WORKING_TRC_18;Prophoto g=1.8
|
||||||
TP_ICM_WORKING_TRC_22;Adobe g=2.2
|
TP_ICM_WORKING_TRC_22;Adobe g=2.2
|
||||||
@ -2999,14 +3038,16 @@ TP_LOCALLAB_BUTTON_DUPL;Duplicate
|
|||||||
TP_LOCALLAB_BUTTON_REN;Rename
|
TP_LOCALLAB_BUTTON_REN;Rename
|
||||||
TP_LOCALLAB_BUTTON_VIS;Show/Hide
|
TP_LOCALLAB_BUTTON_VIS;Show/Hide
|
||||||
TP_LOCALLAB_BWEVNONE;None
|
TP_LOCALLAB_BWEVNONE;None
|
||||||
TP_LOCALLAB_BWEVSIG;Activated
|
TP_LOCALLAB_BWEVSIG;Sigmoid
|
||||||
TP_LOCALLAB_BWEVSIGLOG;Sigmoid & Log-Encoding
|
TP_LOCALLAB_BWEVSLOP;Slope based
|
||||||
|
TP_LOCALLAB_BWEVNONE11;None
|
||||||
|
TP_LOCALLAB_BWEVSIG11;Activated
|
||||||
TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev
|
TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev
|
||||||
TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance)
|
TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance)
|
||||||
TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16 (experimental). Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images, for example, to match CAM16 processing with the maximum monitor brightness of 400cd/m2.
|
TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16 (experimental). Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images, for example, to match CAM16 processing with the maximum monitor brightness of 400cd/m2.
|
||||||
TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments
|
TP_LOCALLAB_CAM16_FRA;CAM16 Image Adjustments
|
||||||
TP_LOCALLAB_CAMMODE;CAM model
|
TP_LOCALLAB_CAMMODE;CAM model
|
||||||
TP_LOCALLAB_CAMMODE_CAM16;CAM 16
|
TP_LOCALLAB_CAMMODE_CAM16;CAM16
|
||||||
TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz
|
TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz
|
||||||
TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16
|
TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16
|
||||||
TP_LOCALLAB_CBDL;Contrast by Detail Levels
|
TP_LOCALLAB_CBDL;Contrast by Detail Levels
|
||||||
@ -3029,9 +3070,13 @@ TP_LOCALLAB_CHROMASKCOL;Chroma
|
|||||||
TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated).
|
TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated).
|
||||||
TP_LOCALLAB_CHROML;Chroma (C)
|
TP_LOCALLAB_CHROML;Chroma (C)
|
||||||
TP_LOCALLAB_CHRRT;Chroma
|
TP_LOCALLAB_CHRRT;Chroma
|
||||||
TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz)
|
TP_LOCALLAB_CIE;Color Appearance (CAM16 & JzCzHz)
|
||||||
TP_LOCALLAB_CIEC;Use Ciecam environment parameters
|
TP_LOCALLAB_CIE_SMOOTHFRAME12;Tone Mapping Operators
|
||||||
TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment.
|
TP_LOCALLAB_CIE_SMOOTH_LEVELS;RGB channel Slope
|
||||||
|
TP_LOCALLAB_CIE_SMOOTH_LEVELSTRC;RGB channel TRC
|
||||||
|
TP_LOCALLAB_CIE_SMOOTH_SIG;Sigmoid based
|
||||||
|
TP_LOCALLAB_CIEC;Use CIECAM environment parameters
|
||||||
|
TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM Color Appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first CIECAM process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second CIECAM process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third CIECAM process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment.
|
||||||
TP_LOCALLAB_CIECOLORFRA;Color
|
TP_LOCALLAB_CIECOLORFRA;Color
|
||||||
TP_LOCALLAB_CIECONTFRA;Contrast
|
TP_LOCALLAB_CIECONTFRA;Contrast
|
||||||
TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast
|
TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast
|
||||||
@ -3040,7 +3085,7 @@ TP_LOCALLAB_CIEMODE;Change tool position
|
|||||||
TP_LOCALLAB_CIEMODE_COM;Default
|
TP_LOCALLAB_CIEMODE_COM;Default
|
||||||
TP_LOCALLAB_CIEMODE_DR;Dynamic Range
|
TP_LOCALLAB_CIEMODE_DR;Dynamic Range
|
||||||
TP_LOCALLAB_CIEMODE_TM;Tone-Mapping
|
TP_LOCALLAB_CIEMODE_TM;Tone-Mapping
|
||||||
TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'.
|
TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, CIECAM is added at the end of the process. 'Mask And Modifications' and 'Recovery Based On Luminance Mask' are available for'CAM16 and JzCzHz' at your disposal .\nYou can also integrate CIECAM into other tools if you wish (TM, Wavelet, Dynamic Range, Log encoding). The results for these tools will be different to those without CIECAM. In this mode, you can also use 'Mask And Modifications' and 'Recovery Based On Luminance Mask'.
|
||||||
TP_LOCALLAB_CIEMODE_WAV;Wavelet
|
TP_LOCALLAB_CIEMODE_WAV;Wavelet
|
||||||
TP_LOCALLAB_CIETOOLEXP;Curves
|
TP_LOCALLAB_CIETOOLEXP;Curves
|
||||||
TP_LOCALLAB_CIE_SMOOTHFRAME;Highlight Attenuation & Levels
|
TP_LOCALLAB_CIE_SMOOTHFRAME;Highlight Attenuation & Levels
|
||||||
@ -3049,7 +3094,7 @@ TP_LOCALLAB_CIE_SMOOTH_GAMMA;Slope based
|
|||||||
TP_LOCALLAB_CIE_SMOOTH_GAMMA ROLLOFF;Gamma based
|
TP_LOCALLAB_CIE_SMOOTH_GAMMA ROLLOFF;Gamma based
|
||||||
TP_LOCALLAB_CIE_SMOOTH_LEVELS;Levels
|
TP_LOCALLAB_CIE_SMOOTH_LEVELS;Levels
|
||||||
TP_LOCALLAB_CIE_SMOOTH_NONE;None
|
TP_LOCALLAB_CIE_SMOOTH_NONE;None
|
||||||
TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz)
|
TP_LOCALLAB_CIE_TOOLNAME;Color Appearance (CAM16 & JzCzHz)
|
||||||
TP_LOCALLAB_CIRCRADIUS;Spot size
|
TP_LOCALLAB_CIRCRADIUS;Spot size
|
||||||
TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin.
|
TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin.
|
||||||
TP_LOCALLAB_CLARICRES;Merge chroma
|
TP_LOCALLAB_CLARICRES;Merge chroma
|
||||||
@ -3064,9 +3109,9 @@ TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLev
|
|||||||
TP_LOCALLAB_CLIPTM;Clip restored data (gain)
|
TP_LOCALLAB_CLIPTM;Clip restored data (gain)
|
||||||
TP_LOCALLAB_COFR;Color & Light
|
TP_LOCALLAB_COFR;Color & Light
|
||||||
TP_LOCALLAB_COLORDE;ΔE preview color - intensity
|
TP_LOCALLAB_COLORDE;ΔE preview color - intensity
|
||||||
TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button in Settings will only work if you have activated 'Sharpening', 'Soft Light and Original Retinex', 'Blur/Grain and Denoise', 'Dehaze and Retinex', or 'Contrast by Detail Levels' in the 'Add tool to current spot' menu.\nFor others tools, the Preview ΔE button is in the tool, which allows previewing ΔE with several tools enabled. Prefer using Mask and modifications.
|
TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button in Settings will only work if you have activated 'Sharpening', 'Soft Light and Original Retinex', 'Blur/Grain and Denoise', 'Dehaze and Retinex', or 'Contrast by Detail Levels' in the 'Add tool to current spot' menu.\nFor others tools, the Preview ΔE button is in the tool, which allows previewing ΔE with several tools enabled. Prefer using Mask And Modifications.
|
||||||
TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative.
|
TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask And Modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative.
|
||||||
TP_LOCALLAB_COLORFRAME;Dominant color
|
TP_LOCALLAB_COLORFRAME;Dominant Color
|
||||||
TP_LOCALLAB_COLORSCOPE;Scope (color tools)
|
TP_LOCALLAB_COLORSCOPE;Scope (color tools)
|
||||||
TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls.
|
TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls.
|
||||||
TP_LOCALLAB_COLOR_CIE;Color curve
|
TP_LOCALLAB_COLOR_CIE;Color curve
|
||||||
@ -3106,8 +3151,8 @@ TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall satur
|
|||||||
TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze.
|
TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze.
|
||||||
TP_LOCALLAB_DELTAD;Delta balance
|
TP_LOCALLAB_DELTAD;Delta balance
|
||||||
TP_LOCALLAB_DELTAEC;ΔE Image mask
|
TP_LOCALLAB_DELTAEC;ΔE Image mask
|
||||||
TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask
|
TP_LOCALLAB_DENOI1_EXP;Denoise Based On Luminance Mask
|
||||||
TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask
|
TP_LOCALLAB_DENOI2_EXP;Recovery Based On Luminance Mask
|
||||||
TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise.
|
TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise.
|
||||||
TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise.
|
TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise.
|
||||||
TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT).
|
TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT).
|
||||||
@ -3128,7 +3173,7 @@ TP_LOCALLAB_DETAIL;Local contrast
|
|||||||
TP_LOCALLAB_DETAILFRA;Edge detection - DCT
|
TP_LOCALLAB_DETAILFRA;Edge detection - DCT
|
||||||
TP_LOCALLAB_DETAILSH;Details
|
TP_LOCALLAB_DETAILSH;Details
|
||||||
TP_LOCALLAB_DETAILTHR;Lum/chrom detail threshold
|
TP_LOCALLAB_DETAILTHR;Lum/chrom detail threshold
|
||||||
TP_LOCALLAB_DISAB_CIECAM;Disable Ciecam or Weak Jz surround
|
TP_LOCALLAB_DISAB_CIECAM;Disable CIECAM or Weak Jz surround
|
||||||
TP_LOCALLAB_DIVGR;Gamma
|
TP_LOCALLAB_DIVGR;Gamma
|
||||||
TP_LOCALLAB_DUPLSPOTNAME;Copy
|
TP_LOCALLAB_DUPLSPOTNAME;Copy
|
||||||
TP_LOCALLAB_EDGFRA;Edge sharpness
|
TP_LOCALLAB_EDGFRA;Edge sharpness
|
||||||
@ -3203,7 +3248,7 @@ TP_LOCALLAB_GAM;Gamma
|
|||||||
TP_LOCALLAB_GAMC;Gamma
|
TP_LOCALLAB_GAMC;Gamma
|
||||||
TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used.
|
TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used.
|
||||||
TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used.
|
TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used.
|
||||||
TP_LOCALLAB_GAMFRA;Tone response curve (TRC)
|
TP_LOCALLAB_GAMFRA;Tone Response Curve (TRC)
|
||||||
TP_LOCALLAB_GAMM;Gamma
|
TP_LOCALLAB_GAMM;Gamma
|
||||||
TP_LOCALLAB_GAMMASKCOL;Gamma
|
TP_LOCALLAB_GAMMASKCOL;Gamma
|
||||||
TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities.
|
TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities.
|
||||||
@ -3258,6 +3303,7 @@ TP_LOCALLAB_JZ100;Jz reference 100cd/m2
|
|||||||
TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation).
|
TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation).
|
||||||
TP_LOCALLAB_JZADAP;PU adaptation
|
TP_LOCALLAB_JZADAP;PU adaptation
|
||||||
TP_LOCALLAB_JZCH;Chroma
|
TP_LOCALLAB_JZCH;Chroma
|
||||||
|
TP_LOCALLAB_JZCH;Chroma
|
||||||
TP_LOCALLAB_JZCHROM;Chroma
|
TP_LOCALLAB_JZCHROM;Chroma
|
||||||
TP_LOCALLAB_JZCLARICRES;Merge chroma Cz
|
TP_LOCALLAB_JZCLARICRES;Merge chroma Cz
|
||||||
TP_LOCALLAB_JZCLARILRES;Merge Jz
|
TP_LOCALLAB_JZCLARILRES;Merge Jz
|
||||||
@ -3267,16 +3313,17 @@ TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for be
|
|||||||
TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments
|
TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments
|
||||||
TP_LOCALLAB_JZHFRA;Curves Hz
|
TP_LOCALLAB_JZHFRA;Curves Hz
|
||||||
TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz)
|
TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz)
|
||||||
TP_LOCALLAB_JZHUECIE;Hue Rotation
|
TP_LOCALLAB_JZHUECIE;Hue rotation
|
||||||
TP_LOCALLAB_JZLIGHT;Brightness
|
TP_LOCALLAB_JZLIGHT;Brightness
|
||||||
TP_LOCALLAB_JZLOG;Log encoding Jz
|
TP_LOCALLAB_JZLOG;Log encoding Jz
|
||||||
TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation.
|
TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation.
|
||||||
TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting.
|
TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting.
|
||||||
TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain.
|
TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the Log encoding. Lower values of mean luminance will result in increased gain.
|
||||||
TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function.
|
TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function.
|
||||||
TP_LOCALLAB_JZPQFRA;Jz remapping
|
TP_LOCALLAB_JZPQFRA;Jz remapping
|
||||||
TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm.
|
TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm.
|
||||||
TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance
|
TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance (cd/m2)
|
||||||
|
TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices.
|
||||||
TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices.
|
TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices.
|
||||||
TP_LOCALLAB_JZQTOJ;Relative luminance
|
TP_LOCALLAB_JZQTOJ;Relative luminance
|
||||||
TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve.
|
TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve.
|
||||||
@ -3285,7 +3332,7 @@ TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz
|
|||||||
TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter)
|
TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter)
|
||||||
TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter
|
TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter
|
||||||
TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%)
|
TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%)
|
||||||
TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz)
|
TP_LOCALLAB_JZTHRHCIE;Threshold chroma for Jz(Hz)
|
||||||
TP_LOCALLAB_JZWAVEXP;Wavelet Jz
|
TP_LOCALLAB_JZWAVEXP;Wavelet Jz
|
||||||
TP_LOCALLAB_LABBLURM;Blur Mask
|
TP_LOCALLAB_LABBLURM;Blur Mask
|
||||||
TP_LOCALLAB_LABEL;Selective Editing
|
TP_LOCALLAB_LABEL;Selective Editing
|
||||||
@ -3334,8 +3381,8 @@ TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic rang
|
|||||||
TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out.
|
TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out.
|
||||||
TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device.
|
TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device.
|
||||||
TP_LOCALLAB_LOGCIE;Log encoding
|
TP_LOCALLAB_LOGCIE;Log encoding
|
||||||
TP_LOCALLAB_LOGCIEQ;Log Encoding Q (with Ciecam)
|
TP_LOCALLAB_LOGCIEQ;Log encoding Q with CIECAM (deprecated)
|
||||||
TP_LOCALLAB_LOGCIEQ_TOOLTIP;Activating the checkbox allows you to switch between log encoding based on the 3 RGB channels, and log encoding based solely on Ciecam’s brightness (Q) channel.\nUsing the Q channel instead of the RGB channels helps avoid undesirable edge effects such as hue and saturation shifts.\nHowever, the settings are more difficult to optimise because Q is unbounded and Ciecam alters the data to take into account the surround conditions, simultaneous contrast, etc.\nYou may have to adjust the following:\n Scene conditions: Mean luminance (Yb), Whites & Blacks distribution, Black Ev, White Ev.\n Source Data Adjustments : Brightness compression, Strength.\n\nNote: when using Log Encoding (Q), be careful not to activate the Disable Ciecam option in the Scene Conditions, Surround menu.
|
TP_LOCALLAB_LOGCIEQ_TOOLTIP;Activating the checkbox allows you to switch between Log encoding based on the 3 RGB channels, and Log encoding based solely on CIECAM’s brightness (Q) channel.\nUsing the Q channel instead of the RGB channels helps avoid undesirable edge effects such as hue and saturation shifts.\nHowever, the settings are more difficult to optimise because Q is unbounded and CIECAM alters the data to take into account the surround conditions, simultaneous contrast, etc.\nYou may have to adjust the following:\n Scene conditions: Mean luminance (Yb), Whites & Blacks distribution, Black Ev, White Ev.\n Source Data Adjustments : Brightness compression, Strength.\n\nNote: when using Log encoding (Q), be careful not to activate the Disable CIECAM option in the Scene Conditions, Surround menu.
|
||||||
TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you to use Black Ev, White Ev, White and Black distribution, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using 'Log encoding' with Brightness compression.
|
TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you to use Black Ev, White Ev, White and Black distribution, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using 'Log encoding' with Brightness compression.
|
||||||
TP_LOCALLAB_LOGCOLORFL;Colorfulness (M)
|
TP_LOCALLAB_LOGCOLORFL;Colorfulness (M)
|
||||||
TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored.
|
TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored.
|
||||||
@ -3350,16 +3397,16 @@ TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUse
|
|||||||
TP_LOCALLAB_LOGEXP;All tools
|
TP_LOCALLAB_LOGEXP;All tools
|
||||||
TP_LOCALLAB_LOGFRA;Scene Conditions
|
TP_LOCALLAB_LOGFRA;Scene Conditions
|
||||||
TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting.
|
TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting.
|
||||||
TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode).
|
TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding CIECAM variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode).
|
||||||
TP_LOCALLAB_LOGLIGHTL;Lightness (J)
|
TP_LOCALLAB_LOGLIGHTL;Lightness (J)
|
||||||
TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration.
|
TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration.
|
||||||
TP_LOCALLAB_LOGLIGHTQ;Brightness (Q)
|
TP_LOCALLAB_LOGLIGHTQ;Brightness (Q)
|
||||||
TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear.
|
TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear.
|
||||||
TP_LOCALLAB_LOGLIN;Logarithm mode
|
TP_LOCALLAB_LOGLIN;Logarithm mode
|
||||||
TP_LOCALLAB_LOGPFRA;Relative Exposure Levels
|
TP_LOCALLAB_LOGPFRA;Relative Exposure Levels
|
||||||
TP_LOCALLAB_LOGPFRA2;Log Encoding settings
|
TP_LOCALLAB_LOGPFRA2;Log Encoding Settings
|
||||||
TP_LOCALLAB_LOGREPART;Overall strength
|
TP_LOCALLAB_LOGREPART;Overall strength
|
||||||
TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component.
|
TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the CIECAM component.
|
||||||
TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights.
|
TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights.
|
||||||
TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions.
|
TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions.
|
||||||
TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\n<b>Average</b>: Average light conditions (standard). The image will not change.\n\n<b>Dim</b>: Dim conditions. The image will become slightly brighter.\n\n<b>Dark</b>: Dark conditions. The image will become more bright.
|
TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\n<b>Average</b>: Average light conditions (standard). The image will not change.\n\n<b>Dim</b>: Dim conditions. The image will become slightly brighter.\n\n<b>Dark</b>: Dark conditions. The image will become more bright.
|
||||||
@ -3369,7 +3416,7 @@ TP_LOCALLAB_LUM;LL - CC
|
|||||||
TP_LOCALLAB_LUM46LABEL;Luma levels 456: Mean=%1 High=%2
|
TP_LOCALLAB_LUM46LABEL;Luma levels 456: Mean=%1 High=%2
|
||||||
TP_LOCALLAB_LUMADARKEST;Darkest
|
TP_LOCALLAB_LUMADARKEST;Darkest
|
||||||
TP_LOCALLAB_LUMASK;Background color/luma mask
|
TP_LOCALLAB_LUMASK;Background color/luma mask
|
||||||
TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications).
|
TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask And Modifications).
|
||||||
TP_LOCALLAB_LUMAWHITESEST;Lightest
|
TP_LOCALLAB_LUMAWHITESEST;Lightest
|
||||||
TP_LOCALLAB_LUMFRA;L*a*b* standard
|
TP_LOCALLAB_LUMFRA;L*a*b* standard
|
||||||
TP_LOCALLAB_LUMLABEL;Luma levels 0123: Mean=%1 High=%2
|
TP_LOCALLAB_LUMLABEL;Luma levels 0123: Mean=%1 High=%2
|
||||||
@ -3384,20 +3431,20 @@ TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC
|
|||||||
TP_LOCALLAB_MASKDDECAY;Decay strength
|
TP_LOCALLAB_MASKDDECAY;Decay strength
|
||||||
TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions.
|
TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions.
|
||||||
TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased.
|
TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased.
|
||||||
TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'.
|
TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'.
|
||||||
TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained.
|
TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained.
|
||||||
TP_LOCALLAB_MASKH;Hue curve
|
TP_LOCALLAB_MASKH;Hue curve
|
||||||
TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and Modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLCTHR;Light area luminance threshold
|
TP_LOCALLAB_MASKLCTHR;Light area luminance threshold
|
||||||
TP_LOCALLAB_MASKLCTHR2;Light area luma threshold
|
TP_LOCALLAB_MASKLCTHR2;Light area luma threshold
|
||||||
TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold
|
TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold
|
||||||
@ -3406,29 +3453,29 @@ TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise
|
|||||||
TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise
|
TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise
|
||||||
TP_LOCALLAB_MASKLC_TOOLTIP;Used by wavelet luminance.\nThis allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask.
|
TP_LOCALLAB_MASKLC_TOOLTIP;Used by wavelet luminance.\nThis allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask.
|
||||||
TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas
|
TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas
|
||||||
TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and Modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings.
|
||||||
TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied.
|
TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied.
|
||||||
TP_LOCALLAB_MASKRECOTHRES;Recovery threshold
|
TP_LOCALLAB_MASKRECOTHRES;Recovery threshold
|
||||||
TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied.
|
TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied.
|
||||||
TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied.
|
TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied.
|
||||||
TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied.
|
TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied.
|
||||||
TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied.
|
TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied.
|
||||||
TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied.
|
TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied.
|
||||||
TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied.
|
TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied.
|
||||||
TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied.
|
TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied.
|
||||||
TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied.
|
TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied.
|
||||||
TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Enable in Mask & modifications)
|
TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Enable in Mask & Modifications)
|
||||||
TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications)
|
TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & Modifications)
|
||||||
TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments.
|
TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments.
|
||||||
TP_LOCALLAB_MEDIAN;Median Low
|
TP_LOCALLAB_MEDIAN;Median Low
|
||||||
TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter.
|
TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter.
|
||||||
@ -3515,12 +3562,16 @@ TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for RawTherapee: gives d
|
|||||||
TP_LOCALLAB_PRECAMGAMUT_TOOLTIP;If checked, ensures a gamut control just after primary conversion to XYZ.
|
TP_LOCALLAB_PRECAMGAMUT_TOOLTIP;If checked, ensures a gamut control just after primary conversion to XYZ.
|
||||||
TP_LOCALLAB_PRECAMREFIMAIN_TOOLTIP;Allows you to move the white-point in such a way that it approaches the dominant color. This action modifies the purity. In combination with "Shift x" and "Shift y", allows you to carry out moderate color toning.
|
TP_LOCALLAB_PRECAMREFIMAIN_TOOLTIP;Allows you to move the white-point in such a way that it approaches the dominant color. This action modifies the purity. In combination with "Shift x" and "Shift y", allows you to carry out moderate color toning.
|
||||||
TP_LOCALLAB_PRECAMREFI_TOOLTIP;Allows you to move the white-point in such a way that it approaches the dominant color. This action modifies the purity.
|
TP_LOCALLAB_PRECAMREFI_TOOLTIP;Allows you to move the white-point in such a way that it approaches the dominant color. This action modifies the purity.
|
||||||
TP_LOCALLAB_PRECAM_TOOLTIP;'Source Data Adjustments' modifies the Dynamic Range using Log encoding, the tones of the image and primaries (simplified Abstract Profile), and midtones, just before the Ciecam process. These values are adjustable:\nGamma: Acts mainly on light tones\nSlope: Acts mainly on dark tones. You can choose any pair of gamma and slope (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nDestination primaries: Allows you to change the destination primaries to restore or change image color (saturation). The color balance is significantly preserved when the 'Working Profile' and the 'Destination primaries' are similar. 'Working Profile' is not modified. You can also finely adapt the primaries and the illuminant (white-point). Moving a primary away from the white point reduces saturation and vice versa. Pay attention to the gamut.
|
TP_LOCALLAB_PRECAM_TOOLTIP;'Source Data Adjustments' modifies the Dynamic Range using Log encoding, the tones of the image and primaries (simplified Abstract Profile), and midtones, just before the CIECAM process. These values are adjustable:\nGamma: Acts mainly on light tones\nSlope: Acts mainly on dark tones. You can choose any pair of gamma and slope (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nDestination primaries: Allows you to change the destination primaries to restore or change image color (saturation). The color balance is significantly preserved when the 'Working Profile' and the 'Destination primaries' are similar. 'Working Profile' is not modified. You can also finely adapt the primaries and the illuminant (white-point). Moving a primary away from the white point reduces saturation and vice versa. Pay attention to the gamut.
|
||||||
TP_LOCALLAB_PREVHIDE;Hide additional settings
|
TP_LOCALLAB_PREVHIDE;Hide additional settings
|
||||||
TP_LOCALLAB_PREVIEW;Preview ΔE
|
TP_LOCALLAB_PREVIEW;Preview ΔE
|
||||||
TP_LOCALLAB_PREVSHOW;Show additional settings
|
TP_LOCALLAB_PREVSHOW;Show additional settings
|
||||||
TP_LOCALLAB_PRIMILLFRAME;Primaries & Illuminant
|
TP_LOCALLAB_PRIMILLFRAME;Primaries & Illuminant
|
||||||
TP_LOCALLAB_PROXI;ΔE decay
|
TP_LOCALLAB_PROXI;ΔE decay
|
||||||
|
TP_LOCALLAB_QJMODE;Tone Mapping Operators Q(CAM16) & J(Jz)
|
||||||
|
TP_LOCALLAB_QJMODE_511;5.11 deprecated
|
||||||
|
TP_LOCALLAB_QJMODE_512;5.12
|
||||||
|
TP_LOCALLAB_QJMODE_TOOLTIP;The tone-mapping operators that use brightness data (Q for CAM16 and J for Jz) have been modified in RawTherapee version 5.12. This allows you to select either the current or the deprecated version.
|
||||||
TP_LOCALLAB_QUAAGRES;Aggressive
|
TP_LOCALLAB_QUAAGRES;Aggressive
|
||||||
TP_LOCALLAB_QUACONSER;Conservative
|
TP_LOCALLAB_QUACONSER;Conservative
|
||||||
TP_LOCALLAB_QUALCURV_METHOD;Curve type
|
TP_LOCALLAB_QUALCURV_METHOD;Curve type
|
||||||
@ -3530,7 +3581,7 @@ TP_LOCALLAB_QUANONEWAV;Non-local means only
|
|||||||
TP_LOCALLAB_RADIUS;Radius
|
TP_LOCALLAB_RADIUS;Radius
|
||||||
TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30.
|
TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30.
|
||||||
TP_LOCALLAB_RADMASKCOL;Smooth radius
|
TP_LOCALLAB_RADMASKCOL;Smooth radius
|
||||||
TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.).
|
TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, CAM16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, CAM16, etc.).
|
||||||
TP_LOCALLAB_RECT;Rectangle
|
TP_LOCALLAB_RECT;Rectangle
|
||||||
TP_LOCALLAB_RECURS;Recursive references
|
TP_LOCALLAB_RECURS;Recursive references
|
||||||
TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks.
|
TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks.
|
||||||
@ -3603,73 +3654,93 @@ TP_LOCALLAB_SHARP_TOOLNAME;Sharpening
|
|||||||
TP_LOCALLAB_SHARRADIUS;Radius
|
TP_LOCALLAB_SHARRADIUS;Radius
|
||||||
TP_LOCALLAB_SHORTC;Short Curves 'L' Mask
|
TP_LOCALLAB_SHORTC;Short Curves 'L' Mask
|
||||||
TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7.
|
TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7.
|
||||||
TP_LOCALLAB_SHOWC;Mask and modifications
|
TP_LOCALLAB_SHOWC;Mask And Modifications
|
||||||
TP_LOCALLAB_SHOWC1;Merge file
|
TP_LOCALLAB_SHOWC1;Merge file
|
||||||
TP_LOCALLAB_SHOWCB;Mask and modifications
|
TP_LOCALLAB_SHOWCB;Mask And Modifications
|
||||||
TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process
|
TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process
|
||||||
TP_LOCALLAB_SHOWE;Mask and modifications
|
TP_LOCALLAB_SHOWE;Mask And Modifications
|
||||||
TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct)
|
TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct)
|
||||||
TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first)
|
TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first)
|
||||||
TP_LOCALLAB_SHOWLC;Mask and modifications
|
TP_LOCALLAB_SHOWLC;Mask And Modifications
|
||||||
TP_LOCALLAB_SHOWMASK;Show mask
|
TP_LOCALLAB_SHOWMASK;Show mask
|
||||||
TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm.
|
TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays Masks and Modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm.
|
||||||
TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization.
|
TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization.
|
||||||
TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise
|
TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise
|
||||||
TP_LOCALLAB_SHOWMASKTYP2;Denoise
|
TP_LOCALLAB_SHOWMASKTYP2;Denoise
|
||||||
TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise
|
TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise
|
||||||
TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments.
|
TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask And Modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments.
|
||||||
TP_LOCALLAB_SHOWMNONE;Show modified image
|
TP_LOCALLAB_SHOWMNONE;Show modified image
|
||||||
TP_LOCALLAB_SHOWMODIF;Show modified areas without mask
|
TP_LOCALLAB_SHOWMODIF;Show modified areas without mask
|
||||||
TP_LOCALLAB_SHOWMODIF2;Show modified areas
|
TP_LOCALLAB_SHOWMODIF2;Show modified areas
|
||||||
TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask
|
TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask
|
||||||
TP_LOCALLAB_SHOWNORMAL;No luminance normalization
|
TP_LOCALLAB_SHOWNORMAL;No luminance normalization
|
||||||
TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise)
|
TP_LOCALLAB_SHOWPLUS;Mask And Modifications (Blur & Denoise)
|
||||||
TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ)
|
TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ)
|
||||||
TP_LOCALLAB_SHOWR;Mask and modifications
|
TP_LOCALLAB_SHOWR;Mask And Modifications
|
||||||
TP_LOCALLAB_SHOWREF;Preview ΔE
|
TP_LOCALLAB_SHOWREF;Preview ΔE
|
||||||
TP_LOCALLAB_SHOWS;Mask and modifications
|
TP_LOCALLAB_SHOWS;Mask And Modifications
|
||||||
TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced)
|
TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced)
|
||||||
TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced)
|
TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced)
|
||||||
TP_LOCALLAB_SHOWT;Mask and modifications
|
TP_LOCALLAB_SHOWT;Mask And Modifications
|
||||||
TP_LOCALLAB_SHOWVI;Mask and modifications
|
TP_LOCALLAB_SHOWVI;Mask And Modifications
|
||||||
TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC
|
TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC
|
||||||
TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default).
|
TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default).
|
||||||
TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer
|
TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer
|
||||||
TP_LOCALLAB_SIGBLACKSSCIE;Blacks distribution
|
TP_LOCALLAB_SIGBLACKSSCIE;Blacks distribution
|
||||||
TP_LOCALLAB_SIGCIE;Sigmoid
|
TP_LOCALLAB_SIGCIE;Sigmoid
|
||||||
TP_LOCALLAB_SIGFRA;Sigmoid Q
|
TP_LOCALLAB_SIGFRA;Sigmoid Q & Slope based
|
||||||
|
TP_LOCALLAB_SIGFRA11;Sigmoid Q (deprecated)
|
||||||
TP_LOCALLAB_SIGGAMJCIE;Gamma
|
TP_LOCALLAB_SIGGAMJCIE;Gamma
|
||||||
TP_LOCALLAB_SIGJZFRA;Sigmoid Jz
|
TP_LOCALLAB_SIGJZFRA;Sigmoid Jz
|
||||||
|
TP_LOCALLAB_SIGJZFRA11;Sigmoid Jz (deprecated)
|
||||||
TP_LOCALLAB_SIGMAWAV;Attenuation response
|
TP_LOCALLAB_SIGMAWAV;Attenuation response
|
||||||
TP_LOCALLAB_SIGMOID16_TOOLTIP;Allows you to simulate a tone mapping appearance using both 'Ciecam' and 'Sigmoid Q'. Sigmoid Q has three sliders:\na) Contrast acts on the shape of the sigmoid curve and consequently on the strength\nb) Threshold (Gray point) distributes the action according to the luminance\nc) Adaptability weights the action of the sigmoid by action on the internal exponential function.
|
TP_LOCALLAB_SIGMOID16_TOOLTIP;Allows you to simulate a tone mapping appearance using both 'CIECAM' and 'Sigmoid Q' or 'Slope based Q'. Sigmoid Q has three sliders:\na) Contrast acts on the shape of the sigmoid curve and consequently on the strength\nb) Skew (gray point) distributes the action according to the luminance.\nc) Display White point (cd/m2) - mode advanced. \n\nSlope based has only one slider: Gray balance (slope).\n\nThis new version of Sigmoid is incompatible with previous versions 5.11 and earlier. Log encoding inside CIECAM is removed.
|
||||||
TP_LOCALLAB_SIGMOIDBL;Blend
|
TP_LOCALLAB_SIGMOIDBL;Display White point (cd/m2)
|
||||||
|
TP_LOCALLAB_SIGMOIDBL11;Blend
|
||||||
TP_LOCALLAB_SIGMOIDLAMBDA;Contrast
|
TP_LOCALLAB_SIGMOIDLAMBDA;Contrast
|
||||||
TP_LOCALLAB_SIGMOIDLOGAUTO;Auto threshold
|
TP_LOCALLAB_SIGMOIDLOGAUTO;Auto threshold
|
||||||
TP_LOCALLAB_SIGMOIDLOGEV_TOOLTIP;If the combo box selection 'Black Ev and White Ev' is 'Sigmoid and Log encoding' instead of 'Sigmoid only', the two algorithms 'Log encoding' and 'Sigmoid' are used together.
|
TP_LOCALLAB_SIGMOIDLOGEV_TOOLTIP;If the combo box selection 'Black Ev and White Ev' is 'Sigmoid and Log encoding' instead of 'Sigmoid only', the two algorithms 'Log encoding' and 'Sigmoid' are used together.
|
||||||
TP_LOCALLAB_SIGMOIDNORMCIE;Normalize Luminance
|
TP_LOCALLAB_SIGMOIDNORMCIE;Scale Yb Scene
|
||||||
|
TP_LOCALLAB_SIGMOIDNORMCIE11;Normalize Luminance
|
||||||
TP_LOCALLAB_SIGMOIDNORMCIEBLEND_TOOLTIP;Blend acts on the final aspect of the image, contrast and luminance. Ratio between original and output image.
|
TP_LOCALLAB_SIGMOIDNORMCIEBLEND_TOOLTIP;Blend acts on the final aspect of the image, contrast and luminance. Ratio between original and output image.
|
||||||
TP_LOCALLAB_SIGMOIDNORMCIE_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image take into account those of the original.\nAll the adjustments acting on J or Q are taken into account, including those which are not relative to Sigmoid Q.
|
TP_LOCALLAB_SIGMOIDNORMCIE_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image take into account those of the original.\nAll the adjustments acting on J or Q are taken into account, including those which are not relative to Sigmoid Q.
|
||||||
TP_LOCALLAB_SIGMOIDQJ;Black Ev & White Ev
|
TP_LOCALLAB_SIGMOIDNORMCIEDISP_TOOLTIP;Allows you to adapt the white point to the peak luminance of the display device. Its position in the processing pipeline is not optimal so use with caution.
|
||||||
|
TP_LOCALLAB_SIGMOIDQJ;Tone mapping Q
|
||||||
|
TP_LOCALLAB_SIGMOIDQJ11;Black Ev & White Ev
|
||||||
TP_LOCALLAB_SIGMOIDQJCOMPRCIE_TOOLTIP;When the combo box selection 'Uses Black Ev and White Ev' is 'Sigmoid and Log encoding Q' or 'Log encoding instead of Sigmoid' checked. This algorithm compress the data above the threshold slider value. The last value stands for brightness (Q) and should be close as possible to the value 'Compression threshold' (calculate when 'Auto threshold" checked, often > 1).
|
TP_LOCALLAB_SIGMOIDQJCOMPRCIE_TOOLTIP;When the combo box selection 'Uses Black Ev and White Ev' is 'Sigmoid and Log encoding Q' or 'Log encoding instead of Sigmoid' checked. This algorithm compress the data above the threshold slider value. The last value stands for brightness (Q) and should be close as possible to the value 'Compression threshold' (calculate when 'Auto threshold" checked, often > 1).
|
||||||
TP_LOCALLAB_SIGMOIDSENSI;Adaptability
|
TP_LOCALLAB_SIGMOIDSENSI;Adaptability
|
||||||
TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point)
|
TP_LOCALLAB_SIGMOIDTH;Skew
|
||||||
|
TP_LOCALLAB_SIGMOIDTH11;Threshold (Gray point)
|
||||||
TP_LOCALLAB_SIGMOIDWHITESCIE_TOOLTIP;Allows you, in Automatic when the dynamic range of the image is high, to change the distribution of lights in whites and deep blacks.\nCan be used with Log encoding or Sigmoid with Black Ev and White Ev enabled.\n\nThe algorithm does not change the basic data, but acts on the components necessary to calculate the Dynamic range, Black Ev, White Ev and the Gray point.
|
TP_LOCALLAB_SIGMOIDWHITESCIE_TOOLTIP;Allows you, in Automatic when the dynamic range of the image is high, to change the distribution of lights in whites and deep blacks.\nCan be used with Log encoding or Sigmoid with Black Ev and White Ev enabled.\n\nThe algorithm does not change the basic data, but acts on the components necessary to calculate the Dynamic range, Black Ev, White Ev and the Gray point.
|
||||||
TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a tone mapping appearance using both the 'Jz' and 'Sigmoid' function. Three sliders:\na) Contrast acts on the shape of the sigmoid curve and consequently on the strength\nb) Threshold (Gray point) distributes the action according to the luminance\nc)Blend acts on the final aspect of the image, contrast and luminance.
|
TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a tone mapping appearance using both the 'Jz' and 'Sigmoid' function. Two sliders:\na) Contrast acts on the shape of the sigmoid curve and consequently on the strength\nb) Skew (Gray point) distributes the action according to the luminance.\n\nThis new version of Sigmoid is incompatible with previous versions 5.11 and earlier.
|
||||||
TP_LOCALLAB_SIGSLOPJCIE;Slope
|
TP_LOCALLAB_SIGSLOPJCIE;Slope
|
||||||
TP_LOCALLAB_SIGTRCCIE;Source Data Adjustments
|
TP_LOCALLAB_SIGTRCCIE;Source Data Adjustments
|
||||||
TP_LOCALLAB_SIGWHITESCIE;Whites distribution
|
TP_LOCALLAB_SIGWHITESCIE;Whites distribution
|
||||||
TP_LOCALLAB_SLOMASKCOL;Slope
|
TP_LOCALLAB_SLOMASKCOL;Slope
|
||||||
TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities.
|
TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities.
|
||||||
TP_LOCALLAB_SLOPESMOOTH;Gray balance (Slope)
|
TP_LOCALLAB_SLOPESMOOTH;Gray balance (Slope)
|
||||||
TP_LOCALLAB_SLOPESMOOTHB;Blue balance (Slope)
|
TP_LOCALLAB_SLOPESMOOTHR;Red Slope
|
||||||
|
TP_LOCALLAB_SLOPESMOOTHG;Green Slope
|
||||||
|
TP_LOCALLAB_SLOPESMOOTHB;Blue Slope
|
||||||
|
TP_LOCALLAB_SLOPESMOOTRCG;Green balance (TRC)
|
||||||
|
TP_LOCALLAB_SLOPESMOOTRCR;Red balance (TRC)
|
||||||
TP_LOCALLAB_SLOPESMOOTHG;Green balance (Slope)
|
TP_LOCALLAB_SLOPESMOOTHG;Green balance (Slope)
|
||||||
TP_LOCALLAB_SLOPESMOOTHR;Red balance (Slope)
|
TP_LOCALLAB_SLOPESMOOTHR;Red balance (Slope)
|
||||||
|
TP_LOCALLAB_SLOPESMOOTRCB;Blue balance (TRC)
|
||||||
TP_LOCALLAB_SLOSH;Slope
|
TP_LOCALLAB_SLOSH;Slope
|
||||||
TP_LOCALLAB_SMOOTHCIE;Highlight Attenuation
|
TP_LOCALLAB_SMOOTHCIE;Highlight attenuation
|
||||||
|
TP_LOCALLAB_SMOOTHCIE_LNK;Link R, G, & B
|
||||||
|
TP_LOCALLAB_SMOOTHCIETH;Attenuation threshold
|
||||||
|
TP_LOCALLAB_SMOOTHCIE_HIGH;Highlight attenuation only
|
||||||
|
TP_LOCALLAB_SMOOTHCIE_TRC;Increase gamma-based attenuation
|
||||||
|
TP_LOCALLAB_SMOOTHCIE_TRCREL;Relative gamma mode
|
||||||
TP_LOCALLAB_SMOOTHCIE_LUM;Luminosity mode
|
TP_LOCALLAB_SMOOTHCIE_LUM;Luminosity mode
|
||||||
TP_LOCALLAB_SMOOTHCIE_SCA;Scale Yb Scene
|
TP_LOCALLAB_SMOOTHCIE_SCA;Scale Yb Scene
|
||||||
TP_LOCALLAB_SMOOTHCIE_TOOLTIP;Completes the processing carried out by gamma, slope and midtones by causing a slight lowering of lights. Please note this does not replace Highlight reconstruction.\n\nGamma based and Slope based (Standard and Advanced) allow you to simulate a tone mapping using:\na) Scene conditions: Black-Ev, White-Ev, Mean luminance (Yb%)\nb) Viewing conditions: Mean luminance (Yb%).\n\nScale Yb Scene is function of White-Ev.
|
TP_LOCALLAB_SMOOTHCIE_TOOLTIP;Completes the processing carried out by gamma, slope and midtones by causing a slight lowering of lights. Please note this does not replace Highlight reconstruction.\n\nGamma based and Slope based (Standard and Advanced) allow you to simulate a tone mapping using:\na) Scene conditions: Black-Ev, White-Ev, Mean luminance (Yb%)\nb) Viewing conditions: Mean luminance (Yb%).\n\nScale Yb Scene is function of White-Ev.\n\nSigmoid applies tone mapping with Contrast and Skew and Display White point allows you to adapt the white point to the peak luminance of the display device. Its position in the processing pipeline is not optimal so use with caution.\n\nThis new version of Sigmoid is incompatible with previous versions 5.11 and earlier.
|
||||||
TP_LOCALLAB_SMOOTHCIE_YB;Scale Yb Viewing
|
TP_LOCALLAB_SMOOTHCIE_YB;Scale Yb Viewing
|
||||||
|
TP_LOCALLAB_SMOOTHCONTSIG;Contrast
|
||||||
|
TP_LOCALLAB_SMOOTHSKEWSIG;Skew
|
||||||
|
TP_LOCALLAB_SMOOTHWHITSIG;Display White point (cd/m2)
|
||||||
TP_LOCALLAB_SOFT;Soft Light & Original Retinex
|
TP_LOCALLAB_SOFT;Soft Light & Original Retinex
|
||||||
TP_LOCALLAB_SOFTM;Soft Light
|
TP_LOCALLAB_SOFTM;Soft Light
|
||||||
TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm.
|
TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm.
|
||||||
@ -3677,7 +3748,7 @@ TP_LOCALLAB_SOFTRADIUSCOL;Soft radius
|
|||||||
TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts.
|
TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts.
|
||||||
TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts
|
TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts
|
||||||
TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex
|
TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex
|
||||||
TP_LOCALLAB_SOURCE_ABS;Absolute luminance
|
TP_LOCALLAB_SOURCE_ABS;Absolute luminance (cd/m2)
|
||||||
TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%)
|
TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%)
|
||||||
TP_LOCALLAB_SPECCASE;Specific cases
|
TP_LOCALLAB_SPECCASE;Specific cases
|
||||||
TP_LOCALLAB_SPECIAL;Special use of RGB curves
|
TP_LOCALLAB_SPECIAL;Special use of RGB curves
|
||||||
@ -3696,7 +3767,7 @@ TP_LOCALLAB_STRGRID;Strength
|
|||||||
TP_LOCALLAB_STRUC;Structure
|
TP_LOCALLAB_STRUC;Structure
|
||||||
TP_LOCALLAB_STRUCCOL;Spot structure
|
TP_LOCALLAB_STRUCCOL;Spot structure
|
||||||
TP_LOCALLAB_STRUCCOL1;Spot structure
|
TP_LOCALLAB_STRUCCOL1;Spot structure
|
||||||
TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'.
|
TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask And Modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'.
|
||||||
TP_LOCALLAB_STRUMASKCOL;Structure mask strength
|
TP_LOCALLAB_STRUMASKCOL;Structure mask strength
|
||||||
TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light).
|
TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light).
|
||||||
TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended!
|
TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended!
|
||||||
@ -4219,8 +4290,9 @@ TP_WAVELET_DAUB4;D4 - standard
|
|||||||
TP_WAVELET_DAUB6;D6 - standard plus
|
TP_WAVELET_DAUB6;D6 - standard plus
|
||||||
TP_WAVELET_DAUB10;D10 - medium
|
TP_WAVELET_DAUB10;D10 - medium
|
||||||
TP_WAVELET_DAUB14;D14 - high
|
TP_WAVELET_DAUB14;D14 - high
|
||||||
|
TP_WAVELET_DAUB20;D20 - high plus
|
||||||
TP_WAVELET_DAUBLOCAL;Wavelet Edge performance
|
TP_WAVELET_DAUBLOCAL;Wavelet Edge performance
|
||||||
TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use.
|
TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 D20 = Often best performance, 15% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use.
|
||||||
TP_WAVELET_DEN5THR;Guided threshold
|
TP_WAVELET_DEN5THR;Guided threshold
|
||||||
TP_WAVELET_DENCURV;Curve
|
TP_WAVELET_DENCURV;Curve
|
||||||
TP_WAVELET_DENL;Correction structure
|
TP_WAVELET_DENL;Correction structure
|
||||||
@ -4294,6 +4366,7 @@ TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for
|
|||||||
TP_WAVELET_LEVF;Contrast
|
TP_WAVELET_LEVF;Contrast
|
||||||
TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold
|
TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold
|
||||||
TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1
|
TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1
|
||||||
|
TP_WAVELET_LEVLOCLABEL;Increase the preview window size
|
||||||
TP_WAVELET_LEVONE;Level 2
|
TP_WAVELET_LEVONE;Level 2
|
||||||
TP_WAVELET_LEVTHRE;Level 4
|
TP_WAVELET_LEVTHRE;Level 4
|
||||||
TP_WAVELET_LEVTWO;Level 3
|
TP_WAVELET_LEVTWO;Level 3
|
||||||
@ -4323,6 +4396,7 @@ TP_WAVELET_NPNONE;None
|
|||||||
TP_WAVELET_NPTYPE;Neighboring pixels
|
TP_WAVELET_NPTYPE;Neighboring pixels
|
||||||
TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced.
|
TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced.
|
||||||
TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced.
|
TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced.
|
||||||
|
TP_WAVELET_OFFSFIN;Offset
|
||||||
TP_WAVELET_OLDSH;Algorithm using negatives values
|
TP_WAVELET_OLDSH;Algorithm using negatives values
|
||||||
TP_WAVELET_OPACITY;Opacity blue-yellow
|
TP_WAVELET_OPACITY;Opacity blue-yellow
|
||||||
TP_WAVELET_OPACITYW;Contrast balance d/v-h curve
|
TP_WAVELET_OPACITYW;Contrast balance d/v-h curve
|
||||||
@ -4331,6 +4405,11 @@ TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the w
|
|||||||
TP_WAVELET_PASTEL;Pastel chroma
|
TP_WAVELET_PASTEL;Pastel chroma
|
||||||
TP_WAVELET_PROC;Process
|
TP_WAVELET_PROC;Process
|
||||||
TP_WAVELET_PROTAB;Protection
|
TP_WAVELET_PROTAB;Protection
|
||||||
|
TP_WAVELET_PYRWAVTRC;Contrast profile
|
||||||
|
TP_WAVELET_PYRWAVTRC_TOOLTIP;A series of presets defining the strength of the contrast adjustment at different detail levels. Lower presets only affect fine details while higher presets affect both fine and coarse details.\n\nNote: The effect on coarse details may not be visible in the preview if the preview is too small.
|
||||||
|
TP_WAVELET_PYRWAVTRC_CURVE_TOOLTIP;The left end of the horizontal axis corresponds to close to zero contrast, while the right end corresponds to the strongest contrast in the image. The midpoint of the horizontal axis corresponds to the predominant contrast strength across all detail levels.\n\nThe effect of this curve is reduced for higher Contrast profile presets.\n\nTo avoid harsh contrast and halos, refrain from increasing the right half of the curve.
|
||||||
|
TP_WAVELET_PYRWAVTRC_RESID_TOOLTIP;Adjusts the contrast for all detail levels larger than those covered by the selected Contrast profile.
|
||||||
|
TP_WAVELET_PYRWAVTRC_SIGMA_TOOLTIP;Stretches the width of the "Variable contrast" curve. A value of 1 means no stretching.
|
||||||
TP_WAVELET_QUAAGRES;Aggressive
|
TP_WAVELET_QUAAGRES;Aggressive
|
||||||
TP_WAVELET_QUACONSER;Conservative
|
TP_WAVELET_QUACONSER;Conservative
|
||||||
TP_WAVELET_RADIUS;Radius shadows - highlight
|
TP_WAVELET_RADIUS;Radius shadows - highlight
|
||||||
@ -4345,6 +4424,7 @@ TP_WAVELET_RESCHRO;Strength
|
|||||||
TP_WAVELET_RESCON;Shadows
|
TP_WAVELET_RESCON;Shadows
|
||||||
TP_WAVELET_RESCONH;Highlights
|
TP_WAVELET_RESCONH;Highlights
|
||||||
TP_WAVELET_RESID;Residual Image
|
TP_WAVELET_RESID;Residual Image
|
||||||
|
TP_WAVELET_RESIDTRC;Residual contrast
|
||||||
TP_WAVELET_SAT;Saturated chroma
|
TP_WAVELET_SAT;Saturated chroma
|
||||||
TP_WAVELET_SETTINGS;Wavelet Settings
|
TP_WAVELET_SETTINGS;Wavelet Settings
|
||||||
TP_WAVELET_SHA;Sharp mask
|
TP_WAVELET_SHA;Sharp mask
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*
|
*
|
||||||
* 2010 Ilya Popov <ilia_popov@rambler.ru>
|
* 2010 Ilya Popov <ilia_popov@rambler.ru>
|
||||||
* 2012 Emil Martinec <ejmartin@uchicago.edu>
|
* 2012 Emil Martinec <ejmartin@uchicago.edu>
|
||||||
|
* 2024 Jacques Desmis <jdesmis@gmail.com>
|
||||||
|
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
@ -170,14 +172,14 @@ wavelet_decomposition::wavelet_decomposition(
|
|||||||
//n=0 lopass, n=1 hipass
|
//n=0 lopass, n=1 hipass
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* } else if(wavfilt_len == 22) {
|
} else if(wavfilt_len == 22) {
|
||||||
for (int n = 0; n < 2; n++) {
|
for (int n = 0; n < 2; n++) {
|
||||||
for (int i = 0; i < wavfilt_len; i++) {
|
for (int i = 0; i < wavfilt_len; i++) {
|
||||||
wavfilt_anal[wavfilt_len * (n) + i] = Daub4_anal22[n][i];
|
wavfilt_anal[wavfilt_len * (n) + i] = Daub4_anal22[n][i];
|
||||||
wavfilt_synth[wavfilt_len * (n) + i] = Daub4_anal22[n][wavfilt_len - 1 - i];
|
wavfilt_synth[wavfilt_len * (n) + i] = Daub4_anal22[n][wavfilt_len - 1 - i];
|
||||||
//n=0 lopass, n=1 hipass
|
//n=0 lopass, n=1 hipass
|
||||||
}
|
}
|
||||||
} */
|
}
|
||||||
} else if(wavfilt_len == 4) {
|
} else if(wavfilt_len == 4) {
|
||||||
for (int n = 0; n < 2; n++) {
|
for (int n = 0; n < 2; n++) {
|
||||||
for (int i = 0; i < wavfilt_len; i++) {
|
for (int i = 0; i < wavfilt_len; i++) {
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* along with RawTherapee. If not, see <https://www.gnu.org/licenses/>.
|
* along with RawTherapee. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
* 2012 Emil Martinec <ejmartin@uchicago.edu>
|
* 2012 Emil Martinec <ejmartin@uchicago.edu>
|
||||||
* 2014 Jacques Desmis <jdesmis@gmail.com>
|
* 2014 - 2024 Jacques Desmis <jdesmis@gmail.com>
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
@ -49,13 +49,13 @@ const float Daub4_anal16[2][16] ALIGNED16 = {//Daub 14
|
|||||||
{ -0.0002501134f, -0.0012739524f, -0.0003037575f, 0.008874895f, 0.01171997f , -0.026891225f, -0.057001725f, 0.05042335f, 0.158417505f, -0.10175691f, -0.33218624f, 0.515574245f, -0.28039564f, 0.055049715f, 0.f, 0.f}
|
{ -0.0002501134f, -0.0012739524f, -0.0003037575f, 0.008874895f, 0.01171997f , -0.026891225f, -0.057001725f, 0.05042335f, 0.158417505f, -0.10175691f, -0.33218624f, 0.515574245f, -0.28039564f, 0.055049715f, 0.f, 0.f}
|
||||||
};
|
};
|
||||||
|
|
||||||
const float Daub4_anal22[2][22] ALIGNED16 = {//Daub 20
|
const float Daub4_anal22[2][22] ALIGNED16 = {//Daub 20 - verified good 6 - 2024
|
||||||
{0.f, 0.f, 0.01885858f, 0.13306109f, 0.37278535f, 0.48681406f, 0.19881887f, -0.1766681f, -0.13855494f, 0.09006372f, 0.0658015f, -0.05048328f, -0.02082962f,
|
{0.f, 0.f, 0.01885858f, 0.13306109f, 0.37278535f, 0.48681406f, 0.19881887f, -0.1766681f, -0.13855494f, 0.09006372f, 0.0658015f, -0.05048328f, -0.02082962f,
|
||||||
0.0234849f, 0.002550218f, -0.0075895f, 0.0009866627f, 0.001408843f, -0.000484973f, -0.0000823545f, 0.0000661271f, -0.00000939f},
|
0.0234849f, 0.002550218f, -0.0075895f, 0.0009866627f, 0.001408843f, -0.000484973f, -0.0000823545f, 0.0000661271f, -0.00000939f},
|
||||||
{0.00000939f, -0.0000661271f, 0.0000823545f, 0.000484973f, -0.001408843f, -0.0009866627f, 0.0075895f, -0.002550218f, -0.0234849f,
|
{0.00000939f, 0.0000661271f, 0.0000823545f, -0.000484973f, -0.001408843f, 0.0009866627f, 0.0075895f, 0.002550218f, -0.0234849f,
|
||||||
0.02082962f, 0.05048328f, -0.0658015f, -0.09006372f, 0.13855494f, 0.1766681f, -0.19881887f, -0.48681406f, -0.37278535f, -0.13306109f, -0.01885858f, 0.f, 0.f}
|
-0.02082962f, 0.05048328f, 0.0658015f, -0.09006372f, -0.13855494f, 0.1766681f, 0.19881887f, -0.48681406f, 0.37278535f, -0.13306109f, 0.01885858f, 0.f, 0.f}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// if necessary ?? we can add D20 !!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1091,7 +1091,8 @@ void Crop::update(int todo)
|
|||||||
float Lhighresi46 = 0.f;
|
float Lhighresi46 = 0.f;
|
||||||
float Lnresi46 = 0.f;
|
float Lnresi46 = 0.f;
|
||||||
float contsig = params.locallab.spots.at(sp).contsigqcie;
|
float contsig = params.locallab.spots.at(sp).contsigqcie;
|
||||||
|
float slopeg = 1.f;
|
||||||
|
bool linkrgb = true;
|
||||||
float lightsig = params.locallab.spots.at(sp).lightsigqcie;
|
float lightsig = params.locallab.spots.at(sp).lightsigqcie;
|
||||||
/* huerefp[sp] = huere;
|
/* huerefp[sp] = huere;
|
||||||
chromarefp[sp] = chromare;
|
chromarefp[sp] = chromare;
|
||||||
@ -1163,7 +1164,7 @@ void Crop::update(int todo)
|
|||||||
parent->previewDeltaE, parent->locallColorMask, parent->locallColorMaskinv, parent->locallExpMask, parent->locallExpMaskinv, parent->locallSHMask, parent->locallSHMaskinv, parent->locallvibMask, parent->localllcMask, parent->locallsharMask, parent->locallcbMask, parent->locallretiMask, parent->locallsoftMask, parent->localltmMask, parent->locallblMask,
|
parent->previewDeltaE, parent->locallColorMask, parent->locallColorMaskinv, parent->locallExpMask, parent->locallExpMaskinv, parent->locallSHMask, parent->locallSHMaskinv, parent->locallvibMask, parent->localllcMask, parent->locallsharMask, parent->locallcbMask, parent->locallretiMask, parent->locallsoftMask, parent->localltmMask, parent->locallblMask,
|
||||||
parent->localllogMask, parent->locall_Mask, parent->locallcieMask, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
parent->localllogMask, parent->locall_Mask, parent->locallcieMask, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
||||||
meantme, stdtme, meanretie, stdretie, fab, maxicam,rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
meantme, stdtme, meanretie, stdretie, fab, maxicam,rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
||||||
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46);
|
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46, slopeg, linkrgb);
|
||||||
|
|
||||||
LocallabListener::locallabDenoiseLC denoiselc;
|
LocallabListener::locallabDenoiseLC denoiselc;
|
||||||
denoiselc.highres = highresi;
|
denoiselc.highres = highresi;
|
||||||
@ -1276,7 +1277,7 @@ void Crop::update(int todo)
|
|||||||
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
||||||
meantme, stdtme, meanretie, stdretie, fab, maxicam, rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
meantme, stdtme, meanretie, stdretie, fab, maxicam, rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
||||||
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46);
|
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46, slopeg, linkrgb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1449,7 +1450,6 @@ void Crop::update(int todo)
|
|||||||
WavOpacityCurveBY waOpacityCurveBY;
|
WavOpacityCurveBY waOpacityCurveBY;
|
||||||
WavOpacityCurveW waOpacityCurveW;
|
WavOpacityCurveW waOpacityCurveW;
|
||||||
WavOpacityCurveWL waOpacityCurveWL;
|
WavOpacityCurveWL waOpacityCurveWL;
|
||||||
|
|
||||||
LUTf wavclCurve;
|
LUTf wavclCurve;
|
||||||
|
|
||||||
params.wavelet.getCurves(wavCLVCurve, wavdenoise, wavdenoiseh, wavblcurve, waOpacityCurveRG, waOpacityCurveSH, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL);
|
params.wavelet.getCurves(wavCLVCurve, wavdenoise, wavdenoiseh, wavblcurve, waOpacityCurveRG, waOpacityCurveSH, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL);
|
||||||
@ -1628,6 +1628,23 @@ void Crop::update(int todo)
|
|||||||
if (params.icm.workingTRC != ColorManagementParams::WorkingTrc::NONE && params.icm.trcExp) {
|
if (params.icm.workingTRC != ColorManagementParams::WorkingTrc::NONE && params.icm.trcExp) {
|
||||||
const int GW = labnCrop->W;
|
const int GW = labnCrop->W;
|
||||||
const int GH = labnCrop->H;
|
const int GH = labnCrop->H;
|
||||||
|
if(params.icm.trcExp) {//local contrast
|
||||||
|
int level_hr = 7;
|
||||||
|
int maxlevpo = 9;
|
||||||
|
bool wavcurvecont = false;
|
||||||
|
WaveletParams WaveParams = params.wavelet;
|
||||||
|
ColorManagementParams Colparams = params.icm;
|
||||||
|
WavOpacityCurveWL icmOpacityCurveWL;
|
||||||
|
Colparams.getCurves(icmOpacityCurveWL);
|
||||||
|
parent->ipf.complete_local_contrast(labnCrop, labnCrop, WaveParams, Colparams, icmOpacityCurveWL, skip, level_hr, maxlevpo, wavcurvecont);
|
||||||
|
bool enall = false;
|
||||||
|
enall = wavcurvecont && Colparams.wavExp;//enable message only if curve enable and Expander on
|
||||||
|
if (parent->primListener) {
|
||||||
|
parent->primListener->wavlocChanged(float (maxlevpo), float (level_hr), enall);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
std::unique_ptr<LabImage> provis;
|
std::unique_ptr<LabImage> provis;
|
||||||
const float pres = 0.01f * params.icm.preser;
|
const float pres = 0.01f * params.icm.preser;
|
||||||
if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
||||||
@ -1639,8 +1656,8 @@ void Crop::update(int todo)
|
|||||||
|
|
||||||
parent->ipf.lab2rgb(*labnCrop, *tmpImage1, params.icm.workingProfile);
|
parent->ipf.lab2rgb(*labnCrop, *tmpImage1, params.icm.workingProfile);
|
||||||
|
|
||||||
const float gamtone = parent->params->icm.workingTRCGamma;
|
const float gamtone = parent->params->icm.wGamma;
|
||||||
const float slotone = parent->params->icm.workingTRCSlope;
|
const float slotone = parent->params->icm.wSlope;
|
||||||
|
|
||||||
int illum = rtengine::toUnderlying(params.icm.will);
|
int illum = rtengine::toUnderlying(params.icm.will);
|
||||||
const int prim = rtengine::toUnderlying(params.icm.wprim);
|
const int prim = rtengine::toUnderlying(params.icm.wprim);
|
||||||
|
@ -1402,7 +1402,8 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
if(params->locallab.spots.at(sp).complexcie == 2) {
|
if(params->locallab.spots.at(sp).complexcie == 2) {
|
||||||
params->locallab.spots.at(sp).primMethod = prof;//in Basic mode set to Working profile
|
params->locallab.spots.at(sp).primMethod = prof;//in Basic mode set to Working profile
|
||||||
}
|
}
|
||||||
|
float slopeg = 1.f;
|
||||||
|
bool linkrgb = true;
|
||||||
ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv.get(), savenormtm.get(), savenormreti.get(), lastorigimp.get(), fw, fh, 0, 0, pW, pH, scale, locRETgainCurve, locRETtransCurve,
|
ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv.get(), savenormtm.get(), savenormreti.get(), lastorigimp.get(), fw, fh, 0, 0, pW, pH, scale, locRETgainCurve, locRETtransCurve,
|
||||||
lllocalcurve, locallutili,
|
lllocalcurve, locallutili,
|
||||||
cllocalcurve, localclutili,
|
cllocalcurve, localclutili,
|
||||||
@ -1458,7 +1459,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
||||||
meantm, stdtm, meanreti, stdreti, fab, maxicam, rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
meantm, stdtm, meanreti, stdreti, fab, maxicam, rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
||||||
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46);
|
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46, slopeg, linkrgb);
|
||||||
|
|
||||||
|
|
||||||
fabrefp[sp] = fab;
|
fabrefp[sp] = fab;
|
||||||
@ -1561,6 +1562,8 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
loccielc.meanylc = meany;
|
loccielc.meanylc = meany;
|
||||||
loccielc.meanxelc = meanxe;
|
loccielc.meanxelc = meanxe;
|
||||||
loccielc.meanyelc = meanye;
|
loccielc.meanyelc = meanye;
|
||||||
|
loccielc.slopeglc = slopeg;
|
||||||
|
loccielc.linkrgblc = linkrgb;
|
||||||
locallcielc.push_back(loccielc);
|
locallcielc.push_back(loccielc);
|
||||||
|
|
||||||
LocallabListener::locallabcieSIG locciesig;
|
LocallabListener::locallabcieSIG locciesig;
|
||||||
@ -2080,6 +2083,15 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
const int GH = nprevl->H;
|
const int GH = nprevl->H;
|
||||||
std::unique_ptr<LabImage> provis;
|
std::unique_ptr<LabImage> provis;
|
||||||
const float pres = 0.01f * params->icm.preser;
|
const float pres = 0.01f * params->icm.preser;
|
||||||
|
if(params->icm.trcExp) {//local contrast
|
||||||
|
int level_hr = 7;
|
||||||
|
int maxlevpo = 9;
|
||||||
|
bool wavcurvecont = false;
|
||||||
|
WaveletParams WaveParams = params->wavelet;
|
||||||
|
ColorManagementParams Colparams = params->icm;
|
||||||
|
Colparams.getCurves(icmOpacityCurveWL);
|
||||||
|
ipf.complete_local_contrast(nprevl, nprevl, WaveParams,Colparams, icmOpacityCurveWL, scale, level_hr, maxlevpo, wavcurvecont);
|
||||||
|
}
|
||||||
|
|
||||||
if (pres > 0.f && params->icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
if (pres > 0.f && params->icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
||||||
provis.reset(new LabImage(GW, GH));
|
provis.reset(new LabImage(GW, GH));
|
||||||
@ -2090,8 +2102,8 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
|
|
||||||
ipf.lab2rgb(*nprevl, *tmpImage1, params->icm.workingProfile);
|
ipf.lab2rgb(*nprevl, *tmpImage1, params->icm.workingProfile);
|
||||||
|
|
||||||
const float gamtone = params->icm.workingTRCGamma;
|
const float gamtone = params->icm.wGamma;
|
||||||
const float slotone = params->icm.workingTRCSlope;
|
const float slotone = params->icm.wSlope;
|
||||||
int illum = toUnderlying(params->icm.will);
|
int illum = toUnderlying(params->icm.will);
|
||||||
const int prim = toUnderlying(params->icm.wprim);
|
const int prim = toUnderlying(params->icm.wprim);
|
||||||
|
|
||||||
|
@ -160,6 +160,7 @@ protected:
|
|||||||
WavOpacityCurveBY waOpacityCurveBY;
|
WavOpacityCurveBY waOpacityCurveBY;
|
||||||
WavOpacityCurveW waOpacityCurveW;
|
WavOpacityCurveW waOpacityCurveW;
|
||||||
WavOpacityCurveWL waOpacityCurveWL;
|
WavOpacityCurveWL waOpacityCurveWL;
|
||||||
|
WavOpacityCurveWL icmOpacityCurveWL;
|
||||||
RetinextransmissionCurve dehatransmissionCurve;
|
RetinextransmissionCurve dehatransmissionCurve;
|
||||||
RetinexgaintransmissionCurve dehagaintransmissionCurve;
|
RetinexgaintransmissionCurve dehagaintransmissionCurve;
|
||||||
|
|
||||||
|
@ -1228,9 +1228,11 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb
|
|||||||
Qpro = (Qpro == 0.f ? epsil : Qpro); // avoid division by zero
|
Qpro = (Qpro == 0.f ? epsil : Qpro); // avoid division by zero
|
||||||
spro = 100.0f * sqrtf(Mpro / Qpro);
|
spro = 100.0f * sqrtf(Mpro / Qpro);
|
||||||
|
|
||||||
|
if(settings->autocielab) {//avoid artifacts
|
||||||
if (Jpro > 99.9f) {
|
if (Jpro > 99.9f) {
|
||||||
Jpro = 99.9f;
|
Jpro = 99.9f;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Jpro = CAMBrightCurveJ[(float)(Jpro * 327.68f)]; //lightness CIECAM02 + contrast
|
Jpro = CAMBrightCurveJ[(float)(Jpro * 327.68f)]; //lightness CIECAM02 + contrast
|
||||||
float Sp = spro / 100.0f;
|
float Sp = spro / 100.0f;
|
||||||
|
@ -389,11 +389,19 @@ enum class BlurType {
|
|||||||
bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, int llcieMask,
|
bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, int llcieMask,
|
||||||
float &minCD, float &maxCD, float &mini, float &maxi, float &Tmean, float &Tsigma, float &Tmin, float &Tmax,
|
float &minCD, float &maxCD, float &mini, float &maxi, float &Tmean, float &Tsigma, float &Tmin, float &Tmax,
|
||||||
float& meantm, float& stdtm, float& meanreti, float& stdreti, float &fab, float &maxicam, float &rdx, float &rdy, float &grx, float &gry, float &blx, float &bly, float &meanx, float &meany, float &meanxe, float &meanye, int &prim, int &ill, float &contsig, float &lightsig,
|
float& meantm, float& stdtm, float& meanreti, float& stdreti, float &fab, float &maxicam, float &rdx, float &rdy, float &grx, float &gry, float &blx, float &bly, float &meanx, float &meany, float &meanxe, float &meanye, int &prim, int &ill, float &contsig, float &lightsig,
|
||||||
float &highresi, float &nresi, float &highresi46, float &nresi46, float &Lhighresi, float &Lnresi, float &Lhighresi46, float &Lnresi46);
|
float &highresi, float &nresi, float &highresi46, float &nresi46, float &Lhighresi, float &Lnresi, float &Lhighresi46, float &Lnresi46, float &slopeg, bool &linkrgb);
|
||||||
|
|
||||||
void tone_eqcam2(ImProcFunctions *ipf, Imagefloat *rgb, int whits, int blacks, const Glib::ustring &workingProfile, double scale, bool multithread);
|
void tone_eqcam2(ImProcFunctions *ipf, Imagefloat *rgb, int whits, int blacks, const Glib::ustring &workingProfile, double scale, bool multithread);
|
||||||
void tone_eqdehaz(ImProcFunctions *ipf, Imagefloat *rgb, int whits, int blacks, const Glib::ustring &workingProfile, double scale, bool multithread);
|
void tone_eqdehaz(ImProcFunctions *ipf, Imagefloat *rgb, int whits, int blacks, const Glib::ustring &workingProfile, double scale, bool multithread);
|
||||||
void tone_eqcam(ImProcFunctions *ipf, Imagefloat *rgb, int midtone, const Glib::ustring &workingProfile, double scale, bool multithread);
|
void tone_eqcam(ImProcFunctions *ipf, Imagefloat *rgb, int midtone, const Glib::ustring &workingProfile, double scale, bool multithread);
|
||||||
|
void tonemapFreeman(float target_slope, float target_sloper, float target_slopeg , float target_slopeb, float white_point, float black_point, float mid_gray_scene, float mid_gray_view, bool rolloff, float smooththreshold, bool limslope, LUTf& lut, LUTf& lutr, LUTf& lutg, LUTf& lutb, int mode, bool scale, bool takeyb);
|
||||||
|
void tonemapFreemanQ(float Q, float &Qout, float target_slope, float white_point, float black_point, float mid_gray_scene, float mid_gray_view, bool rolloff, bool takeyb);
|
||||||
|
|
||||||
|
float get_freeman_parameters(float x, bool rolloff_, float mid_gray_scene, float gamma, float slopelim, float dr, float b, float c, float kmid);
|
||||||
|
float rolloff_freeman_function(float x, float dr, float b, float c, float kmid);
|
||||||
|
float scene_referred_contrast(float x, float mid_gray_scene, float gamma);
|
||||||
|
void sigmoid_main(float r, float g, float b, float &rout, float &gout, float &bout, float middle_grey_contrast, float contrast_skewness, /* float white_point,*/ float middle_grey, float black_point, float white_point_disp);
|
||||||
|
void sigmoid_QJ(float Q, float &Qout, float middle_grey_contrast, float contrast_skewness, float middle_grey, float black_point, float white_point_disp);
|
||||||
|
|
||||||
void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk);
|
void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk);
|
||||||
void BlurNoise_Localold(int call, const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy);
|
void BlurNoise_Localold(int call, const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy);
|
||||||
@ -417,7 +425,7 @@ enum class BlurType {
|
|||||||
const LocwavCurve & loccomprewavCurve, bool loccomprewavutili,
|
const LocwavCurve & loccomprewavCurve, bool loccomprewavutili,
|
||||||
float radlevblur, int process, float chromablu, float thres, float sigmadc, float deltad);
|
float radlevblur, int process, float chromablu, float thres, float sigmadc, float deltad);
|
||||||
|
|
||||||
void wavlc(wavelet_decomposition& wdspot, int level_bl, int level_hl, int maxlvl, int level_hr, int level_br, float ahigh, float bhigh, float alow, float blow, float sigmalc, float strength, const LocwavCurve & locwavCurve, int numThreads);
|
void wavlc(wavelet_decomposition& wdspot, int level_bl, int level_hl, int maxlvl, int level_hr, int level_br, float ahigh, float bhigh, float alow, float blow, float sigmalc, float offslc, float strength, const LocwavCurve & locwavCurve, int numThreads);
|
||||||
|
|
||||||
void wavcbd(wavelet_decomposition &wdspot, int level_bl, int maxlvl,
|
void wavcbd(wavelet_decomposition &wdspot, int level_bl, int maxlvl,
|
||||||
const LocwavCurve& locconwavCurve, bool locconwavutili, float sigm, float offs, float chromalev, int sk);
|
const LocwavCurve& locconwavCurve, bool locconwavutili, float sigm, float offs, float chromalev, int sk);
|
||||||
@ -463,6 +471,7 @@ enum class BlurType {
|
|||||||
int W_ab, int H_ab, const bool useChannelA, float *meanab, float *sigmaab);
|
int W_ab, int H_ab, const bool useChannelA, float *meanab, float *sigmaab);
|
||||||
void Evaluate2(const wavelet_decomposition &WaveletCoeffs_L, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, int numThreads);
|
void Evaluate2(const wavelet_decomposition &WaveletCoeffs_L, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, int numThreads);
|
||||||
void Eval2(const float* const* WavCoeffs_L, int level, int W_L, int H_L, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, int numThreads);
|
void Eval2(const float* const* WavCoeffs_L, int level, int W_L, int H_L, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, int numThreads);
|
||||||
|
void complete_local_contrast (LabImage * lab, LabImage * dst, const procparams::WaveletParams & waparams, const procparams::ColorManagementParams & cmparams, const WavOpacityCurveWL & cmOpacityCurveWL, int skip, int &level_hr, int &maxlevpo, bool &wavcurvecont);
|
||||||
|
|
||||||
void calceffect(int level, float *mean, float *sigma, float *mea, float effect, float offs);
|
void calceffect(int level, float *mean, float *sigma, float *mea, float effect, float offs);
|
||||||
std::unique_ptr<LUTf> buildMeaLut(const float inVals[11], const float mea[10], float& lutFactor);
|
std::unique_ptr<LUTf> buildMeaLut(const float inVals[11], const float mea[10], float& lutFactor);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -17,7 +17,7 @@
|
|||||||
//
|
//
|
||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
// * 2014 - 2019 2020 - Jacques Desmis <jdesmis@gmail.com>
|
// * 2014 - 2019 2020 2024 - Jacques Desmis <jdesmis@gmail.com>
|
||||||
// * 2014 Ingo Weyrich <heckflosse@i-weyrich.de>
|
// * 2014 Ingo Weyrich <heckflosse@i-weyrich.de>
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -396,7 +396,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const
|
|||||||
constexpr float atten123 = 0.90f;
|
constexpr float atten123 = 0.90f;
|
||||||
|
|
||||||
//int DaubLen = settings->daubech ? 8 : 6;
|
//int DaubLen = settings->daubech ? 8 : 6;
|
||||||
int DaubLen;
|
int DaubLen = 6;
|
||||||
|
|
||||||
if (params->wavelet.daubcoeffmethod == "2_") {
|
if (params->wavelet.daubcoeffmethod == "2_") {
|
||||||
DaubLen = 4;
|
DaubLen = 4;
|
||||||
@ -406,8 +406,10 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const
|
|||||||
DaubLen = 8;
|
DaubLen = 8;
|
||||||
} else if (params->wavelet.daubcoeffmethod == "10_") {
|
} else if (params->wavelet.daubcoeffmethod == "10_") {
|
||||||
DaubLen = 12;
|
DaubLen = 12;
|
||||||
} else { /* if (params->wavelet.daubcoeffmethod == "14_") */
|
} else if (params->wavelet.daubcoeffmethod == "14_") {
|
||||||
DaubLen = 16;
|
DaubLen = 16;
|
||||||
|
} else if (params->wavelet.daubcoeffmethod == "20_"){
|
||||||
|
DaubLen = 22;
|
||||||
}
|
}
|
||||||
|
|
||||||
cp.CHSLmet = 1;
|
cp.CHSLmet = 1;
|
||||||
@ -2951,6 +2953,7 @@ void ImProcFunctions::WaveletcontAllL(LabImage * labco, float ** varhue, float *
|
|||||||
calceffect(lvl, mean, sigma, mea, effect, offs);
|
calceffect(lvl, mean, sigma, mea, effect, offs);
|
||||||
float lutFactor;
|
float lutFactor;
|
||||||
const float inVals[] = {0.05f, 0.2f, 0.7f, 1.f, 1.f, 0.8f, 0.6f, 0.4f, 0.2f, 0.1f, 0.01f};
|
const float inVals[] = {0.05f, 0.2f, 0.7f, 1.f, 1.f, 0.8f, 0.6f, 0.4f, 0.2f, 0.1f, 0.01f};
|
||||||
|
|
||||||
const auto meaLut = buildMeaLut(inVals, mea, lutFactor);
|
const auto meaLut = buildMeaLut(inVals, mea, lutFactor);
|
||||||
if (!aft.get()) {
|
if (!aft.get()) {
|
||||||
aft.reset(new float[Wlvl_L * Hlvl_L]);
|
aft.reset(new float[Wlvl_L * Hlvl_L]);
|
||||||
@ -3400,6 +3403,343 @@ void ImProcFunctions::calckoe (const float* WavCoeffs, float gradw, float tloww,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Copyright 6-2024 - Jacques Desmis <jdesmis@gmail.com>
|
||||||
|
void ImProcFunctions::complete_local_contrast (LabImage * lab, LabImage * dst, const procparams::WaveletParams & waparams, const procparams::ColorManagementParams & cmparams, const WavOpacityCurveWL & cmOpacityCurveWL, int skip, int &level_hr, int &maxlevpo, bool &wavcurvecont)
|
||||||
|
{
|
||||||
|
wavcurvecont = false;
|
||||||
|
if (cmOpacityCurveWL) {//activate only if one value not equal to 0.5
|
||||||
|
for (int i = 0; i < 500; i++) {
|
||||||
|
if (cmOpacityCurveWL[i] != 0.5f) {
|
||||||
|
wavcurvecont = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(wavcurvecont && cmparams.wavExp) {//enable curve and expander
|
||||||
|
#ifdef _OPENMP
|
||||||
|
const int numThreads = omp_get_max_threads();
|
||||||
|
#else
|
||||||
|
const int numThreads = 1;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
int width = lab->W;
|
||||||
|
int height = lab->H;
|
||||||
|
int wavelet_lev = 7;//default
|
||||||
|
int DaubLen = 4;//type of wave
|
||||||
|
if (waparams.daubcoeffmethod == "2_") {
|
||||||
|
DaubLen = 4;
|
||||||
|
} else if (waparams.daubcoeffmethod == "4_") {
|
||||||
|
DaubLen = 6;//default
|
||||||
|
} else if (waparams.daubcoeffmethod == "6_") {
|
||||||
|
DaubLen = 8;
|
||||||
|
} else if (waparams.daubcoeffmethod == "10_") {
|
||||||
|
DaubLen = 12;
|
||||||
|
} else if (params->wavelet.daubcoeffmethod == "14_") {
|
||||||
|
DaubLen = 16;
|
||||||
|
} else if (params->wavelet.daubcoeffmethod == "20_") {
|
||||||
|
DaubLen = 22;
|
||||||
|
}
|
||||||
|
float sigmafin = cmparams.sigmatrc;//attenuation response signal
|
||||||
|
int pyrwav = cmparams.pyrwavtrc;//levels contrast profiles
|
||||||
|
float offset = cmparams.offstrc;//offset signal
|
||||||
|
int level_bl = 0;//adapted to each levels profile
|
||||||
|
int level_hl = 1;//adapted to each levels profile
|
||||||
|
int level_br = wavelet_lev;
|
||||||
|
level_hr = wavelet_lev;//to adapt if necessary
|
||||||
|
|
||||||
|
//6 contrast profiles to change range levels and rolloff for high contrast positive and negative - of course we can add anothers
|
||||||
|
//I change only values for LUT for high contrast values and not for low levels, but we can...
|
||||||
|
float inva5 = 0.8f;
|
||||||
|
float inva6 = 0.7f;
|
||||||
|
float inva7 = 0.5f;
|
||||||
|
float inva8 = 0.4f;
|
||||||
|
float inva9 = 0.3f;
|
||||||
|
float inva10 = 0.1f;
|
||||||
|
|
||||||
|
if(pyrwav == 1) {//low contrast
|
||||||
|
level_bl = 0;//0
|
||||||
|
level_hl = 1;//1
|
||||||
|
level_br = wavelet_lev - 3;//-3
|
||||||
|
level_hr = wavelet_lev - 2;//-2
|
||||||
|
} else if(pyrwav == 2) {
|
||||||
|
level_bl = 0;//0
|
||||||
|
level_hl = 0;//1
|
||||||
|
level_br = wavelet_lev - 3;//-2
|
||||||
|
level_hr = wavelet_lev - 1;//-1
|
||||||
|
if(!cmparams.wsmoothcie) {
|
||||||
|
inva5 = 1.f;
|
||||||
|
inva6 = 0.8f;
|
||||||
|
inva7 = 0.65f;
|
||||||
|
inva8 = 0.5f;
|
||||||
|
inva9 = 0.3f;
|
||||||
|
inva10 = 0.2f;
|
||||||
|
}
|
||||||
|
} else if( pyrwav == 3) {//default
|
||||||
|
level_bl = 0;
|
||||||
|
level_hl = 0;
|
||||||
|
level_br = wavelet_lev - 2;//-1
|
||||||
|
level_hr = wavelet_lev;//0
|
||||||
|
if(!cmparams.wsmoothcie) {
|
||||||
|
inva5 = 1.f; //1
|
||||||
|
inva6 = 0.9f;//0.9
|
||||||
|
inva7 = 0.7f;//0.7
|
||||||
|
inva8 = 0.6f;//0.6
|
||||||
|
inva9 = 0.4f;//0.4
|
||||||
|
inva10 = 0.2f;//0.2
|
||||||
|
}
|
||||||
|
} else if( pyrwav == 4) {
|
||||||
|
level_bl = 0;
|
||||||
|
level_hl = 0;
|
||||||
|
level_br = wavelet_lev -1;//0
|
||||||
|
level_hr = wavelet_lev +1;//0
|
||||||
|
if(!cmparams.wsmoothcie) {
|
||||||
|
inva5 = 0.9f;
|
||||||
|
inva6 = 0.8f;
|
||||||
|
inva7 = 0.6f;
|
||||||
|
inva8 = 0.5f;
|
||||||
|
inva9 = 0.3f;
|
||||||
|
inva10 = 0.1f;
|
||||||
|
}
|
||||||
|
} else if( pyrwav == 5) {
|
||||||
|
level_bl = 0;
|
||||||
|
level_hl = 0;
|
||||||
|
level_br = wavelet_lev - 1;//-1
|
||||||
|
level_hr = wavelet_lev + 2;//+1 //be careful the preview must be big enough to see the changes
|
||||||
|
if(!cmparams.wsmoothcie) {
|
||||||
|
inva5 = 0.8f;//0.85
|
||||||
|
inva6 = 0.6f;//0.75
|
||||||
|
inva7 = 0.5f;//0.55
|
||||||
|
inva8 = 0.3f;//0.45
|
||||||
|
inva9 = 0.2f;//0.3
|
||||||
|
inva10 = 0.05f;//0.1
|
||||||
|
|
||||||
|
}//last choice not used for various reasons
|
||||||
|
} else if( pyrwav == 6) {//agresive - maximum - in this case LUT are minimal to avoid artifacts -be careful the preview must be big enough to see the changes
|
||||||
|
level_bl = 0;
|
||||||
|
level_hl = 0;
|
||||||
|
level_br = wavelet_lev ;//-1
|
||||||
|
level_hr = wavelet_lev + 2;//here maximum
|
||||||
|
}
|
||||||
|
|
||||||
|
//find possible max levels in function of windows preview size.
|
||||||
|
int minwin = rtengine::min(width, height);
|
||||||
|
int maxlevelspot = 9;//maximum possible
|
||||||
|
|
||||||
|
// adapt maximum level wavelet to size of crop
|
||||||
|
while ((1 << maxlevelspot) >= minwin && maxlevelspot > 1) {
|
||||||
|
--maxlevelspot ;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wavelet_level = rtengine::min(level_hr, maxlevelspot);
|
||||||
|
int maxlvl = wavelet_level;
|
||||||
|
maxlevpo = maxlvl;
|
||||||
|
//decomposition wavelet , we can change Daublen (moment wavelet) in Tab - Wavelet Levels with subsampling = 1
|
||||||
|
std::unique_ptr<wavelet_decomposition> wdspot = std::unique_ptr<wavelet_decomposition>(new wavelet_decomposition(lab->L[0], width, height, maxlvl, 1, skip, numThreads, DaubLen));
|
||||||
|
if (wdspot->memory_allocation_failed()) {//probably if not enough memory.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//residual contrast
|
||||||
|
const float contresid = cmparams.residtrc;
|
||||||
|
|
||||||
|
if (contresid != 0) {
|
||||||
|
int W_L = wdspot->level_W(0);
|
||||||
|
int H_L = wdspot->level_H(0);
|
||||||
|
float *wav_L0 = wdspot->get_coeff0();//residual image
|
||||||
|
|
||||||
|
|
||||||
|
float maxh = 1.25f; //amplification contrast above mean, we can change 1.25f
|
||||||
|
float maxl = 1.25f; //reduction contrast under mean
|
||||||
|
float multL = contresid * (maxl - 1.f) / 100.f + 1.f;
|
||||||
|
float multH = contresid * (maxh - 1.f) / 100.f + 1.f;
|
||||||
|
double avedbl = 0.0; // use double precision for large summations
|
||||||
|
float max0 = 0.f;
|
||||||
|
float min0 = FLT_MAX;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
# pragma omp parallel for reduction(+:avedbl) if (multiThread)
|
||||||
|
#endif
|
||||||
|
for (int i = 0; i < W_L * H_L; i++) {
|
||||||
|
avedbl += wav_L0[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
# pragma omp parallel if (multiThread)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
float lminL = FLT_MAX;
|
||||||
|
float lmaxL = 0.f;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
# pragma omp for
|
||||||
|
#endif
|
||||||
|
for (int i = 0; i < W_L * H_L; i++) {
|
||||||
|
lminL = min(lminL, wav_L0[i]);
|
||||||
|
lmaxL = max(lmaxL, wav_L0[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
# pragma omp critical
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
min0 = min(min0, lminL);
|
||||||
|
max0 = max(max0, lmaxL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
max0 /= 327.68f;
|
||||||
|
min0 /= 327.68f;
|
||||||
|
float ave = avedbl / double(W_L * H_L);
|
||||||
|
//transitions
|
||||||
|
float av = ave / 327.68f;
|
||||||
|
float ah = (multH - 1.f) / (av - max0);
|
||||||
|
float bh = 1.f - max0 * ah;
|
||||||
|
float al = (multL - 1.f) / (av - min0);
|
||||||
|
float bl = 1.f - min0 * al;
|
||||||
|
|
||||||
|
if (max0 > 0.0) {
|
||||||
|
#ifdef _OPENMP
|
||||||
|
# pragma omp parallel for if (multiThread)
|
||||||
|
#endif
|
||||||
|
for (int i = 0; i < W_L * H_L; i++) {
|
||||||
|
if (wav_L0[i] < 32768.f) {
|
||||||
|
float prov;
|
||||||
|
|
||||||
|
if (wav_L0[i] > ave) {
|
||||||
|
float kh = ah * (wav_L0[i] / 327.68f) + bh;
|
||||||
|
prov = wav_L0[i];
|
||||||
|
wav_L0[i] = ave + kh * (wav_L0[i] - ave);
|
||||||
|
} else {
|
||||||
|
float kl = al * (wav_L0[i] / 327.68f) + bl;
|
||||||
|
prov = wav_L0[i];
|
||||||
|
wav_L0[i] = ave - kl * (ave - wav_L0[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
float diflc = wav_L0[i] - prov;
|
||||||
|
wav_L0[i] = prov + diflc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//end residual contrast
|
||||||
|
|
||||||
|
//begin variable contrast
|
||||||
|
// declaration with 10 levels to calculate mean , mean negative, sigma, sigma negative, Max et Max negative for each level
|
||||||
|
float mean[10];
|
||||||
|
float meanN[10];
|
||||||
|
float sigma[10];
|
||||||
|
float sigmaN[10];
|
||||||
|
float MaxP[10];
|
||||||
|
float MaxN[10];
|
||||||
|
Evaluate2(*wdspot, mean, meanN, sigma, sigmaN, MaxP, MaxN, numThreads);//calculate mean sigma Max for each levels
|
||||||
|
float alow = 1.f;
|
||||||
|
float blow = 0.f;
|
||||||
|
|
||||||
|
if (level_hl != level_bl) {//transitions low levels
|
||||||
|
alow = 1.f / (level_hl - level_bl);
|
||||||
|
blow = -alow * level_bl;
|
||||||
|
}
|
||||||
|
|
||||||
|
float ahigh = 1.f;
|
||||||
|
float bhigh = 0.f;
|
||||||
|
|
||||||
|
if (level_hr != level_br) {//transitions high levels
|
||||||
|
ahigh = 1.f / (level_hr - level_br);
|
||||||
|
bhigh = -ahigh * level_br;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int dir = 1; dir < 4; dir++) {//for each direction
|
||||||
|
for (int level = level_bl; level < maxlvl; ++level) {//for each levels
|
||||||
|
int W_L = wdspot->level_W(level);
|
||||||
|
int H_L = wdspot->level_H(level);
|
||||||
|
float* const* wav_L = wdspot->level_coeffs(level);
|
||||||
|
//sigmafin = attenuation response to change signal shape
|
||||||
|
// I use only positives values to simplify calculations... possible improvment.
|
||||||
|
if (MaxP[level] > 0.f && mean[level] != 0.f && sigma[level] != 0.f) {
|
||||||
|
float insigma = 0.666f; //SD standard deviation (modelisation)
|
||||||
|
float logmax = log(MaxP[level]); //log Max
|
||||||
|
float rapX = (offset * mean[level] + sigmafin * sigma[level]) / MaxP[level]; //rapport between SD / max
|
||||||
|
//offset move mean location in signal
|
||||||
|
float inx = log(insigma);
|
||||||
|
float iny = log(rapX);
|
||||||
|
float rap = inx / iny; //koef
|
||||||
|
//transitions
|
||||||
|
float asig = 0.166f / (sigma[level] * sigmafin);
|
||||||
|
float bsig = 0.5f - asig * (mean[level] * offset);
|
||||||
|
float amean = 0.5f / (mean[level] * offset);
|
||||||
|
const float effect = sigmafin;
|
||||||
|
float mea[10];//simulation using mean and sigma, to evaluate signal
|
||||||
|
calceffect(level, mean, sigma, mea, effect, offset);
|
||||||
|
float klev = 1.f;
|
||||||
|
if (level >= level_hl && level <= level_hr) {
|
||||||
|
klev = 1.f;
|
||||||
|
}
|
||||||
|
//change klev with real change in levels - see contrast profiles
|
||||||
|
//transition in beginning low levels
|
||||||
|
if (level_hl != level_bl) {
|
||||||
|
if (level >= level_bl && level < level_hl) {
|
||||||
|
klev = alow * level + blow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//transition in max levels
|
||||||
|
if (level_hr != level_br) {
|
||||||
|
if (level > level_hr && level <= level_br) {
|
||||||
|
klev = ahigh * level + bhigh;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const float threshold = offset * mean[level] + sigmafin * sigma[level];//base signal calculation.
|
||||||
|
float lutFactor;//inva5, inva6, inva7, inva8, inva9, inva10 are define in Contrast profiles.
|
||||||
|
float inVals[] = {0.05f, 0.2f, 0.7f, 1.f, 1.f, inva5, inva6, inva7, inva8, inva9, inva10};//values to give for calculate LUT along signal : minimal near 0 or MaxP
|
||||||
|
const auto meaLut = buildMeaLut(inVals, mea, lutFactor);//build LUT
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for if (multiThread)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (int y = 0; y < H_L; y++) {
|
||||||
|
for (int x = 0; x < W_L; x++) {//for each pixel
|
||||||
|
if(cmOpacityCurveWL) {//if curve enable
|
||||||
|
float absciss;//position in curve and signal
|
||||||
|
float &val = wav_L[dir][y * W_L + x];
|
||||||
|
const float WavCL = std::fabs(wav_L[dir][y * W_L + x]);
|
||||||
|
|
||||||
|
if (WavCL >= threshold) { //for max take into account attenuation response and offset
|
||||||
|
float valcour = xlogf(fabsf(val));
|
||||||
|
float valc = valcour - logmax;
|
||||||
|
float vald = valc * rap;
|
||||||
|
absciss = xexpf(vald);
|
||||||
|
} else if (WavCL >= offset * mean[level]) {//offset only
|
||||||
|
absciss = asig * WavCL + bsig;
|
||||||
|
} else {
|
||||||
|
absciss = amean * WavCL;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
float kc = klev * (cmOpacityCurveWL[absciss * 500.f] - 0.5f);
|
||||||
|
float amplieffect = kc <= 0.f ? 1.f : 1.7f;//we can change 1.5 - to 1.7 or more or less
|
||||||
|
|
||||||
|
float kinterm = 1.f + amplieffect * kc;
|
||||||
|
kinterm = kinterm <= 0.f ? 0.01f : kinterm;
|
||||||
|
val *= (1.f + (kinterm - 1.f) * (*meaLut)[WavCL * lutFactor]);//change signal (contrast) for each level, direction, with LUT.
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//reconstruct lab
|
||||||
|
wdspot->reconstruct(lab->L[0], 1.f);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void ImProcFunctions::finalContAllL(float* const* WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, const cont_params &cp,
|
void ImProcFunctions::finalContAllL(float* const* WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, const cont_params &cp,
|
||||||
int W_L, int H_L, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL)
|
int W_L, int H_L, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL)
|
||||||
{
|
{
|
||||||
|
@ -1105,9 +1105,9 @@ enum ProcEventCode {
|
|||||||
Evlocallabsensicie = 1075,
|
Evlocallabsensicie = 1075,
|
||||||
Evlocallabmodecie = 1076,
|
Evlocallabmodecie = 1076,
|
||||||
Evlocallabrstprotectcie = 1077,
|
Evlocallabrstprotectcie = 1077,
|
||||||
Evlocallabsigmoidldacie = 1078,
|
Evlocallabsigmoidldacie12 = 1078,
|
||||||
Evlocallabsigmoidthcie = 1079,
|
Evlocallabsigmoidthcie12 = 1079,
|
||||||
Evlocallabsigmoidblcie = 1080,
|
Evlocallabsigmoidblcie12 = 1080,
|
||||||
Evlocallabcomprcieauto = 1081,
|
Evlocallabcomprcieauto = 1081,
|
||||||
Evlocallabhuecie = 1082,
|
Evlocallabhuecie = 1082,
|
||||||
Evlocallabjabcie = 1083,
|
Evlocallabjabcie = 1083,
|
||||||
@ -1115,9 +1115,9 @@ enum ProcEventCode {
|
|||||||
Evlocallabcontjzcie = 1085,
|
Evlocallabcontjzcie = 1085,
|
||||||
Evlocallabchromjzcie = 1086,
|
Evlocallabchromjzcie = 1086,
|
||||||
Evlocallabhuejzcie = 1087,
|
Evlocallabhuejzcie = 1087,
|
||||||
Evlocallabsigmoidldajzcie = 1088,
|
Evlocallabsigmoidldajzcie12 = 1088,
|
||||||
Evlocallabsigmoidthjzcie = 1089,
|
Evlocallabsigmoidthjzcie12 = 1089,
|
||||||
Evlocallabsigmoidbljzcie = 1090,
|
Evlocallabsigmoidbljzcie12 = 1090,
|
||||||
Evlocallabadapjzcie = 1091,
|
Evlocallabadapjzcie = 1091,
|
||||||
Evlocallabmodecam = 1092,
|
Evlocallabmodecam = 1092,
|
||||||
Evlocallabhljzcie = 1093,
|
Evlocallabhljzcie = 1093,
|
||||||
@ -1138,7 +1138,7 @@ enum ProcEventCode {
|
|||||||
Evlocallabshapejz = 1108,
|
Evlocallabshapejz = 1108,
|
||||||
Evlocallabshapecz = 1109,
|
Evlocallabshapecz = 1109,
|
||||||
Evlocallabshapeczjz = 1110,
|
Evlocallabshapeczjz = 1110,
|
||||||
Evlocallabforcejz = 1111,
|
//Evlocallabforcejz = 1111,
|
||||||
Evlocallabpqremapcam16 = 1112,
|
Evlocallabpqremapcam16 = 1112,
|
||||||
EvLocallabEnacieMask = 1113,
|
EvLocallabEnacieMask = 1113,
|
||||||
EvlocallabCCmaskcieshape = 1114,
|
EvlocallabCCmaskcieshape = 1114,
|
||||||
@ -1173,9 +1173,9 @@ enum ProcEventCode {
|
|||||||
EvlocallabwhiteEvjz = 1143,
|
EvlocallabwhiteEvjz = 1143,
|
||||||
Evlocallablogjz = 1144,
|
Evlocallablogjz = 1144,
|
||||||
Evlocallabtargetjz = 1145,
|
Evlocallabtargetjz = 1145,
|
||||||
Evlocallabforcebw = 1146,
|
Evlocallabsigybjz12 = 1146,
|
||||||
Evlocallabsigjz = 1147,
|
Evlocallabsigjz12 = 1147,
|
||||||
Evlocallabsigq = 1148,
|
Evlocallabsigq12 = 1148,
|
||||||
Evlocallablogcie = 1149,
|
Evlocallablogcie = 1149,
|
||||||
NUMOFEVENTS
|
NUMOFEVENTS
|
||||||
};
|
};
|
||||||
|
@ -2665,9 +2665,28 @@ ColorManagementParams::ColorManagementParams() :
|
|||||||
will(Illuminant::DEFAULT),
|
will(Illuminant::DEFAULT),
|
||||||
wprim(Primaries::DEFAULT),
|
wprim(Primaries::DEFAULT),
|
||||||
wcat(Cat::BRAD),
|
wcat(Cat::BRAD),
|
||||||
workingTRCGamma(2.4),//gamma sRGB
|
wGamma(2.4),//gamma sRGB
|
||||||
workingTRCSlope(12.92),
|
wSlope(12.92),
|
||||||
wmidtcie(0.),
|
wmidtcie(0.),
|
||||||
|
sigmatrc(1.),
|
||||||
|
offstrc(1.),
|
||||||
|
residtrc(0.),
|
||||||
|
pyrwavtrc(2),
|
||||||
|
opacityCurveWLI{
|
||||||
|
static_cast<double>(FCT_MinMaxCPoints),
|
||||||
|
0.0,
|
||||||
|
0.50,
|
||||||
|
0.35,
|
||||||
|
0.35,
|
||||||
|
0.50,
|
||||||
|
0.70,
|
||||||
|
0.35,
|
||||||
|
0.35,
|
||||||
|
1.00,
|
||||||
|
0.50,
|
||||||
|
0.35,
|
||||||
|
0.35
|
||||||
|
},
|
||||||
wsmoothcie(false),
|
wsmoothcie(false),
|
||||||
redx(0.7347),
|
redx(0.7347),
|
||||||
redy(0.2653),
|
redy(0.2653),
|
||||||
@ -2681,6 +2700,7 @@ ColorManagementParams::ColorManagementParams() :
|
|||||||
preser(0.),
|
preser(0.),
|
||||||
fbw(false),
|
fbw(false),
|
||||||
trcExp(false),
|
trcExp(false),
|
||||||
|
wavExp(false),
|
||||||
gamut(true),
|
gamut(true),
|
||||||
labgridcieALow(0.51763),//Prophoto red = (0.7347+0.1) * 1.81818 - 1
|
labgridcieALow(0.51763),//Prophoto red = (0.7347+0.1) * 1.81818 - 1
|
||||||
labgridcieBLow(-0.33582),
|
labgridcieBLow(-0.33582),
|
||||||
@ -2713,9 +2733,14 @@ bool ColorManagementParams::operator ==(const ColorManagementParams& other) cons
|
|||||||
&& will == other.will
|
&& will == other.will
|
||||||
&& wprim == other.wprim
|
&& wprim == other.wprim
|
||||||
&& wcat == other.wcat
|
&& wcat == other.wcat
|
||||||
&& workingTRCGamma == other.workingTRCGamma
|
&& wGamma == other.wGamma
|
||||||
&& workingTRCSlope == other.workingTRCSlope
|
&& wSlope == other.wSlope
|
||||||
&& wmidtcie == other.wmidtcie
|
&& wmidtcie == other.wmidtcie
|
||||||
|
&& sigmatrc == other.sigmatrc
|
||||||
|
&& offstrc == other.offstrc
|
||||||
|
&& pyrwavtrc == other.pyrwavtrc
|
||||||
|
&& residtrc == other.residtrc
|
||||||
|
&& opacityCurveWLI == other.opacityCurveWLI
|
||||||
&& wsmoothcie == other.wsmoothcie
|
&& wsmoothcie == other.wsmoothcie
|
||||||
&& redx == other.redx
|
&& redx == other.redx
|
||||||
&& redy == other.redy
|
&& redy == other.redy
|
||||||
@ -2739,6 +2764,7 @@ bool ColorManagementParams::operator ==(const ColorManagementParams& other) cons
|
|||||||
&& preser == other.preser
|
&& preser == other.preser
|
||||||
&& fbw == other.fbw
|
&& fbw == other.fbw
|
||||||
&& trcExp == other.trcExp
|
&& trcExp == other.trcExp
|
||||||
|
&& wavExp == other.wavExp
|
||||||
&& gamut == other.gamut
|
&& gamut == other.gamut
|
||||||
&& aRendIntent == other.aRendIntent
|
&& aRendIntent == other.aRendIntent
|
||||||
&& outputProfile == other.outputProfile
|
&& outputProfile == other.outputProfile
|
||||||
@ -2746,6 +2772,13 @@ bool ColorManagementParams::operator ==(const ColorManagementParams& other) cons
|
|||||||
&& outputBPC == other.outputBPC;
|
&& outputBPC == other.outputBPC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ColorManagementParams::getCurves(
|
||||||
|
WavOpacityCurveWL& opacityCurveLUTWLI
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
opacityCurveLUTWLI.Set(this->opacityCurveWLI);
|
||||||
|
}
|
||||||
|
|
||||||
bool ColorManagementParams::operator !=(const ColorManagementParams& other) const
|
bool ColorManagementParams::operator !=(const ColorManagementParams& other) const
|
||||||
{
|
{
|
||||||
return !(*this == other);
|
return !(*this == other);
|
||||||
@ -4224,6 +4257,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
lcdarkness(1.0),
|
lcdarkness(1.0),
|
||||||
lclightness(1.0),
|
lclightness(1.0),
|
||||||
sigmalc(1.0),
|
sigmalc(1.0),
|
||||||
|
offslc(1.0),
|
||||||
levelwav(4),
|
levelwav(4),
|
||||||
residcont(0.0),
|
residcont(0.0),
|
||||||
residsha(0.0),
|
residsha(0.0),
|
||||||
@ -4275,7 +4309,8 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
wavgradl(false),
|
wavgradl(false),
|
||||||
wavcompre(false),
|
wavcompre(false),
|
||||||
origlc(false),
|
origlc(false),
|
||||||
localcontMethod("loc"),
|
processwav(false),
|
||||||
|
localcontMethod("wav"),
|
||||||
localedgMethod("thr"),
|
localedgMethod("thr"),
|
||||||
localneiMethod("low"),
|
localneiMethod("low"),
|
||||||
locwavcurve{
|
locwavcurve{
|
||||||
@ -4289,7 +4324,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
0.35,
|
0.35,
|
||||||
0.35
|
0.35
|
||||||
},
|
},
|
||||||
csthreshold(0, 0, 6, 6, false),
|
csthreshold(0, 0, 7, 5, false),
|
||||||
loclevwavcurve{
|
loclevwavcurve{
|
||||||
static_cast<double>(FCT_MinMaxCPoints),
|
static_cast<double>(FCT_MinMaxCPoints),
|
||||||
0.0,
|
0.0,
|
||||||
@ -4709,11 +4744,11 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
reparcie(100.),
|
reparcie(100.),
|
||||||
sensicie(60),
|
sensicie(60),
|
||||||
Autograycie(true),
|
Autograycie(true),
|
||||||
forcejz(true),
|
sigybjz12(false),
|
||||||
forcebw(true),
|
|
||||||
qtoj(false),
|
qtoj(false),
|
||||||
jabcie(true),
|
jabcie(true),
|
||||||
comprcieauto(false),
|
comprcieauto(false),
|
||||||
|
normcie12(false),
|
||||||
normcie(true),
|
normcie(true),
|
||||||
gamutcie(true),
|
gamutcie(true),
|
||||||
bwcie(false),
|
bwcie(false),
|
||||||
@ -4722,10 +4757,17 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
satcie(true),
|
satcie(true),
|
||||||
logcieq(false),
|
logcieq(false),
|
||||||
smoothcie(false),
|
smoothcie(false),
|
||||||
|
smoothcietrc(true),
|
||||||
|
smoothcietrcrel(true),
|
||||||
smoothcieyb(false),
|
smoothcieyb(false),
|
||||||
smoothcielum(false),
|
smoothcielum(false),
|
||||||
|
smoothciehigh(true),
|
||||||
|
smoothcielnk(true),
|
||||||
logjz(false),
|
logjz(false),
|
||||||
|
sigjz12(false),
|
||||||
sigjz(false),
|
sigjz(false),
|
||||||
|
forcebw(false),
|
||||||
|
sigq12(false),
|
||||||
sigq(false),
|
sigq(false),
|
||||||
chjzcie(true),
|
chjzcie(true),
|
||||||
sourceGraycie(18.),
|
sourceGraycie(18.),
|
||||||
@ -4733,6 +4775,8 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
sursourcie("Average"),
|
sursourcie("Average"),
|
||||||
modecie("com"),
|
modecie("com"),
|
||||||
modecam("cam16"),
|
modecam("cam16"),
|
||||||
|
modeQJ("512"),
|
||||||
|
bwevMethod12("slop"),
|
||||||
bwevMethod("sig"),
|
bwevMethod("sig"),
|
||||||
saturlcie(0.),
|
saturlcie(0.),
|
||||||
rstprotectcie(0.),
|
rstprotectcie(0.),
|
||||||
@ -4898,19 +4942,31 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
blackEvjz(-5.00),
|
blackEvjz(-5.00),
|
||||||
whiteEvjz(10.00),
|
whiteEvjz(10.00),
|
||||||
targetjz(18.0),
|
targetjz(18.0),
|
||||||
|
sigmoidldacie12(1.8),
|
||||||
|
sigmoidthcie12(0.0),
|
||||||
|
sigmoidblcie12(100.),
|
||||||
sigmoidldacie(0.5),
|
sigmoidldacie(0.5),
|
||||||
sigmoidthcie(1.2),
|
sigmoidthcie(1.2),
|
||||||
sigmoidsenscie(0.9),
|
sigmoidsenscie(0.9),
|
||||||
sigmoidblcie(0.75),
|
sigmoidblcie(0.75),
|
||||||
|
|
||||||
comprcie(0.4),
|
comprcie(0.4),
|
||||||
strcielog(80.),
|
strcielog(80.),
|
||||||
comprcieth(6.),
|
comprcieth(6.),
|
||||||
gamjcie(2.4),
|
gamjcie(2.4),
|
||||||
|
smoothcieth(1.),
|
||||||
slopjcie(12.923),
|
slopjcie(12.923),
|
||||||
|
contsig(1.15),
|
||||||
|
skewsig(0.),
|
||||||
|
whitsig(100.),
|
||||||
slopesmo(1.),
|
slopesmo(1.),
|
||||||
|
slopesmoq(1.),
|
||||||
slopesmor(1.),
|
slopesmor(1.),
|
||||||
slopesmog(1.),
|
slopesmog(1.),
|
||||||
slopesmob(1.),
|
slopesmob(1.),
|
||||||
|
kslopesmor(1.),
|
||||||
|
kslopesmog(1.),
|
||||||
|
kslopesmob(1.),
|
||||||
midtcie(0),
|
midtcie(0),
|
||||||
grexl(0.1596),
|
grexl(0.1596),
|
||||||
greyl(0.8404),
|
greyl(0.8404),
|
||||||
@ -4931,12 +4987,15 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
labgridcieWy(-0.16636),//
|
labgridcieWy(-0.16636),//
|
||||||
labgridcieMx(0.),
|
labgridcieMx(0.),
|
||||||
labgridcieMy(0.),//
|
labgridcieMy(0.),//
|
||||||
whitescie(0),
|
whitescie(20),
|
||||||
blackscie(0),
|
blackscie(0),
|
||||||
illMethod("d50"),
|
illMethod("d50"),
|
||||||
smoothciemet("none"),
|
smoothciemet("none"),
|
||||||
primMethod("pro"),
|
primMethod("pro"),
|
||||||
catMethod("brad"),
|
catMethod("brad"),
|
||||||
|
sigmoidldajzcie12(1.3),
|
||||||
|
sigmoidthjzcie12(0.),
|
||||||
|
sigmoidbljzcie12(100.),
|
||||||
sigmoidldajzcie(0.5),
|
sigmoidldajzcie(0.5),
|
||||||
sigmoidthjzcie(1.),
|
sigmoidthjzcie(1.),
|
||||||
sigmoidbljzcie(1.),
|
sigmoidbljzcie(1.),
|
||||||
@ -5555,6 +5614,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& lcdarkness == other.lcdarkness
|
&& lcdarkness == other.lcdarkness
|
||||||
&& lclightness == other.lclightness
|
&& lclightness == other.lclightness
|
||||||
&& sigmalc == other.sigmalc
|
&& sigmalc == other.sigmalc
|
||||||
|
&& offslc == other.offslc
|
||||||
&& levelwav == other.levelwav
|
&& levelwav == other.levelwav
|
||||||
&& residcont == other.residcont
|
&& residcont == other.residcont
|
||||||
&& residsha == other.residsha
|
&& residsha == other.residsha
|
||||||
@ -5606,6 +5666,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& wavgradl == other.wavgradl
|
&& wavgradl == other.wavgradl
|
||||||
&& wavcompre == other.wavcompre
|
&& wavcompre == other.wavcompre
|
||||||
&& origlc == other.origlc
|
&& origlc == other.origlc
|
||||||
|
&& processwav == other.processwav
|
||||||
&& localcontMethod == other.localcontMethod
|
&& localcontMethod == other.localcontMethod
|
||||||
&& localedgMethod == other.localedgMethod
|
&& localedgMethod == other.localedgMethod
|
||||||
&& localneiMethod == other.localneiMethod
|
&& localneiMethod == other.localneiMethod
|
||||||
@ -5751,11 +5812,11 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& reparcie == other.reparcie
|
&& reparcie == other.reparcie
|
||||||
&& sensicie == other.sensicie
|
&& sensicie == other.sensicie
|
||||||
&& Autograycie == other.Autograycie
|
&& Autograycie == other.Autograycie
|
||||||
&& forcejz == other.forcejz
|
&& sigybjz12 == other.sigybjz12
|
||||||
&& forcebw == other.forcebw
|
|
||||||
&& qtoj == other.qtoj
|
&& qtoj == other.qtoj
|
||||||
&& jabcie == other.jabcie
|
&& jabcie == other.jabcie
|
||||||
&& comprcieauto == other.comprcieauto
|
&& comprcieauto == other.comprcieauto
|
||||||
|
&& normcie12 == other.normcie12
|
||||||
&& normcie == other.normcie
|
&& normcie == other.normcie
|
||||||
&& gamutcie == other.gamutcie
|
&& gamutcie == other.gamutcie
|
||||||
&& bwcie == other.bwcie
|
&& bwcie == other.bwcie
|
||||||
@ -5764,10 +5825,17 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& satcie == other.satcie
|
&& satcie == other.satcie
|
||||||
&& logcieq == other.logcieq
|
&& logcieq == other.logcieq
|
||||||
&& smoothcie == other.smoothcie
|
&& smoothcie == other.smoothcie
|
||||||
|
&& smoothcietrc == other.smoothcietrc
|
||||||
|
&& smoothcietrcrel == other.smoothcietrcrel
|
||||||
&& smoothcieyb == other.smoothcieyb
|
&& smoothcieyb == other.smoothcieyb
|
||||||
&& smoothcielum == other.smoothcielum
|
&& smoothcielum == other.smoothcielum
|
||||||
|
&& smoothciehigh == other.smoothciehigh
|
||||||
|
&& smoothcielnk == other.smoothcielnk
|
||||||
&& logjz == other.logjz
|
&& logjz == other.logjz
|
||||||
|
&& sigjz12 == other.sigjz12
|
||||||
&& sigjz == other.sigjz
|
&& sigjz == other.sigjz
|
||||||
|
&& forcebw == other.forcebw
|
||||||
|
&& sigq12 == other.sigq12
|
||||||
&& sigq == other.sigq
|
&& sigq == other.sigq
|
||||||
&& chjzcie == other.chjzcie
|
&& chjzcie == other.chjzcie
|
||||||
&& sourceGraycie == other.sourceGraycie
|
&& sourceGraycie == other.sourceGraycie
|
||||||
@ -5775,6 +5843,8 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& sursourcie == other.sursourcie
|
&& sursourcie == other.sursourcie
|
||||||
&& modecie == other.modecie
|
&& modecie == other.modecie
|
||||||
&& modecam == other.modecam
|
&& modecam == other.modecam
|
||||||
|
&& modeQJ == other.modeQJ
|
||||||
|
&& bwevMethod12 == other.bwevMethod12
|
||||||
&& bwevMethod == other.bwevMethod
|
&& bwevMethod == other.bwevMethod
|
||||||
&& saturlcie == other.saturlcie
|
&& saturlcie == other.saturlcie
|
||||||
&& rstprotectcie == other.rstprotectcie
|
&& rstprotectcie == other.rstprotectcie
|
||||||
@ -5822,6 +5892,10 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& blackEvjz == other.blackEvjz
|
&& blackEvjz == other.blackEvjz
|
||||||
&& whiteEvjz == other.whiteEvjz
|
&& whiteEvjz == other.whiteEvjz
|
||||||
&& targetjz == other.targetjz
|
&& targetjz == other.targetjz
|
||||||
|
&& sigmoidldacie12 == other.sigmoidldacie12
|
||||||
|
&& sigmoidthcie12 == other.sigmoidthcie12
|
||||||
|
&& sigmoidblcie12 == other.sigmoidblcie12
|
||||||
|
|
||||||
&& sigmoidldacie == other.sigmoidldacie
|
&& sigmoidldacie == other.sigmoidldacie
|
||||||
&& sigmoidthcie == other.sigmoidthcie
|
&& sigmoidthcie == other.sigmoidthcie
|
||||||
&& sigmoidsenscie == other.sigmoidsenscie
|
&& sigmoidsenscie == other.sigmoidsenscie
|
||||||
@ -5830,11 +5904,19 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& strcielog == other.strcielog
|
&& strcielog == other.strcielog
|
||||||
&& comprcieth == other.comprcieth
|
&& comprcieth == other.comprcieth
|
||||||
&& gamjcie == other.gamjcie
|
&& gamjcie == other.gamjcie
|
||||||
|
&& smoothcieth == other.smoothcieth
|
||||||
&& slopjcie == other.slopjcie
|
&& slopjcie == other.slopjcie
|
||||||
|
&& contsig == other.contsig
|
||||||
|
&& skewsig == other.skewsig
|
||||||
|
&& whitsig == other.whitsig
|
||||||
&& slopesmo == other.slopesmo
|
&& slopesmo == other.slopesmo
|
||||||
|
&& slopesmoq == other.slopesmoq
|
||||||
&& slopesmor == other.slopesmor
|
&& slopesmor == other.slopesmor
|
||||||
&& slopesmog == other.slopesmog
|
&& slopesmog == other.slopesmog
|
||||||
&& slopesmob == other.slopesmob
|
&& slopesmob == other.slopesmob
|
||||||
|
&& kslopesmor == other.kslopesmor
|
||||||
|
&& kslopesmog == other.kslopesmog
|
||||||
|
&& kslopesmob == other.kslopesmob
|
||||||
&& midtcie == other.midtcie
|
&& midtcie == other.midtcie
|
||||||
&& redxl == other.redxl
|
&& redxl == other.redxl
|
||||||
&& redyl == other.redyl
|
&& redyl == other.redyl
|
||||||
@ -5861,6 +5943,9 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& smoothciemet == other.smoothciemet
|
&& smoothciemet == other.smoothciemet
|
||||||
&& primMethod == other.primMethod
|
&& primMethod == other.primMethod
|
||||||
&& catMethod == other.catMethod
|
&& catMethod == other.catMethod
|
||||||
|
&& sigmoidldajzcie12 == other.sigmoidldajzcie12
|
||||||
|
&& sigmoidthjzcie12 == other.sigmoidthjzcie12
|
||||||
|
&& sigmoidbljzcie12 == other.sigmoidbljzcie12
|
||||||
&& sigmoidldajzcie == other.sigmoidldajzcie
|
&& sigmoidldajzcie == other.sigmoidldajzcie
|
||||||
&& sigmoidthjzcie == other.sigmoidthjzcie
|
&& sigmoidthjzcie == other.sigmoidthjzcie
|
||||||
&& sigmoidbljzcie == other.sigmoidbljzcie
|
&& sigmoidbljzcie == other.sigmoidbljzcie
|
||||||
@ -7540,6 +7625,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->lcdarkness, "Locallab", "Lcdarkness_" + index_str, spot.lcdarkness, keyFile);
|
saveToKeyfile(!pedited || spot_edited->lcdarkness, "Locallab", "Lcdarkness_" + index_str, spot.lcdarkness, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->lclightness, "Locallab", "Lclightness_" + index_str, spot.lclightness, keyFile);
|
saveToKeyfile(!pedited || spot_edited->lclightness, "Locallab", "Lclightness_" + index_str, spot.lclightness, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmalc, "Locallab", "Sigmalc_" + index_str, spot.sigmalc, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigmalc, "Locallab", "Sigmalc_" + index_str, spot.sigmalc, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->offslc, "Locallab", "Offslc_" + index_str, spot.offslc, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->levelwav, "Locallab", "Levelwav_" + index_str, spot.levelwav, keyFile);
|
saveToKeyfile(!pedited || spot_edited->levelwav, "Locallab", "Levelwav_" + index_str, spot.levelwav, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->residcont, "Locallab", "Residcont_" + index_str, spot.residcont, keyFile);
|
saveToKeyfile(!pedited || spot_edited->residcont, "Locallab", "Residcont_" + index_str, spot.residcont, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->residsha, "Locallab", "Residsha_" + index_str, spot.residsha, keyFile);
|
saveToKeyfile(!pedited || spot_edited->residsha, "Locallab", "Residsha_" + index_str, spot.residsha, keyFile);
|
||||||
@ -7591,6 +7677,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->wavgradl, "Locallab", "Wavgradl_" + index_str, spot.wavgradl, keyFile);
|
saveToKeyfile(!pedited || spot_edited->wavgradl, "Locallab", "Wavgradl_" + index_str, spot.wavgradl, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->wavcompre, "Locallab", "Wavcompre_" + index_str, spot.wavcompre, keyFile);
|
saveToKeyfile(!pedited || spot_edited->wavcompre, "Locallab", "Wavcompre_" + index_str, spot.wavcompre, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->origlc, "Locallab", "Origlc_" + index_str, spot.origlc, keyFile);
|
saveToKeyfile(!pedited || spot_edited->origlc, "Locallab", "Origlc_" + index_str, spot.origlc, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->processwav, "Locallab", "processwav_" + index_str, spot.processwav, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->localcontMethod, "Locallab", "localcontMethod_" + index_str, spot.localcontMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->localcontMethod, "Locallab", "localcontMethod_" + index_str, spot.localcontMethod, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->localedgMethod, "Locallab", "localedgMethod_" + index_str, spot.localedgMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->localedgMethod, "Locallab", "localedgMethod_" + index_str, spot.localedgMethod, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->localneiMethod, "Locallab", "localneiMethod_" + index_str, spot.localneiMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->localneiMethod, "Locallab", "localneiMethod_" + index_str, spot.localneiMethod, keyFile);
|
||||||
@ -7736,11 +7823,11 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->reparcie, "Locallab", "Reparcie_" + index_str, spot.reparcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->reparcie, "Locallab", "Reparcie_" + index_str, spot.reparcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sensicie, "Locallab", "Sensicie_" + index_str, spot.sensicie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sensicie, "Locallab", "Sensicie_" + index_str, spot.sensicie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->Autograycie, "Locallab", "AutoGraycie_" + index_str, spot.Autograycie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->Autograycie, "Locallab", "AutoGraycie_" + index_str, spot.Autograycie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->forcejz, "Locallab", "Forcejz_" + index_str, spot.forcejz, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigybjz12, "Locallab", "sigybjz12_" + index_str, spot.sigybjz12, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->forcebw, "Locallab", "Forcebw_" + index_str, spot.forcebw, keyFile);
|
|
||||||
saveToKeyfile(!pedited || spot_edited->qtoj, "Locallab", "Qtoj_" + index_str, spot.qtoj, keyFile);
|
saveToKeyfile(!pedited || spot_edited->qtoj, "Locallab", "Qtoj_" + index_str, spot.qtoj, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->jabcie, "Locallab", "jabcie_" + index_str, spot.jabcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->jabcie, "Locallab", "jabcie_" + index_str, spot.jabcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->comprcieauto, "Locallab", "comprcieauto_" + index_str, spot.comprcieauto, keyFile);
|
saveToKeyfile(!pedited || spot_edited->comprcieauto, "Locallab", "comprcieauto_" + index_str, spot.comprcieauto, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->normcie12, "Locallab", "normcie12_" + index_str, spot.normcie12, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->normcie, "Locallab", "normcie_" + index_str, spot.normcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->normcie, "Locallab", "normcie_" + index_str, spot.normcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->gamutcie, "Locallab", "gamutcie_" + index_str, spot.gamutcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->gamutcie, "Locallab", "gamutcie_" + index_str, spot.gamutcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->bwcie, "Locallab", "bwcie_" + index_str, spot.bwcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->bwcie, "Locallab", "bwcie_" + index_str, spot.bwcie, keyFile);
|
||||||
@ -7749,10 +7836,17 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->satcie, "Locallab", "satcie_" + index_str, spot.satcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->satcie, "Locallab", "satcie_" + index_str, spot.satcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->logcieq, "Locallab", "logcieq_" + index_str, spot.logcieq, keyFile);
|
saveToKeyfile(!pedited || spot_edited->logcieq, "Locallab", "logcieq_" + index_str, spot.logcieq, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->smoothcie, "Locallab", "smoothcie_" + index_str, spot.smoothcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->smoothcie, "Locallab", "smoothcie_" + index_str, spot.smoothcie, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->smoothcietrc, "Locallab", "smoothcietrc_" + index_str, spot.smoothcietrc, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->smoothcietrcrel, "Locallab", "smoothcietrcrel_" + index_str, spot.smoothcietrcrel, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->smoothcieyb, "Locallab", "smoothcieyb_" + index_str, spot.smoothcieyb, keyFile);
|
saveToKeyfile(!pedited || spot_edited->smoothcieyb, "Locallab", "smoothcieyb_" + index_str, spot.smoothcieyb, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->smoothcielum, "Locallab", "smoothcielum_" + index_str, spot.smoothcielum, keyFile);
|
saveToKeyfile(!pedited || spot_edited->smoothcielum, "Locallab", "smoothcielum_" + index_str, spot.smoothcielum, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->smoothciehigh, "Locallab", "smoothciehigh_" + index_str, spot.smoothciehigh, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->smoothcielnk, "Locallab", "smoothcielnk_" + index_str, spot.smoothcielnk, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->logjz, "Locallab", "Logjz_" + index_str, spot.logjz, keyFile);
|
saveToKeyfile(!pedited || spot_edited->logjz, "Locallab", "Logjz_" + index_str, spot.logjz, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigjz12, "Locallab", "Sigjz12_" + index_str, spot.sigjz12, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigjz, "Locallab", "Sigjz_" + index_str, spot.sigjz, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigjz, "Locallab", "Sigjz_" + index_str, spot.sigjz, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->forcebw, "Locallab", "Forcebw_" + index_str, spot.forcebw, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigq12, "Locallab", "Sigq12_" + index_str, spot.sigq12, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigq, "Locallab", "Sigq_" + index_str, spot.sigq, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigq, "Locallab", "Sigq_" + index_str, spot.sigq, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->chjzcie, "Locallab", "chjzcie_" + index_str, spot.chjzcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->chjzcie, "Locallab", "chjzcie_" + index_str, spot.chjzcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sourceGraycie, "Locallab", "SourceGraycie_" + index_str, spot.sourceGraycie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sourceGraycie, "Locallab", "SourceGraycie_" + index_str, spot.sourceGraycie, keyFile);
|
||||||
@ -7760,6 +7854,8 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->sursourcie, "Locallab", "Sursourcie_" + index_str, spot.sursourcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sursourcie, "Locallab", "Sursourcie_" + index_str, spot.sursourcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->modecie, "Locallab", "Modecie_" + index_str, spot.modecie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->modecie, "Locallab", "Modecie_" + index_str, spot.modecie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->modecam, "Locallab", "Modecam_" + index_str, spot.modecam, keyFile);
|
saveToKeyfile(!pedited || spot_edited->modecam, "Locallab", "Modecam_" + index_str, spot.modecam, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->modeQJ, "Locallab", "ModeQJ_" + index_str, spot.modeQJ, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->bwevMethod12, "Locallab", "bwevMethod12_" + index_str, spot.bwevMethod12, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->bwevMethod, "Locallab", "bwevMethod_" + index_str, spot.bwevMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->bwevMethod, "Locallab", "bwevMethod_" + index_str, spot.bwevMethod, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->saturlcie, "Locallab", "Saturlcie_" + index_str, spot.saturlcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->saturlcie, "Locallab", "Saturlcie_" + index_str, spot.saturlcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->rstprotectcie, "Locallab", "Rstprotectcie_" + index_str, spot.rstprotectcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->rstprotectcie, "Locallab", "Rstprotectcie_" + index_str, spot.rstprotectcie, keyFile);
|
||||||
@ -7807,19 +7903,33 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->blackEvjz, "Locallab", "BlackEvjz_" + index_str, spot.blackEvjz, keyFile);
|
saveToKeyfile(!pedited || spot_edited->blackEvjz, "Locallab", "BlackEvjz_" + index_str, spot.blackEvjz, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->whiteEvjz, "Locallab", "WhiteEvjz_" + index_str, spot.whiteEvjz, keyFile);
|
saveToKeyfile(!pedited || spot_edited->whiteEvjz, "Locallab", "WhiteEvjz_" + index_str, spot.whiteEvjz, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->targetjz, "Locallab", "Targetjz_" + index_str, spot.targetjz, keyFile);
|
saveToKeyfile(!pedited || spot_edited->targetjz, "Locallab", "Targetjz_" + index_str, spot.targetjz, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigmoidldacie12, "Locallab", "Sigmoidldacie12_" + index_str, spot.sigmoidldacie12, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigmoidthcie12, "Locallab", "Sigmoidthcie12_" + index_str, spot.sigmoidthcie12, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigmoidblcie12, "Locallab", "Sigmoidblcie12_" + index_str, spot.sigmoidblcie12, keyFile);
|
||||||
|
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmoidldacie, "Locallab", "Sigmoidldacie_" + index_str, spot.sigmoidldacie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigmoidldacie, "Locallab", "Sigmoidldacie_" + index_str, spot.sigmoidldacie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmoidthcie, "Locallab", "Sigmoidthcie_" + index_str, spot.sigmoidthcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigmoidthcie, "Locallab", "Sigmoidthcie_" + index_str, spot.sigmoidthcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmoidsenscie, "Locallab", "Sigmoidsenscie_" + index_str, spot.sigmoidsenscie, keyFile);
|
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmoidblcie, "Locallab", "Sigmoidblcie_" + index_str, spot.sigmoidblcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigmoidblcie, "Locallab", "Sigmoidblcie_" + index_str, spot.sigmoidblcie, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigmoidsenscie, "Locallab", "Sigmoidsenscie_" + index_str, spot.sigmoidsenscie, keyFile);
|
||||||
|
|
||||||
saveToKeyfile(!pedited || spot_edited->comprcie, "Locallab", "comprcie_" + index_str, spot.comprcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->comprcie, "Locallab", "comprcie_" + index_str, spot.comprcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->strcielog, "Locallab", "strcielog_" + index_str, spot.strcielog, keyFile);
|
saveToKeyfile(!pedited || spot_edited->strcielog, "Locallab", "strcielog_" + index_str, spot.strcielog, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->comprcieth, "Locallab", "comprcieth_" + index_str, spot.comprcieth, keyFile);
|
saveToKeyfile(!pedited || spot_edited->comprcieth, "Locallab", "comprcieth_" + index_str, spot.comprcieth, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->gamjcie, "Locallab", "gamjcie_" + index_str, spot.gamjcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->gamjcie, "Locallab", "gamjcie_" + index_str, spot.gamjcie, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->smoothcieth, "Locallab", "smoothcieth_" + index_str, spot.smoothcieth, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->slopjcie, "Locallab", "slopjcie_" + index_str, spot.slopjcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->slopjcie, "Locallab", "slopjcie_" + index_str, spot.slopjcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->slopesmo, "Locallab", "slopesmo_" + index_str, spot.slopesmo, keyFile);
|
saveToKeyfile(!pedited || spot_edited->slopesmo, "Locallab", "slopesmo_" + index_str, spot.slopesmo, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->slopesmoq, "Locallab", "slopesmoq_" + index_str, spot.slopesmoq, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->slopesmor, "Locallab", "slopesmor_" + index_str, spot.slopesmor, keyFile);
|
saveToKeyfile(!pedited || spot_edited->slopesmor, "Locallab", "slopesmor_" + index_str, spot.slopesmor, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->slopesmog, "Locallab", "slopesmog_" + index_str, spot.slopesmog, keyFile);
|
saveToKeyfile(!pedited || spot_edited->slopesmog, "Locallab", "slopesmog_" + index_str, spot.slopesmog, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->slopesmob, "Locallab", "slopesmob_" + index_str, spot.slopesmob, keyFile);
|
saveToKeyfile(!pedited || spot_edited->slopesmob, "Locallab", "slopesmob_" + index_str, spot.slopesmob, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->contsig, "Locallab", "contsig_" + index_str, spot.contsig, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->skewsig, "Locallab", "skewsig_" + index_str, spot.skewsig, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->whitsig, "Locallab", "whitsig_" + index_str, spot.whitsig, keyFile);
|
||||||
|
|
||||||
|
saveToKeyfile(!pedited || spot_edited->kslopesmor, "Locallab", "kslopesmor_" + index_str, spot.kslopesmor, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->kslopesmog, "Locallab", "kslopesmog_" + index_str, spot.kslopesmog, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->kslopesmob, "Locallab", "kslopesmob_" + index_str, spot.kslopesmob, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->midtcie, "Locallab", "midtcie_" + index_str, spot.midtcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->midtcie, "Locallab", "midtcie_" + index_str, spot.midtcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->redxl, "Locallab", "redxl_" + index_str, spot.redxl, keyFile);
|
saveToKeyfile(!pedited || spot_edited->redxl, "Locallab", "redxl_" + index_str, spot.redxl, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->redyl, "Locallab", "redyl_" + index_str, spot.redyl, keyFile);
|
saveToKeyfile(!pedited || spot_edited->redyl, "Locallab", "redyl_" + index_str, spot.redyl, keyFile);
|
||||||
@ -7848,9 +7958,13 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->smoothciemet, "Locallab", "smoothciemet_" + index_str, spot.smoothciemet, keyFile);
|
saveToKeyfile(!pedited || spot_edited->smoothciemet, "Locallab", "smoothciemet_" + index_str, spot.smoothciemet, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->primMethod, "Locallab", "primMethod_" + index_str, spot.primMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->primMethod, "Locallab", "primMethod_" + index_str, spot.primMethod, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->catMethod, "Locallab", "catMethod_" + index_str, spot.catMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->catMethod, "Locallab", "catMethod_" + index_str, spot.catMethod, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigmoidldajzcie12, "Locallab", "Sigmoidldajzcie12_" + index_str, spot.sigmoidldajzcie12, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigmoidthjzcie12, "Locallab", "Sigmoidthjzcie12_" + index_str, spot.sigmoidthjzcie12, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->sigmoidbljzcie12, "Locallab", "Sigmoidbljzcie12_" + index_str, spot.sigmoidbljzcie12, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmoidldajzcie, "Locallab", "Sigmoidldajzcie_" + index_str, spot.sigmoidldajzcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigmoidldajzcie, "Locallab", "Sigmoidldajzcie_" + index_str, spot.sigmoidldajzcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmoidthjzcie, "Locallab", "Sigmoidthjzcie_" + index_str, spot.sigmoidthjzcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigmoidthjzcie, "Locallab", "Sigmoidthjzcie_" + index_str, spot.sigmoidthjzcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sigmoidbljzcie, "Locallab", "Sigmoidbljzcie_" + index_str, spot.sigmoidbljzcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sigmoidbljzcie, "Locallab", "Sigmoidbljzcie_" + index_str, spot.sigmoidbljzcie, keyFile);
|
||||||
|
|
||||||
saveToKeyfile(!pedited || spot_edited->contqcie, "Locallab", "Contqcie_" + index_str, spot.contqcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->contqcie, "Locallab", "Contqcie_" + index_str, spot.contqcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->contsigqcie, "Locallab", "Contsigqcie_" + index_str, spot.contsigqcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->contsigqcie, "Locallab", "Contsigqcie_" + index_str, spot.contsigqcie, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->colorflcie, "Locallab", "Colorflcie_" + index_str, spot.colorflcie, keyFile);
|
saveToKeyfile(!pedited || spot_edited->colorflcie, "Locallab", "Colorflcie_" + index_str, spot.colorflcie, keyFile);
|
||||||
@ -8037,9 +8151,15 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
keyFile
|
keyFile
|
||||||
);
|
);
|
||||||
|
|
||||||
saveToKeyfile(!pedited || pedited->icm.workingTRCGamma, "Color Management", "WorkingTRCGamma", icm.workingTRCGamma, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.opacityCurveWLI, "Color Management", "OpacityCurveWLI", icm.opacityCurveWLI, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.workingTRCSlope, "Color Management", "WorkingTRCSlope", icm.workingTRCSlope, keyFile);
|
|
||||||
|
saveToKeyfile(!pedited || pedited->icm.wGamma, "Color Management", "WorkingTRCGamma", icm.wGamma, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->icm.wSlope, "Color Management", "WorkingTRCSlope", icm.wSlope, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.wmidtcie, "Color Management", "Wmidtcie", icm.wmidtcie, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.wmidtcie, "Color Management", "Wmidtcie", icm.wmidtcie, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->icm.sigmatrc, "Color Management", "Sigmatrc", icm.sigmatrc, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->icm.offstrc, "Color Management", "Offstrc", icm.offstrc, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->icm.residtrc, "Color Management", "Residtrc", icm.residtrc, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->icm.pyrwavtrc, "Color Management", "Pyrwavtrc", icm.pyrwavtrc, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.wsmoothcie, "Color Management", "Wsmoothcie", icm.wsmoothcie, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.wsmoothcie, "Color Management", "Wsmoothcie", icm.wsmoothcie, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.redx, "Color Management", "Redx", icm.redx, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.redx, "Color Management", "Redx", icm.redx, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.redy, "Color Management", "Redy", icm.redy, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.redy, "Color Management", "Redy", icm.redy, keyFile);
|
||||||
@ -8063,6 +8183,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || pedited->icm.preser, "Color Management", "Preser", icm.preser, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.preser, "Color Management", "Preser", icm.preser, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.fbw, "Color Management", "Fbw", icm.fbw, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.fbw, "Color Management", "Fbw", icm.fbw, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.trcExp, "Color Management", "TrcExp", icm.trcExp, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.trcExp, "Color Management", "TrcExp", icm.trcExp, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->icm.wavExp, "Color Management", "WavExp", icm.wavExp, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.gamut, "Color Management", "Gamut", icm.gamut, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.gamut, "Color Management", "Gamut", icm.gamut, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->icm.outputProfile, "Color Management", "OutputProfile", icm.outputProfile, keyFile);
|
saveToKeyfile(!pedited || pedited->icm.outputProfile, "Color Management", "OutputProfile", icm.outputProfile, keyFile);
|
||||||
saveToKeyfile(
|
saveToKeyfile(
|
||||||
@ -9959,6 +10080,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Lcdarkness_" + index_str, spot.lcdarkness, spotEdited.lcdarkness);
|
assignFromKeyfile(keyFile, "Locallab", "Lcdarkness_" + index_str, spot.lcdarkness, spotEdited.lcdarkness);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Lclightness_" + index_str, spot.lclightness, spotEdited.lclightness);
|
assignFromKeyfile(keyFile, "Locallab", "Lclightness_" + index_str, spot.lclightness, spotEdited.lclightness);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigmalc_" + index_str, spot.sigmalc, spotEdited.sigmalc);
|
assignFromKeyfile(keyFile, "Locallab", "Sigmalc_" + index_str, spot.sigmalc, spotEdited.sigmalc);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Offslc_" + index_str, spot.offslc, spotEdited.offslc);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Levelwav_" + index_str, spot.levelwav, spotEdited.levelwav);
|
assignFromKeyfile(keyFile, "Locallab", "Levelwav_" + index_str, spot.levelwav, spotEdited.levelwav);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Residcont_" + index_str, spot.residcont, spotEdited.residcont);
|
assignFromKeyfile(keyFile, "Locallab", "Residcont_" + index_str, spot.residcont, spotEdited.residcont);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Residsha_" + index_str, spot.residsha, spotEdited.residsha);
|
assignFromKeyfile(keyFile, "Locallab", "Residsha_" + index_str, spot.residsha, spotEdited.residsha);
|
||||||
@ -10018,6 +10140,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Wavgradl_" + index_str, spot.wavgradl, spotEdited.wavgradl);
|
assignFromKeyfile(keyFile, "Locallab", "Wavgradl_" + index_str, spot.wavgradl, spotEdited.wavgradl);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Wavcompre_" + index_str, spot.wavcompre, spotEdited.wavcompre);
|
assignFromKeyfile(keyFile, "Locallab", "Wavcompre_" + index_str, spot.wavcompre, spotEdited.wavcompre);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Origlc_" + index_str, spot.origlc, spotEdited.origlc);
|
assignFromKeyfile(keyFile, "Locallab", "Origlc_" + index_str, spot.origlc, spotEdited.origlc);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "processwav_" + index_str, spot.processwav, spotEdited.processwav);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "localcontMethod_" + index_str, spot.localcontMethod, spotEdited.localcontMethod);
|
assignFromKeyfile(keyFile, "Locallab", "localcontMethod_" + index_str, spot.localcontMethod, spotEdited.localcontMethod);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "localedgMethod_" + index_str, spot.localedgMethod, spotEdited.localedgMethod);
|
assignFromKeyfile(keyFile, "Locallab", "localedgMethod_" + index_str, spot.localedgMethod, spotEdited.localedgMethod);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "localneiMethod_" + index_str, spot.localneiMethod, spotEdited.localneiMethod);
|
assignFromKeyfile(keyFile, "Locallab", "localneiMethod_" + index_str, spot.localneiMethod, spotEdited.localneiMethod);
|
||||||
@ -10217,11 +10340,11 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Reparcie_" + index_str, spot.reparcie, spotEdited.reparcie);
|
assignFromKeyfile(keyFile, "Locallab", "Reparcie_" + index_str, spot.reparcie, spotEdited.reparcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sensicie_" + index_str, spot.sensicie, spotEdited.sensicie);
|
assignFromKeyfile(keyFile, "Locallab", "Sensicie_" + index_str, spot.sensicie, spotEdited.sensicie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "AutoGraycie_" + index_str, spot.Autograycie, spotEdited.Autograycie);
|
assignFromKeyfile(keyFile, "Locallab", "AutoGraycie_" + index_str, spot.Autograycie, spotEdited.Autograycie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Forcejz_" + index_str, spot.forcejz, spotEdited.forcejz);
|
assignFromKeyfile(keyFile, "Locallab", "sigybjz12_" + index_str, spot.sigybjz12, spotEdited.sigybjz12);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Forcebw_" + index_str, spot.forcebw, spotEdited.forcebw);
|
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Qtoj_" + index_str, spot.qtoj, spotEdited.qtoj);
|
assignFromKeyfile(keyFile, "Locallab", "Qtoj_" + index_str, spot.qtoj, spotEdited.qtoj);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "jabcie_" + index_str, spot.jabcie, spotEdited.jabcie);
|
assignFromKeyfile(keyFile, "Locallab", "jabcie_" + index_str, spot.jabcie, spotEdited.jabcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "comprcieauto_" + index_str, spot.comprcieauto, spotEdited.comprcieauto);
|
assignFromKeyfile(keyFile, "Locallab", "comprcieauto_" + index_str, spot.comprcieauto, spotEdited.comprcieauto);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "normcie12_" + index_str, spot.normcie12, spotEdited.normcie12);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "normcie_" + index_str, spot.normcie, spotEdited.normcie);
|
assignFromKeyfile(keyFile, "Locallab", "normcie_" + index_str, spot.normcie, spotEdited.normcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "gamutcie_" + index_str, spot.gamutcie, spotEdited.gamutcie);
|
assignFromKeyfile(keyFile, "Locallab", "gamutcie_" + index_str, spot.gamutcie, spotEdited.gamutcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "bwcie_" + index_str, spot.bwcie, spotEdited.bwcie);
|
assignFromKeyfile(keyFile, "Locallab", "bwcie_" + index_str, spot.bwcie, spotEdited.bwcie);
|
||||||
@ -10230,17 +10353,56 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "satcie_" + index_str, spot.satcie, spotEdited.satcie);
|
assignFromKeyfile(keyFile, "Locallab", "satcie_" + index_str, spot.satcie, spotEdited.satcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "logcieq_" + index_str, spot.logcieq, spotEdited.logcieq);
|
assignFromKeyfile(keyFile, "Locallab", "logcieq_" + index_str, spot.logcieq, spotEdited.logcieq);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "smoothcie_" + index_str, spot.smoothcie, spotEdited.smoothcie);
|
assignFromKeyfile(keyFile, "Locallab", "smoothcie_" + index_str, spot.smoothcie, spotEdited.smoothcie);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "smoothcietrc_" + index_str, spot.smoothcietrc, spotEdited.smoothcietrc);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "smoothcietrcrel_" + index_str, spot.smoothcietrcrel, spotEdited.smoothcietrcrel);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "smoothcieyb_" + index_str, spot.smoothcieyb, spotEdited.smoothcieyb);
|
assignFromKeyfile(keyFile, "Locallab", "smoothcieyb_" + index_str, spot.smoothcieyb, spotEdited.smoothcieyb);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "smoothcielum_" + index_str, spot.smoothcielum, spotEdited.smoothcielum);
|
assignFromKeyfile(keyFile, "Locallab", "smoothcielum_" + index_str, spot.smoothcielum, spotEdited.smoothcielum);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "smoothciehigh_" + index_str, spot.smoothciehigh, spotEdited.smoothciehigh);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "smoothcielnk_" + index_str, spot.smoothcielnk, spotEdited.smoothcielnk);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Logjz_" + index_str, spot.logjz, spotEdited.logjz);
|
assignFromKeyfile(keyFile, "Locallab", "Logjz_" + index_str, spot.logjz, spotEdited.logjz);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigjz12_" + index_str, spot.sigjz12, spotEdited.sigjz12);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigjz_" + index_str, spot.sigjz, spotEdited.sigjz);
|
assignFromKeyfile(keyFile, "Locallab", "Sigjz_" + index_str, spot.sigjz, spotEdited.sigjz);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Forcebw_" + index_str, spot.forcebw, spotEdited.forcebw);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "ModeQJ_" + index_str, spot.modeQJ, spotEdited.modeQJ);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Modecie_" + index_str, spot.modecie, spotEdited.modecie);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Modecam_" + index_str, spot.modecam, spotEdited.modecam);
|
||||||
|
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigq12_" + index_str, spot.sigq12, spotEdited.sigq12);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigq_" + index_str, spot.sigq, spotEdited.sigq);
|
assignFromKeyfile(keyFile, "Locallab", "Sigq_" + index_str, spot.sigq, spotEdited.sigq);
|
||||||
|
|
||||||
|
if (ppVersion < 352) {//change behavior Log encoding Q and Sigmoid Q and SigmoidJz when 'in the loop' Cam16
|
||||||
|
if (keyFile.has_key("Locallab", "Sigq_" + index_str)) {
|
||||||
|
if (spot.sigq == true) {
|
||||||
|
spot.modeQJ = "511";
|
||||||
|
spot.sigq12 = false;
|
||||||
|
spotEdited.modeQJ = true;
|
||||||
|
spotEdited.sigq12 = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (keyFile.has_key("Locallab", "logcieq_" + index_str)) {
|
||||||
|
if (spot.logcieq == true) {
|
||||||
|
spot.modeQJ = "511";
|
||||||
|
spotEdited.modeQJ = true;
|
||||||
|
spotEdited.logcieq = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (keyFile.has_key("Locallab", "Sigjz_" + index_str)) {
|
||||||
|
if (spot.sigjz == true) {
|
||||||
|
spot.modeQJ = "511";
|
||||||
|
spot.sigjz12 = false;
|
||||||
|
spotEdited.modeQJ = true;
|
||||||
|
spotEdited.sigjz12 = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
assignFromKeyfile(keyFile, "Locallab", "chjzcie_" + index_str, spot.chjzcie, spotEdited.chjzcie);
|
assignFromKeyfile(keyFile, "Locallab", "chjzcie_" + index_str, spot.chjzcie, spotEdited.chjzcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "SourceGraycie_" + index_str, spot.sourceGraycie, spotEdited.sourceGraycie);
|
assignFromKeyfile(keyFile, "Locallab", "SourceGraycie_" + index_str, spot.sourceGraycie, spotEdited.sourceGraycie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sourceabscie_" + index_str, spot.sourceabscie, spotEdited.sourceabscie);
|
assignFromKeyfile(keyFile, "Locallab", "Sourceabscie_" + index_str, spot.sourceabscie, spotEdited.sourceabscie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sursourcie_" + index_str, spot.sursourcie, spotEdited.sursourcie);
|
assignFromKeyfile(keyFile, "Locallab", "Sursourcie_" + index_str, spot.sursourcie, spotEdited.sursourcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Modecie_" + index_str, spot.modecie, spotEdited.modecie);
|
assignFromKeyfile(keyFile, "Locallab", "bwevMethod12_" + index_str, spot.bwevMethod12, spotEdited.bwevMethod12);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Modecam_" + index_str, spot.modecam, spotEdited.modecam);
|
|
||||||
assignFromKeyfile(keyFile, "Locallab", "bwevMethod_" + index_str, spot.bwevMethod, spotEdited.bwevMethod);
|
assignFromKeyfile(keyFile, "Locallab", "bwevMethod_" + index_str, spot.bwevMethod, spotEdited.bwevMethod);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Saturlcie_" + index_str, spot.saturlcie, spotEdited.saturlcie);
|
assignFromKeyfile(keyFile, "Locallab", "Saturlcie_" + index_str, spot.saturlcie, spotEdited.saturlcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Rstprotectcie_" + index_str, spot.rstprotectcie, spotEdited.rstprotectcie);
|
assignFromKeyfile(keyFile, "Locallab", "Rstprotectcie_" + index_str, spot.rstprotectcie, spotEdited.rstprotectcie);
|
||||||
@ -10298,19 +10460,34 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "BlackEvjz_" + index_str, spot.blackEvjz, spotEdited.blackEvjz);
|
assignFromKeyfile(keyFile, "Locallab", "BlackEvjz_" + index_str, spot.blackEvjz, spotEdited.blackEvjz);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "WhiteEvjz_" + index_str, spot.whiteEvjz, spotEdited.whiteEvjz);
|
assignFromKeyfile(keyFile, "Locallab", "WhiteEvjz_" + index_str, spot.whiteEvjz, spotEdited.whiteEvjz);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Targetjz_" + index_str, spot.targetjz, spotEdited.targetjz);
|
assignFromKeyfile(keyFile, "Locallab", "Targetjz_" + index_str, spot.targetjz, spotEdited.targetjz);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidldacie12_" + index_str, spot.sigmoidldacie12, spotEdited.sigmoidldacie12);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidthcie12_" + index_str, spot.sigmoidthcie12, spotEdited.sigmoidthcie12);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidblcie12_" + index_str, spot.sigmoidblcie12, spotEdited.sigmoidblcie12);
|
||||||
|
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidldacie_" + index_str, spot.sigmoidldacie, spotEdited.sigmoidldacie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigmoidthcie_" + index_str, spot.sigmoidthcie, spotEdited.sigmoidthcie);
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidthcie_" + index_str, spot.sigmoidthcie, spotEdited.sigmoidthcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigmoidsenscie_" + index_str, spot.sigmoidsenscie, spotEdited.sigmoidsenscie);
|
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigmoidblcie_" + index_str, spot.sigmoidblcie, spotEdited.sigmoidblcie);
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidblcie_" + index_str, spot.sigmoidblcie, spotEdited.sigmoidblcie);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidsenscie_" + index_str, spot.sigmoidsenscie, spotEdited.sigmoidsenscie);
|
||||||
|
|
||||||
|
|
||||||
assignFromKeyfile(keyFile, "Locallab", "comprcie_" + index_str, spot.comprcie, spotEdited.comprcie);
|
assignFromKeyfile(keyFile, "Locallab", "comprcie_" + index_str, spot.comprcie, spotEdited.comprcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "strcielog_" + index_str, spot.strcielog, spotEdited.strcielog);
|
assignFromKeyfile(keyFile, "Locallab", "strcielog_" + index_str, spot.strcielog, spotEdited.strcielog);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "comprcieth_" + index_str, spot.comprcieth, spotEdited.comprcieth);
|
assignFromKeyfile(keyFile, "Locallab", "comprcieth_" + index_str, spot.comprcieth, spotEdited.comprcieth);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "gamjcie_" + index_str, spot.gamjcie, spotEdited.gamjcie);
|
assignFromKeyfile(keyFile, "Locallab", "gamjcie_" + index_str, spot.gamjcie, spotEdited.gamjcie);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "smoothcieth_" + index_str, spot.smoothcieth, spotEdited.smoothcieth);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "slopjcie_" + index_str, spot.slopjcie, spotEdited.slopjcie);
|
assignFromKeyfile(keyFile, "Locallab", "slopjcie_" + index_str, spot.slopjcie, spotEdited.slopjcie);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "contsig_" + index_str, spot.contsig, spotEdited.contsig);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "skewsig_" + index_str, spot.skewsig, spotEdited.skewsig);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "whitsig_" + index_str, spot.whitsig, spotEdited.whitsig);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "slopesmo_" + index_str, spot.slopesmo, spotEdited.slopesmo);
|
assignFromKeyfile(keyFile, "Locallab", "slopesmo_" + index_str, spot.slopesmo, spotEdited.slopesmo);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "slopesmoq_" + index_str, spot.slopesmoq, spotEdited.slopesmoq);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "slopesmor_" + index_str, spot.slopesmor, spotEdited.slopesmor);
|
assignFromKeyfile(keyFile, "Locallab", "slopesmor_" + index_str, spot.slopesmor, spotEdited.slopesmor);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "slopesmog_" + index_str, spot.slopesmog, spotEdited.slopesmog);
|
assignFromKeyfile(keyFile, "Locallab", "slopesmog_" + index_str, spot.slopesmog, spotEdited.slopesmog);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "midtcie_" + index_str, spot.midtcie, spotEdited.midtcie);
|
assignFromKeyfile(keyFile, "Locallab", "midtcie_" + index_str, spot.midtcie, spotEdited.midtcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "slopesmob_" + index_str, spot.slopesmob, spotEdited.slopesmob);
|
assignFromKeyfile(keyFile, "Locallab", "slopesmob_" + index_str, spot.slopesmob, spotEdited.slopesmob);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "kslopesmor_" + index_str, spot.kslopesmor, spotEdited.kslopesmor);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "kslopesmog_" + index_str, spot.kslopesmog, spotEdited.kslopesmog);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "kslopesmob_" + index_str, spot.kslopesmob, spotEdited.kslopesmob);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "grexl_" + index_str, spot.grexl, spotEdited.grexl);
|
assignFromKeyfile(keyFile, "Locallab", "grexl_" + index_str, spot.grexl, spotEdited.grexl);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "greyl_" + index_str, spot.greyl, spotEdited.greyl);
|
assignFromKeyfile(keyFile, "Locallab", "greyl_" + index_str, spot.greyl, spotEdited.greyl);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "bluxl_" + index_str, spot.bluxl, spotEdited.bluxl);
|
assignFromKeyfile(keyFile, "Locallab", "bluxl_" + index_str, spot.bluxl, spotEdited.bluxl);
|
||||||
@ -10337,9 +10514,13 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "smoothciemet_" + index_str, spot.smoothciemet, spotEdited.smoothciemet);
|
assignFromKeyfile(keyFile, "Locallab", "smoothciemet_" + index_str, spot.smoothciemet, spotEdited.smoothciemet);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "primMethod_" + index_str, spot.primMethod, spotEdited.primMethod);
|
assignFromKeyfile(keyFile, "Locallab", "primMethod_" + index_str, spot.primMethod, spotEdited.primMethod);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "catMethod_" + index_str, spot.catMethod, spotEdited.catMethod);
|
assignFromKeyfile(keyFile, "Locallab", "catMethod_" + index_str, spot.catMethod, spotEdited.catMethod);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidldajzcie12_" + index_str, spot.sigmoidldajzcie12, spotEdited.sigmoidldajzcie12);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidthjzcie12_" + index_str, spot.sigmoidthjzcie12, spotEdited.sigmoidthjzcie12);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidbljzcie12_" + index_str, spot.sigmoidbljzcie12, spotEdited.sigmoidbljzcie12);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigmoidldajzcie_" + index_str, spot.sigmoidldajzcie, spotEdited.sigmoidldajzcie);
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidldajzcie_" + index_str, spot.sigmoidldajzcie, spotEdited.sigmoidldajzcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigmoidthjzcie_" + index_str, spot.sigmoidthjzcie, spotEdited.sigmoidthjzcie);
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidthjzcie_" + index_str, spot.sigmoidthjzcie, spotEdited.sigmoidthjzcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sigmoidbljzcie_" + index_str, spot.sigmoidbljzcie, spotEdited.sigmoidbljzcie);
|
assignFromKeyfile(keyFile, "Locallab", "Sigmoidbljzcie_" + index_str, spot.sigmoidbljzcie, spotEdited.sigmoidbljzcie);
|
||||||
|
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Contqcie_" + index_str, spot.contqcie, spotEdited.contqcie);
|
assignFromKeyfile(keyFile, "Locallab", "Contqcie_" + index_str, spot.contqcie, spotEdited.contqcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Contsigqcie_" + index_str, spot.contsigqcie, spotEdited.contsigqcie);
|
assignFromKeyfile(keyFile, "Locallab", "Contsigqcie_" + index_str, spot.contsigqcie, spotEdited.contsigqcie);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Colorflcie_" + index_str, spot.colorflcie, spotEdited.colorflcie);
|
assignFromKeyfile(keyFile, "Locallab", "Colorflcie_" + index_str, spot.colorflcie, spotEdited.colorflcie);
|
||||||
@ -10571,6 +10752,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Color Management", "ApplyHueSatMap", icm.applyHueSatMap, pedited->icm.applyHueSatMap);
|
assignFromKeyfile(keyFile, "Color Management", "ApplyHueSatMap", icm.applyHueSatMap, pedited->icm.applyHueSatMap);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "DCPIlluminant", icm.dcpIlluminant, pedited->icm.dcpIlluminant);
|
assignFromKeyfile(keyFile, "Color Management", "DCPIlluminant", icm.dcpIlluminant, pedited->icm.dcpIlluminant);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "WorkingProfile", icm.workingProfile, pedited->icm.workingProfile);
|
assignFromKeyfile(keyFile, "Color Management", "WorkingProfile", icm.workingProfile, pedited->icm.workingProfile);
|
||||||
|
assignFromKeyfile(keyFile, "Color Management", "OpacityCurveWLI", icm.opacityCurveWLI, pedited->icm.opacityCurveWLI);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!assignFromKeyfile(
|
!assignFromKeyfile(
|
||||||
keyFile,
|
keyFile,
|
||||||
@ -10676,10 +10859,14 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
}
|
}
|
||||||
|
|
||||||
assignFromKeyfile(keyFile, "Color Management", "Gamut", icm.gamut, pedited->icm.gamut);
|
assignFromKeyfile(keyFile, "Color Management", "Gamut", icm.gamut, pedited->icm.gamut);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "WorkingTRCSlope", icm.workingTRCSlope, pedited->icm.workingTRCSlope);
|
assignFromKeyfile(keyFile, "Color Management", "WorkingTRCSlope", icm.wSlope, pedited->icm.wSlope);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "WorkingTRCGamma", icm.workingTRCGamma, pedited->icm.workingTRCGamma);
|
assignFromKeyfile(keyFile, "Color Management", "WorkingTRCGamma", icm.wGamma, pedited->icm.wGamma);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "Wmidtcie", icm.wmidtcie, pedited->icm.wmidtcie);
|
assignFromKeyfile(keyFile, "Color Management", "Wmidtcie", icm.wmidtcie, pedited->icm.wmidtcie);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "Wsmoothcie", icm.wsmoothcie, pedited->icm.wsmoothcie);
|
assignFromKeyfile(keyFile, "Color Management", "Wsmoothcie", icm.wsmoothcie, pedited->icm.wsmoothcie);
|
||||||
|
assignFromKeyfile(keyFile, "Color Management", "Sigmatrc", icm.sigmatrc, pedited->icm.sigmatrc);
|
||||||
|
assignFromKeyfile(keyFile, "Color Management", "Offstrc", icm.offstrc, pedited->icm.offstrc);
|
||||||
|
assignFromKeyfile(keyFile, "Color Management", "Pyrwavtrc", icm.pyrwavtrc, pedited->icm.pyrwavtrc);
|
||||||
|
assignFromKeyfile(keyFile, "Color Management", "Residtrc", icm.residtrc, pedited->icm.residtrc);
|
||||||
|
|
||||||
assignFromKeyfile(keyFile, "Color Management", "Redx", icm.redx, pedited->icm.redx);
|
assignFromKeyfile(keyFile, "Color Management", "Redx", icm.redx, pedited->icm.redx);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "Redy", icm.redy, pedited->icm.redy);
|
assignFromKeyfile(keyFile, "Color Management", "Redy", icm.redy, pedited->icm.redy);
|
||||||
@ -10693,6 +10880,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Color Management", "Preser", icm.preser, pedited->icm.preser);
|
assignFromKeyfile(keyFile, "Color Management", "Preser", icm.preser, pedited->icm.preser);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "Fbw", icm.fbw, pedited->icm.fbw);
|
assignFromKeyfile(keyFile, "Color Management", "Fbw", icm.fbw, pedited->icm.fbw);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "TrcExp", icm.trcExp, pedited->icm.trcExp);
|
assignFromKeyfile(keyFile, "Color Management", "TrcExp", icm.trcExp, pedited->icm.trcExp);
|
||||||
|
assignFromKeyfile(keyFile, "Color Management", "WavExp", icm.wavExp, pedited->icm.wavExp);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "LabGridcieALow", icm.labgridcieALow, pedited->icm.labgridcieALow);
|
assignFromKeyfile(keyFile, "Color Management", "LabGridcieALow", icm.labgridcieALow, pedited->icm.labgridcieALow);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "LabGridcieBLow", icm.labgridcieBLow, pedited->icm.labgridcieBLow);
|
assignFromKeyfile(keyFile, "Color Management", "LabGridcieBLow", icm.labgridcieBLow, pedited->icm.labgridcieBLow);
|
||||||
assignFromKeyfile(keyFile, "Color Management", "LabGridcieAHigh", icm.labgridcieAHigh, pedited->icm.labgridcieAHigh);
|
assignFromKeyfile(keyFile, "Color Management", "LabGridcieAHigh", icm.labgridcieAHigh, pedited->icm.labgridcieAHigh);
|
||||||
|
@ -1505,6 +1505,7 @@ struct LocallabParams {
|
|||||||
double lcdarkness;
|
double lcdarkness;
|
||||||
double lclightness;
|
double lclightness;
|
||||||
double sigmalc;
|
double sigmalc;
|
||||||
|
double offslc;
|
||||||
int levelwav;
|
int levelwav;
|
||||||
double residcont;
|
double residcont;
|
||||||
double residsha;
|
double residsha;
|
||||||
@ -1556,6 +1557,7 @@ struct LocallabParams {
|
|||||||
bool wavgradl;
|
bool wavgradl;
|
||||||
bool wavcompre;
|
bool wavcompre;
|
||||||
bool origlc;
|
bool origlc;
|
||||||
|
bool processwav;
|
||||||
Glib::ustring localcontMethod; // loc, wav
|
Glib::ustring localcontMethod; // loc, wav
|
||||||
Glib::ustring localedgMethod; // fir, sec, thr
|
Glib::ustring localedgMethod; // fir, sec, thr
|
||||||
Glib::ustring localneiMethod; // none, low, high
|
Glib::ustring localneiMethod; // none, low, high
|
||||||
@ -1693,11 +1695,11 @@ struct LocallabParams {
|
|||||||
double reparcie;
|
double reparcie;
|
||||||
int sensicie;
|
int sensicie;
|
||||||
bool Autograycie;
|
bool Autograycie;
|
||||||
bool forcejz;
|
bool sigybjz12;
|
||||||
bool forcebw;
|
|
||||||
bool qtoj;
|
bool qtoj;
|
||||||
bool jabcie;
|
bool jabcie;
|
||||||
bool comprcieauto;
|
bool comprcieauto;
|
||||||
|
bool normcie12;
|
||||||
bool normcie;
|
bool normcie;
|
||||||
bool gamutcie;
|
bool gamutcie;
|
||||||
bool bwcie;
|
bool bwcie;
|
||||||
@ -1706,10 +1708,17 @@ struct LocallabParams {
|
|||||||
bool satcie;
|
bool satcie;
|
||||||
bool logcieq;
|
bool logcieq;
|
||||||
bool smoothcie;
|
bool smoothcie;
|
||||||
|
bool smoothcietrc;
|
||||||
|
bool smoothcietrcrel;
|
||||||
bool smoothcieyb;
|
bool smoothcieyb;
|
||||||
bool smoothcielum;
|
bool smoothcielum;
|
||||||
|
bool smoothciehigh;
|
||||||
|
bool smoothcielnk;
|
||||||
bool logjz;
|
bool logjz;
|
||||||
|
bool sigjz12;
|
||||||
bool sigjz;
|
bool sigjz;
|
||||||
|
bool forcebw;
|
||||||
|
bool sigq12;
|
||||||
bool sigq;
|
bool sigq;
|
||||||
bool chjzcie;
|
bool chjzcie;
|
||||||
double sourceGraycie;
|
double sourceGraycie;
|
||||||
@ -1717,6 +1726,8 @@ struct LocallabParams {
|
|||||||
Glib::ustring sursourcie;
|
Glib::ustring sursourcie;
|
||||||
Glib::ustring modecie;
|
Glib::ustring modecie;
|
||||||
Glib::ustring modecam;
|
Glib::ustring modecam;
|
||||||
|
Glib::ustring modeQJ;
|
||||||
|
Glib::ustring bwevMethod12;
|
||||||
Glib::ustring bwevMethod;
|
Glib::ustring bwevMethod;
|
||||||
double saturlcie;
|
double saturlcie;
|
||||||
double rstprotectcie;
|
double rstprotectcie;
|
||||||
@ -1764,6 +1775,9 @@ struct LocallabParams {
|
|||||||
double blackEvjz;
|
double blackEvjz;
|
||||||
double whiteEvjz;
|
double whiteEvjz;
|
||||||
double targetjz;
|
double targetjz;
|
||||||
|
double sigmoidldacie12;
|
||||||
|
double sigmoidthcie12;
|
||||||
|
double sigmoidblcie12;
|
||||||
double sigmoidldacie;
|
double sigmoidldacie;
|
||||||
double sigmoidthcie;
|
double sigmoidthcie;
|
||||||
double sigmoidsenscie;
|
double sigmoidsenscie;
|
||||||
@ -1772,11 +1786,19 @@ struct LocallabParams {
|
|||||||
double strcielog;
|
double strcielog;
|
||||||
double comprcieth;
|
double comprcieth;
|
||||||
double gamjcie;
|
double gamjcie;
|
||||||
|
double smoothcieth;
|
||||||
double slopjcie;
|
double slopjcie;
|
||||||
|
double contsig;
|
||||||
|
double skewsig;
|
||||||
|
double whitsig;
|
||||||
double slopesmo;
|
double slopesmo;
|
||||||
|
double slopesmoq;
|
||||||
double slopesmor;
|
double slopesmor;
|
||||||
double slopesmog;
|
double slopesmog;
|
||||||
double slopesmob;
|
double slopesmob;
|
||||||
|
double kslopesmor;
|
||||||
|
double kslopesmog;
|
||||||
|
double kslopesmob;
|
||||||
int midtcie;
|
int midtcie;
|
||||||
double grexl;
|
double grexl;
|
||||||
double greyl;
|
double greyl;
|
||||||
@ -1804,6 +1826,9 @@ struct LocallabParams {
|
|||||||
Glib::ustring smoothciemet;
|
Glib::ustring smoothciemet;
|
||||||
Glib::ustring primMethod;
|
Glib::ustring primMethod;
|
||||||
Glib::ustring catMethod;
|
Glib::ustring catMethod;
|
||||||
|
double sigmoidldajzcie12;
|
||||||
|
double sigmoidthjzcie12;
|
||||||
|
double sigmoidbljzcie12;
|
||||||
double sigmoidldajzcie;
|
double sigmoidldajzcie;
|
||||||
double sigmoidthjzcie;
|
double sigmoidthjzcie;
|
||||||
double sigmoidbljzcie;
|
double sigmoidbljzcie;
|
||||||
@ -2148,9 +2173,15 @@ struct ColorManagementParams {
|
|||||||
Illuminant will;
|
Illuminant will;
|
||||||
Primaries wprim;
|
Primaries wprim;
|
||||||
Cat wcat;
|
Cat wcat;
|
||||||
double workingTRCGamma;
|
double wGamma;
|
||||||
double workingTRCSlope;
|
double wSlope;
|
||||||
double wmidtcie;
|
double wmidtcie;
|
||||||
|
double sigmatrc;
|
||||||
|
double offstrc;
|
||||||
|
double residtrc;
|
||||||
|
int pyrwavtrc;
|
||||||
|
std::vector<double> opacityCurveWLI;
|
||||||
|
|
||||||
bool wsmoothcie;
|
bool wsmoothcie;
|
||||||
double redx;
|
double redx;
|
||||||
double redy;
|
double redy;
|
||||||
@ -2164,6 +2195,7 @@ struct ColorManagementParams {
|
|||||||
double preser;
|
double preser;
|
||||||
bool fbw;
|
bool fbw;
|
||||||
bool trcExp;
|
bool trcExp;
|
||||||
|
bool wavExp;
|
||||||
bool gamut;
|
bool gamut;
|
||||||
double labgridcieALow;
|
double labgridcieALow;
|
||||||
double labgridcieBLow;
|
double labgridcieBLow;
|
||||||
@ -2188,6 +2220,11 @@ struct ColorManagementParams {
|
|||||||
|
|
||||||
bool operator ==(const ColorManagementParams& other) const;
|
bool operator ==(const ColorManagementParams& other) const;
|
||||||
bool operator !=(const ColorManagementParams& other) const;
|
bool operator !=(const ColorManagementParams& other) const;
|
||||||
|
|
||||||
|
void getCurves(
|
||||||
|
WavOpacityCurveWL& opacityCurveLUTWLI
|
||||||
|
) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,7 +74,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
0, // EvLDNEdgeTolerance: obsolete,
|
0, // EvLDNEdgeTolerance: obsolete,
|
||||||
0, // EvCDNEnabled:obsolete,
|
0, // EvCDNEnabled:obsolete,
|
||||||
0, // free entry
|
0, // free entry
|
||||||
RGBCURVE | M_AUTOEXP, // EvDCPToneCurve,
|
ALLNORAW, //RGBCURVE | M_AUTOEXP, // EvDCPToneCurve, 21 july 2024
|
||||||
ALLNORAW, // EvDCPIlluminant,
|
ALLNORAW, // EvDCPIlluminant,
|
||||||
LUMINANCECURVE, // EvSHEnabled,
|
LUMINANCECURVE, // EvSHEnabled,
|
||||||
LUMINANCECURVE, // EvSHHighlights,
|
LUMINANCECURVE, // EvSHHighlights,
|
||||||
@ -419,8 +419,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
DIRPYREQUALIZER, // EvWavgreenlow
|
DIRPYREQUALIZER, // EvWavgreenlow
|
||||||
DIRPYREQUALIZER, // EvWavbluelow
|
DIRPYREQUALIZER, // EvWavbluelow
|
||||||
DIRPYREQUALIZER, // EvWavNeutral
|
DIRPYREQUALIZER, // EvWavNeutral
|
||||||
RGBCURVE | M_AUTOEXP, // EvDCPApplyLookTable,
|
ALLNORAW, //RGBCURVE | M_AUTOEXP, // EvDCPApplyLookTable, 21 july 2024
|
||||||
RGBCURVE | M_AUTOEXP, // EvDCPApplyBaselineExposureOffset,
|
ALLNORAW, //RGBCURVE | M_AUTOEXP, // EvDCPApplyBaselineExposureOffset, 21 july 2024
|
||||||
ALLNORAW, // EvDCPApplyHueSatMap
|
ALLNORAW, // EvDCPApplyHueSatMap
|
||||||
DIRPYREQUALIZER, // EvWavenacont
|
DIRPYREQUALIZER, // EvWavenacont
|
||||||
DIRPYREQUALIZER, // EvWavenachrom
|
DIRPYREQUALIZER, // EvWavenachrom
|
||||||
@ -1105,9 +1105,9 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
AUTOEXP, //Evlocallabsensicie
|
AUTOEXP, //Evlocallabsensicie
|
||||||
AUTOEXP, //Evlocallabmodecie
|
AUTOEXP, //Evlocallabmodecie
|
||||||
AUTOEXP, //Evlocallabrstprotectcie
|
AUTOEXP, //Evlocallabrstprotectcie
|
||||||
AUTOEXP, //Evlocallabsigmoidldacie
|
AUTOEXP, //Evlocallabsigmoidldacie12
|
||||||
AUTOEXP, //Evlocallabsigmoidthcie
|
AUTOEXP, //Evlocallabsigmoidthcie12
|
||||||
AUTOEXP, //Evlocallabsigmoidblcie
|
AUTOEXP, //Evlocallabsigmoidblcie12
|
||||||
HDR, //Evlocallabcomprcieauto
|
HDR, //Evlocallabcomprcieauto
|
||||||
AUTOEXP, //Evlocallabhuecie
|
AUTOEXP, //Evlocallabhuecie
|
||||||
AUTOEXP, //Evlocallabjabcie
|
AUTOEXP, //Evlocallabjabcie
|
||||||
@ -1115,9 +1115,9 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
AUTOEXP, //Evlocallabcontjzcie
|
AUTOEXP, //Evlocallabcontjzcie
|
||||||
AUTOEXP, //Evlocallabchromjzcie
|
AUTOEXP, //Evlocallabchromjzcie
|
||||||
AUTOEXP, //Evlocallabhuejzcie
|
AUTOEXP, //Evlocallabhuejzcie
|
||||||
AUTOEXP, //Evlocallabsigmoidldajzcie
|
AUTOEXP, //Evlocallabsigmoidldajzcie12
|
||||||
AUTOEXP, //Evlocallabsigmoidthjzcie
|
AUTOEXP, //Evlocallabsigmoidthjzcie12
|
||||||
AUTOEXP, //Evlocallabsigmoidbljzcie
|
AUTOEXP, //Evlocallabsigmoidbljzcie12
|
||||||
AUTOEXP, //Evlocallabadapjzcie
|
AUTOEXP, //Evlocallabadapjzcie
|
||||||
AUTOEXP, //Evlocallabmodecam
|
AUTOEXP, //Evlocallabmodecam
|
||||||
AUTOEXP, //Evlocallabhljzcie
|
AUTOEXP, //Evlocallabhljzcie
|
||||||
@ -1139,7 +1139,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
AUTOEXP, //Evlocallabshapejz
|
AUTOEXP, //Evlocallabshapejz
|
||||||
AUTOEXP, //Evlocallabshapecz
|
AUTOEXP, //Evlocallabshapecz
|
||||||
AUTOEXP, //Evlocallabshapeczjz
|
AUTOEXP, //Evlocallabshapeczjz
|
||||||
AUTOEXP, //Evlocallabforcejz
|
// AUTOEXP, //Evlocallabforcejz
|
||||||
// AUTOEXP, //Evlocallablightlzcam
|
// AUTOEXP, //Evlocallablightlzcam
|
||||||
// AUTOEXP, //Evlocallablightqzcam
|
// AUTOEXP, //Evlocallablightqzcam
|
||||||
// AUTOEXP, //Evlocallabcontlzcam
|
// AUTOEXP, //Evlocallabcontlzcam
|
||||||
@ -1182,9 +1182,9 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
AUTOEXP, //EvlocallabwhiteEvjz
|
AUTOEXP, //EvlocallabwhiteEvjz
|
||||||
AUTOEXP, //Evlocallablogjz
|
AUTOEXP, //Evlocallablogjz
|
||||||
AUTOEXP, //Evlocallabtargetjz
|
AUTOEXP, //Evlocallabtargetjz
|
||||||
AUTOEXP, //Evlocallabforcebw
|
AUTOEXP, //Evlocallabsigybjz12
|
||||||
AUTOEXP, //Evlocallabsigjz
|
AUTOEXP, //Evlocallabsigjz12
|
||||||
AUTOEXP, //Evlocallabsigq
|
AUTOEXP, //Evlocallabsigq12
|
||||||
AUTOEXP //Evlocallablogcie
|
AUTOEXP //Evlocallablogcie
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -473,6 +473,8 @@ public:
|
|||||||
double meanxelc;
|
double meanxelc;
|
||||||
double meanyelc;
|
double meanyelc;
|
||||||
int primlc;
|
int primlc;
|
||||||
|
double slopeglc;
|
||||||
|
bool linkrgblc;
|
||||||
};
|
};
|
||||||
|
|
||||||
//select spot settings
|
//select spot settings
|
||||||
@ -529,6 +531,7 @@ public:
|
|||||||
virtual ~AutoprimListener() = default;
|
virtual ~AutoprimListener() = default;
|
||||||
virtual void primChanged(float rx, float ry, float bx, float by, float gx, float gy) = 0;
|
virtual void primChanged(float rx, float ry, float bx, float by, float gx, float gy) = 0;
|
||||||
virtual void iprimChanged(float r_x, float r_y, float b_x, float b_y, float g_x, float g_y, float w_x, float w_y, float m_x, float m_y) = 0;
|
virtual void iprimChanged(float r_x, float r_y, float b_x, float b_y, float g_x, float g_y, float w_x, float w_y, float m_x, float m_y) = 0;
|
||||||
|
virtual void wavlocChanged(double nlevel, double nmax, bool curveloc) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1518,6 +1518,17 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT
|
|||||||
const int GW = labView->W;
|
const int GW = labView->W;
|
||||||
const int GH = labView->H;
|
const int GH = labView->H;
|
||||||
std::unique_ptr<LabImage> provis;
|
std::unique_ptr<LabImage> provis;
|
||||||
|
if(params.icm.trcExp) {//local contrast
|
||||||
|
int level_hr = 7;
|
||||||
|
int maxlevpo = 9;
|
||||||
|
bool wavcurvecont = false;
|
||||||
|
WaveletParams WaveParams = params.wavelet;
|
||||||
|
ColorManagementParams Colparams = params.icm;
|
||||||
|
WavOpacityCurveWL icmOpacityCurveWL;
|
||||||
|
Colparams.getCurves(icmOpacityCurveWL);
|
||||||
|
ipf.complete_local_contrast(labView, labView, WaveParams, Colparams, icmOpacityCurveWL, 1, level_hr, maxlevpo, wavcurvecont);
|
||||||
|
}
|
||||||
|
|
||||||
const float pres = 0.01f * params.icm.preser;
|
const float pres = 0.01f * params.icm.preser;
|
||||||
if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
||||||
provis.reset(new LabImage(GW, GH));
|
provis.reset(new LabImage(GW, GH));
|
||||||
@ -1528,8 +1539,8 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT
|
|||||||
|
|
||||||
ipf.lab2rgb(*labView, *tmpImage1, params.icm.workingProfile);
|
ipf.lab2rgb(*labView, *tmpImage1, params.icm.workingProfile);
|
||||||
|
|
||||||
const float gamtone = params.icm.workingTRCGamma;
|
const float gamtone = params.icm.wGamma;
|
||||||
const float slotone = params.icm.workingTRCSlope;
|
const float slotone = params.icm.wSlope;
|
||||||
|
|
||||||
int illum = toUnderlying(params.icm.will);
|
int illum = toUnderlying(params.icm.will);
|
||||||
const int prim = toUnderlying(params.icm.wprim);
|
const int prim = toUnderlying(params.icm.wprim);
|
||||||
@ -1597,7 +1608,6 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT
|
|||||||
labView->b[x][y] = 0.f;
|
labView->b[x][y] = 0.f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.colorappearance.enabled) {
|
if (params.colorappearance.enabled) {
|
||||||
|
@ -1294,7 +1294,8 @@ private:
|
|||||||
float Lnresi = 0.f;
|
float Lnresi = 0.f;
|
||||||
float Lhighresi46 = 0.f;
|
float Lhighresi46 = 0.f;
|
||||||
float Lnresi46 = 0.f;
|
float Lnresi46 = 0.f;
|
||||||
|
float slopeg = 1.f;
|
||||||
|
bool linkrgb = true;
|
||||||
// No Locallab mask is shown in exported picture
|
// No Locallab mask is shown in exported picture
|
||||||
ipf.Lab_Local(2, sp, shbuffer, labView, labView, reservView.get(), savenormtmView.get(), savenormretiView.get(), lastorigView.get(), fw, fh, 0, 0, fw, fh, 1, locRETgainCurve, locRETtransCurve,
|
ipf.Lab_Local(2, sp, shbuffer, labView, labView, reservView.get(), savenormtmView.get(), savenormretiView.get(), lastorigView.get(), fw, fh, 0, 0, fw, fh, 1, locRETgainCurve, locRETtransCurve,
|
||||||
lllocalcurve, locallutili,
|
lllocalcurve, locallutili,
|
||||||
@ -1350,7 +1351,7 @@ private:
|
|||||||
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax,
|
||||||
meantme, stdtme, meanretie, stdretie, fab, maxicam, rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
meantme, stdtme, meanretie, stdretie, fab, maxicam, rdx, rdy, grx, gry, blx, bly, meanx, meany, meanxe, meanye, prim, ill, contsig, lightsig,
|
||||||
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46
|
highresi, nresi, highresi46, nresi46, Lhighresi, Lnresi, Lhighresi46, Lnresi46, slopeg, linkrgb
|
||||||
);
|
);
|
||||||
|
|
||||||
if (sp + 1u < params.locallab.spots.size()) {
|
if (sp + 1u < params.locallab.spots.size()) {
|
||||||
@ -1743,6 +1744,17 @@ private:
|
|||||||
const int GH = labView->H;
|
const int GH = labView->H;
|
||||||
std::unique_ptr<LabImage> provis;
|
std::unique_ptr<LabImage> provis;
|
||||||
const float pres = 0.01f * params.icm.preser;
|
const float pres = 0.01f * params.icm.preser;
|
||||||
|
if(params.icm.trcExp) {//local contrast
|
||||||
|
int level_hr = 7;
|
||||||
|
int maxlevpo = 9;
|
||||||
|
bool wavcurvecont = false;
|
||||||
|
WaveletParams WaveParams = params.wavelet;
|
||||||
|
ColorManagementParams Colparams = params.icm;
|
||||||
|
WavOpacityCurveWL icmOpacityCurveWL;
|
||||||
|
Colparams.getCurves(icmOpacityCurveWL);
|
||||||
|
ipf.complete_local_contrast(labView, labView, WaveParams, Colparams, icmOpacityCurveWL, 1, level_hr, maxlevpo, wavcurvecont);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) {
|
||||||
provis.reset(new LabImage(GW, GH));
|
provis.reset(new LabImage(GW, GH));
|
||||||
@ -1753,8 +1765,8 @@ private:
|
|||||||
|
|
||||||
ipf.lab2rgb(*labView, *tmpImage1, params.icm.workingProfile);
|
ipf.lab2rgb(*labView, *tmpImage1, params.icm.workingProfile);
|
||||||
|
|
||||||
const float gamtone = params.icm.workingTRCGamma;
|
const float gamtone = params.icm.wGamma;
|
||||||
const float slotone = params.icm.workingTRCSlope;
|
const float slotone = params.icm.wSlope;
|
||||||
|
|
||||||
int illum = toUnderlying(params.icm.will);
|
int illum = toUnderlying(params.icm.will);
|
||||||
const int prim = toUnderlying(params.icm.wprim);
|
const int prim = toUnderlying(params.icm.wprim);
|
||||||
@ -1827,7 +1839,6 @@ private:
|
|||||||
labView->b[x][y] = 0.f;
|
labView->b[x][y] = 0.f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Colorappearance and tone-mapping associated
|
//Colorappearance and tone-mapping associated
|
||||||
|
@ -1364,7 +1364,8 @@ void ColorAppearance::updateGUIToMode(int mode)
|
|||||||
if(mode ==0) {
|
if(mode ==0) {
|
||||||
alHBox->hide();
|
alHBox->hide();
|
||||||
wbmHBox->hide();
|
wbmHBox->hide();
|
||||||
curveEditorG->hide();
|
//curveEditorG->hide();
|
||||||
|
curveEditorG->show();
|
||||||
curveEditorG2->hide();
|
curveEditorG2->hide();
|
||||||
curveEditorG3->hide();
|
curveEditorG3->hide();
|
||||||
//greenout->hide();
|
//greenout->hide();
|
||||||
@ -1391,10 +1392,10 @@ void ColorAppearance::convertParamToNormal()
|
|||||||
const ColorAppearanceParams def_params;
|
const ColorAppearanceParams def_params;
|
||||||
disableListener();
|
disableListener();
|
||||||
algo->set_active (0);
|
algo->set_active (0);
|
||||||
shape->setCurve(def_params.curve);
|
//shape->setCurve(def_params.curve);
|
||||||
shape2->setCurve(def_params.curve2);
|
shape2->setCurve(def_params.curve2);
|
||||||
shape3->setCurve(def_params.curve3);
|
shape3->setCurve(def_params.curve3);
|
||||||
shape->reset();
|
//shape->reset();
|
||||||
shape2->reset();
|
shape2->reset();
|
||||||
shape3->reset();
|
shape3->reset();
|
||||||
wbmodel->set_active (0);
|
wbmodel->set_active (0);
|
||||||
|
@ -463,6 +463,7 @@ ControlSpotPanel::ControlSpotPanel():
|
|||||||
wavMethod_->append(M("TP_WAVELET_DAUB6"));
|
wavMethod_->append(M("TP_WAVELET_DAUB6"));
|
||||||
wavMethod_->append(M("TP_WAVELET_DAUB10"));
|
wavMethod_->append(M("TP_WAVELET_DAUB10"));
|
||||||
wavMethod_->append(M("TP_WAVELET_DAUB14"));
|
wavMethod_->append(M("TP_WAVELET_DAUB14"));
|
||||||
|
wavMethod_->append(M("TP_WAVELET_DAUB20"));
|
||||||
wavMethod_->set_active(1);
|
wavMethod_->set_active(1);
|
||||||
wavMethodconn_ = wavMethod_->signal_changed().connect(
|
wavMethodconn_ = wavMethod_->signal_changed().connect(
|
||||||
sigc::mem_fun(
|
sigc::mem_fun(
|
||||||
|
@ -26,6 +26,10 @@
|
|||||||
#include "options.h"
|
#include "options.h"
|
||||||
#include "pathutils.h"
|
#include "pathutils.h"
|
||||||
#include "rtimage.h"
|
#include "rtimage.h"
|
||||||
|
#include "curveeditor.h"
|
||||||
|
#include "curveeditorgroup.h"
|
||||||
|
#include "editcallbacks.h"
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "rtengine/dcp.h"
|
#include "rtengine/dcp.h"
|
||||||
#include "rtengine/iccstore.h"
|
#include "rtengine/iccstore.h"
|
||||||
@ -39,6 +43,7 @@ const Glib::ustring ICMPanel::TOOL_NAME = "icm";
|
|||||||
|
|
||||||
ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iunchanged(nullptr), icmplistener(nullptr)
|
ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iunchanged(nullptr), icmplistener(nullptr)
|
||||||
{
|
{
|
||||||
|
CurveListener::setMulti(true);
|
||||||
auto m = ProcEventMapper::getInstance();
|
auto m = ProcEventMapper::getInstance();
|
||||||
EvICMprimariMethod = m->newEvent(GAMMA, "HISTORY_MSG_ICM_OUTPUT_PRIMARIES");
|
EvICMprimariMethod = m->newEvent(GAMMA, "HISTORY_MSG_ICM_OUTPUT_PRIMARIES");
|
||||||
EvICMprofileMethod = m->newEvent(GAMMA, "HISTORY_MSG_ICM_OUTPUT_TYPE");
|
EvICMprofileMethod = m->newEvent(GAMMA, "HISTORY_MSG_ICM_OUTPUT_TYPE");
|
||||||
@ -72,6 +77,12 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
EvICMshifty = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_SHIFTY");
|
EvICMshifty = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_SHIFTY");
|
||||||
EvICMwmidtcie = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_MIDTCIE");
|
EvICMwmidtcie = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_MIDTCIE");
|
||||||
EvICMwsmoothcie = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_SMOOTHCIE");
|
EvICMwsmoothcie = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_SMOOTHCIE");
|
||||||
|
EvICMsigmatrc = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_SIGMATRC");
|
||||||
|
EvICMoffstrc = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_OFFSTRC");
|
||||||
|
EvICMopacityWLI = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_OPACITYW");
|
||||||
|
EvICMpyrwavtrc = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_PYRWAVTRC");
|
||||||
|
EvICMresidtrc = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_RESIDTRC");
|
||||||
|
EvICMwavExp = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_WAVEXP");
|
||||||
|
|
||||||
isBatchMode = lastToneCurve = lastApplyLookTable = lastApplyBaselineExposureOffset = lastApplyHueSatMap = false;
|
isBatchMode = lastToneCurve = lastApplyLookTable = lastApplyBaselineExposureOffset = lastApplyHueSatMap = false;
|
||||||
|
|
||||||
@ -187,7 +198,7 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
iVBox->pack_start(*saveRef, Gtk::PACK_SHRINK);
|
iVBox->pack_start(*saveRef, Gtk::PACK_SHRINK);
|
||||||
|
|
||||||
iFrame->add(*iVBox);
|
iFrame->add(*iVBox);
|
||||||
pack_start(*iFrame, Gtk::PACK_EXPAND_WIDGET);
|
// pack_start(*iFrame, Gtk::PACK_EXPAND_WIDGET);
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------- Working profile
|
// ---------------------------- Working profile
|
||||||
@ -211,18 +222,27 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
|
|
||||||
wFrame->add(*wProfVBox);
|
wFrame->add(*wProfVBox);
|
||||||
|
|
||||||
//-----------------gamma TRC working
|
//-----------------gamma TRC working - Abstract Profile
|
||||||
// Gtk::Frame *trcFrame = Gtk::manage(new Gtk::Frame(M("TP_ICM_TRCFRAME")));
|
Gtk::Label *trcLabel = Gtk::manage(new Gtk::Label());
|
||||||
trcExp = Gtk::manage(new MyExpander(true, M("TP_ICM_TRCFRAME")));
|
setExpandAlignProperties(trcLabel, true, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER);
|
||||||
|
trcLabel->set_markup(escapeHtmlChars(M("TP_ICM_TRCFRAME")));
|
||||||
|
trcLabel->set_tooltip_text(M("TP_ICM_TRCFRAME_TOOLTIP"));
|
||||||
|
Gtk::Box *trcLabelBox = Gtk::manage(new Gtk::Box());
|
||||||
|
trcLabelBox->add(*trcLabel);
|
||||||
|
trcExp = Gtk::manage(new MyExpander(true, trcLabelBox));//expander Abstract Profile
|
||||||
setExpandAlignProperties(trcExp, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
setExpandAlignProperties(trcExp, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
// trcFrame->set_label_align(0.025, 0.5);
|
|
||||||
Gtk::Box *trcProfVBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL));
|
Gtk::Box *trcProfVBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL));
|
||||||
trcExp->set_tooltip_text(M("TP_ICM_TRCFRAME_TOOLTIP"));
|
trcExp->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &ICMPanel::foldAllButMe), trcExp, getExpander()));
|
||||||
trcExp->signal_button_release_event().connect_notify ( sigc::bind ( sigc::mem_fun (this, &ICMPanel::foldAllButMe), trcExp) );
|
|
||||||
trcExpconn = trcExp->signal_enabled_toggled().connect(sigc::mem_fun(*this, &ICMPanel::trcExpChanged));
|
trcExpconn = trcExp->signal_enabled_toggled().connect(sigc::mem_fun(*this, &ICMPanel::trcExpChanged));
|
||||||
|
Gtk::Box *trcPrimVBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL));
|
||||||
|
// Gtk::Box *trcWavVBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL));
|
||||||
|
ToolParamBlock* const trcWavFBox = Gtk::manage(new ToolParamBlock());
|
||||||
|
|
||||||
|
Gtk::Box *trcWav2VBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL));
|
||||||
|
wavlocLabels = Gtk::manage(new Gtk::Label("---", Gtk::ALIGN_CENTER));
|
||||||
wTRCBox = Gtk::manage(new Gtk::Box());
|
wTRCBox = Gtk::manage(new Gtk::Box());
|
||||||
|
|
||||||
|
//TRC gamma and slope
|
||||||
wTRC = Gtk::manage(new MyComboBoxText());
|
wTRC = Gtk::manage(new MyComboBoxText());
|
||||||
wTRCBox->pack_start(*wTRC, Gtk::PACK_EXPAND_WIDGET);
|
wTRCBox->pack_start(*wTRC, Gtk::PACK_EXPAND_WIDGET);
|
||||||
trcProfVBox->pack_start(*wTRCBox, Gtk::PACK_EXPAND_WIDGET);
|
trcProfVBox->pack_start(*wTRCBox, Gtk::PACK_EXPAND_WIDGET);
|
||||||
@ -240,13 +260,32 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
wFrame->set_tooltip_text(M("TP_ICM_WORKING_TRC_TOOLTIP"));
|
wFrame->set_tooltip_text(M("TP_ICM_WORKING_TRC_TOOLTIP"));
|
||||||
|
|
||||||
|
|
||||||
wGamma = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_GAMMA"), 0.40, 15.0, 0.001, 2.222));
|
|
||||||
wSlope = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_SLOPE"), 0., 300., 0.01, 4.5));
|
wGamma = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_GAMMA"), 0.40, 20.0, 0.001, 2.4));//default sRGB
|
||||||
|
wSlope = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_SLOPE"), 0., 300., 0.01, 12.92));//defautl sRGB
|
||||||
wmidtcie = Gtk::manage(new Adjuster(M("TP_LOCALLAB_MIDTCIE"), -100., 100., 1., 0.));
|
wmidtcie = Gtk::manage(new Adjuster(M("TP_LOCALLAB_MIDTCIE"), -100., 100., 1., 0.));
|
||||||
wsmoothcie = Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SMOOTHCIE")));
|
wsmoothcie = Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SMOOTHCIE")));//highlights
|
||||||
trcProfVBox->pack_start(*wGamma, Gtk::PACK_SHRINK);
|
trcProfVBox->pack_start(*wGamma, Gtk::PACK_SHRINK);
|
||||||
wGamma->show();
|
wGamma->show();
|
||||||
|
|
||||||
|
//wavelets variables
|
||||||
|
sigmatrc = Gtk::manage(new Adjuster(M("TP_WAVELET_SIGMAFIN"), 0.025, 2.5, 0.01, 1.));
|
||||||
|
offstrc = Gtk::manage(new Adjuster(M("TP_WAVELET_OFFSFIN"), 0.33, 1.66, 0.01, 1.));
|
||||||
|
pyrwavtrc = Gtk::manage(new Adjuster(M("TP_WAVELET_PYRWAVTRC"), 1, 5, 1, 2));
|
||||||
|
residtrc = Gtk::manage(new Adjuster(M("TP_WAVELET_RESIDTRC"), -100., 100., 1., 0.));
|
||||||
|
opacityCurveEditorWLI = std::unique_ptr<CurveEditorGroup>(new CurveEditorGroup(options.lastIcmCurvesDir, M("TP_ICM_OPACITYWLI")));
|
||||||
|
opacityCurveEditorWLI->setCurveListener(this);
|
||||||
|
const ColorManagementParams default_params;
|
||||||
|
|
||||||
|
opacityShapeWLI = static_cast<FlatCurveEditor*>(opacityCurveEditorWLI->addCurve(CT_Flat, "", nullptr, false, false));
|
||||||
|
opacityShapeWLI->setIdentityValue(0.);
|
||||||
|
opacityShapeWLI->setResetCurve(FlatCurveType(default_params.opacityCurveWLI.at(0)), default_params.opacityCurveWLI);
|
||||||
|
opacityShapeWLI->setTooltip(M("TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP"));
|
||||||
|
opacityCurveEditorWLI->setTooltip(M("TP_WAVELET_PYRWAVTRC_CURVE_TOOLTIP"));
|
||||||
|
// This will add the reset button at the end of the curveType buttons
|
||||||
|
opacityCurveEditorWLI->curveListComplete();
|
||||||
|
opacityCurveEditorWLI->show();
|
||||||
|
|
||||||
trcProfVBox->pack_start(*wSlope, Gtk::PACK_SHRINK);
|
trcProfVBox->pack_start(*wSlope, Gtk::PACK_SHRINK);
|
||||||
wSlope->show();
|
wSlope->show();
|
||||||
trcProfVBox->pack_start(*wmidtcie, Gtk::PACK_SHRINK);
|
trcProfVBox->pack_start(*wmidtcie, Gtk::PACK_SHRINK);
|
||||||
@ -256,13 +295,40 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
wsmoothcieconn = wsmoothcie->signal_toggled().connect(sigc::mem_fun(*this, &ICMPanel::wsmoothcieChanged));
|
wsmoothcieconn = wsmoothcie->signal_toggled().connect(sigc::mem_fun(*this, &ICMPanel::wsmoothcieChanged));
|
||||||
wsmoothcie->set_active(false);
|
wsmoothcie->set_active(false);
|
||||||
|
|
||||||
|
fbw = Gtk::manage(new Gtk::CheckButton((M("TP_ICM_FBW"))));
|
||||||
|
fbw->set_active(true);
|
||||||
|
trcProfVBox->pack_start(*fbw, Gtk::PACK_SHRINK);
|
||||||
|
|
||||||
|
wavExp = Gtk::manage(new MyExpander(true, M("TP_ICM_WAVFRAME")));//expander Contrast Enhancement
|
||||||
|
setExpandAlignProperties(wavExp, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
|
wavExp->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &ICMPanel::foldAllButMe), wavExp, trcExp));
|
||||||
|
wavExpconn = wavExp->signal_enabled_toggled().connect(sigc::mem_fun(*this, &ICMPanel::wavExpChanged));
|
||||||
|
|
||||||
|
wav2Exp = Gtk::manage(new MyExpander(false, M("TP_ICM_WAVREFI")));//expander Refinement wavelet
|
||||||
|
setExpandAlignProperties(wav2Exp, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
|
wav2Exp->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &ICMPanel::foldAllButMe), wav2Exp, wavExp));
|
||||||
|
trcWavFBox->pack_start(*pyrwavtrc, Gtk::PACK_SHRINK);
|
||||||
|
trcWavFBox->pack_start(*wavlocLabels, Gtk::PACK_SHRINK);
|
||||||
|
pyrwavtrc->set_tooltip_text(M("TP_WAVELET_PYRWAVTRC_TOOLTIP"));
|
||||||
|
trcWavFBox->pack_start(*opacityCurveEditorWLI, Gtk::PACK_SHRINK, 2);
|
||||||
|
trcWav2VBox->pack_start(*sigmatrc, Gtk::PACK_SHRINK);
|
||||||
|
trcWav2VBox->pack_start(*offstrc, Gtk::PACK_SHRINK);
|
||||||
|
trcWav2VBox->pack_start(*residtrc, Gtk::PACK_SHRINK);
|
||||||
|
sigmatrc->set_tooltip_text(M("TP_WAVELET_PYRWAVTRC_SIGMA_TOOLTIP"));
|
||||||
|
residtrc->set_tooltip_text(M("TP_WAVELET_PYRWAVTRC_RESID_TOOLTIP"));
|
||||||
|
offstrc->set_tooltip_text(M("TP_WAVELET_OFFSET_TOOLTIP"));
|
||||||
|
primExp = Gtk::manage(new MyExpander(false, M("TP_ICM_PRIMFRAME")));
|
||||||
|
setExpandAlignProperties(primExp, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
|
primExp->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &ICMPanel::foldAllButMe), primExp, trcExp));
|
||||||
|
|
||||||
|
//Illuminants and Primaries
|
||||||
willuBox = Gtk::manage(new Gtk::Box());
|
willuBox = Gtk::manage(new Gtk::Box());
|
||||||
willulab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_ILLU") + ":"));
|
willulab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_ILLU") + ":"));
|
||||||
|
|
||||||
willuBox->pack_start(*willulab, Gtk::PACK_SHRINK);
|
willuBox->pack_start(*willulab, Gtk::PACK_SHRINK);
|
||||||
will = Gtk::manage(new MyComboBoxText());
|
will = Gtk::manage(new MyComboBoxText());
|
||||||
willuBox->pack_start(*will, Gtk::PACK_EXPAND_WIDGET);
|
willuBox->pack_start(*will, Gtk::PACK_EXPAND_WIDGET);
|
||||||
trcProfVBox->pack_start(*willuBox, Gtk::PACK_EXPAND_WIDGET);
|
trcPrimVBox->pack_start(*willuBox, Gtk::PACK_EXPAND_WIDGET);
|
||||||
will->append(M("TP_ICM_WORKING_ILLU_NONE"));
|
will->append(M("TP_ICM_WORKING_ILLU_NONE"));
|
||||||
will->append(M("TP_ICM_WORKING_ILLU_D41"));
|
will->append(M("TP_ICM_WORKING_ILLU_D41"));
|
||||||
will->append(M("TP_ICM_WORKING_ILLU_D50"));
|
will->append(M("TP_ICM_WORKING_ILLU_D50"));
|
||||||
@ -285,13 +351,13 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
wprimBox->pack_start(*wprimlab, Gtk::PACK_SHRINK);
|
wprimBox->pack_start(*wprimlab, Gtk::PACK_SHRINK);
|
||||||
wprim = Gtk::manage(new MyComboBoxText());
|
wprim = Gtk::manage(new MyComboBoxText());
|
||||||
wprimBox->pack_start(*wprim, Gtk::PACK_EXPAND_WIDGET);
|
wprimBox->pack_start(*wprim, Gtk::PACK_EXPAND_WIDGET);
|
||||||
fbw = Gtk::manage(new Gtk::CheckButton((M("TP_ICM_FBW"))));
|
// fbw = Gtk::manage(new Gtk::CheckButton((M("TP_ICM_FBW"))));
|
||||||
fbw->set_active(true);
|
// fbw->set_active(true);
|
||||||
gamut = Gtk::manage(new Gtk::CheckButton((M("TP_ICM_GAMUT"))));
|
gamut = Gtk::manage(new Gtk::CheckButton((M("TP_ICM_GAMUT"))));
|
||||||
gamut->set_active(true);
|
gamut->set_active(true);
|
||||||
|
|
||||||
trcProfVBox->pack_start(*wprimBox, Gtk::PACK_EXPAND_WIDGET);
|
trcPrimVBox->pack_start(*wprimBox, Gtk::PACK_EXPAND_WIDGET);
|
||||||
trcProfVBox->pack_start(*fbw, Gtk::PACK_EXPAND_WIDGET);
|
// trcPrimVBox->pack_start(*fbw, Gtk::PACK_EXPAND_WIDGET);
|
||||||
// trcProfVBox->pack_start(*gamut, Gtk::PACK_EXPAND_WIDGET);
|
// trcProfVBox->pack_start(*gamut, Gtk::PACK_EXPAND_WIDGET);
|
||||||
|
|
||||||
neutral = Gtk::manage (new Gtk::Button (M ("TP_ICM_NEUTRAL")));
|
neutral = Gtk::manage (new Gtk::Button (M ("TP_ICM_NEUTRAL")));
|
||||||
@ -302,7 +368,7 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
neutralconn = neutral->signal_pressed().connect ( sigc::mem_fun (*this, &ICMPanel::neutral_pressed) );
|
neutralconn = neutral->signal_pressed().connect ( sigc::mem_fun (*this, &ICMPanel::neutral_pressed) );
|
||||||
neutral->show();
|
neutral->show();
|
||||||
|
|
||||||
trcProfVBox->pack_start (*neutral);
|
trcPrimVBox->pack_start (*neutral);
|
||||||
|
|
||||||
|
|
||||||
wprim->append(M("TP_ICM_WORKING_PRIM_NONE"));
|
wprim->append(M("TP_ICM_WORKING_PRIM_NONE"));
|
||||||
@ -324,7 +390,7 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
|
|
||||||
wprim->set_tooltip_text(M("TP_ICM_PRIMILLUM_TOOLTIP"));
|
wprim->set_tooltip_text(M("TP_ICM_PRIMILLUM_TOOLTIP"));
|
||||||
|
|
||||||
|
//Primaries as sliders
|
||||||
redx = Gtk::manage(new Adjuster(M("TC_PRIM_REDX"), 0.41, 1.0, 0.0001, 0.7347));
|
redx = Gtk::manage(new Adjuster(M("TC_PRIM_REDX"), 0.41, 1.0, 0.0001, 0.7347));
|
||||||
setExpandAlignProperties(redx, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER);
|
setExpandAlignProperties(redx, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER);
|
||||||
redy = Gtk::manage(new Adjuster(M("TC_PRIM_REDY"), 0.0, 0.70, 0.0001, 0.2653));
|
redy = Gtk::manage(new Adjuster(M("TC_PRIM_REDY"), 0.0, 0.70, 0.0001, 0.2653));
|
||||||
@ -380,10 +446,12 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
redVBox->pack_start(*labgridcie, Gtk::PACK_EXPAND_WIDGET, 4);
|
redVBox->pack_start(*labgridcie, Gtk::PACK_EXPAND_WIDGET, 4);
|
||||||
redVBox->pack_start(*gamut, Gtk::PACK_EXPAND_WIDGET);
|
redVBox->pack_start(*gamut, Gtk::PACK_EXPAND_WIDGET);
|
||||||
|
|
||||||
|
//Shift and refine color in CIE xy
|
||||||
refi = Gtk::manage(new Adjuster(M("TC_PRIM_REFI"), -0.5, 1., 0.0001, 0.));
|
refi = Gtk::manage(new Adjuster(M("TC_PRIM_REFI"), -0.5, 1., 0.0001, 0.));
|
||||||
shiftx = Gtk::manage(new Adjuster(M("TC_LOCALLAB_PRIM_SHIFTX"), -0.2, 0.2, 0.0001, 0.));
|
shiftx = Gtk::manage(new Adjuster(M("TC_LOCALLAB_PRIM_SHIFTX"), -0.2, 0.2, 0.0001, 0.));
|
||||||
shifty = Gtk::manage(new Adjuster(M("TC_LOCALLAB_PRIM_SHIFTY"), -0.2, 0.2, 0.0001, 0.));
|
shifty = Gtk::manage(new Adjuster(M("TC_LOCALLAB_PRIM_SHIFTY"), -0.2, 0.2, 0.0001, 0.));
|
||||||
|
|
||||||
|
//Chromatic adaptation
|
||||||
wcatBox = Gtk::manage(new Gtk::Box());
|
wcatBox = Gtk::manage(new Gtk::Box());
|
||||||
wcatlab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_CAT") + ":"));
|
wcatlab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_CAT") + ":"));
|
||||||
wcatBox->pack_start(*wcatlab, Gtk::PACK_SHRINK);
|
wcatBox->pack_start(*wcatlab, Gtk::PACK_SHRINK);
|
||||||
@ -420,11 +488,24 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
refi->setAdjusterListener(this);
|
refi->setAdjusterListener(this);
|
||||||
shiftx->setAdjusterListener(this);
|
shiftx->setAdjusterListener(this);
|
||||||
shifty->setAdjusterListener(this);
|
shifty->setAdjusterListener(this);
|
||||||
|
sigmatrc->setAdjusterListener(this);
|
||||||
|
offstrc->setAdjusterListener(this);
|
||||||
|
pyrwavtrc->setAdjusterListener(this);
|
||||||
|
residtrc->setAdjusterListener(this);
|
||||||
|
|
||||||
wGamma->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay));
|
//wGamma->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay));
|
||||||
|
|
||||||
wSlope->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay));
|
// wSlope->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay));
|
||||||
wmidtcie->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay));
|
wmidtcie->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay));
|
||||||
|
wav2Exp->add(*trcWav2VBox, false);
|
||||||
|
wav2Exp->setLevel (2);
|
||||||
|
trcWavFBox->pack_start(*wav2Exp, false, false);
|
||||||
|
|
||||||
|
wavExp->add(*trcWavFBox, false);
|
||||||
|
wavExp->setLevel (2);
|
||||||
|
trcProfVBox->pack_start(*wavExp, false, false);
|
||||||
|
|
||||||
|
trcProfVBox->pack_start(*primExp, false, false);
|
||||||
|
|
||||||
// Rendering intent
|
// Rendering intent
|
||||||
riaHBox = Gtk::manage(new Gtk::Box());
|
riaHBox = Gtk::manage(new Gtk::Box());
|
||||||
@ -438,15 +519,20 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
aRendIntent->setSelected(1);
|
aRendIntent->setSelected(1);
|
||||||
aRendIntent->show();
|
aRendIntent->show();
|
||||||
riaHBox->pack_start(*aRendIntent->buttonGroup, Gtk::PACK_EXPAND_PADDING);
|
riaHBox->pack_start(*aRendIntent->buttonGroup, Gtk::PACK_EXPAND_PADDING);
|
||||||
|
trcPrimVBox->pack_start(*redFrame, Gtk::PACK_EXPAND_WIDGET);
|
||||||
|
|
||||||
|
primExp->add(*trcPrimVBox, false);
|
||||||
|
primExp->setLevel (2);
|
||||||
|
|
||||||
pack_start(*wFrame, Gtk::PACK_EXPAND_WIDGET);
|
|
||||||
trcProfVBox->pack_start(*redFrame, Gtk::PACK_EXPAND_WIDGET);
|
|
||||||
trcExp->add(*trcProfVBox, false);
|
trcExp->add(*trcProfVBox, false);
|
||||||
|
trcExp->show_all();
|
||||||
|
trcExp->set_expanded(false);
|
||||||
|
trcExp->set_no_show_all();
|
||||||
trcExp->setLevel (2);
|
trcExp->setLevel (2);
|
||||||
pack_start(*trcExp, Gtk::PACK_EXPAND_WIDGET);
|
pack_start(*trcExp, Gtk::PACK_EXPAND_WIDGET);
|
||||||
trcExp->set_expanded(false);
|
|
||||||
|
|
||||||
|
pack_start(*wFrame, Gtk::PACK_EXPAND_WIDGET);
|
||||||
|
pack_start(*iFrame, Gtk::PACK_EXPAND_WIDGET);
|
||||||
|
|
||||||
// ---------------------------- Output profile
|
// ---------------------------- Output profile
|
||||||
|
|
||||||
@ -554,13 +640,47 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, TOOL_NAME, M("TP_ICM_LABEL")), iu
|
|||||||
show_all();
|
show_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ICMPanel::foldAllButMe (GdkEventButton* event, MyExpander *expander)
|
void ICMPanel::foldAllButMe(GdkEventButton *event, MyExpander *expander, const MyExpander *parent)
|
||||||
{
|
{
|
||||||
if (event->button == 3) {
|
if (event->button == 3) {
|
||||||
trcExp->set_expanded (trcExp == expander);
|
const auto set_expanded = [expander](MyExpander *expander_to_modify) {
|
||||||
|
expander_to_modify->set_expanded(expander_to_modify == expander);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (parent == getExpander()) {
|
||||||
|
set_expanded(trcExp);
|
||||||
|
} else if (parent == trcExp) {
|
||||||
|
// Abstract Profile sub-expanders.
|
||||||
|
set_expanded(wavExp);
|
||||||
|
set_expanded(primExp);
|
||||||
|
} else if (parent == wavExp) {
|
||||||
|
// Contrast Enhancement sub-expanders.
|
||||||
|
set_expanded(wav2Exp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ICMPanel::wavlocChanged(double nlevel, double nmax, bool curveloc)
|
||||||
|
{
|
||||||
|
if (!batchMode) {
|
||||||
|
idle_register.add(
|
||||||
|
[this, nlevel, nmax, curveloc]() -> bool {
|
||||||
|
if(nlevel != nmax && curveloc) {
|
||||||
|
wavlocLabels->show();
|
||||||
|
wavlocLabels->set_text(
|
||||||
|
Glib::ustring::compose(
|
||||||
|
M("TP_WAVELET_LEVLOCLABEL"),
|
||||||
|
Glib::ustring::format(std::fixed, std::setprecision(0), nlevel)//not use but keep in case of
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
wavlocLabels->hide();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ICMPanel::neutral_pressed ()
|
void ICMPanel::neutral_pressed ()
|
||||||
{ //find working profile and set the same destination proile
|
{ //find working profile and set the same destination proile
|
||||||
@ -590,9 +710,15 @@ void ICMPanel::neutral_pressed ()
|
|||||||
wprim->set_active(toUnderlying(ColorManagementParams::Primaries::BEST_RGB));
|
wprim->set_active(toUnderlying(ColorManagementParams::Primaries::BEST_RGB));
|
||||||
}
|
}
|
||||||
const ColorManagementParams defPar;
|
const ColorManagementParams defPar;
|
||||||
wGamma->setValue(defPar.workingTRCGamma);//2.4
|
// wGamma->setValue(defPar.workingTRCGamma);//2.4
|
||||||
wSlope->setValue(defPar.workingTRCSlope);//12.92
|
// wSlope->setValue(defPar.workingTRCSlope);//12.92
|
||||||
|
wGamma->setValue(defPar.wGamma);//2.4
|
||||||
|
wSlope->setValue(defPar.wSlope);//12.92
|
||||||
wmidtcie->setValue(defPar.wmidtcie);
|
wmidtcie->setValue(defPar.wmidtcie);
|
||||||
|
sigmatrc->setValue(defPar.sigmatrc);
|
||||||
|
offstrc->setValue(defPar.offstrc);
|
||||||
|
residtrc->setValue(defPar.residtrc);
|
||||||
|
pyrwavtrc->setValue(defPar.pyrwavtrc);
|
||||||
preser->setValue(defPar.preser);
|
preser->setValue(defPar.preser);
|
||||||
fbw->set_active(defPar.fbw);
|
fbw->set_active(defPar.fbw);
|
||||||
gamut->set_active(defPar.gamut);
|
gamut->set_active(defPar.gamut);
|
||||||
@ -645,6 +771,7 @@ void ICMPanel::updateRenderingIntent(const Glib::ustring &profile)
|
|||||||
ICMPanel::~ICMPanel()
|
ICMPanel::~ICMPanel()
|
||||||
{
|
{
|
||||||
idle_register.destroy();
|
idle_register.destroy();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ICMPanel::primChanged (float rx, float ry, float bx, float by, float gx, float gy)
|
void ICMPanel::primChanged (float rx, float ry, float bx, float by, float gx, float gy)
|
||||||
@ -711,7 +838,8 @@ void ICMPanel::iprimChanged (float r_x, float r_y, float b_x, float b_y, float g
|
|||||||
|
|
||||||
void ICMPanel::setEditProvider(EditDataProvider *provider)
|
void ICMPanel::setEditProvider(EditDataProvider *provider)
|
||||||
{
|
{
|
||||||
//in case of
|
opacityShapeWLI->setEditProvider(provider);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ICMPanel::setListener(ToolPanelListener *tpl)
|
void ICMPanel::setListener(ToolPanelListener *tpl)
|
||||||
@ -872,8 +1000,7 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
ConnectionBlocker wprimconn_(wprimconn);
|
ConnectionBlocker wprimconn_(wprimconn);
|
||||||
ConnectionBlocker wcatconn_(wcatconn);
|
ConnectionBlocker wcatconn_(wcatconn);
|
||||||
ConnectionBlocker trcExpconn_(trcExpconn);
|
ConnectionBlocker trcExpconn_(trcExpconn);
|
||||||
|
ConnectionBlocker wavExpconn_(wavExpconn);
|
||||||
trcExp->set_expanded(false);
|
|
||||||
|
|
||||||
if (pp->icm.inputProfile.substr(0, 5) != "file:" && !ipDialog->get_filename().empty()) {
|
if (pp->icm.inputProfile.substr(0, 5) != "file:" && !ipDialog->get_filename().empty()) {
|
||||||
ipDialog->set_filename(pp->icm.inputProfile);
|
ipDialog->set_filename(pp->icm.inputProfile);
|
||||||
@ -935,10 +1062,12 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
|
|
||||||
oRendIntent->setSelected(pp->icm.outputIntent);
|
oRendIntent->setSelected(pp->icm.outputIntent);
|
||||||
aRendIntent->setSelected(pp->icm.aRendIntent);
|
aRendIntent->setSelected(pp->icm.aRendIntent);
|
||||||
|
opacityShapeWLI->setCurve(pp->icm.opacityCurveWLI);
|
||||||
|
|
||||||
obpc->set_active(pp->icm.outputBPC);
|
obpc->set_active(pp->icm.outputBPC);
|
||||||
fbw->set_active(pp->icm.fbw);
|
fbw->set_active(pp->icm.fbw);
|
||||||
trcExp->setEnabled(pp->icm.trcExp);
|
trcExp->setEnabled(pp->icm.trcExp);
|
||||||
|
wavExp->setEnabled(pp->icm.wavExp);
|
||||||
gamut->set_active(pp->icm.gamut);
|
gamut->set_active(pp->icm.gamut);
|
||||||
wsmoothcie->set_active(pp->icm.wsmoothcie);
|
wsmoothcie->set_active(pp->icm.wsmoothcie);
|
||||||
ckbToneCurve->set_active(pp->icm.toneCurve);
|
ckbToneCurve->set_active(pp->icm.toneCurve);
|
||||||
@ -950,9 +1079,15 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
ckbApplyHueSatMap->set_active(pp->icm.applyHueSatMap);
|
ckbApplyHueSatMap->set_active(pp->icm.applyHueSatMap);
|
||||||
lastApplyHueSatMap = pp->icm.applyHueSatMap;
|
lastApplyHueSatMap = pp->icm.applyHueSatMap;
|
||||||
|
|
||||||
wGamma->setValue(pp->icm.workingTRCGamma);
|
// wGamma->setValue(pp->icm.workingTRCGamma);
|
||||||
wSlope->setValue(pp->icm.workingTRCSlope);
|
// wSlope->setValue(pp->icm.workingTRCSlope);
|
||||||
|
wGamma->setValue(pp->icm.wGamma);
|
||||||
|
wSlope->setValue(pp->icm.wSlope);
|
||||||
wmidtcie->setValue(pp->icm.wmidtcie);
|
wmidtcie->setValue(pp->icm.wmidtcie);
|
||||||
|
sigmatrc->setValue(pp->icm.sigmatrc);
|
||||||
|
offstrc->setValue(pp->icm.offstrc);
|
||||||
|
residtrc->setValue(pp->icm.residtrc);
|
||||||
|
pyrwavtrc->setValue(pp->icm.pyrwavtrc);
|
||||||
redx->setValue(pp->icm.redx);
|
redx->setValue(pp->icm.redx);
|
||||||
redy->setValue(pp->icm.redy);
|
redy->setValue(pp->icm.redy);
|
||||||
grex->setValue(pp->icm.grex);
|
grex->setValue(pp->icm.grex);
|
||||||
@ -970,12 +1105,14 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
obpc->set_inconsistent(!pedited->icm.outputBPC);
|
obpc->set_inconsistent(!pedited->icm.outputBPC);
|
||||||
fbw->set_inconsistent(!pedited->icm.fbw);
|
fbw->set_inconsistent(!pedited->icm.fbw);
|
||||||
trcExp->set_inconsistent(!pedited->icm.trcExp);
|
trcExp->set_inconsistent(!pedited->icm.trcExp);
|
||||||
|
wavExp->set_inconsistent(!pedited->icm.wavExp);
|
||||||
gamut->set_inconsistent(!pedited->icm.gamut);
|
gamut->set_inconsistent(!pedited->icm.gamut);
|
||||||
wsmoothcie->set_inconsistent(!pedited->icm.wsmoothcie);
|
wsmoothcie->set_inconsistent(!pedited->icm.wsmoothcie);
|
||||||
ckbToneCurve->set_inconsistent(!pedited->icm.toneCurve);
|
ckbToneCurve->set_inconsistent(!pedited->icm.toneCurve);
|
||||||
ckbApplyLookTable->set_inconsistent(!pedited->icm.applyLookTable);
|
ckbApplyLookTable->set_inconsistent(!pedited->icm.applyLookTable);
|
||||||
ckbApplyBaselineExposureOffset->set_inconsistent(!pedited->icm.applyBaselineExposureOffset);
|
ckbApplyBaselineExposureOffset->set_inconsistent(!pedited->icm.applyBaselineExposureOffset);
|
||||||
ckbApplyHueSatMap->set_inconsistent(!pedited->icm.applyHueSatMap);
|
ckbApplyHueSatMap->set_inconsistent(!pedited->icm.applyHueSatMap);
|
||||||
|
opacityShapeWLI->setUnChanged(!pedited->icm.opacityCurveWLI);
|
||||||
|
|
||||||
if (!pedited->icm.workingProfile) {
|
if (!pedited->icm.workingProfile) {
|
||||||
wProfNames->set_active_text(M("GENERAL_UNCHANGED"));
|
wProfNames->set_active_text(M("GENERAL_UNCHANGED"));
|
||||||
@ -1014,10 +1151,17 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
}
|
}
|
||||||
|
|
||||||
labgridcie->setEdited(pedited->icm.labgridcieALow || pedited->icm.labgridcieBLow || pedited->icm.labgridcieAHigh || pedited->icm.labgridcieBHigh || pedited->icm.labgridcieGx || pedited->icm.labgridcieGy || pedited->icm.labgridcieWx || pedited->icm.labgridcieWy || pedited->icm.labgridcieMx || pedited->icm.labgridcieMy);
|
labgridcie->setEdited(pedited->icm.labgridcieALow || pedited->icm.labgridcieBLow || pedited->icm.labgridcieAHigh || pedited->icm.labgridcieBHigh || pedited->icm.labgridcieGx || pedited->icm.labgridcieGy || pedited->icm.labgridcieWx || pedited->icm.labgridcieWy || pedited->icm.labgridcieMx || pedited->icm.labgridcieMy);
|
||||||
|
opacityShapeWLI->setCurve(pp->icm.opacityCurveWLI);
|
||||||
|
|
||||||
wGamma->setEditedState(pedited->icm.workingTRCGamma ? Edited : UnEdited);
|
// wGamma->setEditedState(pedited->icm.workingTRCGamma ? Edited : UnEdited);
|
||||||
wSlope->setEditedState(pedited->icm.workingTRCSlope ? Edited : UnEdited);
|
// wSlope->setEditedState(pedited->icm.workingTRCSlope ? Edited : UnEdited);
|
||||||
|
wGamma->setEditedState(pedited->icm.wGamma ? Edited : UnEdited);
|
||||||
|
wSlope->setEditedState(pedited->icm.wSlope ? Edited : UnEdited);
|
||||||
wmidtcie->setEditedState(pedited->icm.wmidtcie ? Edited : UnEdited);
|
wmidtcie->setEditedState(pedited->icm.wmidtcie ? Edited : UnEdited);
|
||||||
|
sigmatrc->setEditedState(pedited->icm.sigmatrc ? Edited : UnEdited);
|
||||||
|
offstrc->setEditedState(pedited->icm.offstrc ? Edited : UnEdited);
|
||||||
|
residtrc->setEditedState(pedited->icm.residtrc ? Edited : UnEdited);
|
||||||
|
pyrwavtrc->setEditedState(pedited->icm.pyrwavtrc ? Edited : UnEdited);
|
||||||
redx->setEditedState(pedited->icm.redx ? Edited : UnEdited);
|
redx->setEditedState(pedited->icm.redx ? Edited : UnEdited);
|
||||||
redy->setEditedState(pedited->icm.redy ? Edited : UnEdited);
|
redy->setEditedState(pedited->icm.redy ? Edited : UnEdited);
|
||||||
grex->setEditedState(pedited->icm.grex ? Edited : UnEdited);
|
grex->setEditedState(pedited->icm.grex ? Edited : UnEdited);
|
||||||
@ -1036,6 +1180,10 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wGamma->set_sensitive(false);
|
wGamma->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(false);
|
wmidtcie->set_sensitive(false);
|
||||||
|
sigmatrc->set_sensitive(false);
|
||||||
|
offstrc->set_sensitive(false);
|
||||||
|
residtrc->set_sensitive(false);
|
||||||
|
pyrwavtrc->set_sensitive(false);
|
||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
willulab->set_sensitive(false);
|
willulab->set_sensitive(false);
|
||||||
wprim->set_sensitive(false);
|
wprim->set_sensitive(false);
|
||||||
@ -1090,7 +1238,8 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
}
|
}
|
||||||
riaHBox->set_sensitive(true);
|
riaHBox->set_sensitive(true);
|
||||||
|
|
||||||
if (pp->icm.workingTRCGamma <= 1.) {
|
// if (pp->icm.workingTRCGamma <= 1.) {
|
||||||
|
if (pp->icm.wGamma <= 1.) {
|
||||||
wGamma->set_sensitive(true);
|
wGamma->set_sensitive(true);
|
||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
@ -1123,6 +1272,10 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
wGamma->set_sensitive(false);
|
wGamma->set_sensitive(false);
|
||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
||||||
redFrame->hide();
|
redFrame->hide();
|
||||||
} else {
|
} else {
|
||||||
@ -1150,6 +1303,10 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
wGamma->set_sensitive(false);
|
wGamma->set_sensitive(false);
|
||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
riaHBox->set_sensitive(true);
|
riaHBox->set_sensitive(true);
|
||||||
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
||||||
redFrame->hide();
|
redFrame->hide();
|
||||||
@ -1178,6 +1335,10 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
wGamma->set_sensitive(false);
|
wGamma->set_sensitive(false);
|
||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
riaHBox->set_sensitive(true);
|
riaHBox->set_sensitive(true);
|
||||||
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
||||||
redFrame->hide();
|
redFrame->hide();
|
||||||
@ -1211,6 +1372,10 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
wGamma->set_sensitive(false);
|
wGamma->set_sensitive(false);
|
||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
break;
|
break;
|
||||||
case ColorManagementParams::WorkingTrc::LINEAR:
|
case ColorManagementParams::WorkingTrc::LINEAR:
|
||||||
wGamma->setValue(1.);
|
wGamma->setValue(1.);
|
||||||
@ -1232,6 +1397,10 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
wGamma->set_sensitive(false);
|
wGamma->set_sensitive(false);
|
||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
riaHBox->set_sensitive(true);
|
riaHBox->set_sensitive(true);
|
||||||
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) {
|
||||||
redFrame->hide();
|
redFrame->hide();
|
||||||
@ -1334,11 +1503,18 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->icm.outputBPC = obpc->get_active();
|
pp->icm.outputBPC = obpc->get_active();
|
||||||
pp->icm.fbw = fbw->get_active();
|
pp->icm.fbw = fbw->get_active();
|
||||||
pp->icm.trcExp = trcExp->getEnabled();
|
pp->icm.trcExp = trcExp->getEnabled();
|
||||||
|
pp->icm.wavExp = wavExp->getEnabled();
|
||||||
pp->icm.gamut = gamut->get_active();
|
pp->icm.gamut = gamut->get_active();
|
||||||
pp->icm.wsmoothcie = wsmoothcie->get_active();
|
pp->icm.wsmoothcie = wsmoothcie->get_active();
|
||||||
pp->icm.workingTRCGamma = wGamma->getValue();
|
// pp->icm.workingTRCGamma = wGamma->getValue();
|
||||||
pp->icm.workingTRCSlope = wSlope->getValue();
|
// pp->icm.workingTRCSlope = wSlope->getValue();
|
||||||
|
pp->icm.wGamma = wGamma->getValue();
|
||||||
|
pp->icm.wSlope = wSlope->getValue();
|
||||||
pp->icm.wmidtcie = wmidtcie->getValue();
|
pp->icm.wmidtcie = wmidtcie->getValue();
|
||||||
|
pp->icm.sigmatrc = sigmatrc->getValue();
|
||||||
|
pp->icm.offstrc = offstrc->getValue();
|
||||||
|
pp->icm.residtrc = residtrc->getValue();
|
||||||
|
pp->icm.pyrwavtrc = pyrwavtrc->getIntValue();
|
||||||
pp->icm.redx = redx->getValue();
|
pp->icm.redx = redx->getValue();
|
||||||
pp->icm.redy = redy->getValue();
|
pp->icm.redy = redy->getValue();
|
||||||
pp->icm.grex = grex->getValue();
|
pp->icm.grex = grex->getValue();
|
||||||
@ -1350,6 +1526,7 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->icm.shifty = shifty->getValue();
|
pp->icm.shifty = shifty->getValue();
|
||||||
pp->toneCurve.fromHistMatching = false;
|
pp->toneCurve.fromHistMatching = false;
|
||||||
pp->icm.preser = preser->getValue();
|
pp->icm.preser = preser->getValue();
|
||||||
|
pp->icm.opacityCurveWLI = opacityShapeWLI->getCurve();
|
||||||
|
|
||||||
if (pedited) {
|
if (pedited) {
|
||||||
pedited->icm.inputProfile = !iunchanged->get_active();
|
pedited->icm.inputProfile = !iunchanged->get_active();
|
||||||
@ -1360,6 +1537,7 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->icm.outputBPC = !obpc->get_inconsistent();
|
pedited->icm.outputBPC = !obpc->get_inconsistent();
|
||||||
pedited->icm.fbw = !fbw->get_inconsistent();
|
pedited->icm.fbw = !fbw->get_inconsistent();
|
||||||
pedited->icm.trcExp = !trcExp->get_inconsistent();
|
pedited->icm.trcExp = !trcExp->get_inconsistent();
|
||||||
|
pedited->icm.wavExp = !wavExp->get_inconsistent();
|
||||||
pedited->icm.gamut = !gamut->get_inconsistent();
|
pedited->icm.gamut = !gamut->get_inconsistent();
|
||||||
pedited->icm.wsmoothcie = !wsmoothcie->get_inconsistent();
|
pedited->icm.wsmoothcie = !wsmoothcie->get_inconsistent();
|
||||||
pedited->icm.dcpIlluminant = dcpIll->get_active_text() != M("GENERAL_UNCHANGED");
|
pedited->icm.dcpIlluminant = dcpIll->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
@ -1367,9 +1545,15 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->icm.applyLookTable = !ckbApplyLookTable->get_inconsistent();
|
pedited->icm.applyLookTable = !ckbApplyLookTable->get_inconsistent();
|
||||||
pedited->icm.applyBaselineExposureOffset = !ckbApplyBaselineExposureOffset->get_inconsistent();
|
pedited->icm.applyBaselineExposureOffset = !ckbApplyBaselineExposureOffset->get_inconsistent();
|
||||||
pedited->icm.applyHueSatMap = !ckbApplyHueSatMap->get_inconsistent();
|
pedited->icm.applyHueSatMap = !ckbApplyHueSatMap->get_inconsistent();
|
||||||
pedited->icm.workingTRCGamma = wGamma->getEditedState();
|
// pedited->icm.workingTRCGamma = wGamma->getEditedState();
|
||||||
pedited->icm.workingTRCSlope = wSlope->getEditedState();
|
// pedited->icm.workingTRCSlope = wSlope->getEditedState();
|
||||||
|
pedited->icm.wGamma = wGamma->getEditedState();
|
||||||
|
pedited->icm.wSlope = wSlope->getEditedState();
|
||||||
pedited->icm.wmidtcie = wmidtcie->getEditedState();
|
pedited->icm.wmidtcie = wmidtcie->getEditedState();
|
||||||
|
pedited->icm.sigmatrc = sigmatrc->getEditedState();
|
||||||
|
pedited->icm.offstrc = offstrc->getEditedState();
|
||||||
|
pedited->icm.residtrc = residtrc->getEditedState();
|
||||||
|
pedited->icm.pyrwavtrc = pyrwavtrc->getEditedState();
|
||||||
pedited->icm.workingTRC = wTRC->get_active_text() != M("GENERAL_UNCHANGED");
|
pedited->icm.workingTRC = wTRC->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
pedited->icm.will = will->get_active_text() != M("GENERAL_UNCHANGED");
|
pedited->icm.will = will->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
pedited->icm.wprim = wprim->get_active_text() != M("GENERAL_UNCHANGED");
|
pedited->icm.wprim = wprim->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
@ -1377,14 +1561,31 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->icm.redx = redx->getEditedState();
|
pedited->icm.redx = redx->getEditedState();
|
||||||
pedited->icm.redy = redy->getEditedState();
|
pedited->icm.redy = redy->getEditedState();
|
||||||
pedited->icm.labgridcieALow = pedited->icm.labgridcieBLow = pedited->icm.labgridcieAHigh = pedited->icm.labgridcieBHigh = pedited->icm.labgridcieGx = pedited->icm.labgridcieGy = pedited->icm.labgridcieWx = pedited->icm.labgridcieWy = pedited->icm.labgridcieMx = pedited->icm.labgridcieMy = labgridcie->getEdited();
|
pedited->icm.labgridcieALow = pedited->icm.labgridcieBLow = pedited->icm.labgridcieAHigh = pedited->icm.labgridcieBHigh = pedited->icm.labgridcieGx = pedited->icm.labgridcieGy = pedited->icm.labgridcieWx = pedited->icm.labgridcieWy = pedited->icm.labgridcieMx = pedited->icm.labgridcieMy = labgridcie->getEdited();
|
||||||
|
pedited->icm.opacityCurveWLI = !opacityShapeWLI->isUnChanged();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ICMPanel::curveChanged(CurveEditor* ce)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (listener) {
|
||||||
|
if (ce == opacityShapeWLI) {
|
||||||
|
listener->panelChanged(EvICMopacityWLI, M("HISTORY_CUSTOMCURVE"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
void ICMPanel::setDefaults(const ProcParams* defParams, const ParamsEdited* pedited)
|
void ICMPanel::setDefaults(const ProcParams* defParams, const ParamsEdited* pedited)
|
||||||
{
|
{
|
||||||
wGamma->setDefault(defParams->icm.workingTRCGamma);
|
// wGamma->setDefault(defParams->icm.workingTRCGamma);
|
||||||
wSlope->setDefault(defParams->icm.workingTRCSlope);
|
// wSlope->setDefault(defParams->icm.workingTRCSlope);
|
||||||
|
wGamma->setDefault(defParams->icm.wGamma);
|
||||||
|
wSlope->setDefault(defParams->icm.wSlope);
|
||||||
wmidtcie->setDefault(defParams->icm.wmidtcie);
|
wmidtcie->setDefault(defParams->icm.wmidtcie);
|
||||||
|
sigmatrc->setDefault(defParams->icm.sigmatrc);
|
||||||
|
offstrc->setDefault(defParams->icm.offstrc);
|
||||||
|
residtrc->setDefault(defParams->icm.residtrc);
|
||||||
|
pyrwavtrc->setDefault(defParams->icm.pyrwavtrc);
|
||||||
redx->setDefault(defParams->icm.redx);
|
redx->setDefault(defParams->icm.redx);
|
||||||
redy->setDefault(defParams->icm.redy);
|
redy->setDefault(defParams->icm.redy);
|
||||||
grex->setDefault(defParams->icm.grex);
|
grex->setDefault(defParams->icm.grex);
|
||||||
@ -1398,9 +1599,15 @@ void ICMPanel::setDefaults(const ProcParams* defParams, const ParamsEdited* pedi
|
|||||||
labgridcie->setDefault(defParams->icm.labgridcieALow, defParams->icm.labgridcieBLow , defParams->icm.labgridcieAHigh, defParams->icm.labgridcieBHigh, defParams->icm.labgridcieGx, defParams->icm.labgridcieGy, defParams->icm.labgridcieWx, defParams->icm.labgridcieWy, defParams->icm.labgridcieMx, defParams->icm.labgridcieMy);
|
labgridcie->setDefault(defParams->icm.labgridcieALow, defParams->icm.labgridcieBLow , defParams->icm.labgridcieAHigh, defParams->icm.labgridcieBHigh, defParams->icm.labgridcieGx, defParams->icm.labgridcieGy, defParams->icm.labgridcieWx, defParams->icm.labgridcieWy, defParams->icm.labgridcieMx, defParams->icm.labgridcieMy);
|
||||||
|
|
||||||
if (pedited) {
|
if (pedited) {
|
||||||
wGamma->setDefaultEditedState(pedited->icm.workingTRCGamma ? Edited : UnEdited);
|
// wGamma->setDefaultEditedState(pedited->icm.workingTRCGamma ? Edited : UnEdited);
|
||||||
wSlope->setDefaultEditedState(pedited->icm.workingTRCSlope ? Edited : UnEdited);
|
// wSlope->setDefaultEditedState(pedited->icm.workingTRCSlope ? Edited : UnEdited);
|
||||||
|
wGamma->setDefaultEditedState(pedited->icm.wGamma ? Edited : UnEdited);
|
||||||
|
wSlope->setDefaultEditedState(pedited->icm.wSlope ? Edited : UnEdited);
|
||||||
wmidtcie->setDefaultEditedState(pedited->icm.wmidtcie ? Edited : UnEdited);
|
wmidtcie->setDefaultEditedState(pedited->icm.wmidtcie ? Edited : UnEdited);
|
||||||
|
sigmatrc->setDefaultEditedState(pedited->icm.sigmatrc ? Edited : UnEdited);
|
||||||
|
offstrc->setDefaultEditedState(pedited->icm.offstrc ? Edited : UnEdited);
|
||||||
|
residtrc->setDefaultEditedState(pedited->icm.residtrc ? Edited : UnEdited);
|
||||||
|
pyrwavtrc->setDefaultEditedState(pedited->icm.pyrwavtrc ? Edited : UnEdited);
|
||||||
redx->setDefaultEditedState(pedited->icm.redx ? Edited : UnEdited);
|
redx->setDefaultEditedState(pedited->icm.redx ? Edited : UnEdited);
|
||||||
redy->setDefaultEditedState(pedited->icm.redy ? Edited : UnEdited);
|
redy->setDefaultEditedState(pedited->icm.redy ? Edited : UnEdited);
|
||||||
grex->setDefaultEditedState(pedited->icm.grex ? Edited : UnEdited);
|
grex->setDefaultEditedState(pedited->icm.grex ? Edited : UnEdited);
|
||||||
@ -1417,6 +1624,10 @@ void ICMPanel::setDefaults(const ProcParams* defParams, const ParamsEdited* pedi
|
|||||||
wGamma->setDefaultEditedState(Irrelevant);
|
wGamma->setDefaultEditedState(Irrelevant);
|
||||||
wSlope->setDefaultEditedState(Irrelevant);
|
wSlope->setDefaultEditedState(Irrelevant);
|
||||||
wmidtcie->setDefaultEditedState(Irrelevant);
|
wmidtcie->setDefaultEditedState(Irrelevant);
|
||||||
|
sigmatrc->setDefaultEditedState(Irrelevant);
|
||||||
|
offstrc->setDefaultEditedState(Irrelevant);
|
||||||
|
residtrc->setDefaultEditedState(Irrelevant);
|
||||||
|
pyrwavtrc->setDefaultEditedState(Irrelevant);
|
||||||
redx->setDefaultEditedState(Irrelevant);
|
redx->setDefaultEditedState(Irrelevant);
|
||||||
redy->setDefaultEditedState(Irrelevant);
|
redy->setDefaultEditedState(Irrelevant);
|
||||||
grex->setDefaultEditedState(Irrelevant);
|
grex->setDefaultEditedState(Irrelevant);
|
||||||
@ -1448,6 +1659,14 @@ void ICMPanel::adjusterChanged(Adjuster* a, double newval)
|
|||||||
listener->panelChanged(EvICMslop, costr2);
|
listener->panelChanged(EvICMslop, costr2);
|
||||||
} else if (a == wmidtcie) {
|
} else if (a == wmidtcie) {
|
||||||
listener->panelChanged(EvICMwmidtcie, costr2);
|
listener->panelChanged(EvICMwmidtcie, costr2);
|
||||||
|
} else if (a == sigmatrc) {
|
||||||
|
listener->panelChanged(EvICMsigmatrc, costr2);
|
||||||
|
} else if (a == offstrc) {
|
||||||
|
listener->panelChanged(EvICMoffstrc, costr2);
|
||||||
|
} else if (a == residtrc) {
|
||||||
|
listener->panelChanged(EvICMresidtrc, costr2);
|
||||||
|
} else if (a == pyrwavtrc) {
|
||||||
|
listener->panelChanged(EvICMpyrwavtrc, costr2);
|
||||||
} else if (a == redx) {
|
} else if (a == redx) {
|
||||||
listener->panelChanged(EvICMredx, costr2);
|
listener->panelChanged(EvICMredx, costr2);
|
||||||
} else if (a == redy) {
|
} else if (a == redy) {
|
||||||
@ -1487,6 +1706,10 @@ void ICMPanel::wtrcinChanged()
|
|||||||
wGamma->set_sensitive(false);
|
wGamma->set_sensitive(false);
|
||||||
wSlope->set_sensitive(false);
|
wSlope->set_sensitive(false);
|
||||||
wmidtcie->set_sensitive(false);
|
wmidtcie->set_sensitive(false);
|
||||||
|
sigmatrc->set_sensitive(false);
|
||||||
|
offstrc->set_sensitive(false);
|
||||||
|
residtrc->set_sensitive(false);
|
||||||
|
pyrwavtrc->set_sensitive(false);
|
||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
willulab->set_sensitive(false);
|
willulab->set_sensitive(false);
|
||||||
wprim->set_sensitive(false);
|
wprim->set_sensitive(false);
|
||||||
@ -1503,6 +1726,10 @@ void ICMPanel::wtrcinChanged()
|
|||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
wprim->set_sensitive(true);
|
wprim->set_sensitive(true);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
wcat->set_sensitive(true);
|
wcat->set_sensitive(true);
|
||||||
wcatlab->set_sensitive(true);
|
wcatlab->set_sensitive(true);
|
||||||
fbw->set_sensitive(true);
|
fbw->set_sensitive(true);
|
||||||
@ -1538,6 +1765,10 @@ void ICMPanel::wtrcinChanged()
|
|||||||
wGamma->setValue(2.222);
|
wGamma->setValue(2.222);
|
||||||
wSlope->setValue(4.5);
|
wSlope->setValue(4.5);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
willulab->set_sensitive(true);
|
willulab->set_sensitive(true);
|
||||||
wprim->set_sensitive(true);
|
wprim->set_sensitive(true);
|
||||||
@ -1568,6 +1799,10 @@ void ICMPanel::wtrcinChanged()
|
|||||||
wGamma->setValue(2.4);
|
wGamma->setValue(2.4);
|
||||||
wSlope->setValue(12.92);
|
wSlope->setValue(12.92);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
willulab->set_sensitive(true);
|
willulab->set_sensitive(true);
|
||||||
wprim->set_sensitive(true);
|
wprim->set_sensitive(true);
|
||||||
@ -1599,6 +1834,10 @@ void ICMPanel::wtrcinChanged()
|
|||||||
wGamma->setValue(2.2);
|
wGamma->setValue(2.2);
|
||||||
wSlope->setValue(0.);
|
wSlope->setValue(0.);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
willulab->set_sensitive(true);
|
willulab->set_sensitive(true);
|
||||||
wprim->set_sensitive(true);
|
wprim->set_sensitive(true);
|
||||||
@ -1631,6 +1870,10 @@ void ICMPanel::wtrcinChanged()
|
|||||||
wGamma->setValue(1.8);
|
wGamma->setValue(1.8);
|
||||||
wSlope->setValue(0.);
|
wSlope->setValue(0.);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
willulab->set_sensitive(true);
|
willulab->set_sensitive(true);
|
||||||
wprim->set_sensitive(true);
|
wprim->set_sensitive(true);
|
||||||
@ -1663,6 +1906,10 @@ void ICMPanel::wtrcinChanged()
|
|||||||
wGamma->setValue(1.0);
|
wGamma->setValue(1.0);
|
||||||
wSlope->setValue(1.);
|
wSlope->setValue(1.);
|
||||||
wmidtcie->set_sensitive(true);
|
wmidtcie->set_sensitive(true);
|
||||||
|
sigmatrc->set_sensitive(true);
|
||||||
|
offstrc->set_sensitive(true);
|
||||||
|
residtrc->set_sensitive(true);
|
||||||
|
pyrwavtrc->set_sensitive(true);
|
||||||
will->set_sensitive(false);
|
will->set_sensitive(false);
|
||||||
willulab->set_sensitive(true);
|
willulab->set_sensitive(true);
|
||||||
wprim->set_sensitive(true);
|
wprim->set_sensitive(true);
|
||||||
@ -2317,6 +2564,17 @@ void ICMPanel::trcExpChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ICMPanel::wavExpChanged()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (listener) {
|
||||||
|
if (wavExp->getEnabled()) {
|
||||||
|
listener->panelChanged(EvICMwavExp, M("GENERAL_ENABLED"));
|
||||||
|
} else {
|
||||||
|
listener->panelChanged(EvICMwavExp, M("GENERAL_DISABLED"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void ICMPanel::fbwChanged()
|
void ICMPanel::fbwChanged()
|
||||||
@ -2503,6 +2761,8 @@ void ICMPanel::setBatchMode(bool batchMode)
|
|||||||
iunchanged->set_group(opts);
|
iunchanged->set_group(opts);
|
||||||
iVBox->pack_start(*iunchanged, Gtk::PACK_SHRINK, 4);
|
iVBox->pack_start(*iunchanged, Gtk::PACK_SHRINK, 4);
|
||||||
iVBox->reorder_child(*iunchanged, 5);
|
iVBox->reorder_child(*iunchanged, 5);
|
||||||
|
opacityCurveEditorWLI->setBatchMode(batchMode);
|
||||||
|
|
||||||
removeIfThere(this, saveRef);
|
removeIfThere(this, saveRef);
|
||||||
oProfNames->append(M("GENERAL_UNCHANGED"));
|
oProfNames->append(M("GENERAL_UNCHANGED"));
|
||||||
oRendIntent->addEntry("template-24", M("GENERAL_UNCHANGED"));
|
oRendIntent->addEntry("template-24", M("GENERAL_UNCHANGED"));
|
||||||
@ -2517,6 +2777,10 @@ void ICMPanel::setBatchMode(bool batchMode)
|
|||||||
wGamma->showEditedCB();
|
wGamma->showEditedCB();
|
||||||
wSlope->showEditedCB();
|
wSlope->showEditedCB();
|
||||||
wmidtcie->showEditedCB();
|
wmidtcie->showEditedCB();
|
||||||
|
sigmatrc->showEditedCB();
|
||||||
|
offstrc->showEditedCB();
|
||||||
|
residtrc->showEditedCB();
|
||||||
|
pyrwavtrc->showEditedCB();
|
||||||
redx->showEditedCB();
|
redx->showEditedCB();
|
||||||
redy->showEditedCB();
|
redy->showEditedCB();
|
||||||
grex->showEditedCB();
|
grex->showEditedCB();
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
#include "guiutils.h"
|
#include "guiutils.h"
|
||||||
#include "popupbutton.h"
|
#include "popupbutton.h"
|
||||||
#include "toolpanel.h"
|
#include "toolpanel.h"
|
||||||
|
#include "curvelistener.h"
|
||||||
|
#include "thresholdadjuster.h"
|
||||||
|
|
||||||
#include "rtengine/imagedata.h"
|
#include "rtengine/imagedata.h"
|
||||||
|
|
||||||
@ -38,8 +40,15 @@ public:
|
|||||||
|
|
||||||
class LabGrid;
|
class LabGrid;
|
||||||
|
|
||||||
|
class CurveEditor;
|
||||||
|
class CurveEditorGroup;
|
||||||
|
class DiagonalCurveEditor;
|
||||||
|
class EditDataProvider;
|
||||||
|
class FlatCurveEditor;
|
||||||
|
|
||||||
class ICMPanel final :
|
class ICMPanel final :
|
||||||
public ToolParamBlock,
|
public ToolParamBlock,
|
||||||
|
public CurveListener,
|
||||||
public FoldableToolPanel,
|
public FoldableToolPanel,
|
||||||
public rtengine::AutoprimListener,
|
public rtengine::AutoprimListener,
|
||||||
public AdjusterListener
|
public AdjusterListener
|
||||||
@ -51,11 +60,22 @@ protected:
|
|||||||
Gtk::Frame* redFrame;
|
Gtk::Frame* redFrame;
|
||||||
Gtk::Frame* colorFramecie;
|
Gtk::Frame* colorFramecie;
|
||||||
MyExpander* trcExp;
|
MyExpander* trcExp;
|
||||||
|
MyExpander* wavExp;
|
||||||
|
MyExpander* wav2Exp;
|
||||||
|
MyExpander* primExp;
|
||||||
|
|
||||||
Adjuster* wGamma;
|
Adjuster* wGamma;
|
||||||
Adjuster* wSlope;
|
Adjuster* wSlope;
|
||||||
Adjuster* wmidtcie;
|
Adjuster* wmidtcie;
|
||||||
Gtk::CheckButton* wsmoothcie;
|
Gtk::CheckButton* wsmoothcie;
|
||||||
|
Adjuster* sigmatrc;
|
||||||
|
Adjuster* offstrc;
|
||||||
|
Adjuster* pyrwavtrc;
|
||||||
|
Adjuster* residtrc;
|
||||||
|
|
||||||
|
std::unique_ptr<CurveEditorGroup> opacityCurveEditorWLI;
|
||||||
|
FlatCurveEditor* opacityShapeWLI;
|
||||||
|
|
||||||
Adjuster* redx;
|
Adjuster* redx;
|
||||||
Adjuster* redy;
|
Adjuster* redy;
|
||||||
Adjuster* grex;
|
Adjuster* grex;
|
||||||
@ -75,7 +95,7 @@ protected:
|
|||||||
//Gtk::Label* blb;
|
//Gtk::Label* blb;
|
||||||
Gtk::Button* neutral;
|
Gtk::Button* neutral;
|
||||||
sigc::connection trcExpconn;
|
sigc::connection trcExpconn;
|
||||||
bool lasttrcExp;
|
sigc::connection wavExpconn;
|
||||||
|
|
||||||
sigc::connection neutralconn;
|
sigc::connection neutralconn;
|
||||||
bool lastToneCurve;
|
bool lastToneCurve;
|
||||||
@ -127,6 +147,13 @@ private:
|
|||||||
rtengine::ProcEvent EvICMshifty;
|
rtengine::ProcEvent EvICMshifty;
|
||||||
rtengine::ProcEvent EvICMwmidtcie;
|
rtengine::ProcEvent EvICMwmidtcie;
|
||||||
rtengine::ProcEvent EvICMwsmoothcie;
|
rtengine::ProcEvent EvICMwsmoothcie;
|
||||||
|
rtengine::ProcEvent EvICMsigmatrc;
|
||||||
|
rtengine::ProcEvent EvICMoffstrc;
|
||||||
|
rtengine::ProcEvent EvICMopacityWLI;
|
||||||
|
rtengine::ProcEvent EvICMpyrwavtrc;
|
||||||
|
rtengine::ProcEvent EvICMresidtrc;
|
||||||
|
rtengine::ProcEvent EvICMwavExp;
|
||||||
|
|
||||||
LabGrid *labgridcie;
|
LabGrid *labgridcie;
|
||||||
IdleRegister idle_register;
|
IdleRegister idle_register;
|
||||||
|
|
||||||
@ -193,7 +220,7 @@ private:
|
|||||||
Glib::ustring filename;
|
Glib::ustring filename;
|
||||||
void updateDCP(int dcpIlluminant, Glib::ustring dcp_name);
|
void updateDCP(int dcpIlluminant, Glib::ustring dcp_name);
|
||||||
void updateRenderingIntent(const Glib::ustring &profile);
|
void updateRenderingIntent(const Glib::ustring &profile);
|
||||||
void foldAllButMe (GdkEventButton* event, MyExpander *expander);
|
void foldAllButMe(GdkEventButton *event, MyExpander *expander, const MyExpander *parent);
|
||||||
|
|
||||||
float nextrx;
|
float nextrx;
|
||||||
float nextry;
|
float nextry;
|
||||||
@ -205,6 +232,7 @@ private:
|
|||||||
float nextwy;
|
float nextwy;
|
||||||
float nextmx;
|
float nextmx;
|
||||||
float nextmy;
|
float nextmy;
|
||||||
|
Gtk::Label* wavlocLabels;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static const Glib::ustring TOOL_NAME;
|
static const Glib::ustring TOOL_NAME;
|
||||||
@ -220,6 +248,8 @@ public:
|
|||||||
void primChanged (float rx, float ry, float bx, float by, float gx, float gy) override;
|
void primChanged (float rx, float ry, float bx, float by, float gx, float gy) override;
|
||||||
void iprimChanged (float r_x, float r_y, float b_x, float b_y, float g_x, float g_y, float w_x, float w_y, float m_x, float m_y) override;
|
void iprimChanged (float r_x, float r_y, float b_x, float b_y, float g_x, float g_y, float w_x, float w_y, float m_x, float m_y) override;
|
||||||
void neutral_pressed();
|
void neutral_pressed();
|
||||||
|
void curveChanged(CurveEditor* ce) override;
|
||||||
|
void wavlocChanged(double nlevel, double nmax, bool curveloc) override;
|
||||||
|
|
||||||
void wpChanged();
|
void wpChanged();
|
||||||
void wtrcinChanged();
|
void wtrcinChanged();
|
||||||
@ -227,6 +257,7 @@ public:
|
|||||||
void wprimChanged();
|
void wprimChanged();
|
||||||
void wcatChanged();
|
void wcatChanged();
|
||||||
void trcExpChanged();
|
void trcExpChanged();
|
||||||
|
void wavExpChanged();
|
||||||
void opChanged();
|
void opChanged();
|
||||||
void oiChanged(int n);
|
void oiChanged(int n);
|
||||||
void aiChanged(int n);
|
void aiChanged(int n);
|
||||||
|
@ -372,6 +372,8 @@ void Locallab::read(const rtengine::procparams::ProcParams* pp, const ParamsEdit
|
|||||||
r.wavMethod = 3;
|
r.wavMethod = 3;
|
||||||
} else if (pp->locallab.spots.at(i).wavMethod == "D14") {
|
} else if (pp->locallab.spots.at(i).wavMethod == "D14") {
|
||||||
r.wavMethod = 4;
|
r.wavMethod = 4;
|
||||||
|
} else if (pp->locallab.spots.at(i).wavMethod == "D20") {
|
||||||
|
r.wavMethod = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
expsettings->addControlSpot(r);
|
expsettings->addControlSpot(r);
|
||||||
@ -565,6 +567,8 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
|
|||||||
r.wavMethod = 3;
|
r.wavMethod = 3;
|
||||||
} else if (newSpot->wavMethod == "D14") {
|
} else if (newSpot->wavMethod == "D14") {
|
||||||
r.wavMethod = 4;
|
r.wavMethod = 4;
|
||||||
|
} else if (newSpot->wavMethod == "D20") {
|
||||||
|
r.wavMethod = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
expsettings->addControlSpot(r);
|
expsettings->addControlSpot(r);
|
||||||
@ -903,6 +907,8 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
|
|||||||
r.wavMethod = 3;
|
r.wavMethod = 3;
|
||||||
} else if (newSpot->wavMethod == "D14") {
|
} else if (newSpot->wavMethod == "D14") {
|
||||||
r.wavMethod = 4;
|
r.wavMethod = 4;
|
||||||
|
} else if (newSpot->wavMethod == "D20") {
|
||||||
|
r.wavMethod = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
expsettings->addControlSpot(r);
|
expsettings->addControlSpot(r);
|
||||||
@ -1073,6 +1079,8 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
|
|||||||
pp->locallab.spots.at(pp->locallab.selspot).wavMethod = "D10";
|
pp->locallab.spots.at(pp->locallab.selspot).wavMethod = "D10";
|
||||||
} else if (r->wavMethod == 4) {
|
} else if (r->wavMethod == 4) {
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).wavMethod = "D14";
|
pp->locallab.spots.at(pp->locallab.selspot).wavMethod = "D14";
|
||||||
|
} else if (r->wavMethod == 5) {
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).wavMethod = "D20";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1399,8 +1407,10 @@ void Locallab::cieChanged(const std::vector<locallabcieLC> &cielc, int selspot)
|
|||||||
const double me1 = cie_lc.at(selspot).meanxelc;
|
const double me1 = cie_lc.at(selspot).meanxelc;
|
||||||
const double me2 = cie_lc.at(selspot).meanyelc;
|
const double me2 = cie_lc.at(selspot).meanyelc;
|
||||||
const int pri = cie_lc.at(selspot).primlc;
|
const int pri = cie_lc.at(selspot).primlc;
|
||||||
|
const double slg = cie_lc.at(selspot).slopeglc;
|
||||||
|
const bool lkg = cie_lc.at(selspot).linkrgblc;
|
||||||
|
|
||||||
expcie.updateiPrimloc(r1, r2, g1, g2, b1, b2, w1, w2, m1, m2, me1, me2, pri);
|
expcie.updateiPrimloc(r1, r2, g1, g2, b1, b2, w1, w2, m1, m2, me1, me2, pri, slg, lkg);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1016,18 +1016,14 @@ void LocallabColor::updateguicolor(int spottype)
|
|||||||
if(spottype == 3) {
|
if(spottype == 3) {
|
||||||
invers->hide();
|
invers->hide();
|
||||||
sensi->hide();
|
sensi->hide();
|
||||||
showmaskcolMethod->set_active(0);
|
|
||||||
expmaskcol1->hide();
|
|
||||||
expmaskcol->hide();
|
expmaskcol->hide();
|
||||||
exprecov->hide();
|
exprecov->hide();
|
||||||
enaColorMask->set_active(false);
|
enaColorMask->set_active(false);
|
||||||
previewcol->hide();
|
previewcol->hide();
|
||||||
previewcol->set_active(false);
|
previewcol->set_active(false);
|
||||||
resetMaskView();
|
|
||||||
} else {
|
} else {
|
||||||
invers->show();
|
invers->show();
|
||||||
sensi->show();
|
sensi->show();
|
||||||
expmaskcol1->show();
|
|
||||||
expmaskcol->show();
|
expmaskcol->show();
|
||||||
exprecov->show();
|
exprecov->show();
|
||||||
if(!invers->get_active()) {
|
if(!invers->get_active()) {
|
||||||
@ -1039,7 +1035,6 @@ void LocallabColor::updateguicolor(int spottype)
|
|||||||
|
|
||||||
}
|
}
|
||||||
enableListener();
|
enableListener();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -2070,18 +2065,6 @@ void LocallabColor::convertParamToNormal()
|
|||||||
rgbshape->setCurve(defSpot.rgbcurve);
|
rgbshape->setCurve(defSpot.rgbcurve);
|
||||||
special->set_active(defSpot.special);
|
special->set_active(defSpot.special);
|
||||||
|
|
||||||
if (defSpot.merMethod == "mone") {
|
|
||||||
merMethod->set_active(0);
|
|
||||||
// } else if (defSpot.merMethod == "mtwo") {
|
|
||||||
// merMethod->set_active(1);
|
|
||||||
} else if (defSpot.merMethod == "mthr") {
|
|
||||||
merMethod->set_active(1);
|
|
||||||
} else if (defSpot.merMethod == "mfou") {
|
|
||||||
merMethod->set_active(2);
|
|
||||||
} else if (defSpot.merMethod == "mfiv") {
|
|
||||||
merMethod->set_active(3);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (defSpot.mergecolMethod == "one") {
|
if (defSpot.mergecolMethod == "one") {
|
||||||
mergecolMethod->set_active(0);
|
mergecolMethod->set_active(0);
|
||||||
} else if (defSpot.mergecolMethod == "two") {
|
} else if (defSpot.mergecolMethod == "two") {
|
||||||
@ -2177,6 +2160,17 @@ void LocallabColor::convertParamToSimple()
|
|||||||
} else if (defSpot.qualitycurveMethod == "std") {
|
} else if (defSpot.qualitycurveMethod == "std") {
|
||||||
qualitycurveMethod->set_active(1);
|
qualitycurveMethod->set_active(1);
|
||||||
}
|
}
|
||||||
|
if (defSpot.merMethod == "mone") {
|
||||||
|
merMethod->set_active(0);
|
||||||
|
// } else if (defSpot.merMethod == "mtwo") {
|
||||||
|
// merMethod->set_active(1);
|
||||||
|
} else if (defSpot.merMethod == "mthr") {
|
||||||
|
merMethod->set_active(1);
|
||||||
|
} else if (defSpot.merMethod == "mfou") {
|
||||||
|
merMethod->set_active(2);
|
||||||
|
} else if (defSpot.merMethod == "mfiv") {
|
||||||
|
merMethod->set_active(3);
|
||||||
|
}
|
||||||
|
|
||||||
llshape->setCurve(defSpot.llcurve);
|
llshape->setCurve(defSpot.llcurve);
|
||||||
ccshape->setCurve(defSpot.cccurve);
|
ccshape->setCurve(defSpot.cccurve);
|
||||||
@ -2232,7 +2226,7 @@ void LocallabColor::updateGUIToMode(const modeType new_type)
|
|||||||
rgbCurveEditorG->hide();
|
rgbCurveEditorG->hide();
|
||||||
special->hide();
|
special->hide();
|
||||||
exprecov->show();
|
exprecov->show();
|
||||||
expmaskcol1->hide();
|
// expmaskcol1->hide();
|
||||||
struFrame->hide();
|
struFrame->hide();
|
||||||
blurFrame->hide();
|
blurFrame->hide();
|
||||||
lapmaskcol->hide();
|
lapmaskcol->hide();
|
||||||
@ -2256,6 +2250,7 @@ void LocallabColor::updateGUIToMode(const modeType new_type)
|
|||||||
|
|
||||||
if (!invers->get_active()) { // Keep widget hidden when invers is toggled
|
if (!invers->get_active()) { // Keep widget hidden when invers is toggled
|
||||||
expgradcol->show();
|
expgradcol->show();
|
||||||
|
expmaskcol1->show();
|
||||||
exprecov->show();
|
exprecov->show();
|
||||||
gamc->hide();
|
gamc->hide();
|
||||||
}
|
}
|
||||||
@ -2586,6 +2581,7 @@ void LocallabColor::updateColorGUI1()
|
|||||||
softradiuscol->show();
|
softradiuscol->show();
|
||||||
expgradcol->show();
|
expgradcol->show();
|
||||||
exprecov->show();
|
exprecov->show();
|
||||||
|
expmaskcol1->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
labqualcurv->show();
|
labqualcurv->show();
|
||||||
@ -3034,13 +3030,11 @@ void LocallabExposure::updateguiexpos(int spottype)
|
|||||||
inversex->hide();
|
inversex->hide();
|
||||||
sensiex->hide();
|
sensiex->hide();
|
||||||
previewexe->hide();
|
previewexe->hide();
|
||||||
showmaskexpMethod->set_active(0);
|
|
||||||
enaExpMask->set_active(false);
|
enaExpMask->set_active(false);
|
||||||
enaExpMaskaft->set_active(false);
|
enaExpMaskaft->set_active(false);
|
||||||
previewexe->set_active(false);
|
previewexe->set_active(false);
|
||||||
expmaskexp->hide();
|
expmaskexp->hide();
|
||||||
exprecove->hide();
|
exprecove->hide();
|
||||||
resetMaskView();
|
|
||||||
} else {
|
} else {
|
||||||
inversex->show();
|
inversex->show();
|
||||||
sensiex->show();
|
sensiex->show();
|
||||||
@ -4570,13 +4564,11 @@ void LocallabShadow::updateguishad(int spottype)
|
|||||||
if(spottype == 3) {
|
if(spottype == 3) {
|
||||||
inverssh->hide();
|
inverssh->hide();
|
||||||
sensihs->hide();
|
sensihs->hide();
|
||||||
showmaskSHMethod->set_active(0);
|
|
||||||
previewsh->hide();
|
previewsh->hide();
|
||||||
exprecovs->hide();
|
exprecovs->hide();
|
||||||
expmasksh->hide();
|
expmasksh->hide();
|
||||||
enaSHMask->set_active(false);
|
enaSHMask->set_active(false);
|
||||||
previewsh->set_active(false);
|
previewsh->set_active(false);
|
||||||
resetMaskView();
|
|
||||||
} else {
|
} else {
|
||||||
sensihs->show();
|
sensihs->show();
|
||||||
inverssh->show();
|
inverssh->show();
|
||||||
@ -5754,13 +5746,11 @@ void LocallabVibrance::updateguivib(int spottype)
|
|||||||
|
|
||||||
if(spottype == 3) {
|
if(spottype == 3) {
|
||||||
sensiv->hide();
|
sensiv->hide();
|
||||||
showmaskvibMethod->set_active(0);
|
|
||||||
previewvib->hide();
|
previewvib->hide();
|
||||||
enavibMask->set_active(false);
|
enavibMask->set_active(false);
|
||||||
previewvib->set_active(false);
|
previewvib->set_active(false);
|
||||||
exprecovv->hide();
|
exprecovv->hide();
|
||||||
expmaskvib->hide();
|
expmaskvib->hide();
|
||||||
resetMaskView();
|
|
||||||
} else {
|
} else {
|
||||||
sensiv->show();
|
sensiv->show();
|
||||||
previewvib->show();
|
previewvib->show();
|
||||||
@ -5771,6 +5761,8 @@ void LocallabVibrance::updateguivib(int spottype)
|
|||||||
}
|
}
|
||||||
enableListener();
|
enableListener();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -64,6 +64,7 @@ protected:
|
|||||||
rtengine::ProcEvent Evlocallabpreviewlog;
|
rtengine::ProcEvent Evlocallabpreviewlog;
|
||||||
rtengine::ProcEvent Evlocallabpreviewcie;
|
rtengine::ProcEvent Evlocallabpreviewcie;
|
||||||
rtengine::ProcEvent Evlocallabpreviewmas;
|
rtengine::ProcEvent Evlocallabpreviewmas;
|
||||||
|
rtengine::ProcEvent Evlocallabnormcie12;
|
||||||
rtengine::ProcEvent Evlocallabnormcie;
|
rtengine::ProcEvent Evlocallabnormcie;
|
||||||
rtengine::ProcEvent Evlocallabstrumaskcie;
|
rtengine::ProcEvent Evlocallabstrumaskcie;
|
||||||
rtengine::ProcEvent EvLocallabtoolcie;
|
rtengine::ProcEvent EvLocallabtoolcie;
|
||||||
@ -72,7 +73,6 @@ protected:
|
|||||||
rtengine::ProcEvent Evlocallabblurcie;
|
rtengine::ProcEvent Evlocallabblurcie;
|
||||||
rtengine::ProcEvent Evlocallabhighmaskcie;
|
rtengine::ProcEvent Evlocallabhighmaskcie;
|
||||||
rtengine::ProcEvent Evlocallabshadmaskcie;
|
rtengine::ProcEvent Evlocallabshadmaskcie;
|
||||||
rtengine::ProcEvent Evlocallabsigmoidsenscie;
|
|
||||||
rtengine::ProcEvent EvlocallabLLmaskcieshapewav;
|
rtengine::ProcEvent EvlocallabLLmaskcieshapewav;
|
||||||
rtengine::ProcEvent EvlocallabcsThresholdcie;
|
rtengine::ProcEvent EvlocallabcsThresholdcie;
|
||||||
rtengine::ProcEvent Evlocallabcomprcie;
|
rtengine::ProcEvent Evlocallabcomprcie;
|
||||||
@ -81,17 +81,29 @@ protected:
|
|||||||
rtengine::ProcEvent Evlocallablogcieq;
|
rtengine::ProcEvent Evlocallablogcieq;
|
||||||
rtengine::ProcEvent Evlocallabcomprcieth;
|
rtengine::ProcEvent Evlocallabcomprcieth;
|
||||||
rtengine::ProcEvent EvlocallabHHhmaskcieshape;
|
rtengine::ProcEvent EvlocallabHHhmaskcieshape;
|
||||||
rtengine::ProcEvent EvlocallabbwevMethod;
|
rtengine::ProcEvent EvlocallabbwevMethod12;
|
||||||
rtengine::ProcEvent Evlocallabgamjcie;
|
rtengine::ProcEvent Evlocallabgamjcie;
|
||||||
rtengine::ProcEvent Evlocallabslopjcie;
|
rtengine::ProcEvent Evlocallabslopjcie;
|
||||||
rtengine::ProcEvent Evlocallabmidtcie;
|
rtengine::ProcEvent Evlocallabmidtcie;
|
||||||
|
rtengine::ProcEvent Evlocallabcontsig;
|
||||||
|
rtengine::ProcEvent Evlocallabskewsig;
|
||||||
|
rtengine::ProcEvent Evlocallabwhitsig;
|
||||||
rtengine::ProcEvent Evlocallabslopesmo;
|
rtengine::ProcEvent Evlocallabslopesmo;
|
||||||
|
rtengine::ProcEvent Evlocallabslopesmoq;
|
||||||
rtengine::ProcEvent Evlocallabslopesmor;
|
rtengine::ProcEvent Evlocallabslopesmor;
|
||||||
rtengine::ProcEvent Evlocallabslopesmog;
|
rtengine::ProcEvent Evlocallabslopesmog;
|
||||||
rtengine::ProcEvent Evlocallabslopesmob;
|
rtengine::ProcEvent Evlocallabslopesmob;
|
||||||
|
rtengine::ProcEvent Evlocallabkslopesmor;
|
||||||
|
rtengine::ProcEvent Evlocallabkslopesmog;
|
||||||
|
rtengine::ProcEvent Evlocallabkslopesmob;
|
||||||
rtengine::ProcEvent Evlocallabsmoothcie;
|
rtengine::ProcEvent Evlocallabsmoothcie;
|
||||||
|
rtengine::ProcEvent Evlocallabsmoothcielnk;
|
||||||
|
rtengine::ProcEvent Evlocallabsmoothcieth;
|
||||||
|
rtengine::ProcEvent Evlocallabsmoothcietrc;
|
||||||
|
rtengine::ProcEvent Evlocallabsmoothcietrcrel;
|
||||||
rtengine::ProcEvent Evlocallabsmoothcieyb;
|
rtengine::ProcEvent Evlocallabsmoothcieyb;
|
||||||
rtengine::ProcEvent Evlocallabsmoothcielum;
|
rtengine::ProcEvent Evlocallabsmoothcielum;
|
||||||
|
rtengine::ProcEvent Evlocallabsmoothciehigh;
|
||||||
rtengine::ProcEvent Evlocallabsmoothciemet;
|
rtengine::ProcEvent Evlocallabsmoothciemet;
|
||||||
rtengine::ProcEvent Evlocallabsigcie;
|
rtengine::ProcEvent Evlocallabsigcie;
|
||||||
rtengine::ProcEvent Evlocallabillcie;
|
rtengine::ProcEvent Evlocallabillcie;
|
||||||
@ -114,7 +126,7 @@ protected:
|
|||||||
rtengine::ProcEvent Evlocallabgamutcie;
|
rtengine::ProcEvent Evlocallabgamutcie;
|
||||||
rtengine::ProcEvent Evlocallabbwcie;
|
rtengine::ProcEvent Evlocallabbwcie;
|
||||||
rtengine::ProcEvent Evlocallabexpprecam;
|
rtengine::ProcEvent Evlocallabexpprecam;
|
||||||
rtengine::ProcEvent Evlocallablightsigqcie;
|
rtengine::ProcEvent Evlocallablightsigqcie12;
|
||||||
rtengine::ProcEvent Evlocallabcontsigqcie;
|
rtengine::ProcEvent Evlocallabcontsigqcie;
|
||||||
rtengine::ProcEvent Evlocallabrefi;
|
rtengine::ProcEvent Evlocallabrefi;
|
||||||
rtengine::ProcEvent Evlocallabshiftxl;
|
rtengine::ProcEvent Evlocallabshiftxl;
|
||||||
@ -131,6 +143,22 @@ protected:
|
|||||||
rtengine::ProcEvent Evlocallabfeathercie;
|
rtengine::ProcEvent Evlocallabfeathercie;
|
||||||
rtengine::ProcEvent EvlocallabfeatherSH;
|
rtengine::ProcEvent EvlocallabfeatherSH;
|
||||||
rtengine::ProcEvent Evlocallabfeather_mask;
|
rtengine::ProcEvent Evlocallabfeather_mask;
|
||||||
|
rtengine::ProcEvent Evlocallaboffslc;
|
||||||
|
rtengine::ProcEvent EvlocallabmodeQJ;
|
||||||
|
rtengine::ProcEvent EvlocallabbwevMethod;
|
||||||
|
rtengine::ProcEvent Evlocallabsigmoidldacie;
|
||||||
|
rtengine::ProcEvent Evlocallabsigmoidthcie;
|
||||||
|
rtengine::ProcEvent Evlocallabsigmoidblcie;
|
||||||
|
rtengine::ProcEvent Evlocallabsigmoidsenscie;
|
||||||
|
rtengine::ProcEvent Evlocallabsigq;
|
||||||
|
rtengine::ProcEvent Evlocallabsigq_12;
|
||||||
|
rtengine::ProcEvent Evlocallabsigjz;
|
||||||
|
rtengine::ProcEvent Evlocallabforcebw;
|
||||||
|
|
||||||
|
rtengine::ProcEvent Evlocallabsigmoidldajzcie;
|
||||||
|
rtengine::ProcEvent Evlocallabsigmoidthjzcie;
|
||||||
|
rtengine::ProcEvent Evlocallabsigmoidbljzcie;
|
||||||
|
rtengine::ProcEvent Evlocallablogcie_12;
|
||||||
// LocallabTool parameters
|
// LocallabTool parameters
|
||||||
bool needMode;
|
bool needMode;
|
||||||
bool isLocActivated;
|
bool isLocActivated;
|
||||||
@ -1224,9 +1252,12 @@ private:
|
|||||||
Adjuster* const lclightness;
|
Adjuster* const lclightness;
|
||||||
Gtk::Frame* const contFrame;
|
Gtk::Frame* const contFrame;
|
||||||
Adjuster* const sigmalc;
|
Adjuster* const sigmalc;
|
||||||
|
Adjuster* const offslc;
|
||||||
CurveEditorGroup* const LocalcurveEditorwav;
|
CurveEditorGroup* const LocalcurveEditorwav;
|
||||||
FlatCurveEditor* const wavshape;
|
FlatCurveEditor* const wavshape;
|
||||||
ThresholdAdjuster* const csThreshold;
|
ThresholdAdjuster* const csThreshold;
|
||||||
|
Gtk::CheckButton* const processwav;
|
||||||
|
|
||||||
Adjuster* const levelwav;
|
Adjuster* const levelwav;
|
||||||
MyExpander* const expresidpyr;
|
MyExpander* const expresidpyr;
|
||||||
Adjuster* const residcont;
|
Adjuster* const residcont;
|
||||||
@ -1317,7 +1348,8 @@ private:
|
|||||||
CurveEditorGroup* const mask2lcCurveEditorG;
|
CurveEditorGroup* const mask2lcCurveEditorG;
|
||||||
DiagonalCurveEditor* const Lmasklcshape;
|
DiagonalCurveEditor* const Lmasklcshape;
|
||||||
|
|
||||||
sigc::connection localcontMethodConn, previewlcConn, origlcConn, wavgradlConn, wavedgConn, localedgMethodConn, waveshowConn, localneiMethodConn, wavblurConn, blurlcConn, wavcontConn, wavcompreConn, wavcompConn, fftwlcConn, showmasklcMethodConn, enalcMaskConn;
|
sigc::connection localcontMethodConn, previewlcConn, origlcConn, processwavConn, wavgradlConn, wavedgConn, localedgMethodConn, waveshowConn, localneiMethodConn, wavblurConn, blurlcConn, wavcontConn, wavcompreConn, wavcompConn, fftwlcConn, showmasklcMethodConn, enalcMaskConn;
|
||||||
|
rtengine::ProcEvent Evlocallabprocesswav;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LocallabContrast();
|
LocallabContrast();
|
||||||
@ -1358,6 +1390,7 @@ private:
|
|||||||
|
|
||||||
void localcontMethodChanged();
|
void localcontMethodChanged();
|
||||||
void origlcChanged();
|
void origlcChanged();
|
||||||
|
void processwavChanged();
|
||||||
void wavgradlChanged();
|
void wavgradlChanged();
|
||||||
void wavedgChanged();
|
void wavedgChanged();
|
||||||
void localedgMethodChanged();
|
void localedgMethodChanged();
|
||||||
@ -1693,9 +1726,11 @@ private:
|
|||||||
Adjuster* const reparcie;
|
Adjuster* const reparcie;
|
||||||
Gtk::CheckButton* const jabcie;
|
Gtk::CheckButton* const jabcie;
|
||||||
MyComboBoxText* const modecam;
|
MyComboBoxText* const modecam;
|
||||||
|
MyComboBoxText* const modeQJ;
|
||||||
MyComboBoxText* const modecie;
|
MyComboBoxText* const modecie;
|
||||||
Gtk::Frame* const jzFrame;
|
Gtk::Frame* const jzFrame;
|
||||||
Gtk::Box* const modeHBoxcam;
|
Gtk::Box* const modeHBoxcam;
|
||||||
|
Gtk::Box* const modeHBoxQJ;
|
||||||
Gtk::Box* const modeHBoxcie;
|
Gtk::Box* const modeHBoxcie;
|
||||||
Gtk::Frame* const cieFrame;
|
Gtk::Frame* const cieFrame;
|
||||||
MyExpander* const expcamscene;
|
MyExpander* const expcamscene;
|
||||||
@ -1721,7 +1756,6 @@ private:
|
|||||||
Adjuster* const jz100;
|
Adjuster* const jz100;
|
||||||
Adjuster* const pqremap;
|
Adjuster* const pqremap;
|
||||||
Adjuster* const pqremapcam16;
|
Adjuster* const pqremapcam16;
|
||||||
Gtk::CheckButton* const forcejz;
|
|
||||||
MyExpander* const expjz;
|
MyExpander* const expjz;
|
||||||
Gtk::Frame* const jzshFrame;
|
Gtk::Frame* const jzshFrame;
|
||||||
Adjuster* const hljzcie;
|
Adjuster* const hljzcie;
|
||||||
@ -1757,20 +1791,32 @@ private:
|
|||||||
Adjuster* const whiteEvjz;
|
Adjuster* const whiteEvjz;
|
||||||
Adjuster* const targetjz;
|
Adjuster* const targetjz;
|
||||||
Gtk::Frame* const bevwevFrame;
|
Gtk::Frame* const bevwevFrame;
|
||||||
Gtk::CheckButton* const forcebw;
|
Gtk::CheckButton* const sigybjz12;
|
||||||
|
ToolParamBlock* const sigBox12;
|
||||||
|
Gtk::Frame* const sigmoidFrame12;
|
||||||
|
Gtk::CheckButton* const sigq12;
|
||||||
|
Adjuster* const slopesmoq;
|
||||||
|
Adjuster* const sigmoidldacie12;
|
||||||
|
Adjuster* const sigmoidthcie12;
|
||||||
|
Adjuster* const sigmoidblcie12;
|
||||||
|
Gtk::Box* autocomprHBox;
|
||||||
|
Gtk::ToggleButton* const comprcieauto;
|
||||||
|
Gtk::CheckButton* const normcie12;
|
||||||
|
Gtk::CheckButton* const normcie;
|
||||||
|
Gtk::Box* const modeHBoxbwev12;
|
||||||
|
MyComboBoxText* const bwevMethod12;
|
||||||
|
Gtk::Box* const modeHBoxbwev;
|
||||||
|
MyComboBoxText* const bwevMethod;
|
||||||
|
|
||||||
ToolParamBlock* const sigBox;
|
ToolParamBlock* const sigBox;
|
||||||
Gtk::Frame* const sigmoidFrame;
|
Gtk::Frame* const sigmoidFrame;
|
||||||
Gtk::Frame* const sigmoidnormFrame;
|
|
||||||
Gtk::CheckButton* const sigq;
|
Gtk::CheckButton* const sigq;
|
||||||
|
Gtk::Frame* const sigmoidnormFrame;
|
||||||
Adjuster* const sigmoidldacie;
|
Adjuster* const sigmoidldacie;
|
||||||
Adjuster* const sigmoidthcie;
|
Adjuster* const sigmoidthcie;
|
||||||
Adjuster* const sigmoidsenscie;
|
Adjuster* const sigmoidsenscie;
|
||||||
Adjuster* const sigmoidblcie;
|
Adjuster* const sigmoidblcie;
|
||||||
Gtk::Box* autocomprHBox;
|
|
||||||
Gtk::ToggleButton* const comprcieauto;
|
|
||||||
Gtk::CheckButton* const normcie;
|
|
||||||
Gtk::Box* const modeHBoxbwev;
|
|
||||||
MyComboBoxText* const bwevMethod;
|
|
||||||
Gtk::Frame* const logcieFrame;
|
Gtk::Frame* const logcieFrame;
|
||||||
Gtk::CheckButton* const logcie;
|
Gtk::CheckButton* const logcie;
|
||||||
ToolParamBlock* const comprBox;
|
ToolParamBlock* const comprBox;
|
||||||
@ -1785,8 +1831,13 @@ private:
|
|||||||
Adjuster* const slopjcie;
|
Adjuster* const slopjcie;
|
||||||
Adjuster* const midtcie;
|
Adjuster* const midtcie;
|
||||||
Gtk::CheckButton* const smoothcie;
|
Gtk::CheckButton* const smoothcie;
|
||||||
|
Gtk::CheckButton* const smoothcielnk;
|
||||||
|
Gtk::CheckButton* const smoothcietrc;
|
||||||
|
Gtk::CheckButton* const smoothcietrcrel;
|
||||||
Gtk::CheckButton* const smoothcieyb;
|
Gtk::CheckButton* const smoothcieyb;
|
||||||
Gtk::CheckButton* const smoothcielum;
|
Gtk::CheckButton* const smoothcielum;
|
||||||
|
Gtk::CheckButton* const smoothciehigh;
|
||||||
|
Adjuster* const smoothcieth;
|
||||||
ToolParamBlock* const ciesmoothBox;
|
ToolParamBlock* const ciesmoothBox;
|
||||||
Gtk::Box* smoothBox;
|
Gtk::Box* smoothBox;
|
||||||
MyComboBoxText* const smoothciemet;
|
MyComboBoxText* const smoothciemet;
|
||||||
@ -1794,6 +1845,12 @@ private:
|
|||||||
Adjuster* const slopesmor;
|
Adjuster* const slopesmor;
|
||||||
Adjuster* const slopesmog;
|
Adjuster* const slopesmog;
|
||||||
Adjuster* const slopesmob;
|
Adjuster* const slopesmob;
|
||||||
|
Adjuster* const kslopesmor;
|
||||||
|
Adjuster* const kslopesmog;
|
||||||
|
Adjuster* const kslopesmob;
|
||||||
|
Adjuster* const contsig;
|
||||||
|
Adjuster* const skewsig;
|
||||||
|
Adjuster* const whitsig;
|
||||||
|
|
||||||
Adjuster* const whitescie;
|
Adjuster* const whitescie;
|
||||||
Adjuster* const blackscie;
|
Adjuster* const blackscie;
|
||||||
@ -1827,10 +1884,18 @@ private:
|
|||||||
Gtk::Box* bwcieBox;
|
Gtk::Box* bwcieBox;
|
||||||
Gtk::CheckButton* const bwcie;
|
Gtk::CheckButton* const bwcie;
|
||||||
|
|
||||||
|
Gtk::Frame* const sigmoidjzFrame12;
|
||||||
Gtk::Frame* const sigmoidjzFrame;
|
Gtk::Frame* const sigmoidjzFrame;
|
||||||
|
Gtk::Frame* const sigmoid2Frame12;
|
||||||
Gtk::Frame* const sigmoid2Frame;
|
Gtk::Frame* const sigmoid2Frame;
|
||||||
Gtk::CheckButton* const sigcie;
|
Gtk::CheckButton* const sigcie;
|
||||||
|
Gtk::CheckButton* const sigjz12;
|
||||||
|
Adjuster* const sigmoidldajzcie12;
|
||||||
|
Adjuster* const sigmoidthjzcie12;
|
||||||
|
Adjuster* const sigmoidbljzcie12;
|
||||||
|
|
||||||
Gtk::CheckButton* const sigjz;
|
Gtk::CheckButton* const sigjz;
|
||||||
|
Gtk::CheckButton* const forcebw;
|
||||||
Adjuster* const sigmoidldajzcie;
|
Adjuster* const sigmoidldajzcie;
|
||||||
Adjuster* const sigmoidthjzcie;
|
Adjuster* const sigmoidthjzcie;
|
||||||
Adjuster* const sigmoidbljzcie;
|
Adjuster* const sigmoidbljzcie;
|
||||||
@ -1927,7 +1992,7 @@ private:
|
|||||||
ThresholdAdjuster* const csThresholdcie;
|
ThresholdAdjuster* const csThresholdcie;
|
||||||
int nextcomprciecount = 0;
|
int nextcomprciecount = 0;
|
||||||
|
|
||||||
sigc::connection AutograycieConn, primMethodconn, illMethodconn, smoothciemetconn, catMethodconn, forcejzConn, forcebwConn, qtojConn, showmaskcieMethodConn, enacieMaskConn, enacieMaskallConn, jabcieConn, sursourcieconn, surroundcieconn, modecieconn, modecamconn, comprcieautoconn, normcieconn, logcieconn, satcieconn, logcieqconn,smoothcieconn, smoothcieybconn,smoothcielumconn, logjzconn, sigjzconn, sigqconn, chjzcieconn, toneMethodcieConn, toneMethodcieConn2, toolcieConn, bwevMethodConn, fftcieMaskConn, gamutcieconn, bwcieconn, expprecamconn, sigcieconn;
|
sigc::connection AutograycieConn, primMethodconn, illMethodconn, smoothciemetconn, catMethodconn, sigybjz12Conn, qtojConn, showmaskcieMethodConn, enacieMaskConn, enacieMaskallConn, jabcieConn, sursourcieconn, surroundcieconn, modecieconn, modecamconn, modeQJconn, comprcieautoconn, normcie12conn, normcieconn, logcieconn, satcieconn, logcieqconn, smoothcieconn, smoothcielnkconn, smoothciehighconn, smoothcietrcconn, smoothcietrcrelconn, smoothcieybconn,smoothcielumconn, logjzconn, sigjz12conn, forcebwconn, sigjzconn, sigq12conn, sigqconn, chjzcieconn, toneMethodcieConn, toneMethodcieConn2, toolcieConn, bwevMethod12Conn, bwevMethodConn,fftcieMaskConn, gamutcieconn, bwcieconn, expprecamconn, sigcieconn;
|
||||||
sigc::connection previewcieConn, sigmoidqjcieconn;
|
sigc::connection previewcieConn, sigmoidqjcieconn;
|
||||||
public:
|
public:
|
||||||
Locallabcie();
|
Locallabcie();
|
||||||
@ -1962,13 +2027,18 @@ public:
|
|||||||
void surroundcieChanged();
|
void surroundcieChanged();
|
||||||
void modecieChanged();
|
void modecieChanged();
|
||||||
void modecamChanged();
|
void modecamChanged();
|
||||||
|
void modeQJChanged();
|
||||||
|
void qjmodall();
|
||||||
|
void qjmodjz();
|
||||||
|
void qjmodcam();
|
||||||
void curveChanged(CurveEditor* ce) override;
|
void curveChanged(CurveEditor* ce) override;
|
||||||
void toneMethodcieChanged();
|
void toneMethodcieChanged();
|
||||||
void toneMethodcie2Changed();
|
void toneMethodcie2Changed();
|
||||||
|
void bwevMethod12Changed();
|
||||||
void bwevMethodChanged();
|
void bwevMethodChanged();
|
||||||
void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1);
|
void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1);
|
||||||
void updatePrimloc(const float redx, const float redy, const float grex, const float grey, const float blux, const float bluy);
|
void updatePrimloc(const float redx, const float redy, const float grex, const float grey, const float blux, const float bluy);
|
||||||
void updateiPrimloc(const float r_x, const float r_y, const float g_x, const float g_y, const float b_x, const float b_y, const float w_x, const float w_y, const float m_x, const float m_y, const float me_x, const float me_y, const int pri_);
|
void updateiPrimloc(const float r_x, const float r_y, const float g_x, const float g_y, const float b_x, const float b_y, const float w_x, const float w_y, const float m_x, const float m_y, const float me_x, const float me_y, const int pri_, const float slg, const bool lkg);
|
||||||
void updatesigloc(const float cont_sig, const float light_sig);
|
void updatesigloc(const float cont_sig, const float light_sig);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -1978,11 +2048,11 @@ private:
|
|||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
void complexityModeChanged();
|
void complexityModeChanged();
|
||||||
void AutograycieChanged();
|
void AutograycieChanged();
|
||||||
void forcejzChanged();
|
void sigybjz12Changed();
|
||||||
void forcebwChanged();
|
|
||||||
void qtojChanged();
|
void qtojChanged();
|
||||||
void jabcieChanged();
|
void jabcieChanged();
|
||||||
void comprcieautoChanged();
|
void comprcieautoChanged();
|
||||||
|
void normcie12Changed();
|
||||||
void normcieChanged();
|
void normcieChanged();
|
||||||
void gamutcieChanged();
|
void gamutcieChanged();
|
||||||
void bwcieChanged();
|
void bwcieChanged();
|
||||||
@ -1994,14 +2064,22 @@ private:
|
|||||||
void satcieChanged();
|
void satcieChanged();
|
||||||
void logcieqChanged();
|
void logcieqChanged();
|
||||||
void smoothcieChanged();
|
void smoothcieChanged();
|
||||||
|
void smoothcielnkChanged();
|
||||||
|
void smoothciehighChanged();
|
||||||
|
void smoothcietrcChanged();
|
||||||
|
void smoothcietrcrelChanged();
|
||||||
void smoothcieybChanged();
|
void smoothcieybChanged();
|
||||||
void smoothcielumChanged();
|
void smoothcielumChanged();
|
||||||
void sigcieChanged();
|
void sigcieChanged();
|
||||||
void logjzChanged();
|
void logjzChanged();
|
||||||
|
void sigjz12Changed();
|
||||||
void sigjzChanged();
|
void sigjzChanged();
|
||||||
|
void forcebwChanged();
|
||||||
|
void sigq12Changed();
|
||||||
void sigqChanged();
|
void sigqChanged();
|
||||||
void chjzcieChanged();
|
void chjzcieChanged();
|
||||||
void updatecieGUI();
|
void updatecieGUI();
|
||||||
|
void updatecielnkGUI();
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override;
|
||||||
void showmaskcieMethodChanged();
|
void showmaskcieMethodChanged();
|
||||||
void enacieMaskChanged();
|
void enacieMaskChanged();
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -197,6 +197,10 @@ void Options::updatePaths()
|
|||||||
lastToneCurvesDir = preferredPath;
|
lastToneCurvesDir = preferredPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (lastIcmCurvesDir.empty() || !Glib::file_test(lastIcmCurvesDir, Glib::FILE_TEST_EXISTS) || !Glib::file_test(lastIcmCurvesDir, Glib::FILE_TEST_IS_DIR)) {
|
||||||
|
lastIcmCurvesDir = preferredPath;
|
||||||
|
}
|
||||||
|
|
||||||
if (lastProfilingReferenceDir.empty() || !Glib::file_test(lastProfilingReferenceDir, Glib::FILE_TEST_EXISTS) || !Glib::file_test(lastProfilingReferenceDir, Glib::FILE_TEST_IS_DIR)) {
|
if (lastProfilingReferenceDir.empty() || !Glib::file_test(lastProfilingReferenceDir, Glib::FILE_TEST_EXISTS) || !Glib::file_test(lastProfilingReferenceDir, Glib::FILE_TEST_IS_DIR)) {
|
||||||
lastProfilingReferenceDir = preferredPath;
|
lastProfilingReferenceDir = preferredPath;
|
||||||
}
|
}
|
||||||
@ -691,6 +695,7 @@ void Options::setDefaults()
|
|||||||
lastPFCurvesDir = "";
|
lastPFCurvesDir = "";
|
||||||
lastHsvCurvesDir = "";
|
lastHsvCurvesDir = "";
|
||||||
lastToneCurvesDir = "";
|
lastToneCurvesDir = "";
|
||||||
|
lastIcmCurvesDir = "";
|
||||||
lastVibranceCurvesDir = "";
|
lastVibranceCurvesDir = "";
|
||||||
lastProfilingReferenceDir = "";
|
lastProfilingReferenceDir = "";
|
||||||
lastBWCurvesDir = "";
|
lastBWCurvesDir = "";
|
||||||
@ -2315,6 +2320,7 @@ void Options::readFromFile(Glib::ustring fname)
|
|||||||
safeDirGet(keyFile, "Dialogs", "LastBWCurvesDir", lastBWCurvesDir);
|
safeDirGet(keyFile, "Dialogs", "LastBWCurvesDir", lastBWCurvesDir);
|
||||||
|
|
||||||
safeDirGet(keyFile, "Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
|
safeDirGet(keyFile, "Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
|
||||||
|
safeDirGet(keyFile, "Dialogs", "LastIcmCurvesDir", lastIcmCurvesDir);
|
||||||
safeDirGet(keyFile, "Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
|
safeDirGet(keyFile, "Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
|
||||||
safeDirGet(keyFile, "Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
|
safeDirGet(keyFile, "Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
|
||||||
safeDirGet(keyFile, "Dialogs", "LastLensProfileDir", lastLensProfileDir);
|
safeDirGet(keyFile, "Dialogs", "LastLensProfileDir", lastLensProfileDir);
|
||||||
@ -2811,6 +2817,7 @@ void Options::saveToFile(Glib::ustring fname)
|
|||||||
keyFile.set_string("Dialogs", "LastHsvCurvesDir", lastHsvCurvesDir);
|
keyFile.set_string("Dialogs", "LastHsvCurvesDir", lastHsvCurvesDir);
|
||||||
keyFile.set_string("Dialogs", "LastBWCurvesDir", lastBWCurvesDir);
|
keyFile.set_string("Dialogs", "LastBWCurvesDir", lastBWCurvesDir);
|
||||||
keyFile.set_string("Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
|
keyFile.set_string("Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
|
||||||
|
keyFile.set_string("Dialogs", "LastIcmCurvesDir", lastIcmCurvesDir);
|
||||||
keyFile.set_string("Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
|
keyFile.set_string("Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
|
||||||
keyFile.set_string("Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
|
keyFile.set_string("Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
|
||||||
keyFile.set_string("Dialogs", "LastLensProfileDir", lastLensProfileDir);
|
keyFile.set_string("Dialogs", "LastLensProfileDir", lastLensProfileDir);
|
||||||
|
@ -486,6 +486,7 @@ public:
|
|||||||
Glib::ustring lastRetinexDir;
|
Glib::ustring lastRetinexDir;
|
||||||
Glib::ustring lastDenoiseCurvesDir;
|
Glib::ustring lastDenoiseCurvesDir;
|
||||||
Glib::ustring lastWaveletCurvesDir;
|
Glib::ustring lastWaveletCurvesDir;
|
||||||
|
Glib::ustring lastIcmCurvesDir;
|
||||||
Glib::ustring lastlocalCurvesDir;
|
Glib::ustring lastlocalCurvesDir;
|
||||||
Glib::ustring lastPFCurvesDir;
|
Glib::ustring lastPFCurvesDir;
|
||||||
Glib::ustring lastHsvCurvesDir;
|
Glib::ustring lastHsvCurvesDir;
|
||||||
|
@ -600,9 +600,14 @@ void ParamsEdited::set(bool v)
|
|||||||
icm.outputProfile = v;
|
icm.outputProfile = v;
|
||||||
icm.outputIntent = v;
|
icm.outputIntent = v;
|
||||||
icm.outputBPC = v;
|
icm.outputBPC = v;
|
||||||
icm.workingTRCGamma = v;
|
icm.wGamma = v;
|
||||||
icm.workingTRCSlope = v;
|
icm.wSlope = v;
|
||||||
icm.wmidtcie = v;
|
icm.wmidtcie = v;
|
||||||
|
icm.sigmatrc = v;
|
||||||
|
icm.offstrc = v;
|
||||||
|
icm.residtrc = v;
|
||||||
|
icm.pyrwavtrc = v;
|
||||||
|
icm.opacityCurveWLI = v;
|
||||||
icm.wsmoothcie = v;
|
icm.wsmoothcie = v;
|
||||||
icm.redx = v;
|
icm.redx = v;
|
||||||
icm.redy = v;
|
icm.redy = v;
|
||||||
@ -616,6 +621,7 @@ void ParamsEdited::set(bool v)
|
|||||||
icm.preser = v;
|
icm.preser = v;
|
||||||
icm.fbw = v;
|
icm.fbw = v;
|
||||||
icm.trcExp = v;
|
icm.trcExp = v;
|
||||||
|
icm.wavExp = v;
|
||||||
icm.gamut = v;
|
icm.gamut = v;
|
||||||
icm.labgridcieALow = v;
|
icm.labgridcieALow = v;
|
||||||
icm.labgridcieBLow = v;
|
icm.labgridcieBLow = v;
|
||||||
@ -1365,7 +1371,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).llcurve = locallab.spots.at(j).llcurve && pSpot.llcurve == otherSpot.llcurve;
|
locallab.spots.at(j).llcurve = locallab.spots.at(j).llcurve && pSpot.llcurve == otherSpot.llcurve;
|
||||||
locallab.spots.at(j).lccurve = locallab.spots.at(j).lccurve && pSpot.lccurve == otherSpot.lccurve;
|
locallab.spots.at(j).lccurve = locallab.spots.at(j).lccurve && pSpot.lccurve == otherSpot.lccurve;
|
||||||
locallab.spots.at(j).cccurve = locallab.spots.at(j).cccurve && pSpot.cccurve == otherSpot.cccurve;
|
locallab.spots.at(j).cccurve = locallab.spots.at(j).cccurve && pSpot.cccurve == otherSpot.cccurve;
|
||||||
locallab.spots.at(j).clcurve = locallab.spots.at(j).clcurve && pSpot.cccurve == otherSpot.clcurve;
|
locallab.spots.at(j).clcurve = locallab.spots.at(j).clcurve && pSpot.clcurve == otherSpot.clcurve;
|
||||||
locallab.spots.at(j).rgbcurve = locallab.spots.at(j).rgbcurve && pSpot.rgbcurve == otherSpot.rgbcurve;
|
locallab.spots.at(j).rgbcurve = locallab.spots.at(j).rgbcurve && pSpot.rgbcurve == otherSpot.rgbcurve;
|
||||||
locallab.spots.at(j).LHcurve = locallab.spots.at(j).LHcurve && pSpot.LHcurve == otherSpot.LHcurve;
|
locallab.spots.at(j).LHcurve = locallab.spots.at(j).LHcurve && pSpot.LHcurve == otherSpot.LHcurve;
|
||||||
locallab.spots.at(j).HHcurve = locallab.spots.at(j).HHcurve && pSpot.HHcurve == otherSpot.HHcurve;
|
locallab.spots.at(j).HHcurve = locallab.spots.at(j).HHcurve && pSpot.HHcurve == otherSpot.HHcurve;
|
||||||
@ -1702,6 +1708,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).lcdarkness = locallab.spots.at(j).lcdarkness && pSpot.lcdarkness == otherSpot.lcdarkness;
|
locallab.spots.at(j).lcdarkness = locallab.spots.at(j).lcdarkness && pSpot.lcdarkness == otherSpot.lcdarkness;
|
||||||
locallab.spots.at(j).lclightness = locallab.spots.at(j).lclightness && pSpot.lclightness == otherSpot.lclightness;
|
locallab.spots.at(j).lclightness = locallab.spots.at(j).lclightness && pSpot.lclightness == otherSpot.lclightness;
|
||||||
locallab.spots.at(j).sigmalc = locallab.spots.at(j).sigmalc && pSpot.sigmalc == otherSpot.sigmalc;
|
locallab.spots.at(j).sigmalc = locallab.spots.at(j).sigmalc && pSpot.sigmalc == otherSpot.sigmalc;
|
||||||
|
locallab.spots.at(j).offslc = locallab.spots.at(j).offslc && pSpot.offslc == otherSpot.offslc;
|
||||||
locallab.spots.at(j).levelwav = locallab.spots.at(j).levelwav && pSpot.levelwav == otherSpot.levelwav;
|
locallab.spots.at(j).levelwav = locallab.spots.at(j).levelwav && pSpot.levelwav == otherSpot.levelwav;
|
||||||
locallab.spots.at(j).residcont = locallab.spots.at(j).residcont && pSpot.residcont == otherSpot.residcont;
|
locallab.spots.at(j).residcont = locallab.spots.at(j).residcont && pSpot.residcont == otherSpot.residcont;
|
||||||
locallab.spots.at(j).residsha = locallab.spots.at(j).residsha && pSpot.residsha == otherSpot.residsha;
|
locallab.spots.at(j).residsha = locallab.spots.at(j).residsha && pSpot.residsha == otherSpot.residsha;
|
||||||
@ -1753,6 +1760,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).wavgradl = locallab.spots.at(j).wavgradl && pSpot.wavgradl == otherSpot.wavgradl;
|
locallab.spots.at(j).wavgradl = locallab.spots.at(j).wavgradl && pSpot.wavgradl == otherSpot.wavgradl;
|
||||||
locallab.spots.at(j).wavcompre = locallab.spots.at(j).wavcompre && pSpot.wavcompre == otherSpot.wavcompre;
|
locallab.spots.at(j).wavcompre = locallab.spots.at(j).wavcompre && pSpot.wavcompre == otherSpot.wavcompre;
|
||||||
locallab.spots.at(j).origlc = locallab.spots.at(j).origlc && pSpot.origlc == otherSpot.origlc;
|
locallab.spots.at(j).origlc = locallab.spots.at(j).origlc && pSpot.origlc == otherSpot.origlc;
|
||||||
|
locallab.spots.at(j).processwav = locallab.spots.at(j).processwav && pSpot.processwav == otherSpot.processwav;
|
||||||
locallab.spots.at(j).localcontMethod = locallab.spots.at(j).localcontMethod && pSpot.localcontMethod == otherSpot.localcontMethod;
|
locallab.spots.at(j).localcontMethod = locallab.spots.at(j).localcontMethod && pSpot.localcontMethod == otherSpot.localcontMethod;
|
||||||
locallab.spots.at(j).localedgMethod = locallab.spots.at(j).localedgMethod && pSpot.localedgMethod == otherSpot.localedgMethod;
|
locallab.spots.at(j).localedgMethod = locallab.spots.at(j).localedgMethod && pSpot.localedgMethod == otherSpot.localedgMethod;
|
||||||
locallab.spots.at(j).localneiMethod = locallab.spots.at(j).localneiMethod && pSpot.localneiMethod == otherSpot.localneiMethod;
|
locallab.spots.at(j).localneiMethod = locallab.spots.at(j).localneiMethod && pSpot.localneiMethod == otherSpot.localneiMethod;
|
||||||
@ -1896,11 +1904,11 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).reparcie = locallab.spots.at(j).reparcie && pSpot.reparcie == otherSpot.reparcie;
|
locallab.spots.at(j).reparcie = locallab.spots.at(j).reparcie && pSpot.reparcie == otherSpot.reparcie;
|
||||||
locallab.spots.at(j).sensicie = locallab.spots.at(j).sensicie && pSpot.sensicie == otherSpot.sensicie;
|
locallab.spots.at(j).sensicie = locallab.spots.at(j).sensicie && pSpot.sensicie == otherSpot.sensicie;
|
||||||
locallab.spots.at(j).Autograycie = locallab.spots.at(j).Autograycie && pSpot.Autograycie == otherSpot.Autograycie;
|
locallab.spots.at(j).Autograycie = locallab.spots.at(j).Autograycie && pSpot.Autograycie == otherSpot.Autograycie;
|
||||||
locallab.spots.at(j).forcejz = locallab.spots.at(j).forcejz && pSpot.forcejz == otherSpot.forcejz;
|
locallab.spots.at(j).sigybjz12 = locallab.spots.at(j).sigybjz12 && pSpot.sigybjz12 == otherSpot.sigybjz12;
|
||||||
locallab.spots.at(j).forcebw = locallab.spots.at(j).forcebw && pSpot.forcebw == otherSpot.forcebw;
|
|
||||||
locallab.spots.at(j).qtoj = locallab.spots.at(j).qtoj && pSpot.qtoj == otherSpot.qtoj;
|
locallab.spots.at(j).qtoj = locallab.spots.at(j).qtoj && pSpot.qtoj == otherSpot.qtoj;
|
||||||
locallab.spots.at(j).jabcie = locallab.spots.at(j).jabcie && pSpot.jabcie == otherSpot.jabcie;
|
locallab.spots.at(j).jabcie = locallab.spots.at(j).jabcie && pSpot.jabcie == otherSpot.jabcie;
|
||||||
locallab.spots.at(j).comprcieauto = locallab.spots.at(j).comprcieauto && pSpot.comprcieauto == otherSpot.comprcieauto;
|
locallab.spots.at(j).comprcieauto = locallab.spots.at(j).comprcieauto && pSpot.comprcieauto == otherSpot.comprcieauto;
|
||||||
|
locallab.spots.at(j).normcie12 = locallab.spots.at(j).normcie12 && pSpot.normcie12 == otherSpot.normcie12;
|
||||||
locallab.spots.at(j).normcie = locallab.spots.at(j).normcie && pSpot.normcie == otherSpot.normcie;
|
locallab.spots.at(j).normcie = locallab.spots.at(j).normcie && pSpot.normcie == otherSpot.normcie;
|
||||||
locallab.spots.at(j).gamutcie = locallab.spots.at(j).gamutcie && pSpot.gamutcie == otherSpot.gamutcie;
|
locallab.spots.at(j).gamutcie = locallab.spots.at(j).gamutcie && pSpot.gamutcie == otherSpot.gamutcie;
|
||||||
locallab.spots.at(j).bwcie = locallab.spots.at(j).bwcie && pSpot.bwcie == otherSpot.bwcie;
|
locallab.spots.at(j).bwcie = locallab.spots.at(j).bwcie && pSpot.bwcie == otherSpot.bwcie;
|
||||||
@ -1909,16 +1917,25 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).satcie = locallab.spots.at(j).satcie && pSpot.satcie == otherSpot.satcie;
|
locallab.spots.at(j).satcie = locallab.spots.at(j).satcie && pSpot.satcie == otherSpot.satcie;
|
||||||
locallab.spots.at(j).logcieq = locallab.spots.at(j).logcieq && pSpot.logcieq == otherSpot.logcieq;
|
locallab.spots.at(j).logcieq = locallab.spots.at(j).logcieq && pSpot.logcieq == otherSpot.logcieq;
|
||||||
locallab.spots.at(j).smoothcie = locallab.spots.at(j).smoothcie && pSpot.smoothcie == otherSpot.smoothcie;
|
locallab.spots.at(j).smoothcie = locallab.spots.at(j).smoothcie && pSpot.smoothcie == otherSpot.smoothcie;
|
||||||
|
locallab.spots.at(j).smoothcietrc = locallab.spots.at(j).smoothcietrc && pSpot.smoothcietrc == otherSpot.smoothcietrc;
|
||||||
|
locallab.spots.at(j).smoothcietrcrel = locallab.spots.at(j).smoothcietrcrel && pSpot.smoothcietrcrel == otherSpot.smoothcietrcrel;
|
||||||
locallab.spots.at(j).smoothcieyb = locallab.spots.at(j).smoothcieyb && pSpot.smoothcieyb == otherSpot.smoothcieyb;
|
locallab.spots.at(j).smoothcieyb = locallab.spots.at(j).smoothcieyb && pSpot.smoothcieyb == otherSpot.smoothcieyb;
|
||||||
locallab.spots.at(j).smoothcielum = locallab.spots.at(j).smoothcielum && pSpot.smoothcielum == otherSpot.smoothcielum;
|
locallab.spots.at(j).smoothcielum = locallab.spots.at(j).smoothcielum && pSpot.smoothcielum == otherSpot.smoothcielum;
|
||||||
|
locallab.spots.at(j).smoothciehigh = locallab.spots.at(j).smoothciehigh && pSpot.smoothciehigh == otherSpot.smoothciehigh;
|
||||||
|
locallab.spots.at(j).smoothcielnk = locallab.spots.at(j).smoothcielnk && pSpot.smoothcielnk == otherSpot.smoothcielnk;
|
||||||
locallab.spots.at(j).logjz = locallab.spots.at(j).logjz && pSpot.logjz == otherSpot.logjz;
|
locallab.spots.at(j).logjz = locallab.spots.at(j).logjz && pSpot.logjz == otherSpot.logjz;
|
||||||
|
locallab.spots.at(j).sigjz12 = locallab.spots.at(j).sigjz12 && pSpot.sigjz12 == otherSpot.sigjz12;
|
||||||
locallab.spots.at(j).sigjz = locallab.spots.at(j).sigjz && pSpot.sigjz == otherSpot.sigjz;
|
locallab.spots.at(j).sigjz = locallab.spots.at(j).sigjz && pSpot.sigjz == otherSpot.sigjz;
|
||||||
|
locallab.spots.at(j).forcebw = locallab.spots.at(j).forcebw && pSpot.forcebw == otherSpot.forcebw;
|
||||||
|
locallab.spots.at(j).sigq12 = locallab.spots.at(j).sigq12 && pSpot.sigq12 == otherSpot.sigq12;
|
||||||
locallab.spots.at(j).sigq = locallab.spots.at(j).sigq && pSpot.sigq == otherSpot.sigq;
|
locallab.spots.at(j).sigq = locallab.spots.at(j).sigq && pSpot.sigq == otherSpot.sigq;
|
||||||
locallab.spots.at(j).chjzcie = locallab.spots.at(j).chjzcie && pSpot.chjzcie == otherSpot.chjzcie;
|
locallab.spots.at(j).chjzcie = locallab.spots.at(j).chjzcie && pSpot.chjzcie == otherSpot.chjzcie;
|
||||||
locallab.spots.at(j).sourceGraycie = locallab.spots.at(j).sourceGraycie && pSpot.sourceGraycie == otherSpot.sourceGraycie;
|
locallab.spots.at(j).sourceGraycie = locallab.spots.at(j).sourceGraycie && pSpot.sourceGraycie == otherSpot.sourceGraycie;
|
||||||
locallab.spots.at(j).sourceabscie = locallab.spots.at(j).sourceabscie && pSpot.sourceabscie == otherSpot.sourceabscie;
|
locallab.spots.at(j).sourceabscie = locallab.spots.at(j).sourceabscie && pSpot.sourceabscie == otherSpot.sourceabscie;
|
||||||
locallab.spots.at(j).sursourcie = locallab.spots.at(j).sursourcie && pSpot.sursourcie == otherSpot.sursourcie;
|
locallab.spots.at(j).sursourcie = locallab.spots.at(j).sursourcie && pSpot.sursourcie == otherSpot.sursourcie;
|
||||||
locallab.spots.at(j).modecam = locallab.spots.at(j).modecam && pSpot.modecam == otherSpot.modecam;
|
locallab.spots.at(j).modecam = locallab.spots.at(j).modecam && pSpot.modecam == otherSpot.modecam;
|
||||||
|
locallab.spots.at(j).modeQJ = locallab.spots.at(j).modeQJ && pSpot.modeQJ == otherSpot.modeQJ;
|
||||||
|
locallab.spots.at(j).bwevMethod12 = locallab.spots.at(j).bwevMethod12 && pSpot.bwevMethod12 == otherSpot.bwevMethod12;
|
||||||
locallab.spots.at(j).bwevMethod = locallab.spots.at(j).bwevMethod && pSpot.bwevMethod == otherSpot.bwevMethod;
|
locallab.spots.at(j).bwevMethod = locallab.spots.at(j).bwevMethod && pSpot.bwevMethod == otherSpot.bwevMethod;
|
||||||
locallab.spots.at(j).modecie = locallab.spots.at(j).modecie && pSpot.modecie == otherSpot.modecie;
|
locallab.spots.at(j).modecie = locallab.spots.at(j).modecie && pSpot.modecie == otherSpot.modecie;
|
||||||
locallab.spots.at(j).saturlcie = locallab.spots.at(j).saturlcie && pSpot.saturlcie == otherSpot.saturlcie;
|
locallab.spots.at(j).saturlcie = locallab.spots.at(j).saturlcie && pSpot.saturlcie == otherSpot.saturlcie;
|
||||||
@ -1961,19 +1978,33 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).blackEvjz = locallab.spots.at(j).blackEvjz && pSpot.blackEvjz == otherSpot.blackEvjz;
|
locallab.spots.at(j).blackEvjz = locallab.spots.at(j).blackEvjz && pSpot.blackEvjz == otherSpot.blackEvjz;
|
||||||
locallab.spots.at(j).whiteEvjz = locallab.spots.at(j).whiteEvjz && pSpot.whiteEvjz == otherSpot.whiteEvjz;
|
locallab.spots.at(j).whiteEvjz = locallab.spots.at(j).whiteEvjz && pSpot.whiteEvjz == otherSpot.whiteEvjz;
|
||||||
locallab.spots.at(j).targetjz = locallab.spots.at(j).targetjz && pSpot.targetjz == otherSpot.targetjz;
|
locallab.spots.at(j).targetjz = locallab.spots.at(j).targetjz && pSpot.targetjz == otherSpot.targetjz;
|
||||||
|
locallab.spots.at(j).sigmoidldacie12 = locallab.spots.at(j).sigmoidldacie12 && pSpot.sigmoidldacie12 == otherSpot.sigmoidldacie12;
|
||||||
|
locallab.spots.at(j).sigmoidthcie12 = locallab.spots.at(j).sigmoidthcie12 && pSpot.sigmoidthcie12 == otherSpot.sigmoidthcie12;
|
||||||
|
locallab.spots.at(j).sigmoidblcie12 = locallab.spots.at(j).sigmoidblcie12 && pSpot.sigmoidblcie12 == otherSpot.sigmoidblcie12;
|
||||||
|
|
||||||
locallab.spots.at(j).sigmoidldacie = locallab.spots.at(j).sigmoidldacie && pSpot.sigmoidldacie == otherSpot.sigmoidldacie;
|
locallab.spots.at(j).sigmoidldacie = locallab.spots.at(j).sigmoidldacie && pSpot.sigmoidldacie == otherSpot.sigmoidldacie;
|
||||||
locallab.spots.at(j).sigmoidthcie = locallab.spots.at(j).sigmoidthcie && pSpot.sigmoidthcie == otherSpot.sigmoidthcie;
|
locallab.spots.at(j).sigmoidthcie = locallab.spots.at(j).sigmoidthcie && pSpot.sigmoidthcie == otherSpot.sigmoidthcie;
|
||||||
locallab.spots.at(j).sigmoidsenscie = locallab.spots.at(j).sigmoidsenscie && pSpot.sigmoidsenscie == otherSpot.sigmoidsenscie;
|
locallab.spots.at(j).sigmoidsenscie = locallab.spots.at(j).sigmoidsenscie && pSpot.sigmoidsenscie == otherSpot.sigmoidsenscie;
|
||||||
locallab.spots.at(j).sigmoidblcie = locallab.spots.at(j).sigmoidblcie && pSpot.sigmoidblcie == otherSpot.sigmoidblcie;
|
locallab.spots.at(j).sigmoidblcie = locallab.spots.at(j).sigmoidblcie && pSpot.sigmoidblcie == otherSpot.sigmoidblcie;
|
||||||
|
|
||||||
locallab.spots.at(j).comprcie = locallab.spots.at(j).comprcie && pSpot.comprcie == otherSpot.comprcie;
|
locallab.spots.at(j).comprcie = locallab.spots.at(j).comprcie && pSpot.comprcie == otherSpot.comprcie;
|
||||||
locallab.spots.at(j).strcielog = locallab.spots.at(j).strcielog && pSpot.strcielog == otherSpot.strcielog;
|
locallab.spots.at(j).strcielog = locallab.spots.at(j).strcielog && pSpot.strcielog == otherSpot.strcielog;
|
||||||
locallab.spots.at(j).comprcieth = locallab.spots.at(j).comprcieth && pSpot.comprcieth == otherSpot.comprcieth;
|
locallab.spots.at(j).comprcieth = locallab.spots.at(j).comprcieth && pSpot.comprcieth == otherSpot.comprcieth;
|
||||||
locallab.spots.at(j).gamjcie = locallab.spots.at(j).gamjcie && pSpot.gamjcie == otherSpot.gamjcie;
|
locallab.spots.at(j).gamjcie = locallab.spots.at(j).gamjcie && pSpot.gamjcie == otherSpot.gamjcie;
|
||||||
|
locallab.spots.at(j).smoothcieth = locallab.spots.at(j).smoothcieth && pSpot.smoothcieth == otherSpot.smoothcieth;
|
||||||
locallab.spots.at(j).slopjcie = locallab.spots.at(j).slopjcie && pSpot.slopjcie == otherSpot.slopjcie;
|
locallab.spots.at(j).slopjcie = locallab.spots.at(j).slopjcie && pSpot.slopjcie == otherSpot.slopjcie;
|
||||||
locallab.spots.at(j).slopesmo = locallab.spots.at(j).slopesmo && pSpot.slopesmo == otherSpot.slopesmo;
|
locallab.spots.at(j).slopesmo = locallab.spots.at(j).slopesmo && pSpot.slopesmo == otherSpot.slopesmo;
|
||||||
|
locallab.spots.at(j).slopesmoq = locallab.spots.at(j).slopesmoq && pSpot.slopesmoq == otherSpot.slopesmoq;
|
||||||
locallab.spots.at(j).slopesmor = locallab.spots.at(j).slopesmor && pSpot.slopesmor == otherSpot.slopesmor;
|
locallab.spots.at(j).slopesmor = locallab.spots.at(j).slopesmor && pSpot.slopesmor == otherSpot.slopesmor;
|
||||||
locallab.spots.at(j).slopesmog = locallab.spots.at(j).slopesmog && pSpot.slopesmog == otherSpot.slopesmog;
|
locallab.spots.at(j).slopesmog = locallab.spots.at(j).slopesmog && pSpot.slopesmog == otherSpot.slopesmog;
|
||||||
locallab.spots.at(j).slopesmob = locallab.spots.at(j).slopesmob && pSpot.slopesmob == otherSpot.slopesmob;
|
locallab.spots.at(j).slopesmob = locallab.spots.at(j).slopesmob && pSpot.slopesmob == otherSpot.slopesmob;
|
||||||
|
locallab.spots.at(j).contsig = locallab.spots.at(j).contsig && pSpot.contsig == otherSpot.contsig;
|
||||||
|
locallab.spots.at(j).skewsig = locallab.spots.at(j).skewsig && pSpot.skewsig == otherSpot.skewsig;
|
||||||
|
locallab.spots.at(j).whitsig = locallab.spots.at(j).whitsig && pSpot.whitsig == otherSpot.whitsig;
|
||||||
|
|
||||||
|
locallab.spots.at(j).kslopesmor = locallab.spots.at(j).kslopesmor && pSpot.kslopesmor == otherSpot.kslopesmor;
|
||||||
|
locallab.spots.at(j).kslopesmog = locallab.spots.at(j).kslopesmog && pSpot.kslopesmog == otherSpot.kslopesmog;
|
||||||
|
locallab.spots.at(j).kslopesmob = locallab.spots.at(j).kslopesmob && pSpot.kslopesmob == otherSpot.kslopesmob;
|
||||||
locallab.spots.at(j).midtcie = locallab.spots.at(j).midtcie && pSpot.midtcie == otherSpot.midtcie;
|
locallab.spots.at(j).midtcie = locallab.spots.at(j).midtcie && pSpot.midtcie == otherSpot.midtcie;
|
||||||
locallab.spots.at(j).grexl = locallab.spots.at(j).grexl && pSpot.grexl == otherSpot.grexl;
|
locallab.spots.at(j).grexl = locallab.spots.at(j).grexl && pSpot.grexl == otherSpot.grexl;
|
||||||
locallab.spots.at(j).greyl = locallab.spots.at(j).greyl && pSpot.greyl == otherSpot.greyl;
|
locallab.spots.at(j).greyl = locallab.spots.at(j).greyl && pSpot.greyl == otherSpot.greyl;
|
||||||
@ -2001,9 +2032,14 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).smoothciemet = locallab.spots.at(j).smoothciemet && pSpot.smoothciemet == otherSpot.smoothciemet;
|
locallab.spots.at(j).smoothciemet = locallab.spots.at(j).smoothciemet && pSpot.smoothciemet == otherSpot.smoothciemet;
|
||||||
locallab.spots.at(j).primMethod = locallab.spots.at(j).primMethod && pSpot.primMethod == otherSpot.primMethod;
|
locallab.spots.at(j).primMethod = locallab.spots.at(j).primMethod && pSpot.primMethod == otherSpot.primMethod;
|
||||||
locallab.spots.at(j).catMethod = locallab.spots.at(j).catMethod && pSpot.catMethod == otherSpot.catMethod;
|
locallab.spots.at(j).catMethod = locallab.spots.at(j).catMethod && pSpot.catMethod == otherSpot.catMethod;
|
||||||
|
locallab.spots.at(j).sigmoidldajzcie12 = locallab.spots.at(j).sigmoidldajzcie12 && pSpot.sigmoidldajzcie12 == otherSpot.sigmoidldajzcie12;
|
||||||
|
locallab.spots.at(j).sigmoidthjzcie12 = locallab.spots.at(j).sigmoidthjzcie12 && pSpot.sigmoidthjzcie12 == otherSpot.sigmoidthjzcie12;
|
||||||
|
locallab.spots.at(j).sigmoidbljzcie12 = locallab.spots.at(j).sigmoidbljzcie12 && pSpot.sigmoidbljzcie12 == otherSpot.sigmoidbljzcie12;
|
||||||
|
|
||||||
locallab.spots.at(j).sigmoidldajzcie = locallab.spots.at(j).sigmoidldajzcie && pSpot.sigmoidldajzcie == otherSpot.sigmoidldajzcie;
|
locallab.spots.at(j).sigmoidldajzcie = locallab.spots.at(j).sigmoidldajzcie && pSpot.sigmoidldajzcie == otherSpot.sigmoidldajzcie;
|
||||||
locallab.spots.at(j).sigmoidthjzcie = locallab.spots.at(j).sigmoidthjzcie && pSpot.sigmoidthjzcie == otherSpot.sigmoidthjzcie;
|
locallab.spots.at(j).sigmoidthjzcie = locallab.spots.at(j).sigmoidthjzcie && pSpot.sigmoidthjzcie == otherSpot.sigmoidthjzcie;
|
||||||
locallab.spots.at(j).sigmoidbljzcie = locallab.spots.at(j).sigmoidbljzcie && pSpot.sigmoidbljzcie == otherSpot.sigmoidbljzcie;
|
locallab.spots.at(j).sigmoidbljzcie = locallab.spots.at(j).sigmoidbljzcie && pSpot.sigmoidbljzcie == otherSpot.sigmoidbljzcie;
|
||||||
|
|
||||||
locallab.spots.at(j).contqcie = locallab.spots.at(j).contqcie && pSpot.contqcie == otherSpot.contqcie;
|
locallab.spots.at(j).contqcie = locallab.spots.at(j).contqcie && pSpot.contqcie == otherSpot.contqcie;
|
||||||
locallab.spots.at(j).contsigqcie = locallab.spots.at(j).contsigqcie && pSpot.contsigqcie == otherSpot.contsigqcie;
|
locallab.spots.at(j).contsigqcie = locallab.spots.at(j).contsigqcie && pSpot.contsigqcie == otherSpot.contsigqcie;
|
||||||
locallab.spots.at(j).colorflcie = locallab.spots.at(j).colorflcie && pSpot.colorflcie == otherSpot.colorflcie;
|
locallab.spots.at(j).colorflcie = locallab.spots.at(j).colorflcie && pSpot.colorflcie == otherSpot.colorflcie;
|
||||||
@ -2129,9 +2165,14 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
icm.outputProfile = icm.outputProfile && p.icm.outputProfile == other.icm.outputProfile;
|
icm.outputProfile = icm.outputProfile && p.icm.outputProfile == other.icm.outputProfile;
|
||||||
icm.outputIntent = icm.outputIntent && p.icm.outputIntent == other.icm.outputIntent;
|
icm.outputIntent = icm.outputIntent && p.icm.outputIntent == other.icm.outputIntent;
|
||||||
icm.outputBPC = icm.outputBPC && p.icm.outputBPC == other.icm.outputBPC ;
|
icm.outputBPC = icm.outputBPC && p.icm.outputBPC == other.icm.outputBPC ;
|
||||||
icm.workingTRCGamma = icm.workingTRCGamma && p.icm.workingTRCGamma == other.icm.workingTRCGamma;
|
icm.wGamma = icm.wGamma && p.icm.wGamma == other.icm.wGamma;
|
||||||
icm.workingTRCSlope = icm.workingTRCSlope && p.icm.workingTRCSlope == other.icm.workingTRCSlope;
|
icm.wSlope = icm.wSlope && p.icm.wSlope == other.icm.wSlope;
|
||||||
icm.wmidtcie = icm.wmidtcie && p.icm.wmidtcie == other.icm.wmidtcie;
|
icm.wmidtcie = icm.wmidtcie && p.icm.wmidtcie == other.icm.wmidtcie;
|
||||||
|
icm.sigmatrc = icm.sigmatrc && p.icm.sigmatrc == other.icm.sigmatrc;
|
||||||
|
icm.offstrc = icm.offstrc && p.icm.offstrc == other.icm.offstrc;
|
||||||
|
icm.residtrc = icm.residtrc && p.icm.residtrc == other.icm.residtrc;
|
||||||
|
icm.pyrwavtrc = icm.pyrwavtrc && p.icm.pyrwavtrc == other.icm.pyrwavtrc;
|
||||||
|
icm.opacityCurveWLI = icm.opacityCurveWLI && p.icm.opacityCurveWLI == other.icm.opacityCurveWLI;
|
||||||
icm.wsmoothcie = icm.wsmoothcie && p.icm.wsmoothcie == other.icm.wsmoothcie;
|
icm.wsmoothcie = icm.wsmoothcie && p.icm.wsmoothcie == other.icm.wsmoothcie;
|
||||||
icm.redx = icm.redx && p.icm.redx == other.icm.redx;
|
icm.redx = icm.redx && p.icm.redx == other.icm.redx;
|
||||||
icm.redy = icm.redy && p.icm.redy == other.icm.redy;
|
icm.redy = icm.redy && p.icm.redy == other.icm.redy;
|
||||||
@ -2155,6 +2196,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
icm.preser = icm.preser && p.icm.preser == other.icm.preser;
|
icm.preser = icm.preser && p.icm.preser == other.icm.preser;
|
||||||
icm.fbw = icm.fbw && p.icm.fbw == other.icm.fbw;
|
icm.fbw = icm.fbw && p.icm.fbw == other.icm.fbw;
|
||||||
icm.trcExp = icm.trcExp && p.icm.trcExp == other.icm.trcExp;
|
icm.trcExp = icm.trcExp && p.icm.trcExp == other.icm.trcExp;
|
||||||
|
icm.wavExp = icm.wavExp && p.icm.wavExp == other.icm.wavExp;
|
||||||
icm.gamut = icm.gamut && p.icm.gamut == other.icm.gamut;
|
icm.gamut = icm.gamut && p.icm.gamut == other.icm.gamut;
|
||||||
icm.aRendIntent = icm.aRendIntent && p.icm.aRendIntent == other.icm.aRendIntent;
|
icm.aRendIntent = icm.aRendIntent && p.icm.aRendIntent == other.icm.aRendIntent;
|
||||||
icm.workingTRC = icm.workingTRC && p.icm.workingTRC == other.icm.workingTRC;
|
icm.workingTRC = icm.workingTRC && p.icm.workingTRC == other.icm.workingTRC;
|
||||||
@ -5449,6 +5491,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).sigmalc = mods.locallab.spots.at(i).sigmalc;
|
toEdit.locallab.spots.at(i).sigmalc = mods.locallab.spots.at(i).sigmalc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).offslc) {
|
||||||
|
toEdit.locallab.spots.at(i).offslc = mods.locallab.spots.at(i).offslc;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).levelwav) {
|
if (locallab.spots.at(i).levelwav) {
|
||||||
toEdit.locallab.spots.at(i).levelwav = mods.locallab.spots.at(i).levelwav;
|
toEdit.locallab.spots.at(i).levelwav = mods.locallab.spots.at(i).levelwav;
|
||||||
}
|
}
|
||||||
@ -5654,6 +5700,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).origlc = mods.locallab.spots.at(i).origlc;
|
toEdit.locallab.spots.at(i).origlc = mods.locallab.spots.at(i).origlc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).processwav) {
|
||||||
|
toEdit.locallab.spots.at(i).processwav = mods.locallab.spots.at(i).processwav;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).localcontMethod) {
|
if (locallab.spots.at(i).localcontMethod) {
|
||||||
toEdit.locallab.spots.at(i).localcontMethod = mods.locallab.spots.at(i).localcontMethod;
|
toEdit.locallab.spots.at(i).localcontMethod = mods.locallab.spots.at(i).localcontMethod;
|
||||||
}
|
}
|
||||||
@ -6188,12 +6238,8 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).Autograycie = mods.locallab.spots.at(i).Autograycie;
|
toEdit.locallab.spots.at(i).Autograycie = mods.locallab.spots.at(i).Autograycie;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).forcejz) {
|
if (locallab.spots.at(i).sigybjz12) {
|
||||||
toEdit.locallab.spots.at(i).forcejz = mods.locallab.spots.at(i).forcejz;
|
toEdit.locallab.spots.at(i).sigybjz12 = mods.locallab.spots.at(i).sigybjz12;
|
||||||
}
|
|
||||||
|
|
||||||
if (locallab.spots.at(i).forcebw) {
|
|
||||||
toEdit.locallab.spots.at(i).forcebw = mods.locallab.spots.at(i).forcebw;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).qtoj) {
|
if (locallab.spots.at(i).qtoj) {
|
||||||
@ -6208,6 +6254,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).comprcieauto = mods.locallab.spots.at(i).comprcieauto;
|
toEdit.locallab.spots.at(i).comprcieauto = mods.locallab.spots.at(i).comprcieauto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).normcie12) {
|
||||||
|
toEdit.locallab.spots.at(i).normcie12 = mods.locallab.spots.at(i).normcie12;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).normcie) {
|
if (locallab.spots.at(i).normcie) {
|
||||||
toEdit.locallab.spots.at(i).normcie = mods.locallab.spots.at(i).normcie;
|
toEdit.locallab.spots.at(i).normcie = mods.locallab.spots.at(i).normcie;
|
||||||
}
|
}
|
||||||
@ -6240,6 +6290,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).smoothcie = mods.locallab.spots.at(i).smoothcie;
|
toEdit.locallab.spots.at(i).smoothcie = mods.locallab.spots.at(i).smoothcie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).smoothcietrc) {
|
||||||
|
toEdit.locallab.spots.at(i).smoothcietrc = mods.locallab.spots.at(i).smoothcietrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).smoothcietrcrel) {
|
||||||
|
toEdit.locallab.spots.at(i).smoothcietrcrel = mods.locallab.spots.at(i).smoothcietrcrel;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).smoothcieyb) {
|
if (locallab.spots.at(i).smoothcieyb) {
|
||||||
toEdit.locallab.spots.at(i).smoothcieyb = mods.locallab.spots.at(i).smoothcieyb;
|
toEdit.locallab.spots.at(i).smoothcieyb = mods.locallab.spots.at(i).smoothcieyb;
|
||||||
}
|
}
|
||||||
@ -6248,14 +6306,34 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).smoothcielum = mods.locallab.spots.at(i).smoothcielum;
|
toEdit.locallab.spots.at(i).smoothcielum = mods.locallab.spots.at(i).smoothcielum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).smoothciehigh) {
|
||||||
|
toEdit.locallab.spots.at(i).smoothciehigh = mods.locallab.spots.at(i).smoothciehigh;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).smoothcielnk) {
|
||||||
|
toEdit.locallab.spots.at(i).smoothcielnk = mods.locallab.spots.at(i).smoothcielnk;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).logjz) {
|
if (locallab.spots.at(i).logjz) {
|
||||||
toEdit.locallab.spots.at(i).logjz = mods.locallab.spots.at(i).logjz;
|
toEdit.locallab.spots.at(i).logjz = mods.locallab.spots.at(i).logjz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigjz12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigjz12 = mods.locallab.spots.at(i).sigjz12;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).sigjz) {
|
if (locallab.spots.at(i).sigjz) {
|
||||||
toEdit.locallab.spots.at(i).sigjz = mods.locallab.spots.at(i).sigjz;
|
toEdit.locallab.spots.at(i).sigjz = mods.locallab.spots.at(i).sigjz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).forcebw) {
|
||||||
|
toEdit.locallab.spots.at(i).forcebw = mods.locallab.spots.at(i).forcebw;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigq12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigq12 = mods.locallab.spots.at(i).sigq12;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).sigq) {
|
if (locallab.spots.at(i).sigq) {
|
||||||
toEdit.locallab.spots.at(i).sigq = mods.locallab.spots.at(i).sigq;
|
toEdit.locallab.spots.at(i).sigq = mods.locallab.spots.at(i).sigq;
|
||||||
}
|
}
|
||||||
@ -6280,6 +6358,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).modecam = mods.locallab.spots.at(i).modecam;
|
toEdit.locallab.spots.at(i).modecam = mods.locallab.spots.at(i).modecam;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).modeQJ) {
|
||||||
|
toEdit.locallab.spots.at(i).modeQJ = mods.locallab.spots.at(i).modeQJ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).bwevMethod12) {
|
||||||
|
toEdit.locallab.spots.at(i).bwevMethod12 = mods.locallab.spots.at(i).bwevMethod12;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).bwevMethod) {
|
if (locallab.spots.at(i).bwevMethod) {
|
||||||
toEdit.locallab.spots.at(i).bwevMethod = mods.locallab.spots.at(i).bwevMethod;
|
toEdit.locallab.spots.at(i).bwevMethod = mods.locallab.spots.at(i).bwevMethod;
|
||||||
}
|
}
|
||||||
@ -6444,6 +6530,19 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).targetjz = mods.locallab.spots.at(i).targetjz;
|
toEdit.locallab.spots.at(i).targetjz = mods.locallab.spots.at(i).targetjz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigmoidldacie12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigmoidldacie12 = mods.locallab.spots.at(i).sigmoidldacie12;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigmoidthcie12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigmoidthcie12 = mods.locallab.spots.at(i).sigmoidthcie12;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigmoidblcie12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigmoidblcie12 = mods.locallab.spots.at(i).sigmoidblcie12;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (locallab.spots.at(i).sigmoidldacie) {
|
if (locallab.spots.at(i).sigmoidldacie) {
|
||||||
toEdit.locallab.spots.at(i).sigmoidldacie = mods.locallab.spots.at(i).sigmoidldacie;
|
toEdit.locallab.spots.at(i).sigmoidldacie = mods.locallab.spots.at(i).sigmoidldacie;
|
||||||
}
|
}
|
||||||
@ -6476,14 +6575,34 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).gamjcie = mods.locallab.spots.at(i).gamjcie;
|
toEdit.locallab.spots.at(i).gamjcie = mods.locallab.spots.at(i).gamjcie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).smoothcieth) {
|
||||||
|
toEdit.locallab.spots.at(i).smoothcieth = mods.locallab.spots.at(i).smoothcieth;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).slopjcie) {
|
if (locallab.spots.at(i).slopjcie) {
|
||||||
toEdit.locallab.spots.at(i).slopjcie = mods.locallab.spots.at(i).slopjcie;
|
toEdit.locallab.spots.at(i).slopjcie = mods.locallab.spots.at(i).slopjcie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).contsig) {
|
||||||
|
toEdit.locallab.spots.at(i).contsig = mods.locallab.spots.at(i).contsig;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).skewsig) {
|
||||||
|
toEdit.locallab.spots.at(i).skewsig = mods.locallab.spots.at(i).skewsig;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).whitsig) {
|
||||||
|
toEdit.locallab.spots.at(i).whitsig = mods.locallab.spots.at(i).whitsig;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).slopesmo) {
|
if (locallab.spots.at(i).slopesmo) {
|
||||||
toEdit.locallab.spots.at(i).slopesmo = mods.locallab.spots.at(i).slopesmo;
|
toEdit.locallab.spots.at(i).slopesmo = mods.locallab.spots.at(i).slopesmo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).slopesmoq) {
|
||||||
|
toEdit.locallab.spots.at(i).slopesmoq = mods.locallab.spots.at(i).slopesmoq;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).slopesmor) {
|
if (locallab.spots.at(i).slopesmor) {
|
||||||
toEdit.locallab.spots.at(i).slopesmor = mods.locallab.spots.at(i).slopesmor;
|
toEdit.locallab.spots.at(i).slopesmor = mods.locallab.spots.at(i).slopesmor;
|
||||||
}
|
}
|
||||||
@ -6496,6 +6615,18 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).slopesmob = mods.locallab.spots.at(i).slopesmob;
|
toEdit.locallab.spots.at(i).slopesmob = mods.locallab.spots.at(i).slopesmob;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).kslopesmor) {
|
||||||
|
toEdit.locallab.spots.at(i).kslopesmor = mods.locallab.spots.at(i).kslopesmor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).kslopesmog) {
|
||||||
|
toEdit.locallab.spots.at(i).kslopesmog = mods.locallab.spots.at(i).kslopesmog;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).kslopesmob) {
|
||||||
|
toEdit.locallab.spots.at(i).kslopesmob = mods.locallab.spots.at(i).kslopesmob;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).midtcie) {
|
if (locallab.spots.at(i).midtcie) {
|
||||||
toEdit.locallab.spots.at(i).midtcie = mods.locallab.spots.at(i).midtcie;
|
toEdit.locallab.spots.at(i).midtcie = mods.locallab.spots.at(i).midtcie;
|
||||||
}
|
}
|
||||||
@ -6600,6 +6731,18 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).catMethod = mods.locallab.spots.at(i).catMethod;
|
toEdit.locallab.spots.at(i).catMethod = mods.locallab.spots.at(i).catMethod;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigmoidldajzcie12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigmoidldajzcie12 = mods.locallab.spots.at(i).sigmoidldajzcie12;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigmoidthjzcie12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigmoidthjzcie12 = mods.locallab.spots.at(i).sigmoidthjzcie12;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).sigmoidbljzcie12) {
|
||||||
|
toEdit.locallab.spots.at(i).sigmoidbljzcie12 = mods.locallab.spots.at(i).sigmoidbljzcie12;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).sigmoidldajzcie) {
|
if (locallab.spots.at(i).sigmoidldajzcie) {
|
||||||
toEdit.locallab.spots.at(i).sigmoidldajzcie = mods.locallab.spots.at(i).sigmoidldajzcie;
|
toEdit.locallab.spots.at(i).sigmoidldajzcie = mods.locallab.spots.at(i).sigmoidldajzcie;
|
||||||
}
|
}
|
||||||
@ -7030,18 +7173,38 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.icm.outputBPC = mods.icm.outputBPC;
|
toEdit.icm.outputBPC = mods.icm.outputBPC;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (icm.workingTRCGamma) {
|
if (icm.wGamma) {
|
||||||
toEdit.icm.workingTRCGamma = mods.icm.workingTRCGamma;
|
toEdit.icm.wGamma = mods.icm.wGamma;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (icm.workingTRCSlope) {
|
if (icm.wSlope) {
|
||||||
toEdit.icm.workingTRCSlope = mods.icm.workingTRCSlope;
|
toEdit.icm.wSlope = mods.icm.wSlope;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (icm.wmidtcie) {
|
if (icm.wmidtcie) {
|
||||||
toEdit.icm.wmidtcie = mods.icm.wmidtcie;
|
toEdit.icm.wmidtcie = mods.icm.wmidtcie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (icm.sigmatrc) {
|
||||||
|
toEdit.icm.sigmatrc = mods.icm.sigmatrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (icm.offstrc) {
|
||||||
|
toEdit.icm.offstrc = mods.icm.offstrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (icm.residtrc) {
|
||||||
|
toEdit.icm.residtrc = mods.icm.residtrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (icm.pyrwavtrc) {
|
||||||
|
toEdit.icm.pyrwavtrc = mods.icm.pyrwavtrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (icm.opacityCurveWLI) {
|
||||||
|
toEdit.icm.opacityCurveWLI = mods.icm.opacityCurveWLI;
|
||||||
|
}
|
||||||
|
|
||||||
if (icm.wsmoothcie) {
|
if (icm.wsmoothcie) {
|
||||||
toEdit.icm.wsmoothcie = mods.icm.wsmoothcie;
|
toEdit.icm.wsmoothcie = mods.icm.wsmoothcie;
|
||||||
}
|
}
|
||||||
@ -7094,6 +7257,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.icm.trcExp = mods.icm.trcExp;
|
toEdit.icm.trcExp = mods.icm.trcExp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (icm.wavExp) {
|
||||||
|
toEdit.icm.wavExp = mods.icm.wavExp;
|
||||||
|
}
|
||||||
|
|
||||||
if (icm.gamut) {
|
if (icm.gamut) {
|
||||||
toEdit.icm.gamut = mods.icm.gamut;
|
toEdit.icm.gamut = mods.icm.gamut;
|
||||||
}
|
}
|
||||||
@ -8558,6 +8725,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
lcdarkness(v),
|
lcdarkness(v),
|
||||||
lclightness(v),
|
lclightness(v),
|
||||||
sigmalc(v),
|
sigmalc(v),
|
||||||
|
offslc(v),
|
||||||
levelwav(v),
|
levelwav(v),
|
||||||
residcont(v),
|
residcont(v),
|
||||||
residsha(v),
|
residsha(v),
|
||||||
@ -8609,6 +8777,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
wavgradl(v),
|
wavgradl(v),
|
||||||
wavcompre(v),
|
wavcompre(v),
|
||||||
origlc(v),
|
origlc(v),
|
||||||
|
processwav(v),
|
||||||
localcontMethod(v),
|
localcontMethod(v),
|
||||||
localedgMethod(v),
|
localedgMethod(v),
|
||||||
localneiMethod(v),
|
localneiMethod(v),
|
||||||
@ -8745,11 +8914,11 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
reparcie(v),
|
reparcie(v),
|
||||||
sensicie(v),
|
sensicie(v),
|
||||||
Autograycie(v),
|
Autograycie(v),
|
||||||
forcejz(v),
|
sigybjz12(v),
|
||||||
forcebw(v),
|
|
||||||
qtoj(v),
|
qtoj(v),
|
||||||
jabcie(v),
|
jabcie(v),
|
||||||
comprcieauto(v),
|
comprcieauto(v),
|
||||||
|
normcie12(v),
|
||||||
normcie(v),
|
normcie(v),
|
||||||
gamutcie(v),
|
gamutcie(v),
|
||||||
bwcie(v),
|
bwcie(v),
|
||||||
@ -8758,16 +8927,25 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
satcie(v),
|
satcie(v),
|
||||||
logcieq(v),
|
logcieq(v),
|
||||||
smoothcie(v),
|
smoothcie(v),
|
||||||
|
smoothcietrc(v),
|
||||||
|
smoothcietrcrel(v),
|
||||||
smoothcieyb(v),
|
smoothcieyb(v),
|
||||||
smoothcielum(v),
|
smoothcielum(v),
|
||||||
|
smoothciehigh(v),
|
||||||
|
smoothcielnk(v),
|
||||||
logjz(v),
|
logjz(v),
|
||||||
|
sigjz12(v),
|
||||||
sigjz(v),
|
sigjz(v),
|
||||||
|
forcebw(v),
|
||||||
|
sigq12(v),
|
||||||
sigq(v),
|
sigq(v),
|
||||||
chjzcie(v),
|
chjzcie(v),
|
||||||
sourceGraycie(v),
|
sourceGraycie(v),
|
||||||
sourceabscie(v),
|
sourceabscie(v),
|
||||||
sursourcie(v),
|
sursourcie(v),
|
||||||
modecam(v),
|
modecam(v),
|
||||||
|
modeQJ(v),
|
||||||
|
bwevMethod12(v),
|
||||||
bwevMethod(v),
|
bwevMethod(v),
|
||||||
modecie(v),
|
modecie(v),
|
||||||
saturlcie(v),
|
saturlcie(v),
|
||||||
@ -8810,6 +8988,9 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
blackEvjz(v),
|
blackEvjz(v),
|
||||||
whiteEvjz(v),
|
whiteEvjz(v),
|
||||||
targetjz(v),
|
targetjz(v),
|
||||||
|
sigmoidldacie12(v),
|
||||||
|
sigmoidthcie12(v),
|
||||||
|
sigmoidblcie12(v),
|
||||||
sigmoidldacie(v),
|
sigmoidldacie(v),
|
||||||
sigmoidthcie(v),
|
sigmoidthcie(v),
|
||||||
sigmoidsenscie(v),
|
sigmoidsenscie(v),
|
||||||
@ -8818,11 +8999,19 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
strcielog(v),
|
strcielog(v),
|
||||||
comprcieth(v),
|
comprcieth(v),
|
||||||
gamjcie(v),
|
gamjcie(v),
|
||||||
|
smoothcieth(v),
|
||||||
slopjcie(v),
|
slopjcie(v),
|
||||||
|
contsig(v),
|
||||||
|
skewsig(v),
|
||||||
|
whitsig(v),
|
||||||
slopesmo(v),
|
slopesmo(v),
|
||||||
|
slopesmoq(v),
|
||||||
slopesmor(v),
|
slopesmor(v),
|
||||||
slopesmog(v),
|
slopesmog(v),
|
||||||
slopesmob(v),
|
slopesmob(v),
|
||||||
|
kslopesmor(v),
|
||||||
|
kslopesmog(v),
|
||||||
|
kslopesmob(v),
|
||||||
midtcie(v),
|
midtcie(v),
|
||||||
redxl(v),
|
redxl(v),
|
||||||
redyl(v),
|
redyl(v),
|
||||||
@ -8849,6 +9038,9 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
smoothciemet(v),
|
smoothciemet(v),
|
||||||
primMethod(v),
|
primMethod(v),
|
||||||
catMethod(v),
|
catMethod(v),
|
||||||
|
sigmoidldajzcie12(v),
|
||||||
|
sigmoidthjzcie12(v),
|
||||||
|
sigmoidbljzcie12(v),
|
||||||
sigmoidldajzcie(v),
|
sigmoidldajzcie(v),
|
||||||
sigmoidthjzcie(v),
|
sigmoidthjzcie(v),
|
||||||
sigmoidbljzcie(v),
|
sigmoidbljzcie(v),
|
||||||
@ -9321,6 +9513,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
lcdarkness = v;
|
lcdarkness = v;
|
||||||
lclightness = v;
|
lclightness = v;
|
||||||
sigmalc = v;
|
sigmalc = v;
|
||||||
|
offslc = v;
|
||||||
levelwav = v;
|
levelwav = v;
|
||||||
residcont = v;
|
residcont = v;
|
||||||
residsha = v;
|
residsha = v;
|
||||||
@ -9372,6 +9565,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
wavgradl = v;
|
wavgradl = v;
|
||||||
wavcompre = v;
|
wavcompre = v;
|
||||||
origlc = v;
|
origlc = v;
|
||||||
|
processwav = v;
|
||||||
localcontMethod = v;
|
localcontMethod = v;
|
||||||
localedgMethod = v;
|
localedgMethod = v;
|
||||||
localneiMethod = v;
|
localneiMethod = v;
|
||||||
@ -9512,11 +9706,11 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
reparcie = v;
|
reparcie = v;
|
||||||
sensicie = v;
|
sensicie = v;
|
||||||
Autograycie = v;
|
Autograycie = v;
|
||||||
forcejz = v;
|
sigybjz12 = v;
|
||||||
forcebw = v;
|
|
||||||
qtoj = v;
|
qtoj = v;
|
||||||
jabcie = v;
|
jabcie = v;
|
||||||
comprcieauto = v;
|
comprcieauto = v;
|
||||||
|
normcie12 = v;
|
||||||
normcie = v;
|
normcie = v;
|
||||||
gamutcie = v;
|
gamutcie = v;
|
||||||
bwcie = v;
|
bwcie = v;
|
||||||
@ -9525,16 +9719,25 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
satcie = v;
|
satcie = v;
|
||||||
logcieq = v;
|
logcieq = v;
|
||||||
smoothcie = v;
|
smoothcie = v;
|
||||||
|
smoothcietrc = v;
|
||||||
|
smoothcietrcrel = v;
|
||||||
smoothcieyb = v;
|
smoothcieyb = v;
|
||||||
smoothcielum = v;
|
smoothcielum = v;
|
||||||
|
smoothciehigh = v;
|
||||||
|
smoothcielnk = v;
|
||||||
logjz = v;
|
logjz = v;
|
||||||
|
sigjz12 = v;
|
||||||
sigjz = v;
|
sigjz = v;
|
||||||
|
forcebw = v;
|
||||||
|
sigq12 = v;
|
||||||
sigq = v;
|
sigq = v;
|
||||||
chjzcie = v;
|
chjzcie = v;
|
||||||
sourceGraycie = v;
|
sourceGraycie = v;
|
||||||
sourceabscie = v;
|
sourceabscie = v;
|
||||||
sursourcie = v;
|
sursourcie = v;
|
||||||
modecam = v;
|
modecam = v;
|
||||||
|
modeQJ = v;
|
||||||
|
bwevMethod12 = v;
|
||||||
bwevMethod = v;
|
bwevMethod = v;
|
||||||
modecie = v;
|
modecie = v;
|
||||||
saturlcie = v;
|
saturlcie = v;
|
||||||
@ -9577,6 +9780,10 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
blackEvjz = v;
|
blackEvjz = v;
|
||||||
whiteEvjz = v;
|
whiteEvjz = v;
|
||||||
targetjz = v;
|
targetjz = v;
|
||||||
|
sigmoidldacie12 = v;
|
||||||
|
sigmoidthcie12 = v;
|
||||||
|
sigmoidblcie12 = v;
|
||||||
|
|
||||||
sigmoidldacie = v;
|
sigmoidldacie = v;
|
||||||
sigmoidthcie = v;
|
sigmoidthcie = v;
|
||||||
sigmoidsenscie = v;
|
sigmoidsenscie = v;
|
||||||
@ -9585,11 +9792,19 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
strcielog = v;
|
strcielog = v;
|
||||||
comprcieth = v;
|
comprcieth = v;
|
||||||
gamjcie = v;
|
gamjcie = v;
|
||||||
|
smoothcieth = v;
|
||||||
slopjcie = v;
|
slopjcie = v;
|
||||||
|
contsig = v;
|
||||||
|
skewsig = v;
|
||||||
|
whitsig = v;
|
||||||
slopesmo = v;
|
slopesmo = v;
|
||||||
|
slopesmoq = v;
|
||||||
slopesmor = v;
|
slopesmor = v;
|
||||||
slopesmog = v;
|
slopesmog = v;
|
||||||
slopesmob = v;
|
slopesmob = v;
|
||||||
|
kslopesmor = v;
|
||||||
|
kslopesmog = v;
|
||||||
|
kslopesmob = v;
|
||||||
midtcie = v;
|
midtcie = v;
|
||||||
redxl = v;
|
redxl = v;
|
||||||
redyl = v;
|
redyl = v;
|
||||||
@ -9616,6 +9831,9 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
smoothciemet = v;
|
smoothciemet = v;
|
||||||
primMethod = v;
|
primMethod = v;
|
||||||
catMethod = v;
|
catMethod = v;
|
||||||
|
sigmoidldajzcie12 = v;
|
||||||
|
sigmoidthjzcie12 = v;
|
||||||
|
sigmoidbljzcie12 = v;
|
||||||
sigmoidldajzcie = v;
|
sigmoidldajzcie = v;
|
||||||
sigmoidthjzcie = v;
|
sigmoidthjzcie = v;
|
||||||
sigmoidbljzcie = v;
|
sigmoidbljzcie = v;
|
||||||
|
@ -845,6 +845,7 @@ public:
|
|||||||
bool lcdarkness;
|
bool lcdarkness;
|
||||||
bool lclightness;
|
bool lclightness;
|
||||||
bool sigmalc;
|
bool sigmalc;
|
||||||
|
bool offslc;
|
||||||
bool levelwav;
|
bool levelwav;
|
||||||
bool residcont;
|
bool residcont;
|
||||||
bool residsha;
|
bool residsha;
|
||||||
@ -896,6 +897,7 @@ public:
|
|||||||
bool wavgradl;
|
bool wavgradl;
|
||||||
bool wavcompre;
|
bool wavcompre;
|
||||||
bool origlc;
|
bool origlc;
|
||||||
|
bool processwav;
|
||||||
bool localcontMethod;
|
bool localcontMethod;
|
||||||
bool localedgMethod;
|
bool localedgMethod;
|
||||||
bool localneiMethod;
|
bool localneiMethod;
|
||||||
@ -1032,11 +1034,11 @@ public:
|
|||||||
bool reparcie;
|
bool reparcie;
|
||||||
bool sensicie;
|
bool sensicie;
|
||||||
bool Autograycie;
|
bool Autograycie;
|
||||||
bool forcejz;
|
bool sigybjz12;
|
||||||
bool forcebw;
|
|
||||||
bool qtoj;
|
bool qtoj;
|
||||||
bool jabcie;
|
bool jabcie;
|
||||||
bool comprcieauto;
|
bool comprcieauto;
|
||||||
|
bool normcie12;
|
||||||
bool normcie;
|
bool normcie;
|
||||||
bool gamutcie;
|
bool gamutcie;
|
||||||
bool bwcie;
|
bool bwcie;
|
||||||
@ -1045,16 +1047,25 @@ public:
|
|||||||
bool satcie;
|
bool satcie;
|
||||||
bool logcieq;
|
bool logcieq;
|
||||||
bool smoothcie;
|
bool smoothcie;
|
||||||
|
bool smoothcietrc;
|
||||||
|
bool smoothcietrcrel;
|
||||||
bool smoothcieyb;
|
bool smoothcieyb;
|
||||||
bool smoothcielum;
|
bool smoothcielum;
|
||||||
|
bool smoothciehigh;
|
||||||
|
bool smoothcielnk;
|
||||||
bool logjz;
|
bool logjz;
|
||||||
|
bool sigjz12;
|
||||||
bool sigjz;
|
bool sigjz;
|
||||||
|
bool forcebw;
|
||||||
|
bool sigq12;
|
||||||
bool sigq;
|
bool sigq;
|
||||||
bool chjzcie;
|
bool chjzcie;
|
||||||
bool sourceGraycie;
|
bool sourceGraycie;
|
||||||
bool sourceabscie;
|
bool sourceabscie;
|
||||||
bool sursourcie;
|
bool sursourcie;
|
||||||
bool modecam;
|
bool modecam;
|
||||||
|
bool modeQJ;
|
||||||
|
bool bwevMethod12;
|
||||||
bool bwevMethod;
|
bool bwevMethod;
|
||||||
bool modecie;
|
bool modecie;
|
||||||
bool saturlcie;
|
bool saturlcie;
|
||||||
@ -1097,6 +1108,9 @@ public:
|
|||||||
bool blackEvjz;
|
bool blackEvjz;
|
||||||
bool whiteEvjz;
|
bool whiteEvjz;
|
||||||
bool targetjz;
|
bool targetjz;
|
||||||
|
bool sigmoidldacie12;
|
||||||
|
bool sigmoidthcie12;
|
||||||
|
bool sigmoidblcie12;
|
||||||
bool sigmoidldacie;
|
bool sigmoidldacie;
|
||||||
bool sigmoidthcie;
|
bool sigmoidthcie;
|
||||||
bool sigmoidsenscie;
|
bool sigmoidsenscie;
|
||||||
@ -1105,11 +1119,19 @@ public:
|
|||||||
bool strcielog;
|
bool strcielog;
|
||||||
bool comprcieth;
|
bool comprcieth;
|
||||||
bool gamjcie;
|
bool gamjcie;
|
||||||
|
bool smoothcieth;
|
||||||
bool slopjcie;
|
bool slopjcie;
|
||||||
|
bool contsig;
|
||||||
|
bool skewsig;
|
||||||
|
bool whitsig;
|
||||||
bool slopesmo;
|
bool slopesmo;
|
||||||
|
bool slopesmoq;
|
||||||
bool slopesmor;
|
bool slopesmor;
|
||||||
bool slopesmog;
|
bool slopesmog;
|
||||||
bool slopesmob;
|
bool slopesmob;
|
||||||
|
bool kslopesmor;
|
||||||
|
bool kslopesmog;
|
||||||
|
bool kslopesmob;
|
||||||
bool midtcie;
|
bool midtcie;
|
||||||
bool redxl;
|
bool redxl;
|
||||||
bool redyl;
|
bool redyl;
|
||||||
@ -1136,9 +1158,14 @@ public:
|
|||||||
bool smoothciemet;
|
bool smoothciemet;
|
||||||
bool primMethod;
|
bool primMethod;
|
||||||
bool catMethod;
|
bool catMethod;
|
||||||
|
bool sigmoidldajzcie12;
|
||||||
|
bool sigmoidthjzcie12;
|
||||||
|
bool sigmoidbljzcie12;
|
||||||
|
|
||||||
bool sigmoidldajzcie;
|
bool sigmoidldajzcie;
|
||||||
bool sigmoidthjzcie;
|
bool sigmoidthjzcie;
|
||||||
bool sigmoidbljzcie;
|
bool sigmoidbljzcie;
|
||||||
|
|
||||||
bool contqcie;
|
bool contqcie;
|
||||||
bool contsigqcie;
|
bool contsigqcie;
|
||||||
bool colorflcie;
|
bool colorflcie;
|
||||||
@ -1347,9 +1374,15 @@ struct ColorManagementParamsEdited {
|
|||||||
|
|
||||||
bool workingProfile;
|
bool workingProfile;
|
||||||
bool workingTRC;
|
bool workingTRC;
|
||||||
bool workingTRCGamma;
|
bool wGamma;
|
||||||
bool workingTRCSlope;
|
bool wSlope;
|
||||||
bool wmidtcie;
|
bool wmidtcie;
|
||||||
|
bool sigmatrc;
|
||||||
|
bool offstrc;
|
||||||
|
bool residtrc;
|
||||||
|
bool pyrwavtrc;
|
||||||
|
bool opacityCurveWLI;
|
||||||
|
|
||||||
bool wsmoothcie;
|
bool wsmoothcie;
|
||||||
bool will;
|
bool will;
|
||||||
bool wprim;
|
bool wprim;
|
||||||
@ -1366,6 +1399,7 @@ struct ColorManagementParamsEdited {
|
|||||||
bool preser;
|
bool preser;
|
||||||
bool fbw;
|
bool fbw;
|
||||||
bool trcExp;
|
bool trcExp;
|
||||||
|
bool wavExp;
|
||||||
bool gamut;
|
bool gamut;
|
||||||
bool labgridcieALow;
|
bool labgridcieALow;
|
||||||
bool labgridcieBLow;
|
bool labgridcieBLow;
|
||||||
|
@ -343,6 +343,7 @@ Wavelet::Wavelet() :
|
|||||||
daubcoeffmethod->append(M("TP_WAVELET_DAUB6"));
|
daubcoeffmethod->append(M("TP_WAVELET_DAUB6"));
|
||||||
daubcoeffmethod->append(M("TP_WAVELET_DAUB10"));
|
daubcoeffmethod->append(M("TP_WAVELET_DAUB10"));
|
||||||
daubcoeffmethod->append(M("TP_WAVELET_DAUB14"));
|
daubcoeffmethod->append(M("TP_WAVELET_DAUB14"));
|
||||||
|
daubcoeffmethod->append(M("TP_WAVELET_DAUB20"));
|
||||||
daubcoeffmethodconn = daubcoeffmethod->signal_changed().connect(sigc::mem_fun(*this, &Wavelet::daubcoeffmethodChanged));
|
daubcoeffmethodconn = daubcoeffmethod->signal_changed().connect(sigc::mem_fun(*this, &Wavelet::daubcoeffmethodChanged));
|
||||||
daubcoeffmethod->set_tooltip_text(M("TP_WAVELET_DAUB_TOOLTIP"));
|
daubcoeffmethod->set_tooltip_text(M("TP_WAVELET_DAUB_TOOLTIP"));
|
||||||
Gtk::Label* const daubcoeffLabel = Gtk::manage(new Gtk::Label(M("TP_WAVELET_DAUB") + ":"));
|
Gtk::Label* const daubcoeffLabel = Gtk::manage(new Gtk::Label(M("TP_WAVELET_DAUB") + ":"));
|
||||||
@ -1609,6 +1610,8 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
daubcoeffmethod->set_active(3);
|
daubcoeffmethod->set_active(3);
|
||||||
} else if (pp->wavelet.daubcoeffmethod == "14_") {
|
} else if (pp->wavelet.daubcoeffmethod == "14_") {
|
||||||
daubcoeffmethod->set_active(4);
|
daubcoeffmethod->set_active(4);
|
||||||
|
} else if (pp->wavelet.daubcoeffmethod == "20_") {
|
||||||
|
daubcoeffmethod->set_active(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Dirmethod->set_active (3);
|
//Dirmethod->set_active (3);
|
||||||
@ -2546,6 +2549,8 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->wavelet.daubcoeffmethod = "10_";
|
pp->wavelet.daubcoeffmethod = "10_";
|
||||||
} else if (daubcoeffmethod->get_active_row_number() == 4) {
|
} else if (daubcoeffmethod->get_active_row_number() == 4) {
|
||||||
pp->wavelet.daubcoeffmethod = "14_";
|
pp->wavelet.daubcoeffmethod = "14_";
|
||||||
|
} else if (daubcoeffmethod->get_active_row_number() == 5) {
|
||||||
|
pp->wavelet.daubcoeffmethod = "20_";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Dirmethod->get_active_row_number() == 0) {
|
if (Dirmethod->get_active_row_number() == 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user