Local complexity - Add 'Basic' to 'Standard'(Normal) and 'Advanced'(Expert) (#5858)
* Mode simple to color and light * Exposure complex * Vibrance and SH complex * Soft and Blur complex * Common mask complex * Sharp Retinex complex * Localcontrast complex * Change label tooltip complex * Change labels and tooltip * Change tooltip french * Change default value scope TM * Some forgotten hide..with basic in inverse mode * Another hide in basic and inverse * Change some type in labels * Change typo contrast * Refine some labels tootips * Change after review Ingo - thanks * Improve history behaviour when changing local adjustments complexity mode * Added normal to original retinex - basic to dehaze * Fixed bad behavior normal expert Color and Light * Improve edge sharpness * Another improvment edge sharpness * various improvement * locallab: speedup and reduced memory usage for wavcontrast4() * remove file * French labels complexity * calckoe(): cleanup, speedup and bugfix for 3x3 gaussian kernels * calckoe(): cleanup for 3x3 gaussian kernels * calckoe(): fill koeli[] with zeroes if level <= 1 && tloww >= 75.f * GUI part fixes and cleanup * Fix in Locallab Settings panel Additionnal minor fix in Preferences windows * Change default mode complexity in preferences - basic * Change complexity in option * Improve gui when lauch first image Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de> Co-authored-by: Pandagrapher <pierre.cab@gmail.com>
This commit is contained in:
parent
25c5e62b72
commit
130fbb8eb2
@ -1929,7 +1929,7 @@ TP_LOCALLAB_EXPRETITOOLS;Outils Retinex avancés
|
|||||||
TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUtiliser de basses valeurs de transition et de hautes valeurs de transition affaiblissement et Etendue pour simuler un petit RT-spot.
|
TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUtiliser de basses valeurs de transition et de hautes valeurs de transition affaiblissement et Etendue pour simuler un petit RT-spot.
|
||||||
TP_LOCALLAB_EXPTOOL;Outils exposition
|
TP_LOCALLAB_EXPTOOL;Outils exposition
|
||||||
TP_LOCALLAB_EXPTRC;Courbe de réponse Tonale - TRC
|
TP_LOCALLAB_EXPTRC;Courbe de réponse Tonale - TRC
|
||||||
TP_LOCALLAB_EXP_TOOLNAME;Atténuation contraste -Compression Dynamique & Exposition- 10
|
TP_LOCALLAB_EXP_TOOLNAME;Atténuation Contraste -Compression Dynamique & Exposition- 10
|
||||||
TP_LOCALLAB_FATAMOUNT;Quantité
|
TP_LOCALLAB_FATAMOUNT;Quantité
|
||||||
TP_LOCALLAB_FATANCHOR;Ancre
|
TP_LOCALLAB_FATANCHOR;Ancre
|
||||||
TP_LOCALLAB_FATANCHORA;Décalage
|
TP_LOCALLAB_FATANCHORA;Décalage
|
||||||
@ -1987,10 +1987,10 @@ TP_LOCALLAB_LABGRIDMERG;Arrière plan
|
|||||||
TP_LOCALLAB_LABGRID_VALUES;Haut(a)=%1 Haut(b)=%2\nBas(a)=%3 Bas(b)=%4
|
TP_LOCALLAB_LABGRID_VALUES;Haut(a)=%1 Haut(b)=%2\nBas(a)=%3 Bas(b)=%4
|
||||||
TP_LOCALLAB_LABSTRUM;Masque Structure
|
TP_LOCALLAB_LABSTRUM;Masque Structure
|
||||||
TP_LOCALLAB_LAPLACC;ΔØ Masque Laplacien résoud PDE
|
TP_LOCALLAB_LAPLACC;ΔØ Masque Laplacien résoud PDE
|
||||||
TP_LOCALLAB_LAPLACE;Δ - Laplacien seuil ΔE
|
TP_LOCALLAB_LAPLACE;Laplacien seuil ΔE
|
||||||
TP_LOCALLAB_LAPLACEXP;∆ - Laplacian seuil
|
TP_LOCALLAB_LAPLACEXP;Laplacien seuil
|
||||||
TP_LOCALLAB_LAPMASKCOL;∆ - Laplacian seuil masque
|
TP_LOCALLAB_LAPMASKCOL;Laplacien seuil masque
|
||||||
TP_LOCALLAB_LAPRAD_TOOLTIP;Eviter d'utiliser Radius and Laplace Seuil en même temps.\nLaplacien seuil reduit le contraste, artéfacts, adoucit le résultat (si PDE réglages activé).
|
TP_LOCALLAB_LAPRAD_TOOLTIP;Eviter d'utiliser Radius and Laplace Seuil en même temps.\nLaplacien seuil reduit le contraste, artéfacts, adoucit le résultat.
|
||||||
TP_LOCALLAB_LAP_MASK_TOOLTIP;Résoud PDE (Equation aux dérivées partielles) pour tous les masques Laplacien.\nSi activé Laplacien masque seuil reduit les artéfacts et adoucit les résultats.\nSi désactivé réponse linaire.
|
TP_LOCALLAB_LAP_MASK_TOOLTIP;Résoud PDE (Equation aux dérivées partielles) pour tous les masques Laplacien.\nSi activé Laplacien masque seuil reduit les artéfacts et adoucit les résultats.\nSi désactivé réponse linaire.
|
||||||
TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT améliore la qualité et autorise de grands rayons, mais accroît les temps de traitement.\nCe temps dépends de la surface devant être traitée.\nA utiliser de préférences pour de grands rayons.\n\nLes Dimensions peuvent être réduites de quelques pixels pour optimiser FFTW.\nCette optimisation peut réduire le temps de traitement d'un facteur de 1.5 à 10.\n
|
TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT améliore la qualité et autorise de grands rayons, mais accroît les temps de traitement.\nCe temps dépends de la surface devant être traitée.\nA utiliser de préférences pour de grands rayons.\n\nLes Dimensions peuvent être réduites de quelques pixels pour optimiser FFTW.\nCette optimisation peut réduire le temps de traitement d'un facteur de 1.5 à 10.\n
|
||||||
TP_LOCALLAB_LC_TOOLNAME;Constrast Local & Ondelettes (Défauts) - 7
|
TP_LOCALLAB_LC_TOOLNAME;Constrast Local & Ondelettes (Défauts) - 7
|
||||||
@ -2004,7 +2004,7 @@ TP_LOCALLAB_LIGHTN_TOOLTIP;En mode inverse: selection = -100 force la luminance
|
|||||||
TP_LOCALLAB_LIGHTRETI;Luminosité
|
TP_LOCALLAB_LIGHTRETI;Luminosité
|
||||||
TP_LOCALLAB_LINEAR;Linéarité
|
TP_LOCALLAB_LINEAR;Linéarité
|
||||||
TP_LOCALLAB_LIST_NAME;Ajoute un outil au spot courant...
|
TP_LOCALLAB_LIST_NAME;Ajoute un outil au spot courant...
|
||||||
TP_LOCALLAB_LIST_TOOLTIP;Choisir un outil et ensuite son niveau de complexité "Normal" ou "Expert".\nLe nombre traduit la place de l'outil dans le processus de chaque RT-Spot
|
TP_LOCALLAB_LIST_TOOLTIP;Vous pouvez choisir 3 niveaux de complexité pour chaque outil: Basic, Normal & Avancé.\nLe réglage par défaut est Basic mais il peut être changé dans Préférences.\nVous pouvez aussi changer ce niveau pour chaque outil en cours.
|
||||||
TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Donne priorité à l'action sur les tons moyens et hautes lumières en choisissant les niveaux concernés d'ondelettes
|
TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Donne priorité à l'action sur les tons moyens et hautes lumières en choisissant les niveaux concernés d'ondelettes
|
||||||
TP_LOCALLAB_LMASK_LL_TOOLTIP;Give priority to action on midtones and high lights
|
TP_LOCALLAB_LMASK_LL_TOOLTIP;Give priority to action on midtones and high lights
|
||||||
TP_LOCALLAB_LOCCONT;Masque Flou
|
TP_LOCALLAB_LOCCONT;Masque Flou
|
||||||
@ -2083,8 +2083,8 @@ TP_LOCALLAB_MERTWO;Soustrait
|
|||||||
TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts.
|
TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts.
|
||||||
TP_LOCALLAB_MLABEL;Récupère les données Min=%1 Max=%2 (Clip - décalage)
|
TP_LOCALLAB_MLABEL;Récupère les données Min=%1 Max=%2 (Clip - décalage)
|
||||||
TP_LOCALLAB_MLABEL_TOOLTIP;'Doit être' près de min=0 max=32768 (log mode) mais d'autres valeurs sont possibles.\nVous pouvez agir sur les données récupérées (CLIP) et décalage pour normaliser.\n\nRécupère les données image sans mélange.
|
TP_LOCALLAB_MLABEL_TOOLTIP;'Doit être' près de min=0 max=32768 (log mode) mais d'autres valeurs sont possibles.\nVous pouvez agir sur les données récupérées (CLIP) et décalage pour normaliser.\n\nRécupère les données image sans mélange.
|
||||||
TP_LOCALLAB_MODE_EXPERT;Expert
|
TP_LOCALLAB_MODE_EXPERT;Avancé
|
||||||
TP_LOCALLAB_MODE_NORMAL;Normal
|
TP_LOCALLAB_MODE_NORMAL;Standard
|
||||||
TP_LOCALLAB_MRFIV;Arrière plan
|
TP_LOCALLAB_MRFIV;Arrière plan
|
||||||
TP_LOCALLAB_MRFOU;Spot précédent
|
TP_LOCALLAB_MRFOU;Spot précédent
|
||||||
TP_LOCALLAB_MRONE;Rien
|
TP_LOCALLAB_MRONE;Rien
|
||||||
@ -2112,7 +2112,7 @@ TP_LOCALLAB_ORIGLC;Fusion seulement avec image originale
|
|||||||
TP_LOCALLAB_ORRETILAP_TOOLTIP;Agit sur un deuxième seuil Laplacien, pour prendre en compte ΔE pour différencier l'action nottament avec l'arrière plan (différent de Etendue)
|
TP_LOCALLAB_ORRETILAP_TOOLTIP;Agit sur un deuxième seuil Laplacien, pour prendre en compte ΔE pour différencier l'action nottament avec l'arrière plan (différent de Etendue)
|
||||||
TP_LOCALLAB_ORRETISTREN_TOOLTIP;Aagit sur un seuil Laplacien, plus grande est l'action, plus les différences de contraste seront réduites
|
TP_LOCALLAB_ORRETISTREN_TOOLTIP;Aagit sur un seuil Laplacien, plus grande est l'action, plus les différences de contraste seront réduites
|
||||||
TP_LOCALLAB_PASTELS2;Vibrance
|
TP_LOCALLAB_PASTELS2;Vibrance
|
||||||
TP_LOCALLAB_PDE;Atténuation de contraste - Compression dynamique
|
TP_LOCALLAB_PDE;Atténuation de Contraste - Compression dynamique
|
||||||
TP_LOCALLAB_PDEFRA;Contraste atténuation ƒ
|
TP_LOCALLAB_PDEFRA;Contraste atténuation ƒ
|
||||||
TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - algorithme personnel adapté de IPOL à Rawtherapee: conduit à des résultats très variés et a besoin de différents réglages que Standard (Noir négatif, gamma < 1,...)\nPeut être utils pour des iamges sous-exposées ou avec une étendue dynamique importante.\n
|
TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - algorithme personnel adapté de IPOL à Rawtherapee: conduit à des résultats très variés et a besoin de différents réglages que Standard (Noir négatif, gamma < 1,...)\nPeut être utils pour des iamges sous-exposées ou avec une étendue dynamique importante.\n
|
||||||
TP_LOCALLAB_PREVIEW;Prévisualisation ΔE
|
TP_LOCALLAB_PREVIEW;Prévisualisation ΔE
|
||||||
@ -2219,8 +2219,8 @@ TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ)
|
|||||||
TP_LOCALLAB_SHOWR;Masque et modifications
|
TP_LOCALLAB_SHOWR;Masque et modifications
|
||||||
TP_LOCALLAB_SHOWREF;Prévisualisation ΔE
|
TP_LOCALLAB_SHOWREF;Prévisualisation ΔE
|
||||||
TP_LOCALLAB_SHOWS;Masque et modifications
|
TP_LOCALLAB_SHOWS;Masque et modifications
|
||||||
TP_LOCALLAB_SHOWSTRUC;Montrer Spot structure (expert)
|
TP_LOCALLAB_SHOWSTRUC;Montrer Spot structure (avancé)
|
||||||
TP_LOCALLAB_SHOWSTRUCEX;Montrer Spot structure (expert)
|
TP_LOCALLAB_SHOWSTRUCEX;Montrer Spot structure (avancé)
|
||||||
TP_LOCALLAB_SHOWT;Masque et modifications
|
TP_LOCALLAB_SHOWT;Masque et modifications
|
||||||
TP_LOCALLAB_SHOWVI;Masque et modifications
|
TP_LOCALLAB_SHOWVI;Masque et modifications
|
||||||
TP_LOCALLAB_SHRESFRA;Ombres/Lumières
|
TP_LOCALLAB_SHRESFRA;Ombres/Lumières
|
||||||
@ -2255,7 +2255,7 @@ TP_LOCALLAB_STRRETI_TOOLTIP;Si force Retinex < 0.2 seul Dehaze est activé.\nSi
|
|||||||
TP_LOCALLAB_STRUC;Structure
|
TP_LOCALLAB_STRUC;Structure
|
||||||
TP_LOCALLAB_STRUCCOL;Structure
|
TP_LOCALLAB_STRUCCOL;Structure
|
||||||
TP_LOCALLAB_STRUCCOL1;Spot Structure
|
TP_LOCALLAB_STRUCCOL1;Spot Structure
|
||||||
TP_LOCALLAB_STRUCT_TOOLTIP;Utilise l'algorithme de Sobel pour prendre en compte la structure dans la détection de forme.\nvous pouvez prévisualiser avec "masque et modifications - Montrer structure spot".\n\nPeut être utilisé avec masques (expert) structure, flouter, ondelettes pour améliorer la détection de bords.\n\nA besoin de réglages sans-masque pour êtrre activé (luminosité, exposition...)
|
TP_LOCALLAB_STRUCT_TOOLTIP;Utilise l'algorithme de Sobel pour prendre en compte la structure dans la détection de forme.\nvous pouvez prévisualiser avec "masque et modifications - Montrer structure spot".\n\nPeut être utilisé avec masques (avancé) structure, flouter, ondelettes pour améliorer la détection de bords.\n\nA besoin de réglages sans-masque pour êtrre activé (luminosité, exposition...)
|
||||||
TP_LOCALLAB_STRUMASKCOL;Structure masque force
|
TP_LOCALLAB_STRUMASKCOL;Structure masque force
|
||||||
TP_LOCALLAB_STRUMASK_TOOLTIP;Génère un masque structure qui va différencier les aplats et reliefs.\nSi structure masque comme outil est activé, ce masque est untilisé en plus des autres outils (gamma, slope, courbe contraste ...)
|
TP_LOCALLAB_STRUMASK_TOOLTIP;Génère un masque structure qui va différencier les aplats et reliefs.\nSi structure masque comme outil est activé, ce masque est untilisé en plus des autres outils (gamma, slope, courbe contraste ...)
|
||||||
TP_LOCALLAB_STYPE;Forme méthode
|
TP_LOCALLAB_STYPE;Forme méthode
|
||||||
|
@ -1086,7 +1086,7 @@ HISTORY_MSG_841;Local - LC curve
|
|||||||
HISTORY_MSG_842;Local - Contrast Threshold Mask blur
|
HISTORY_MSG_842;Local - Contrast Threshold Mask blur
|
||||||
HISTORY_MSG_843;Local - Radius Mask blur
|
HISTORY_MSG_843;Local - Radius Mask blur
|
||||||
HISTORY_MSG_844;Local - Color Mask fftw
|
HISTORY_MSG_844;Local - Color Mask fftw
|
||||||
HISTORY_MSG_845;Local - Encoding log
|
HISTORY_MSG_845;Local - log encoding
|
||||||
HISTORY_MSG_846;Local - Encoding auto
|
HISTORY_MSG_846;Local - Encoding auto
|
||||||
HISTORY_MSG_847;Local - Source Gray
|
HISTORY_MSG_847;Local - Source Gray
|
||||||
HISTORY_MSG_848;Local - Source Gray auto
|
HISTORY_MSG_848;Local - Source Gray auto
|
||||||
@ -1132,8 +1132,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 - Encoding log Graduated Strength
|
HISTORY_MSG_892;Local - Log Encoding Graduated Strength
|
||||||
HISTORY_MSG_893;Local - Encoding log Graduated angle
|
HISTORY_MSG_893;Local - Log Encoding Graduated angle
|
||||||
HISTORY_MSG_894;Local - Color Preview dE
|
HISTORY_MSG_894;Local - Color Preview dE
|
||||||
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
|
||||||
@ -1195,6 +1195,7 @@ HISTORY_MSG_953;Local - Mask Common blend chroma
|
|||||||
HISTORY_MSG_954;Local - Show-hide tools
|
HISTORY_MSG_954;Local - Show-hide tools
|
||||||
HISTORY_MSG_955;Local - Enable Spot
|
HISTORY_MSG_955;Local - Enable Spot
|
||||||
HISTORY_MSG_956;Local - CH Curve
|
HISTORY_MSG_956;Local - CH Curve
|
||||||
|
HISTORY_MSG_957;Local - Tool complexity mode
|
||||||
HISTORY_MSG_BLSHAPE;Blur by level
|
HISTORY_MSG_BLSHAPE;Blur by level
|
||||||
HISTORY_MSG_BLURCWAV;Blur chroma
|
HISTORY_MSG_BLURCWAV;Blur chroma
|
||||||
HISTORY_MSG_BLURWAV;Blur luminance
|
HISTORY_MSG_BLURWAV;Blur luminance
|
||||||
@ -1603,8 +1604,9 @@ PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs
|
|||||||
PREFERENCES_CLUTSDIR;HaldCLUT directory
|
PREFERENCES_CLUTSDIR;HaldCLUT directory
|
||||||
PREFERENCES_CMMBPC;Black point compensation
|
PREFERENCES_CMMBPC;Black point compensation
|
||||||
PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments
|
PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments
|
||||||
PREFERENCES_COMPLEXITY_EXP;Expert
|
PREFERENCES_COMPLEXITY_EXP;Advanced
|
||||||
PREFERENCES_COMPLEXITY_NORM;Normal
|
PREFERENCES_COMPLEXITY_NORM;Standard
|
||||||
|
PREFERENCES_COMPLEXITY_SIMP;Basic
|
||||||
PREFERENCES_CROP;Crop Editing
|
PREFERENCES_CROP;Crop Editing
|
||||||
PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop
|
PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop
|
||||||
PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop
|
PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop
|
||||||
@ -2363,7 +2365,7 @@ TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - direct blur and noise with all settings.\n
|
|||||||
TP_LOCALLAB_BLNOI_EXP;Blur & Noise
|
TP_LOCALLAB_BLNOI_EXP;Blur & Noise
|
||||||
TP_LOCALLAB_BLNORM;Normal
|
TP_LOCALLAB_BLNORM;Normal
|
||||||
TP_LOCALLAB_BLSYM;Symmetric
|
TP_LOCALLAB_BLSYM;Symmetric
|
||||||
TP_LOCALLAB_BLUFR;Smooth - Blur - Grain - Denoise
|
TP_LOCALLAB_BLUFR;Blur - Grain & Denoise
|
||||||
TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n*Blur the background by a RT-spot fully covering the image (high values for scope and transition) - normal or inverse.\n*Isolate the foreground by one or more excluding RT-spot with the tools you want (increse scope).\n\nThis module can be used in additional noise reduction,including "median" and "Guided filter"
|
TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n*Blur the background by a RT-spot fully covering the image (high values for scope and transition) - normal or inverse.\n*Isolate the foreground by one or more excluding RT-spot with the tools you want (increse scope).\n\nThis module can be used in additional noise reduction,including "median" and "Guided filter"
|
||||||
TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain
|
TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain
|
||||||
TP_LOCALLAB_BLURCBDL;Blur levels 0-1-2-3-4
|
TP_LOCALLAB_BLURCBDL;Blur levels 0-1-2-3-4
|
||||||
@ -2373,7 +2375,7 @@ TP_LOCALLAB_BLURLC;Luminance Only
|
|||||||
TP_LOCALLAB_BLURLEVELFRA;Blur Levels
|
TP_LOCALLAB_BLURLEVELFRA;Blur Levels
|
||||||
TP_LOCALLAB_BLURMASK_TOOLTIP;Generate a blur mask, take into account the structure with the contrast threshold Mask Blur slider.
|
TP_LOCALLAB_BLURMASK_TOOLTIP;Generate a blur mask, take into account the structure with the contrast threshold Mask Blur slider.
|
||||||
TP_LOCALLAB_BLURRESIDFRA;Blur Residual
|
TP_LOCALLAB_BLURRESIDFRA;Blur Residual
|
||||||
TP_LOCALLAB_BLUR_TOOLNAME;Smooth Blur Gain & Denoise - 1
|
TP_LOCALLAB_BLUR_TOOLNAME;Blur Grain & Denoise - 1
|
||||||
TP_LOCALLAB_BLWH;All changes forced in Black and White
|
TP_LOCALLAB_BLWH;All changes forced in Black and White
|
||||||
TP_LOCALLAB_BLWH_TOOLTIP;Force color change composante "a" and "b" to zero.\nUsefull when the user chooses black and white processes, or film.
|
TP_LOCALLAB_BLWH_TOOLTIP;Force color change composante "a" and "b" to zero.\nUsefull when the user chooses black and white processes, or film.
|
||||||
TP_LOCALLAB_BUTTON_ADD;Add
|
TP_LOCALLAB_BUTTON_ADD;Add
|
||||||
@ -2385,7 +2387,7 @@ TP_LOCALLAB_CBDL;Contrast by detail levels
|
|||||||
TP_LOCALLAB_CBDLCLARI_TOOLTIP;Takes the midtones and enhance them.
|
TP_LOCALLAB_CBDLCLARI_TOOLTIP;Takes the midtones and enhance them.
|
||||||
TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Acts as a wavelet tools.\nThe first level (0) acts on 2x2 details.\nThe last level (5) acts on 64x64 details.
|
TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Acts as a wavelet tools.\nThe first level (0) acts on 2x2 details.\nThe last level (5) acts on 64x64 details.
|
||||||
TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevent the sharpening of noise
|
TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevent the sharpening of noise
|
||||||
TP_LOCALLAB_CBDL_TOOLNAME;CBDL (Defects) - 2
|
TP_LOCALLAB_CBDL_TOOLNAME;CBDL - 2
|
||||||
TP_LOCALLAB_CENTER_X;Center X
|
TP_LOCALLAB_CENTER_X;Center X
|
||||||
TP_LOCALLAB_CENTER_Y;Center Y
|
TP_LOCALLAB_CENTER_Y;Center Y
|
||||||
TP_LOCALLAB_CH;Curves CL - LC
|
TP_LOCALLAB_CH;Curves CL - LC
|
||||||
@ -2414,7 +2416,7 @@ TP_LOCALLAB_COLORDEPREV_TOOLTIP;Button Preview ΔE needs that only one tool is e
|
|||||||
TP_LOCALLAB_COLORDE_TOOLTIP;Show preview selection ΔE in blue if negative and in green if positive.\n\nMask and modifications (show modifications without mask): show real modifications if positive, show enhanced modifications (only luminance) with blue and yellow if negative.
|
TP_LOCALLAB_COLORDE_TOOLTIP;Show preview selection ΔE in blue if negative and in green if positive.\n\nMask and modifications (show modifications without mask): show real modifications if positive, show enhanced modifications (only luminance) with blue and yellow if negative.
|
||||||
TP_LOCALLAB_COLORSCOPE;Scope Color Tools
|
TP_LOCALLAB_COLORSCOPE;Scope Color Tools
|
||||||
TP_LOCALLAB_COLORSCOPE_TOOLTIP;Use a common Scope for Color and light, Shadows highlight, Vibrance.\nOthers tools have their specific scope.
|
TP_LOCALLAB_COLORSCOPE_TOOLTIP;Use a common Scope for Color and light, Shadows highlight, Vibrance.\nOthers tools have their specific scope.
|
||||||
TP_LOCALLAB_COLOR_TOOLNAME;Color&Light (Defects) - 11
|
TP_LOCALLAB_COLOR_TOOLNAME;Color & Light - 11
|
||||||
TP_LOCALLAB_COL_NAME;Name
|
TP_LOCALLAB_COL_NAME;Name
|
||||||
TP_LOCALLAB_COL_VIS;Status
|
TP_LOCALLAB_COL_VIS;Status
|
||||||
TP_LOCALLAB_COMPFRA;Levels Directional Contrast
|
TP_LOCALLAB_COMPFRA;Levels Directional Contrast
|
||||||
@ -2504,13 +2506,13 @@ TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows various possibilities to blend image (as
|
|||||||
TP_LOCALLAB_EXPMETHOD_TOOLTIP;Standard : use an algorithm similar as main Exposure but in L*a*b* and taking account of deltaE.\n\nContrast attenuator : use another algorithm also with deltaE and with Poisson equation to solve Laplacian in Fourier space.\nContrast attenuator, Dynamic range compression and Standard can be combined.\nFFTW Fourier Transform is optimized in size to reduce processing time.\nReduce artifacts and noise.
|
TP_LOCALLAB_EXPMETHOD_TOOLTIP;Standard : use an algorithm similar as main Exposure but in L*a*b* and taking account of deltaE.\n\nContrast attenuator : use another algorithm also with deltaE and with Poisson equation to solve Laplacian in Fourier space.\nContrast attenuator, Dynamic range compression and Standard can be combined.\nFFTW Fourier Transform is optimized in size to reduce processing time.\nReduce artifacts and noise.
|
||||||
TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Apply a median before Laplace transform to prevent artifacts (noise).\nYou can also use "Denoise" tool.
|
TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Apply a median before Laplace transform to prevent artifacts (noise).\nYou can also use "Denoise" tool.
|
||||||
TP_LOCALLAB_EXPOSE;Dynamic Range Compr. & Exposure
|
TP_LOCALLAB_EXPOSE;Dynamic Range Compr. & Exposure
|
||||||
//TP_LOCALLAB_EXPOSURE_TOOLTIP;In some cases (strong shadows ..) you can use others modules "Shadows Highlights", "Tone equalizer", "TRC", "Encoding Log"...
|
//TP_LOCALLAB_EXPOSURE_TOOLTIP;In some cases (strong shadows ..) you can use others modules "Shadows Highlights", "Tone equalizer", "TRC", "Log Encoding"...
|
||||||
TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts.
|
TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts.
|
||||||
TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools
|
TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools
|
||||||
TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high decay transition values and scope to simulate small RT-spot.
|
TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high decay transition values and scope to simulate small RT-spot.
|
||||||
TP_LOCALLAB_EXPTOOL;Tools exposure
|
TP_LOCALLAB_EXPTOOL;Tools exposure
|
||||||
TP_LOCALLAB_EXPTRC;Tone Response Curve - TRC
|
TP_LOCALLAB_EXPTRC;Tone Response Curve - TRC
|
||||||
TP_LOCALLAB_EXP_TOOLNAME;Contrast attenuator -Dynamic Range Compression & Exposure- 10
|
TP_LOCALLAB_EXP_TOOLNAME;Contrast Attenuator -Dynamic Range Compression & Exposure- 10
|
||||||
TP_LOCALLAB_FATAMOUNT;Amount
|
TP_LOCALLAB_FATAMOUNT;Amount
|
||||||
TP_LOCALLAB_FATANCHOR;Anchor
|
TP_LOCALLAB_FATANCHOR;Anchor
|
||||||
TP_LOCALLAB_FATANCHORA;Offset
|
TP_LOCALLAB_FATANCHORA;Offset
|
||||||
@ -2535,7 +2537,7 @@ TP_LOCALLAB_GAMSH;Gamma
|
|||||||
TP_LOCALLAB_GRADANG;Gradient angle
|
TP_LOCALLAB_GRADANG;Gradient angle
|
||||||
TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees : -180 0 +180
|
TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees : -180 0 +180
|
||||||
TP_LOCALLAB_GRADFRA;Graduated Filter Mask
|
TP_LOCALLAB_GRADFRA;Graduated Filter Mask
|
||||||
TP_LOCALLAB_GRADGEN_TOOLTIP;Graduated filter is supplied with Color and Light & merge file, Exposure & mask, Shadows Highlight, Vibrance, Encoding log.\n\nVibrance, Color and Light & merge file, are provided with GF luminance, chrominance, Hue.\nFeather is located in settings.
|
TP_LOCALLAB_GRADGEN_TOOLTIP;Graduated filter is supplied with Color and Light & merge file, Exposure & mask, Shadows Highlight, Vibrance, Log Encoding.\n\nVibrance, Color and Light & merge file, are provided with GF luminance, chrominance, Hue.\nFeather is located in settings.
|
||||||
TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance
|
TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance
|
||||||
TP_LOCALLAB_GRADSTR;Gradient strength
|
TP_LOCALLAB_GRADSTR;Gradient strength
|
||||||
TP_LOCALLAB_GRADSTRAB_TOOLTIP;Filter chroma strength
|
TP_LOCALLAB_GRADSTRAB_TOOLTIP;Filter chroma strength
|
||||||
@ -2568,13 +2570,13 @@ TP_LOCALLAB_LABGRIDMERG;Background
|
|||||||
TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4
|
TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4
|
||||||
TP_LOCALLAB_LABSTRUM;Mask Structure
|
TP_LOCALLAB_LABSTRUM;Mask Structure
|
||||||
TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE
|
TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE
|
||||||
TP_LOCALLAB_LAPLACE;Δ - Laplacian threshold ΔE
|
TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE
|
||||||
TP_LOCALLAB_LAPLACEXP;∆ - Laplacian threshold
|
TP_LOCALLAB_LAPLACEXP;Laplacian threshold
|
||||||
TP_LOCALLAB_LAPMASKCOL;∆ - Laplacian threshold mask
|
TP_LOCALLAB_LAPMASKCOL;Laplacian threshold mask
|
||||||
TP_LOCALLAB_LAPRAD_TOOLTIP;Avoid using Radius and Laplace Threshold (expert) simultaneously.\nLaplacian threshold reduce contrast, artifacts, smooth result.
|
TP_LOCALLAB_LAPRAD_TOOLTIP;Avoid using Radius and Laplace Threshold (advanced) simultaneously.\nLaplacian threshold reduce contrast, artifacts, smooth result.
|
||||||
TP_LOCALLAB_LAP_MASK_TOOLTIP;Solve PDE for all Laplacian masks.\nIf enabled Laplacian threshold mask reduce artifacts and smooth result.\nIf disabled linear response.
|
TP_LOCALLAB_LAP_MASK_TOOLTIP;Solve PDE for all Laplacian masks.\nIf enabled Laplacian threshold mask reduce artifacts and smooth result.\nIf disabled linear response.
|
||||||
TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improve quality and allow big radius, but increases the treatment time.\nThe treatment time depends on the surface to be treated.\nTo be used preferably for large radius.\n\nDimensions can be reduced by a few pixels to optimize FFTW.\nThis optimization can reduce the treatment time by a factor of 1.5 to 10.\n
|
TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improve quality and allow big radius, but increases the treatment time.\nThe treatment time depends on the surface to be treated.\nTo be used preferably for large radius.\n\nDimensions can be reduced by a few pixels to optimize FFTW.\nThis optimization can reduce the treatment time by a factor of 1.5 to 10.\n
|
||||||
TP_LOCALLAB_LC_TOOLNAME;Local Constrast & Wavelet (Defects) - 7
|
TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets - 7
|
||||||
TP_LOCALLAB_LEVELBLUR;Maximum Blur levels
|
TP_LOCALLAB_LEVELBLUR;Maximum Blur levels
|
||||||
TP_LOCALLAB_LEVELLOCCONTRAST_TOOLTIP;On the abscissa local contrast (near concept luminance). On the ordinate, amplification or reduction local contrast.
|
TP_LOCALLAB_LEVELLOCCONTRAST_TOOLTIP;On the abscissa local contrast (near concept luminance). On the ordinate, amplification or reduction local contrast.
|
||||||
TP_LOCALLAB_LEVELWAV;Ψ Wavelets Levels
|
TP_LOCALLAB_LEVELWAV;Ψ Wavelets Levels
|
||||||
@ -2585,17 +2587,17 @@ TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 force luminance to
|
|||||||
TP_LOCALLAB_LIGHTRETI;Lightness
|
TP_LOCALLAB_LIGHTRETI;Lightness
|
||||||
TP_LOCALLAB_LINEAR;Linearity
|
TP_LOCALLAB_LINEAR;Linearity
|
||||||
TP_LOCALLAB_LIST_NAME;Add tool to current spot...
|
TP_LOCALLAB_LIST_NAME;Add tool to current spot...
|
||||||
TP_LOCALLAB_LIST_TOOLTIP;Choose a tool and then its level of complexity "Normal" or "Expert".\nThe number reflects the place of the tool in the process of each RT-Spot
|
TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard & Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing
|
||||||
TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Give priority to action on midtones and high lights and by choosing the concerned wavelet levels
|
TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Give priority to action on midtones and high lights and by choosing the concerned wavelet levels
|
||||||
TP_LOCALLAB_LMASK_LL_TOOLTIP;Give priority to action on midtones and high lights
|
TP_LOCALLAB_LMASK_LL_TOOLTIP;Give priority to action on midtones and high lights
|
||||||
TP_LOCALLAB_LOCCONT;Unsharp Mask
|
TP_LOCALLAB_LOCCONT;Unsharp Mask
|
||||||
TP_LOCALLAB_LOC_CONTRAST;Local contrast -Wavelet-defects
|
TP_LOCALLAB_LOC_CONTRAST;Local contrast & Wavelets
|
||||||
TP_LOCALLAB_LOC_CONTRASTPYR;Ψ Pyramid 1:
|
TP_LOCALLAB_LOC_CONTRASTPYR;Ψ Pyramid 1:
|
||||||
TP_LOCALLAB_LOC_CONTRASTPYR2;Ψ Pyramid 2:
|
TP_LOCALLAB_LOC_CONTRASTPYR2;Ψ Pyramid 2:
|
||||||
TP_LOCALLAB_LOC_CONTRASTPYR2LAB;Contrast by Levels- Tone Mapping - Dir.Contrast
|
TP_LOCALLAB_LOC_CONTRASTPYR2LAB;Contrast by Levels- Tone Mapping - Dir.Contrast
|
||||||
TP_LOCALLAB_LOC_CONTRASTPYRLAB;Graduated Filter - Edge Sharpness - Blur
|
TP_LOCALLAB_LOC_CONTRASTPYRLAB;Graduated Filter - Edge Sharpness - Blur
|
||||||
TP_LOCALLAB_LOC_RESIDPYR;Residual Image Main
|
TP_LOCALLAB_LOC_RESIDPYR;Residual Image (Main)
|
||||||
TP_LOCALLAB_LOG;Encoding log
|
TP_LOCALLAB_LOG;Log Encoding
|
||||||
TP_LOCALLAB_LOGAUTO;Automatic
|
TP_LOCALLAB_LOGAUTO;Automatic
|
||||||
TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will bring an evaluation of dynamic range and Source Gray point (if "Automatic" Source gray enabled).\nTo be able to touch up the automatic values, press the button again
|
TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will bring an evaluation of dynamic range and Source Gray point (if "Automatic" Source gray enabled).\nTo be able to touch up the automatic values, press the button again
|
||||||
TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm, the shadows are darker, the highlights are brighter.\nValues greater than 2 change the action of the algorithm, the shadows are grayer the highlights are more washed out
|
TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm, the shadows are darker, the highlights are brighter.\nValues greater than 2 change the action of the algorithm, the shadows are grayer the highlights are more washed out
|
||||||
@ -2607,7 +2609,7 @@ TP_LOCALLAB_LOGLIN;Logarithm mode
|
|||||||
TP_LOCALLAB_LOGPFRA;Relative Exposure Levels
|
TP_LOCALLAB_LOGPFRA;Relative Exposure Levels
|
||||||
TP_LOCALLAB_LOGSRCGREY_TOOLTIP;Estimated gray point value of the image, early in the process
|
TP_LOCALLAB_LOGSRCGREY_TOOLTIP;Estimated gray point value of the image, early in the process
|
||||||
TP_LOCALLAB_LOGTARGGREY_TOOLTIP;You can change this value to adapt it to your taste.
|
TP_LOCALLAB_LOGTARGGREY_TOOLTIP;You can change this value to adapt it to your taste.
|
||||||
TP_LOCALLAB_LOG_TOOLNAME;Encoding log - 0
|
TP_LOCALLAB_LOG_TOOLNAME;Log Encoding - 0
|
||||||
TP_LOCALLAB_LUM;Curves LL - CC
|
TP_LOCALLAB_LUM;Curves LL - CC
|
||||||
TP_LOCALLAB_LUMADARKEST;Darkest
|
TP_LOCALLAB_LUMADARKEST;Darkest
|
||||||
TP_LOCALLAB_LUMASK;Luminance Background Mask
|
TP_LOCALLAB_LUMASK;Luminance Background Mask
|
||||||
@ -2616,7 +2618,8 @@ TP_LOCALLAB_LUMAWHITESEST;Whiteest
|
|||||||
TP_LOCALLAB_LUMFRA;L*a*b* standard
|
TP_LOCALLAB_LUMFRA;L*a*b* standard
|
||||||
TP_LOCALLAB_LUMONLY;Luminance only
|
TP_LOCALLAB_LUMONLY;Luminance only
|
||||||
TP_LOCALLAB_MASKCOM;Common Color Mask
|
TP_LOCALLAB_MASKCOM;Common Color Mask
|
||||||
TP_LOCALLAB_MASKCOM_TOOLTIP;These masks works as all tools, they take into account scope color.\nThey are different from others masks which complete a tool (Color and Light, Exposure...)
|
TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope.
|
||||||
|
//These masks works as all tools, they take into account scope color.\nThey are different from others masks which complete a tool (Color and Light, Exposure...)
|
||||||
TP_LOCALLAB_MASFRAME;Mask and Merge
|
TP_LOCALLAB_MASFRAME;Mask and Merge
|
||||||
TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTake into account deltaE image to avoid retouching the selection area when sliders gamma mask, slope mask, chroma mask and curves contrast , levels contrasts, and mask blur, structure(if enabled tool) are used.\nDisabled in Inverse
|
TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTake into account deltaE image to avoid retouching the selection area when sliders gamma mask, slope mask, chroma mask and curves contrast , levels contrasts, and mask blur, structure(if enabled tool) are used.\nDisabled in Inverse
|
||||||
TP_LOCALLAB_MASK;Mask
|
TP_LOCALLAB_MASK;Mask
|
||||||
@ -2665,8 +2668,9 @@ TP_LOCALLAB_MERTWO;Substract
|
|||||||
TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts.
|
TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts.
|
||||||
TP_LOCALLAB_MLABEL;Restored datas Min=%1 Max=%2 (Clip - Offset)
|
TP_LOCALLAB_MLABEL;Restored datas Min=%1 Max=%2 (Clip - Offset)
|
||||||
TP_LOCALLAB_MLABEL_TOOLTIP;'Should be' near min=0 max=32768 (log mode) but others values are possible.\nYou can act on Clip Restored datas and Offset to normalize.\n\nRestored image with no mixture.
|
TP_LOCALLAB_MLABEL_TOOLTIP;'Should be' near min=0 max=32768 (log mode) but others values are possible.\nYou can act on Clip Restored datas and Offset to normalize.\n\nRestored image with no mixture.
|
||||||
TP_LOCALLAB_MODE_EXPERT;Expert
|
TP_LOCALLAB_MODE_EXPERT;Advanced
|
||||||
TP_LOCALLAB_MODE_NORMAL;Normal
|
TP_LOCALLAB_MODE_NORMAL;Standard
|
||||||
|
TP_LOCALLAB_MODE_SIMPLE;Basic
|
||||||
TP_LOCALLAB_MRFIV;Background
|
TP_LOCALLAB_MRFIV;Background
|
||||||
TP_LOCALLAB_MRFOU;Previous Spot
|
TP_LOCALLAB_MRFOU;Previous Spot
|
||||||
TP_LOCALLAB_MRONE;None
|
TP_LOCALLAB_MRONE;None
|
||||||
@ -2694,12 +2698,12 @@ TP_LOCALLAB_ORIGLC;Merge only with original image
|
|||||||
TP_LOCALLAB_ORRETILAP_TOOLTIP;Acts on a second Laplacian threshold, to take into account ΔE to differentiate the action especially with the background (different from Scope)
|
TP_LOCALLAB_ORRETILAP_TOOLTIP;Acts on a second Laplacian threshold, to take into account ΔE to differentiate the action especially with the background (different from Scope)
|
||||||
TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced
|
TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced
|
||||||
TP_LOCALLAB_PASTELS2;Vibrance
|
TP_LOCALLAB_PASTELS2;Vibrance
|
||||||
TP_LOCALLAB_PDE;Contrast attenuator - Dynamic Range compression
|
TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression
|
||||||
TP_LOCALLAB_PDEFRA;Contrast attenuator ƒ
|
TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ
|
||||||
TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - personal algorithm adapted from IPOL to Rawtherapee: lead to very different results and needs differents settings that Standard (negative black, gamma < 1,...)\nMay be usefull for low exposure or high dynamic range.\n
|
TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - personal algorithm adapted from IPOL to Rawtherapee: lead to very different results and needs differents settings that Standard (negative black, gamma < 1,...)\nMay be usefull for low exposure or high dynamic range.\n
|
||||||
TP_LOCALLAB_PREVIEW;Preview ΔE
|
TP_LOCALLAB_PREVIEW;Preview ΔE
|
||||||
TP_LOCALLAB_PREVHIDE;Hide all settings
|
TP_LOCALLAB_PREVHIDE;Hide additional settings
|
||||||
TP_LOCALLAB_PREVSHOW;Show all settings
|
TP_LOCALLAB_PREVSHOW;Show additional settings
|
||||||
TP_LOCALLAB_PROXI;ΔE decay
|
TP_LOCALLAB_PROXI;ΔE decay
|
||||||
TP_LOCALLAB_QUALCURV_METHOD;Curves type
|
TP_LOCALLAB_QUALCURV_METHOD;Curves type
|
||||||
TP_LOCALLAB_QUAL_METHOD;Global quality
|
TP_LOCALLAB_QUAL_METHOD;Global quality
|
||||||
@ -2722,7 +2726,7 @@ TP_LOCALLAB_RESIDHI;Highlights
|
|||||||
TP_LOCALLAB_RESIDHITHR;Highlights threshold
|
TP_LOCALLAB_RESIDHITHR;Highlights threshold
|
||||||
TP_LOCALLAB_RESIDSHA;Shadows
|
TP_LOCALLAB_RESIDSHA;Shadows
|
||||||
TP_LOCALLAB_RESIDSHATHR;Shadows threshold
|
TP_LOCALLAB_RESIDSHATHR;Shadows threshold
|
||||||
TP_LOCALLAB_RETI;Dehaze - Retinex Strong contrast
|
TP_LOCALLAB_RETI;Dehaze - Retinex
|
||||||
TP_LOCALLAB_RETIFRA;Retinex
|
TP_LOCALLAB_RETIFRA;Retinex
|
||||||
TP_LOCALLAB_RETIM;Original Retinex
|
TP_LOCALLAB_RETIM;Original Retinex
|
||||||
TP_LOCALLAB_RETITOOLFRA;Retinex Tools
|
TP_LOCALLAB_RETITOOLFRA;Retinex Tools
|
||||||
@ -2762,8 +2766,9 @@ TP_LOCALLAB_SH1;Shadows Highlights
|
|||||||
TP_LOCALLAB_SH2;Equalizer
|
TP_LOCALLAB_SH2;Equalizer
|
||||||
TP_LOCALLAB_SHADEX;Shadows
|
TP_LOCALLAB_SHADEX;Shadows
|
||||||
TP_LOCALLAB_SHADEXCOMP;Shadows compression & tonal width
|
TP_LOCALLAB_SHADEXCOMP;Shadows compression & tonal width
|
||||||
TP_LOCALLAB_SHADHIGH;ShadowsHighlight - Tone equalizer
|
TP_LOCALLAB_SHADHIGH;Shadows/Highlights-Tone equalizer
|
||||||
TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Can be used instead - or in complement - of exposure module in difficult cases.\nThe use of Denoise may be necessary : lightening the shadows.\n\nCan be used as graduated filter (increase Scope)
|
TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows & highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter.
|
||||||
|
//Can be used instead - or in complement - of exposure module in difficult cases.\nThe use of Denoise may be necessary : lightening the shadows.\n\nCan be used as graduated filter (increase Scope)
|
||||||
TP_LOCALLAB_SHAMASKCOL;Shadows mask
|
TP_LOCALLAB_SHAMASKCOL;Shadows mask
|
||||||
TP_LOCALLAB_SHAPETYPE;Shape RT-spot area
|
TP_LOCALLAB_SHAPETYPE;Shape RT-spot area
|
||||||
TP_LOCALLAB_SHAPE_TOOLTIP;Elipse is normal mode.\nRectangle can be used in some cases, for example to work in full image in conjonction with delimiters outside preview, transition = 100.\n\nPolygone - Beziers are waiting for GUI...
|
TP_LOCALLAB_SHAPE_TOOLTIP;Elipse is normal mode.\nRectangle can be used in some cases, for example to work in full image in conjonction with delimiters outside preview, transition = 100.\n\nPolygone - Beziers are waiting for GUI...
|
||||||
@ -2801,13 +2806,13 @@ 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 structure Spot(expert)
|
TP_LOCALLAB_SHOWSTRUC;Show structure Spot(advanced)
|
||||||
TP_LOCALLAB_SHOWSTRUCEX;Show structure Spot(expert)
|
TP_LOCALLAB_SHOWSTRUCEX;Show structure Spot(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
|
TP_LOCALLAB_SHRESFRA;Shadows/Highlights
|
||||||
TP_LOCALLAB_SHTRC_TOOLTIP;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
|
TP_LOCALLAB_SHTRC_TOOLTIP;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
|
||||||
TP_LOCALLAB_SH_TOOLNAME;Shadows Highlight & Tone Equalizer - 5
|
TP_LOCALLAB_SH_TOOLNAME;Shadows Highlights & Tone Equalizer - 5
|
||||||
TP_LOCALLAB_SIGMAWAV;Attenuation Response
|
TP_LOCALLAB_SIGMAWAV;Attenuation Response
|
||||||
TP_LOCALLAB_SIM;Simple
|
TP_LOCALLAB_SIM;Simple
|
||||||
TP_LOCALLAB_SLOMASKCOL;Slope mask
|
TP_LOCALLAB_SLOMASKCOL;Slope mask
|
||||||
@ -2837,7 +2842,7 @@ TP_LOCALLAB_STRRETI_TOOLTIP;if Strength Retinex < 0.2 only Dehaze is enabled.\ni
|
|||||||
TP_LOCALLAB_STRUC;Structure
|
TP_LOCALLAB_STRUC;Structure
|
||||||
TP_LOCALLAB_STRUCCOL;Structure
|
TP_LOCALLAB_STRUCCOL;Structure
|
||||||
TP_LOCALLAB_STRUCCOL1;Structure Spot
|
TP_LOCALLAB_STRUCCOL1;Structure Spot
|
||||||
TP_LOCALLAB_STRUCT_TOOLTIP;Use Sobel algorithm to take into account structure in shape detection.\nyou can have a preview by activating "mask and modifications - Show structure spot".\n\nCan be used in conjunction with masks (expert) structure, blur, wavelet to improve edge detection.\n\nNeeds maskless adjustments to be activated (lightness, exposure...)
|
TP_LOCALLAB_STRUCT_TOOLTIP;Use Sobel algorithm to take into account structure in shape detection.\nyou can have a preview by activating "mask and modifications - Show structure spot".\n\nCan be used in conjunction with masks (advanced) structure, blur, wavelet to improve edge detection.\n\nNeeds maskless adjustments to be activated (lightness, exposure...)
|
||||||
TP_LOCALLAB_STRUMASKCOL;Structure mask strength
|
TP_LOCALLAB_STRUMASKCOL;Structure mask strength
|
||||||
TP_LOCALLAB_STRUMASK_TOOLTIP;Generate a structure mask with difference between surface areas and reliefs.\nIf structure mask as tool is enabled, this mask is used in addition to the other tools (gamma, slope, contrast curve ...)
|
TP_LOCALLAB_STRUMASK_TOOLTIP;Generate a structure mask with difference between surface areas and reliefs.\nIf structure mask as tool is enabled, this mask is used in addition to the other tools (gamma, slope, contrast curve ...)
|
||||||
TP_LOCALLAB_STYPE;Shape method
|
TP_LOCALLAB_STYPE;Shape method
|
||||||
@ -2857,7 +2862,8 @@ TP_LOCALLAB_TM_MASK;Use transmission map
|
|||||||
TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This parameter affects sensitivity to edges.\n The greater it is the more likely an illumination change is to be considered an "edge".\n If set to zero tone mapping will have an effect similar to unsharp masking.
|
TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This parameter affects sensitivity to edges.\n The greater it is the more likely an illumination change is to be considered an "edge".\n If set to zero tone mapping will have an effect similar to unsharp masking.
|
||||||
TP_LOCALLAB_TONEMAPGAM_TOOLTIP;Gamma moves the action of tone-mapping to shadows or highlights.
|
TP_LOCALLAB_TONEMAPGAM_TOOLTIP;Gamma moves the action of tone-mapping to shadows or highlights.
|
||||||
TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems.
|
TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems.
|
||||||
TP_LOCALLAB_TONEMAP_TOOLTIP;Tone Mapping - main menu must be disabled
|
TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main menu tool must be de-activated if this tool is used.
|
||||||
|
//Tone Mapping - main menu must be disabled
|
||||||
TP_LOCALLAB_TONEMASCALE_TOOLTIP;This control gives meaning to the difference between "local" and "global" contrast.\nThe greater it is the larger a detail needs to be in order to be boosted
|
TP_LOCALLAB_TONEMASCALE_TOOLTIP;This control gives meaning to the difference between "local" and "global" contrast.\nThe greater it is the larger a detail needs to be in order to be boosted
|
||||||
TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping - 4
|
TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping - 4
|
||||||
TP_LOCALLAB_TOOLCOL;Structure mask as tool
|
TP_LOCALLAB_TOOLCOL;Structure mask as tool
|
||||||
@ -2875,15 +2881,16 @@ TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscis
|
|||||||
TP_LOCALLAB_USEMASK;Use mask
|
TP_LOCALLAB_USEMASK;Use mask
|
||||||
TP_LOCALLAB_VART;Variance (contrast)
|
TP_LOCALLAB_VART;Variance (contrast)
|
||||||
TP_LOCALLAB_VIBRANCE;Vibrance - Warm & Cool
|
TP_LOCALLAB_VIBRANCE;Vibrance - Warm & Cool
|
||||||
|
TP_LOCALLAB_VIBRA_TOOLTIP;Adjust vibrance (essentially the same as the global adjustment).\nCarry out the equivalent of a white-balance adjustment using a CIECAM algorithm.
|
||||||
TP_LOCALLAB_VIB_TOOLNAME;Vibrance - Warm & Cool - 3
|
TP_LOCALLAB_VIB_TOOLNAME;Vibrance - Warm & Cool - 3
|
||||||
TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex - 6
|
TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex - 6
|
||||||
TP_LOCALLAB_BLUR_TOOLNAME;Smooth Blur Gain & Denoise - 1
|
TP_LOCALLAB_BLUR_TOOLNAME;Smooth Blur Grain & Denoise - 1
|
||||||
TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping - 4
|
TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping - 4
|
||||||
TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex - 9
|
TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex - 9
|
||||||
TP_LOCALLAB_SHARP_TOOLNAME;Sharpening - 8
|
TP_LOCALLAB_SHARP_TOOLNAME;Sharpening - 8
|
||||||
TP_LOCALLAB_LC_TOOLNAME;Local Constrast & Wavelet (Defects) - 7
|
TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelet - 7
|
||||||
TP_LOCALLAB_CBDL_TOOLNAME;CBDL (Defects) - 2
|
TP_LOCALLAB_CBDL_TOOLNAME;CBDL - 2
|
||||||
TP_LOCALLAB_LOG_TOOLNAME;Encoding log - 0
|
TP_LOCALLAB_LOG_TOOLNAME;Log Encoding - 0
|
||||||
TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask - 13
|
TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask - 13
|
||||||
TP_LOCALLAB_VIS_TOOLTIP;<b>Click</b> to show/hide selected Control Spot.\n<b>Ctrl</b>+<b>click</b> to show/hide all Control Spot.
|
TP_LOCALLAB_VIS_TOOLTIP;<b>Click</b> to show/hide selected Control Spot.\n<b>Ctrl</b>+<b>click</b> to show/hide all Control Spot.
|
||||||
TP_LOCALLAB_WAMASKCOL;Ψ Mask Wavelet level
|
TP_LOCALLAB_WAMASKCOL;Ψ Mask Wavelet level
|
||||||
|
@ -390,7 +390,7 @@ public:
|
|||||||
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);
|
||||||
void Aver(const float* HH_Coeffs, int datalen, float &averagePlus, float &averageNeg, float &max, float &min, int numThreads);
|
void Aver(const float* HH_Coeffs, int datalen, float &averagePlus, float &averageNeg, float &max, float &min, int numThreads);
|
||||||
void Sigma(const float* HH_Coeffs, int datalen, float averagePlus, float averageNeg, float &sigmaPlus, float &sigmaNeg, int numThreads);
|
void Sigma(const float* HH_Coeffs, int datalen, float averagePlus, float averageNeg, float &sigmaPlus, float &sigmaNeg, int numThreads);
|
||||||
void calckoe(const float* const* WavCoeffs_LL, float gradw, float tloww, float ** koeLi, int level, int dir, int W_L, int H_L, float edd, float &maxkoeLi, float **tmC = nullptr);
|
void calckoe(const float* WavCoeffs_LL, float gradw, float tloww, float *koeLi, int level, int W_L, int H_L, float edd, float &maxkoeLi, float **tmC, bool multiThread = false);
|
||||||
|
|
||||||
void Median_Denoise(float **src, float **dst, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = nullptr);
|
void Median_Denoise(float **src, float **dst, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = nullptr);
|
||||||
void Median_Denoise(float **src, float **dst, float upperBound, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = nullptr);
|
void Median_Denoise(float **src, float **dst, float upperBound, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = nullptr);
|
||||||
|
@ -3724,6 +3724,13 @@ void ImProcFunctions::retinex_pde(const float * datain, float * dataout, int bfw
|
|||||||
fftwf_free(data_fft04);
|
fftwf_free(data_fft04);
|
||||||
fftwf_free(data_tmp04);
|
fftwf_free(data_tmp04);
|
||||||
}
|
}
|
||||||
|
if (show == 2) {
|
||||||
|
for (int y = 0; y < bfh ; y++) {
|
||||||
|
for (int x = 0; x < bfw; x++) {
|
||||||
|
datashow[y * bfw + x] = data_fft[y * bfw + x];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* solve the Poisson PDE in Fourier space */
|
/* solve the Poisson PDE in Fourier space */
|
||||||
/* 1. / (float) (bfw * bfh)) is the DCT normalisation term, see libfftw */
|
/* 1. / (float) (bfw * bfh)) is the DCT normalisation term, see libfftw */
|
||||||
@ -7402,7 +7409,7 @@ BENCHFUN
|
|||||||
CompressDR(wav_L0, W_L, H_L, Compression, DetailBoost);
|
CompressDR(wav_L0, W_L, H_L, Compression, DetailBoost);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((lp.residsha != 0.f || lp.residhi != 0.f)) {
|
if ((lp.residsha < 0.f || lp.residhi < 0.f)) {
|
||||||
float tran = 5.f;//transition shadow
|
float tran = 5.f;//transition shadow
|
||||||
|
|
||||||
if (lp.residshathr > (100.f - tran)) {
|
if (lp.residshathr > (100.f - tran)) {
|
||||||
@ -7439,6 +7446,31 @@ BENCHFUN
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((lp.residsha > 0.f || lp.residhi > 0.f)) {
|
||||||
|
const std::unique_ptr<LabImage> temp(new LabImage(W_L, H_L));
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for if (multiThread)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (int i = 0; i < H_L; i++) {
|
||||||
|
for (int j = 0; j < W_L; j++) {
|
||||||
|
temp->L[i][j] = wav_L0[i * W_L + j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ImProcFunctions::shadowsHighlights(temp.get(), true, 1, lp.residhi, lp.residsha , 40, sk, lp.residhithr, lp.residshathr);
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for if (multiThread)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (int i = 0; i < H_L; i++) {
|
||||||
|
for (int j = 0; j < W_L; j++) {
|
||||||
|
wav_L0[i * W_L + j] = temp->L[i][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (contrast != 0.) {
|
if (contrast != 0.) {
|
||||||
double avedbl = 0.0; // use double precision for large summations
|
double avedbl = 0.0; // use double precision for large summations
|
||||||
|
|
||||||
@ -7515,9 +7547,9 @@ BENCHFUN
|
|||||||
float eddlipampl = 1.f + lp.basew / 50.f;
|
float eddlipampl = 1.f + lp.basew / 50.f;
|
||||||
int W_L = wdspot->level_W(0);//provisory W_L H_L
|
int W_L = wdspot->level_W(0);//provisory W_L H_L
|
||||||
int H_L = wdspot->level_H(0);
|
int H_L = wdspot->level_H(0);
|
||||||
|
|
||||||
float *koeLi[12];
|
float *koeLi[12];
|
||||||
float maxkoeLi[12] = {0.f};
|
float maxkoeLi[12] = {0.f};
|
||||||
float *beta = new float[W_L * H_L];
|
|
||||||
|
|
||||||
float *koeLibuffer = new float[12 * H_L * W_L]; //12
|
float *koeLibuffer = new float[12 * H_L * W_L]; //12
|
||||||
|
|
||||||
@ -7525,65 +7557,21 @@ BENCHFUN
|
|||||||
koeLi[i] = &koeLibuffer[i * W_L * H_L];
|
koeLi[i] = &koeLibuffer[i * W_L * H_L];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int j = 0; j < 12; j++) {
|
|
||||||
for (int i = 0; i < W_L * H_L; i++) {
|
|
||||||
koeLi[j][i] = 0.f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
array2D<float> tmC(W_L, H_L);
|
array2D<float> tmC(W_L, H_L);
|
||||||
|
|
||||||
float gradw = lp.gradw;
|
float gradw = lp.gradw;
|
||||||
float tloww = lp.tloww;
|
float tloww = lp.tloww;
|
||||||
//StopWatch Stop1("test");
|
|
||||||
for (int lvl = 0; lvl < 4; lvl++) {
|
for (int lvl = 0; lvl < 4; lvl++) {
|
||||||
for (int dir = 1; dir < 4; dir++) {
|
for (int dir = 1; dir < 4; dir++) {
|
||||||
const int W_L = wdspot->level_W(lvl);
|
const int W_L = wdspot->level_W(lvl);
|
||||||
const int H_L = wdspot->level_H(lvl);
|
const int H_L = wdspot->level_H(lvl);
|
||||||
float* const* wav_L = wdspot->level_coeffs(lvl);
|
float* const* wav_L = wdspot->level_coeffs(lvl);
|
||||||
if (lvl == 3 && dir == 3) {
|
calckoe(wav_L[dir], gradw, tloww, koeLi[lvl * 3 + dir - 1], lvl, W_L, H_L, edd, maxkoeLi[lvl * 3 + dir - 1], tmC, true);
|
||||||
const float effect = lp.sigmaed;
|
|
||||||
constexpr float offset = 1.f;
|
|
||||||
float mea[10];
|
|
||||||
calceffect(lvl, mean, sigma, mea, effect, offset);
|
|
||||||
|
|
||||||
#ifdef _OPENMP
|
|
||||||
#pragma omp parallel for if(multiThread)
|
|
||||||
#endif
|
|
||||||
for (int co = 0; co < H_L * W_L; co++) {
|
|
||||||
const float WavCL = std::fabs(wav_L[dir][co]);
|
|
||||||
|
|
||||||
if (WavCL < mea[0]) {
|
|
||||||
beta[co] = 0.05f;
|
|
||||||
} else if (WavCL < mea[1]) {
|
|
||||||
beta[co] = 0.2f;
|
|
||||||
} else if (WavCL < mea[2]) {
|
|
||||||
beta[co] = 0.7f;
|
|
||||||
} else if (WavCL < mea[3]) {
|
|
||||||
beta[co] = 1.f; //standard
|
|
||||||
} else if (WavCL < mea[4]) {
|
|
||||||
beta[co] = 1.f;
|
|
||||||
} else if (WavCL < mea[5]) {
|
|
||||||
beta[co] = 0.8f; //+sigma
|
|
||||||
} else if (WavCL < mea[6]) {
|
|
||||||
beta[co] = 0.5f;
|
|
||||||
} else if (WavCL < mea[7]) {
|
|
||||||
beta[co] = 0.3f;
|
|
||||||
} else if (WavCL < mea[8]) {
|
|
||||||
beta[co] = 0.2f; // + 2 sigma
|
|
||||||
} else if (WavCL < mea[9]) {
|
|
||||||
beta[co] = 0.1f;
|
|
||||||
} else {
|
|
||||||
beta[co] = 0.05f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
calckoe(wav_L, gradw, tloww, koeLi, lvl, dir, W_L, H_L, edd, maxkoeLi[lvl * 3 + dir - 1], tmC);
|
|
||||||
// return convolution KoeLi and maxkoeLi of level 0 1 2 3 and Dir Horiz, Vert, Diag
|
// return convolution KoeLi and maxkoeLi of level 0 1 2 3 and Dir Horiz, Vert, Diag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tmC.free();
|
tmC.free();
|
||||||
//Stop1.stop();
|
|
||||||
float aamp = 1.f + lp.thigw / 100.f;
|
float aamp = 1.f + lp.thigw / 100.f;
|
||||||
|
|
||||||
const float alipinfl = (eddlipampl - 1.f) / (1.f - eddlipinfl);
|
const float alipinfl = (eddlipampl - 1.f) / (1.f - eddlipinfl);
|
||||||
@ -7743,6 +7731,14 @@ BENCHFUN
|
|||||||
constexpr float da_abssd = (maxampd - abssd) / 0.333f;
|
constexpr float da_abssd = (maxampd - abssd) / 0.333f;
|
||||||
constexpr float db_abssd = maxampd - da_abssd;
|
constexpr float db_abssd = maxampd - da_abssd;
|
||||||
constexpr float am = (abssd - bbssd) / 0.666f;
|
constexpr float am = (abssd - bbssd) / 0.666f;
|
||||||
|
const float effect = lp.sigmaed;
|
||||||
|
constexpr float offset = 1.f;
|
||||||
|
float mea[10];
|
||||||
|
calceffect(lvl, mean, sigma, mea, effect, offset);
|
||||||
|
float lutFactor;
|
||||||
|
const float inVals[] = {0.05f, 0.2f, 0.7f, 1.f, 1.f, 0.8f, 0.5f, 0.3f, 0.2f, 0.1f, 0.05f};
|
||||||
|
const auto meaLut = buildMeaLut(inVals, mea, lutFactor);
|
||||||
|
|
||||||
for (int dir = 1; dir < 4; dir++) {
|
for (int dir = 1; dir < 4; dir++) {
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel for schedule(dynamic, 16) if(multiThread)
|
#pragma omp parallel for schedule(dynamic, 16) if(multiThread)
|
||||||
@ -7800,7 +7796,7 @@ BENCHFUN
|
|||||||
}
|
}
|
||||||
|
|
||||||
edge = std::max(edge * kinterm, 1.f);
|
edge = std::max(edge * kinterm, 1.f);
|
||||||
wav_L[dir][k] *= 1.f + (edge - 1.f) * beta[k];
|
wav_L[dir][k] *= 1.f + (edge - 1.f) * (*meaLut)[std::fabs(wav_L[dir][k]) * lutFactor];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7810,8 +7806,6 @@ BENCHFUN
|
|||||||
if (koeLibuffer) {
|
if (koeLibuffer) {
|
||||||
delete [] koeLibuffer;
|
delete [] koeLibuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete[] beta;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//edge sharpness end
|
//edge sharpness end
|
||||||
|
@ -2217,7 +2217,7 @@ void ImProcFunctions::WaveletcontAllL(LabImage * labco, float ** varhue, float *
|
|||||||
for (int dir = 1; dir < 4; dir++) {
|
for (int dir = 1; dir < 4; dir++) {
|
||||||
const float* const* WavCoeffs_LL = WaveletCoeffs_L.level_coeffs(lvl);
|
const float* const* WavCoeffs_LL = WaveletCoeffs_L.level_coeffs(lvl);
|
||||||
float tempkoeli = 0.f;
|
float tempkoeli = 0.f;
|
||||||
calckoe (WavCoeffs_LL, gradw, tloww, koeLi, lvl , dir, W_L, H_L, edd, tempkoeli, tmC);
|
calckoe (WavCoeffs_LL[dir], gradw, tloww, koeLi[lvl * 3 + dir - 1], lvl, W_L, H_L, edd, tempkoeli, tmC);
|
||||||
maxkoeLi[lvl * 3 + dir - 1] = tempkoeli ;
|
maxkoeLi[lvl * 3 + dir - 1] = tempkoeli ;
|
||||||
// return convolution KoeLi and maxkoeLi of level 0 1 2 3 and Dir Horiz, Vert, Diag
|
// return convolution KoeLi and maxkoeLi of level 0 1 2 3 and Dir Horiz, Vert, Diag
|
||||||
}
|
}
|
||||||
@ -2645,13 +2645,11 @@ BENCHFUN
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImProcFunctions::calckoe (const float* const* WavCoeffs_LL, float gradw, float tloww, float *koeLi[12], int level, int dir, int W_L, int H_L, float edd, float &maxkoeLi, float **tmC)
|
void ImProcFunctions::calckoe (const float* WavCoeffs, float gradw, float tloww, float *koeLi, int level, int W_L, int H_L, float edd, float &maxkoeLi, float **tmC, bool multiThread)
|
||||||
{
|
{
|
||||||
int borderL = 2;
|
const int borderL = tloww < 75.f ? 1 : 2;
|
||||||
|
|
||||||
if (tloww < 30.f) {
|
|
||||||
borderL = 1;
|
|
||||||
|
|
||||||
|
if (tloww < 75.f) {
|
||||||
// I calculate coefficients with r size matrix 3x3 r=1 ; 5x5 r=2; 7x7 r=3
|
// I calculate coefficients with r size matrix 3x3 r=1 ; 5x5 r=2; 7x7 r=3
|
||||||
/*
|
/*
|
||||||
float k[2*r][2*r];
|
float k[2*r][2*r];
|
||||||
@ -2663,50 +2661,38 @@ void ImProcFunctions::calckoe (const float* const* WavCoeffs_LL, float gradw, fl
|
|||||||
//I could also use Gauss.h for 3x3
|
//I could also use Gauss.h for 3x3
|
||||||
// If necessary I can put a 7x7 matrix
|
// If necessary I can put a 7x7 matrix
|
||||||
*/
|
*/
|
||||||
for (int i = 1; i < H_L - 1; i++) { //sigma=0.55
|
float c0, c1, c2, mult;
|
||||||
for (int j = 1; j < W_L - 1; j++) {
|
if (tloww < 30.f) { //sigma=0.55
|
||||||
tmC[i][j] = (8.94f * WavCoeffs_LL[dir][i * W_L + j] + 1.71f * (WavCoeffs_LL[dir][(i - 1) * W_L + j] + 1.71f * WavCoeffs_LL[dir][(i + 1) * W_L + j]
|
c0 = 8.94f;
|
||||||
+ 1.71f * WavCoeffs_LL[dir][i * W_L + j + 1] + 1.71f * WavCoeffs_LL[dir][i * W_L + j - 1]) + 0.33f * WavCoeffs_LL[dir][(i - 1) * W_L + j - 1]
|
c1 = 1.71f;
|
||||||
+ 0.33f * WavCoeffs_LL[dir][(i - 1) * W_L + j + 1] + 0.33f * WavCoeffs_LL[dir][(i + 1) * W_L + j - 1] + 0.33f * WavCoeffs_LL[dir][(i + 1) * W_L + j + 1]) * 0.0584795f;
|
c2 = 0.33f;
|
||||||
// apply to each direction Wavelet level : horizontal / vertiacle / diagonal
|
mult = 0.0584795f;
|
||||||
|
} else if (tloww < 50.f) { //sigma=0.85
|
||||||
|
c0 = 4.0091f;
|
||||||
|
c1 = 2.0068f;
|
||||||
|
c2 = 1.0045f;
|
||||||
|
mult = 0.062288f;
|
||||||
|
} else { //sigma=1.1
|
||||||
|
c0 = 3.025f;
|
||||||
|
c1 = 2.001f;
|
||||||
|
c2 = 1.323f;
|
||||||
|
mult = 0.06127f;
|
||||||
}
|
}
|
||||||
}
|
c0 *= mult;
|
||||||
} else if (tloww < 50.f) {
|
c1 *= mult;
|
||||||
borderL = 1;
|
c2 *= mult;
|
||||||
|
#ifdef _OPENMP
|
||||||
for (int i = 1; i < H_L - 1; i++) { //sigma=0.85
|
#pragma omp parallel for if(multiThread)
|
||||||
for (int j = 1; j < W_L - 1; j++) {
|
#endif
|
||||||
tmC[i][j] = (4.0091f * WavCoeffs_LL[dir][i * W_L + j] + 2.0068f * (WavCoeffs_LL[dir][(i - 1) * W_L + j] + 2.0068f * WavCoeffs_LL[dir][(i + 1) * W_L + j]
|
|
||||||
+ 2.0068f * WavCoeffs_LL[dir][i * W_L + j + 1] + 2.0068f * WavCoeffs_LL[dir][i * W_L + j - 1]) + 1.0045f * WavCoeffs_LL[dir][(i - 1) * W_L + j - 1]
|
|
||||||
+ 1.0045f * WavCoeffs_LL[dir][(i - 1) * W_L + j + 1] + 1.0045f * WavCoeffs_LL[dir][(i + 1) * W_L + j - 1] + 1.0045f * WavCoeffs_LL[dir][(i + 1) * W_L + j + 1]) * 0.062288f;
|
|
||||||
// apply to each direction Wavelet level : horizontal / vertiacle / diagonal
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
else if (tloww < 75.f) {
|
|
||||||
borderL = 1;
|
|
||||||
|
|
||||||
for (int i = 1; i < H_L - 1; i++) {
|
for (int i = 1; i < H_L - 1; i++) {
|
||||||
for (int j = 1; j < W_L - 1; j++) { //sigma=1.1
|
for (int j = 1; j < W_L - 1; j++) {
|
||||||
tmC[i][j] = (3.025f * WavCoeffs_LL[dir][i * W_L + j] + 2.001f * (WavCoeffs_LL[dir][(i - 1) * W_L + j] + 2.001f * WavCoeffs_LL[dir][(i + 1) * W_L + j]
|
tmC[i][j] = c0 * WavCoeffs[i * W_L + j] +
|
||||||
+ 2.001f * WavCoeffs_LL[dir][i * W_L + j + 1] + 2.001f * WavCoeffs_LL[dir][i * W_L + j - 1]) + 1.323f * WavCoeffs_LL[dir][(i - 1) * W_L + j - 1]
|
c1 * ((WavCoeffs[(i - 1) * W_L + j] + WavCoeffs[(i + 1) * W_L + j]) + (WavCoeffs[i * W_L + j + 1] + WavCoeffs[i * W_L + j - 1])) +
|
||||||
+ 1.323f * WavCoeffs_LL[dir][(i - 1) * W_L + j + 1] + 1.323f * WavCoeffs_LL[dir][(i + 1) * W_L + j - 1] + 1.323f * WavCoeffs_LL[dir][(i + 1) * W_L + j + 1]) * 0.06127f;
|
c2 * ((WavCoeffs[(i - 1) * W_L + j - 1] + WavCoeffs[(i - 1) * W_L + j + 1]) + (WavCoeffs[(i + 1) * W_L + j - 1] + WavCoeffs[(i + 1) * W_L + j + 1]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
|
|
||||||
else if (tloww >= 75.f) {
|
|
||||||
borderL = 2;
|
|
||||||
|
|
||||||
if (level > 1) { // do not activate 5x5 if level 0 or 1
|
if (level > 1) { // do not activate 5x5 if level 0 or 1
|
||||||
for (int i = 2; i < H_L - 2; i++) {
|
|
||||||
for (int j = 2; j < W_L - 2; j++) {
|
|
||||||
// Gaussian 1.1
|
// Gaussian 1.1
|
||||||
// 0.5 2 3 2 0.5
|
// 0.5 2 3 2 0.5
|
||||||
// 2 7 10 7 2
|
// 2 7 10 7 2
|
||||||
@ -2721,65 +2707,98 @@ void ImProcFunctions::calckoe (const float* const* WavCoeffs_LL, float gradw, fl
|
|||||||
// 4 9 12 9 4
|
// 4 9 12 9 4
|
||||||
// 2 4 5 4 2
|
// 2 4 5 4 2
|
||||||
// divi 159
|
// divi 159
|
||||||
|
float c0, c1, c2, c3, c4, c5, mult;
|
||||||
if (tloww < 85.f) { //sigma=1.1
|
if (tloww < 85.f) { //sigma=1.1
|
||||||
tmC[i][j] = (15.f * WavCoeffs_LL[dir][i * W_L + j] + 10.f * WavCoeffs_LL[dir][(i - 1) * W_L + j] + 10.f * WavCoeffs_LL[dir][(i + 1) * W_L + j]
|
c0 = 15.f;
|
||||||
+ 10.f * WavCoeffs_LL[dir][i * W_L + j + 1] + 10.f * WavCoeffs_LL[dir][i * W_L + j - 1] + 7.f * WavCoeffs_LL[dir][(i - 1) * W_L + j - 1]
|
c1 = 10.f;
|
||||||
+ 7.f * WavCoeffs_LL[dir][(i - 1) * W_L + j + 1] + 7.f * WavCoeffs_LL[dir][(i + 1) * W_L + j - 1] + 7.f * WavCoeffs_LL[dir][(i + 1) * W_L + j + 1]
|
c2 = 7.f;
|
||||||
+ 3.f * WavCoeffs_LL[dir][(i - 2) * W_L + j] + 3.f * WavCoeffs_LL[dir][(i + 2) * W_L + j] + 3.f * WavCoeffs_LL[dir][i * W_L + j - 2] + 3.f * WavCoeffs_LL[dir][i * W_L + j + 2]
|
c3 = 3.f;
|
||||||
+ 2.f * WavCoeffs_LL[dir][(i - 2) * W_L + j - 1] + 2.f * WavCoeffs_LL[dir][(i - 2) * W_L + j + 1] + 2.f * WavCoeffs_LL[dir][(i + 2) * W_L + j + 1] + 2.f * WavCoeffs_LL[dir][(i + 2) * W_L + j - 1]
|
c4 = 2.f;
|
||||||
+ 2.f * WavCoeffs_LL[dir][(i - 1) * W_L + j - 2] + 2.f * WavCoeffs_LL[dir][(i - 1) * W_L + j + 2] + 2.f * WavCoeffs_LL[dir][(i + 1) * W_L + j + 2] + 2.f * WavCoeffs_LL[dir][(i + 1) * W_L + j - 2]
|
c5 = 0.5f;
|
||||||
+ 0.5f * WavCoeffs_LL[dir][(i - 2) * W_L + j - 2] + 0.5f * WavCoeffs_LL[dir][(i - 2) * W_L + j + 2] + 0.5f * WavCoeffs_LL[dir][(i + 2) * W_L + j - 2] + 0.5f * WavCoeffs_LL[dir][(i + 2) * W_L + j + 2]
|
mult = 0.0088495f;
|
||||||
) * 0.0088495f;
|
} else { //sigma=1.4
|
||||||
|
c0 = 15.f;
|
||||||
|
c1 = 12.f;
|
||||||
|
c2 = 9.f;
|
||||||
|
c3 = 5.f;
|
||||||
|
c4 = 4.f;
|
||||||
|
c5 = 2.f;
|
||||||
|
mult = 0.0062893f;
|
||||||
}
|
}
|
||||||
|
c0 *= mult;
|
||||||
else {//sigma=1.4
|
c1 *= mult;
|
||||||
tmC[i][j] = (15.f * WavCoeffs_LL[dir][i * W_L + j] + 12.f * WavCoeffs_LL[dir][(i - 1) * W_L + j] + 12.f * WavCoeffs_LL[dir][(i + 1) * W_L + j]
|
c2 *= mult;
|
||||||
+ 12.f * WavCoeffs_LL[dir][i * W_L + j + 1] + 12.f * WavCoeffs_LL[dir][i * W_L + j - 1] + 9.f * WavCoeffs_LL[dir][(i - 1) * W_L + j - 1]
|
c3 *= mult;
|
||||||
+ 9.f * WavCoeffs_LL[dir][(i - 1) * W_L + j + 1] + 9.f * WavCoeffs_LL[dir][(i + 1) * W_L + j - 1] + 9.f * WavCoeffs_LL[dir][(i + 1) * W_L + j + 1]
|
c4 *= mult;
|
||||||
+ 5.f * WavCoeffs_LL[dir][(i - 2) * W_L + j] + 5.f * WavCoeffs_LL[dir][(i + 2) * W_L + j] + 5.f * WavCoeffs_LL[dir][i * W_L + j - 2] + 5.f * WavCoeffs_LL[dir][i * W_L + j + 2]
|
c5 *= mult;
|
||||||
+ 4.f * WavCoeffs_LL[dir][(i - 2) * W_L + j - 1] + 4.f * WavCoeffs_LL[dir][(i - 2) * W_L + j + 1] + 4.f * WavCoeffs_LL[dir][(i + 2) * W_L + j + 1] + 4.f * WavCoeffs_LL[dir][(i + 2) * W_L + j - 1]
|
#ifdef _OPENMP
|
||||||
+ 4.f * WavCoeffs_LL[dir][(i - 1) * W_L + j - 2] + 4.f * WavCoeffs_LL[dir][(i - 1) * W_L + j + 2] + 4.f * WavCoeffs_LL[dir][(i + 1) * W_L + j + 2] + 4.f * WavCoeffs_LL[dir][(i + 1) * W_L + j - 2]
|
#pragma omp parallel for if(multiThread)
|
||||||
+ 2.f * WavCoeffs_LL[dir][(i - 2) * W_L + j - 2] + 2.f * WavCoeffs_LL[dir][(i - 2) * W_L + j + 2] + 2.f * WavCoeffs_LL[dir][(i + 2) * W_L + j - 2] + 2.f * WavCoeffs_LL[dir][(i + 2) * W_L + j + 2]
|
#endif
|
||||||
) * 0.0062893f;
|
for (int i = 2; i < H_L - 2; i++) {
|
||||||
}
|
for (int j = 2; j < W_L - 2; j++) {
|
||||||
|
tmC[i][j] = c0 * WavCoeffs[i * W_L + j] +
|
||||||
|
c1 * ((WavCoeffs[(i - 1) * W_L + j] + WavCoeffs[(i + 1) * W_L + j]) + (WavCoeffs[i * W_L + j + 1] + WavCoeffs[i * W_L + j - 1])) +
|
||||||
// apply to each direction Wavelet level : horizontal / vertiacle / diagonal
|
c2 * ((WavCoeffs[(i - 1) * W_L + j - 1] + WavCoeffs[(i - 1) * W_L + j + 1]) + (WavCoeffs[(i + 1) * W_L + j - 1] + WavCoeffs[(i + 1) * W_L + j + 1])) +
|
||||||
|
c3 * ((WavCoeffs[(i - 2) * W_L + j] + WavCoeffs[(i + 2) * W_L + j]) + (WavCoeffs[i * W_L + j - 2] + WavCoeffs[i * W_L + j + 2])) +
|
||||||
|
c4 * ((WavCoeffs[(i - 2) * W_L + j - 1] + WavCoeffs[(i - 2) * W_L + j + 1]) + (WavCoeffs[(i + 2) * W_L + j + 1] + WavCoeffs[(i + 2) * W_L + j - 1]) +
|
||||||
|
(WavCoeffs[(i - 1) * W_L + j - 2] + WavCoeffs[(i - 1) * W_L + j + 2]) + (WavCoeffs[(i + 1) * W_L + j + 2] + WavCoeffs[(i + 1) * W_L + j - 2])) +
|
||||||
|
c5 * ((WavCoeffs[(i - 2) * W_L + j - 2] + WavCoeffs[(i - 2) * W_L + j + 2]) + (WavCoeffs[(i + 2) * W_L + j - 2] + WavCoeffs[(i + 2) * W_L + j + 2]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
|
#ifdef _OPENMP
|
||||||
}
|
#pragma omp parallel for if(multiThread)
|
||||||
|
#endif
|
||||||
float thr = 40.f; //avoid artifact eg. noise...to test
|
|
||||||
float thr2 = 1.5f * edd; //edd can be modified in option ed_detect
|
|
||||||
thr2 += gradw / 30.f; //to test
|
|
||||||
float diffFactor = (gradw / 100.f);
|
|
||||||
|
|
||||||
for (int i = 0; i < H_L; i++) {
|
for (int i = 0; i < H_L; i++) {
|
||||||
for (int j = 0; j < W_L; j++) {
|
for (int j = 0; j < W_L; j++) {
|
||||||
koeLi[level * 3 + dir - 1][i * W_L + j] = 1.f;
|
koeLi[i * W_L + j] = 0.f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// fill borders with 1.f
|
||||||
|
int ii = 0;
|
||||||
|
for (; ii < borderL; ii++) {
|
||||||
|
for (int j = 0; j < W_L; j++) {
|
||||||
|
koeLi[ii * W_L + j] = 1.f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; ii < H_L - borderL; ii++) {
|
||||||
|
for (int j = 0; j < borderL; j++) {
|
||||||
|
koeLi[ii * W_L + j] = 1.f;
|
||||||
|
}
|
||||||
|
for (int j = W_L - borderL; j < W_L; j++) {
|
||||||
|
koeLi[ii * W_L + j] = 1.f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; ii < H_L; ii++) {
|
||||||
|
for (int j = 0; j < W_L; j++) {
|
||||||
|
koeLi[ii * W_L + j] = 1.f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr float thr = 40.f; //avoid artifact eg. noise...to test
|
||||||
|
const float thr2 = 1.5f * edd + gradw / 30.f; //edd can be modified in option ed_detect
|
||||||
|
const float diffFactor = gradw / 100.f;
|
||||||
|
|
||||||
for (int i = borderL; i < H_L - borderL; i++) {
|
for (int i = borderL; i < H_L - borderL; i++) {
|
||||||
for (int j = borderL; j < W_L - borderL; j++) {
|
for (int j = borderL; j < W_L - borderL; j++) {
|
||||||
// my own algo : probably a little false, but simpler as Lipschitz !
|
// my own algo : probably a little false, but simpler as Lipschitz !
|
||||||
// Thr2 = maximum of the function ==> Lipsitch says = probably edge
|
// Thr2 = maximum of the function ==> Lipsitch says = probably edge
|
||||||
float temp = rtengine::max(std::fabs(WavCoeffs_LL[dir][i * W_L + j]), thr);
|
float temp = rtengine::max(std::fabs(WavCoeffs[i * W_L + j]), thr);
|
||||||
koeLi[level * 3 + dir - 1][i * W_L + j] = rtengine::min(thr2, std::fabs(tmC[i][j] / temp)); // limit maxi
|
koeLi[i * W_L + j] = rtengine::min(thr2, std::fabs(tmC[i][j] / temp)); // limit maxi
|
||||||
|
|
||||||
//it will be more complicated to calculate both Wh and Wv, but we have also Wd==> pseudo Lipschitz
|
//it will be more complicated to calculate both Wh and Wv, but we have also Wd==> pseudo Lipschitz
|
||||||
if (koeLi[level * 3 + dir - 1][i * W_L + j] > maxkoeLi) {
|
if (koeLi[i * W_L + j] > maxkoeLi) {
|
||||||
maxkoeLi = koeLi[level * 3 + dir - 1][i * W_L + j];
|
maxkoeLi = koeLi[i * W_L + j];
|
||||||
}
|
}
|
||||||
float diff = maxkoeLi - koeLi[level * 3 + dir - 1][i * W_L + j];
|
float diff = maxkoeLi - koeLi[i * W_L + j];
|
||||||
diff *= diffFactor;
|
diff *= diffFactor;
|
||||||
koeLi[level * 3 + dir - 1][i * W_L + j] = maxkoeLi - diff;
|
koeLi[i * W_L + j] = maxkoeLi - diff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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,
|
||||||
|
@ -946,7 +946,7 @@ enum ProcEventCode {
|
|||||||
Evlocallabsigmalc2 = 920,
|
Evlocallabsigmalc2 = 920,
|
||||||
Evlocallabblwh = 921,
|
Evlocallabblwh = 921,
|
||||||
EvlocallabcomplexityWithRefresh = 922,
|
EvlocallabcomplexityWithRefresh = 922,
|
||||||
EvlocallabcomplexityWithoutRefresh = 923,
|
// EvlocallabcomplexityWithoutRefresh = 923,
|
||||||
EvLocallabSpotcolorscope = 924,
|
EvLocallabSpotcolorscope = 924,
|
||||||
EvlocallabshowmasktypMethod = 925,
|
EvlocallabshowmasktypMethod = 925,
|
||||||
Evlocallabshadmaskblsha = 926,
|
Evlocallabshadmaskblsha = 926,
|
||||||
|
@ -2656,7 +2656,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
// Color & Light
|
// Color & Light
|
||||||
visicolor(false),
|
visicolor(false),
|
||||||
expcolor(false),
|
expcolor(false),
|
||||||
complexcolor(0),
|
complexcolor(2),
|
||||||
curvactiv(false),
|
curvactiv(false),
|
||||||
lightness(0),
|
lightness(0),
|
||||||
contrast(0),
|
contrast(0),
|
||||||
@ -3293,7 +3293,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
scaltm(1.0),
|
scaltm(1.0),
|
||||||
rewei(0),
|
rewei(0),
|
||||||
satur(0.),
|
satur(0.),
|
||||||
sensitm(30),
|
sensitm(60),
|
||||||
softradiustm(0.0),
|
softradiustm(0.0),
|
||||||
amount(95.),
|
amount(95.),
|
||||||
equiltm(true),
|
equiltm(true),
|
||||||
|
@ -950,7 +950,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
LUMINANCECURVE, // Evlocallabsigmalc2
|
LUMINANCECURVE, // Evlocallabsigmalc2
|
||||||
LUMINANCECURVE, // Evlocallabblwh
|
LUMINANCECURVE, // Evlocallabblwh
|
||||||
LUMINANCECURVE, // EvlocallabcomplexityWithRefresh
|
LUMINANCECURVE, // EvlocallabcomplexityWithRefresh
|
||||||
M_VOID, // EvlocallabcomplexityWithoutRefresh
|
0, // can be reused
|
||||||
LUMINANCECURVE, // EvLocallabSpotcolorscope
|
LUMINANCECURVE, // EvLocallabSpotcolorscope
|
||||||
LUMINANCECURVE, // EvlocallabshowmasktypMethod
|
LUMINANCECURVE, // EvlocallabshowmasktypMethod
|
||||||
LUMINANCECURVE, // Evlocallabshadmaskblsha
|
LUMINANCECURVE, // Evlocallabshadmaskblsha
|
||||||
@ -982,7 +982,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
LUMINANCECURVE, // Evlocallabblendmaskab
|
LUMINANCECURVE, // Evlocallabblendmaskab
|
||||||
LUMINANCECURVE, // EvLocallabSpotprevMethod
|
LUMINANCECURVE, // EvLocallabSpotprevMethod
|
||||||
LUMINANCECURVE, // Evlocallabactiv
|
LUMINANCECURVE, // Evlocallabactiv
|
||||||
LUMINANCECURVE // EvlocallabCHshape
|
LUMINANCECURVE, // EvlocallabCHshape
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,6 +95,7 @@ ControlSpotPanel::ControlSpotPanel():
|
|||||||
|
|
||||||
preview_(Gtk::manage(new Gtk::ToggleButton(M("TP_LOCALLAB_PREVIEW")))),
|
preview_(Gtk::manage(new Gtk::ToggleButton(M("TP_LOCALLAB_PREVIEW")))),
|
||||||
ctboxshape(Gtk::manage(new Gtk::HBox())),
|
ctboxshape(Gtk::manage(new Gtk::HBox())),
|
||||||
|
ctboxshapemethod(Gtk::manage(new Gtk::HBox())),
|
||||||
|
|
||||||
controlPanelListener(nullptr),
|
controlPanelListener(nullptr),
|
||||||
lastObject_(-1),
|
lastObject_(-1),
|
||||||
@ -250,7 +251,7 @@ ControlSpotPanel::ControlSpotPanel():
|
|||||||
pack_start(*excluFrame);
|
pack_start(*excluFrame);
|
||||||
|
|
||||||
|
|
||||||
Gtk::HBox* const ctboxshapemethod = Gtk::manage(new Gtk::HBox());
|
// Gtk::HBox* const ctboxshapemethod = Gtk::manage(new Gtk::HBox());
|
||||||
Gtk::Label* const labelshapemethod = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_STYPE") + ":"));
|
Gtk::Label* const labelshapemethod = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_STYPE") + ":"));
|
||||||
ctboxshapemethod->pack_start(*labelshapemethod, Gtk::PACK_SHRINK, 4);
|
ctboxshapemethod->pack_start(*labelshapemethod, Gtk::PACK_SHRINK, 4);
|
||||||
|
|
||||||
@ -914,6 +915,7 @@ void ControlSpotPanel::prevMethodChanged()
|
|||||||
expMaskMerge_->hide();
|
expMaskMerge_->hide();
|
||||||
circrad_->hide();
|
circrad_->hide();
|
||||||
ctboxshape->hide();
|
ctboxshape->hide();
|
||||||
|
shapeMethod_->set_active(0);
|
||||||
|
|
||||||
} else { // Excluding case
|
} else { // Excluding case
|
||||||
expTransGrad_->show();
|
expTransGrad_->show();
|
||||||
@ -1730,6 +1732,25 @@ void ControlSpotPanel::setParamEditable(bool cond)
|
|||||||
savrest_->set_sensitive(cond);
|
savrest_->set_sensitive(cond);
|
||||||
complexMethod_->set_sensitive(cond);
|
complexMethod_->set_sensitive(cond);
|
||||||
wavMethod_->set_sensitive(cond);
|
wavMethod_->set_sensitive(cond);
|
||||||
|
preview_->set_sensitive(cond);
|
||||||
|
|
||||||
|
if (!cond) {
|
||||||
|
// Reset complex parameters visibility to default state
|
||||||
|
expTransGrad_->hide();
|
||||||
|
expShapeDetect_->hide();
|
||||||
|
expSpecCases_->hide();
|
||||||
|
expMaskMerge_->hide();
|
||||||
|
circrad_->hide();
|
||||||
|
ctboxshape->hide();
|
||||||
|
excluFrame->hide();
|
||||||
|
// ctboxshapemethod->hide();
|
||||||
|
locX_->hide();
|
||||||
|
locXL_->hide();
|
||||||
|
locY_->hide();
|
||||||
|
locYT_->hide();
|
||||||
|
centerX_->hide();
|
||||||
|
centerY_->hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ControlSpotPanel::setDefaultExpanderVisibility()
|
void ControlSpotPanel::setDefaultExpanderVisibility()
|
||||||
|
@ -419,6 +419,7 @@ private:
|
|||||||
sigc::connection previewConn_;
|
sigc::connection previewConn_;
|
||||||
|
|
||||||
Gtk::HBox* const ctboxshape;
|
Gtk::HBox* const ctboxshape;
|
||||||
|
Gtk::HBox* const ctboxshapemethod;
|
||||||
|
|
||||||
// Internal variables
|
// Internal variables
|
||||||
ControlPanelListener* controlPanelListener;
|
ControlPanelListener* controlPanelListener;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -16,7 +16,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 RawTherapee. If not, see <http://www.gnu.org/licenses/>.
|
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* 2019 Pierre Cabrera <pierre.cab@gmail.com>
|
* 2019-2020 Pierre Cabrera <pierre.cab@gmail.com>
|
||||||
*/
|
*/
|
||||||
#ifndef _LOCALLABTOOLS_H_
|
#ifndef _LOCALLABTOOLS_H_
|
||||||
#define _LOCALLABTOOLS_H_
|
#define _LOCALLABTOOLS_H_
|
||||||
@ -52,7 +52,8 @@ protected:
|
|||||||
// LocallabTool mode enumeration
|
// LocallabTool mode enumeration
|
||||||
enum modeType {
|
enum modeType {
|
||||||
Expert = 0,
|
Expert = 0,
|
||||||
Normal = 1
|
Normal = 1,
|
||||||
|
Simple = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
// LocallabTool parameters
|
// LocallabTool parameters
|
||||||
@ -162,7 +163,8 @@ private:
|
|||||||
|
|
||||||
// To be implemented
|
// To be implemented
|
||||||
virtual void enabledChanged() {};
|
virtual void enabledChanged() {};
|
||||||
virtual void convertParamToNormal() {}; // Only necessary when using mode
|
virtual void convertParamToNormal() {}; // From Expert mode to Normal mode; Only necessary when using mode
|
||||||
|
virtual void convertParamToSimple() {}; // From Normal mode to Simple mode; Only necessary when using mode
|
||||||
virtual void updateGUIToMode(const modeType new_type) {}; // Only necessary when using mode
|
virtual void updateGUIToMode(const modeType new_type) {}; // Only necessary when using mode
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -175,10 +177,10 @@ class LocallabColor:
|
|||||||
private:
|
private:
|
||||||
// Color & Light specific widgets
|
// Color & Light specific widgets
|
||||||
Gtk::Frame* const lumFrame;
|
Gtk::Frame* const lumFrame;
|
||||||
Gtk::CheckButton* const curvactiv;
|
|
||||||
Adjuster* const lightness;
|
Adjuster* const lightness;
|
||||||
Adjuster* const contrast;
|
Adjuster* const contrast;
|
||||||
Adjuster* const chroma;
|
Adjuster* const chroma;
|
||||||
|
Gtk::CheckButton* const curvactiv;
|
||||||
Gtk::Frame* const gridFrame;
|
Gtk::Frame* const gridFrame;
|
||||||
LabGrid* const labgrid;
|
LabGrid* const labgrid;
|
||||||
MyComboBoxText* const gridMethod;
|
MyComboBoxText* const gridMethod;
|
||||||
@ -204,10 +206,10 @@ private:
|
|||||||
DiagonalCurveEditor* const lcshape;
|
DiagonalCurveEditor* const lcshape;
|
||||||
CurveEditorGroup* const HCurveEditorG;
|
CurveEditorGroup* const HCurveEditorG;
|
||||||
FlatCurveEditor* const LHshape;
|
FlatCurveEditor* const LHshape;
|
||||||
CurveEditorGroup* const H2CurveEditorG;
|
|
||||||
FlatCurveEditor* const HHshape;
|
|
||||||
CurveEditorGroup* const H3CurveEditorG;
|
CurveEditorGroup* const H3CurveEditorG;
|
||||||
FlatCurveEditor* const CHshape;
|
FlatCurveEditor* const CHshape;
|
||||||
|
CurveEditorGroup* const H2CurveEditorG;
|
||||||
|
FlatCurveEditor* const HHshape;
|
||||||
CurveEditorGroup* const rgbCurveEditorG;
|
CurveEditorGroup* const rgbCurveEditorG;
|
||||||
MyComboBoxText* const toneMethod;
|
MyComboBoxText* const toneMethod;
|
||||||
DiagonalCurveEditor* const rgbshape;
|
DiagonalCurveEditor* const rgbshape;
|
||||||
@ -283,6 +285,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -388,6 +391,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -473,6 +477,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -557,6 +562,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -603,8 +609,11 @@ public:
|
|||||||
void adjusterChanged(Adjuster* a, double newval) override;
|
void adjusterChanged(Adjuster* a, double newval) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void complexityModeChanged();
|
||||||
|
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void softMethodChanged();
|
void softMethodChanged();
|
||||||
@ -708,6 +717,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -784,6 +794,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -874,6 +885,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -907,6 +919,7 @@ private:
|
|||||||
Adjuster* const sharradius;
|
Adjuster* const sharradius;
|
||||||
Adjuster* const sensisha;
|
Adjuster* const sensisha;
|
||||||
Gtk::CheckButton* const inverssha;
|
Gtk::CheckButton* const inverssha;
|
||||||
|
Gtk::Frame* const sharFrame;
|
||||||
MyComboBoxText* const showmasksharMethod;
|
MyComboBoxText* const showmasksharMethod;
|
||||||
|
|
||||||
sigc::connection inversshaConn, showmasksharMethodConn;
|
sigc::connection inversshaConn, showmasksharMethodConn;
|
||||||
@ -930,6 +943,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void inversshaChanged();
|
void inversshaChanged();
|
||||||
@ -952,8 +966,8 @@ private:
|
|||||||
Adjuster* const sigmalc;
|
Adjuster* const sigmalc;
|
||||||
CurveEditorGroup* const LocalcurveEditorwav;
|
CurveEditorGroup* const LocalcurveEditorwav;
|
||||||
FlatCurveEditor* const wavshape;
|
FlatCurveEditor* const wavshape;
|
||||||
Adjuster* const levelwav;
|
|
||||||
ThresholdAdjuster* const csThreshold;
|
ThresholdAdjuster* const csThreshold;
|
||||||
|
Adjuster* const levelwav;
|
||||||
MyExpander* const expresidpyr;
|
MyExpander* const expresidpyr;
|
||||||
Adjuster* const residcont;
|
Adjuster* const residcont;
|
||||||
Adjuster* const residchro;
|
Adjuster* const residchro;
|
||||||
@ -1058,6 +1072,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -1089,8 +1104,8 @@ class LocallabCBDL:
|
|||||||
public LocallabTool
|
public LocallabTool
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
const std::array<Adjuster*, 6> multiplier;
|
|
||||||
Gtk::Frame* const levFrame;
|
Gtk::Frame* const levFrame;
|
||||||
|
const std::array<Adjuster*, 6> multiplier;
|
||||||
Adjuster* const chromacbdl;
|
Adjuster* const chromacbdl;
|
||||||
Adjuster* const threshold;
|
Adjuster* const threshold;
|
||||||
Adjuster* const clarityml;
|
Adjuster* const clarityml;
|
||||||
@ -1143,6 +1158,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
void convertParamToNormal() override;
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
@ -1212,7 +1228,6 @@ private:
|
|||||||
Adjuster* const blendmask;
|
Adjuster* const blendmask;
|
||||||
Adjuster* const blendmaskab;
|
Adjuster* const blendmaskab;
|
||||||
Adjuster* const softradiusmask;
|
Adjuster* const softradiusmask;
|
||||||
|
|
||||||
MyComboBoxText* const showmask_Method;
|
MyComboBoxText* const showmask_Method;
|
||||||
Gtk::CheckButton* const enamask;
|
Gtk::CheckButton* const enamask;
|
||||||
CurveEditorGroup* const mask_CurveEditorG;
|
CurveEditorGroup* const mask_CurveEditorG;
|
||||||
@ -1226,7 +1241,7 @@ private:
|
|||||||
Gtk::CheckButton* const fftmask;
|
Gtk::CheckButton* const fftmask;
|
||||||
Adjuster* const contmask;
|
Adjuster* const contmask;
|
||||||
Adjuster* const blurmask;
|
Adjuster* const blurmask;
|
||||||
|
Gtk::Frame* const toolmaskFrame;
|
||||||
Adjuster* const radmask;
|
Adjuster* const radmask;
|
||||||
Adjuster* const lapmask;
|
Adjuster* const lapmask;
|
||||||
Adjuster* const chromask;
|
Adjuster* const chromask;
|
||||||
@ -1269,18 +1284,22 @@ public:
|
|||||||
void adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int newTopL, int newBottomR, int newTopR) override;
|
void adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int newTopL, int newBottomR, int newTopR) override;
|
||||||
void curveChanged(CurveEditor* ce) override;
|
void curveChanged(CurveEditor* ce) override;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void complexityModeChanged();
|
||||||
|
|
||||||
void enabledChanged() override;
|
void enabledChanged() override;
|
||||||
|
void convertParamToNormal() override;
|
||||||
|
void convertParamToSimple() override;
|
||||||
|
void updateGUIToMode(const modeType new_type) override;
|
||||||
|
|
||||||
|
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
||||||
|
|
||||||
void showmask_MethodChanged();
|
void showmask_MethodChanged();
|
||||||
void enamaskChanged();
|
void enamaskChanged();
|
||||||
void toolmaskChanged();
|
void toolmaskChanged();
|
||||||
void convertParamToNormal() override;
|
|
||||||
void updateGUIToMode(const modeType new_type) override;
|
|
||||||
void fftmaskChanged();
|
void fftmaskChanged();
|
||||||
void updatemaskGUI3();
|
|
||||||
void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override;
|
void updateMaskGUI();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -451,7 +451,7 @@ void Options::setDefaults()
|
|||||||
histogramHeight = 200;
|
histogramHeight = 200;
|
||||||
histogramDrawMode = 0;
|
histogramDrawMode = 0;
|
||||||
curvebboxpos = 1;
|
curvebboxpos = 1;
|
||||||
complexity = 1;
|
complexity = 2;
|
||||||
prevdemo = PD_Sidecar;
|
prevdemo = PD_Sidecar;
|
||||||
|
|
||||||
rgbDenoiseThreadLimit = 0;
|
rgbDenoiseThreadLimit = 0;
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
*
|
*
|
||||||
* RawTherapee is distributed in the hope that it will be useful,
|
* RawTherapee is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
*
|
*
|
||||||
* 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 RawTherapee. If not, see <https://www.gnu.org/licenses/>.
|
* along with RawTherapee. If not, see <https://www.gnu.org/licenses/>.
|
||||||
@ -946,7 +946,8 @@ Gtk::Widget* Preferences::getGeneralPanel()
|
|||||||
setExpandAlignProperties(complexitylocal, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE);
|
setExpandAlignProperties(complexitylocal, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE);
|
||||||
complexitylocal->append(M("PREFERENCES_COMPLEXITY_EXP"));
|
complexitylocal->append(M("PREFERENCES_COMPLEXITY_EXP"));
|
||||||
complexitylocal->append(M("PREFERENCES_COMPLEXITY_NORM"));
|
complexitylocal->append(M("PREFERENCES_COMPLEXITY_NORM"));
|
||||||
complexitylocal->set_active(1);
|
complexitylocal->append(M("PREFERENCES_COMPLEXITY_SIMP"));
|
||||||
|
complexitylocal->set_active(2);
|
||||||
workflowGrid->attach_next_to(*complexityL, *curveBBoxPosL, Gtk::POS_BOTTOM, 1, 1);
|
workflowGrid->attach_next_to(*complexityL, *curveBBoxPosL, Gtk::POS_BOTTOM, 1, 1);
|
||||||
workflowGrid->attach_next_to(*complexitylocal, *curveBBoxPosC, Gtk::POS_BOTTOM, 1, 1);
|
workflowGrid->attach_next_to(*complexitylocal, *curveBBoxPosC, Gtk::POS_BOTTOM, 1, 1);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user