Difference between revisions of "Local Adjustments/fr"

(Et le "Spot removal" pour retirer les défauts)
(Utilisation d'un masque inverse et d'un masque normal)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<div class="pagetitle">Contrôles Locaux Lab</div>
 
<div class="pagetitle">Contrôles Locaux Lab</div>
  
Texte rédigé par Jacques Desmis (mise à jour 13 mai 2020)
+
Texte rédigé par Jacques Desmis (mise à jour 22 mai 2020)
 
== Quel type de contrôle local? ==
 
== Quel type de contrôle local? ==
 
Lorsqu'on observe les différents logiciels du marché on trouve plusieurs types de contrôles locaux
 
Lorsqu'on observe les différents logiciels du marché on trouve plusieurs types de contrôles locaux
Line 309: Line 309:
 
# les différences de deltaE sont très faibles et qu'on souhaite une différenciation
 
# les différences de deltaE sont très faibles et qu'on souhaite une différenciation
 
# et lorsque que se trouve accolée une zone avec structure et une autre avec aplats
 
# et lorsque que se trouve accolée une zone avec structure et une autre avec aplats
 +
 +
===Synthèse des différentes options de settings===
 +
Settings reprend tout ce qui est commun à la gestion des RT-spot, par exemple :
 +
* les transitions seront identiques quelque soit l'outil choisi (Color and Light, Exposure, Denoise...)
 +
* mais ce qui n'est pas commun sera traité spécifiquement dans chaque outil, comme par exemple la gestion du deltaE (Scope)
 +
* remarque : des outils comme
 +
** le choix de travailler avec la souris ou avec des sliders (présents dans les versions de développement) a été caché pour simplifier l'interface (il est facile de le réactiver si nécessaire)
 +
** même constat pour "qualité globale"
 +
 +
====Gestion des RT-spots====
 +
Les premières lignes de l'interface permettent la gestion des RT-spot
 +
* création (add)
 +
* Suppression (delete)
 +
* Duplicate - créer un nouveau spot avec les caractéristiques de l'ancien en termes de forme
 +
* Rename (renomme le nom du Spot pour personnaliser le suivi)
 +
* Show - Hide : permet de cacher le Rt-spot pour assurer une meilleure lisibilité.
 +
 +
====Shape RT-spot area====
 +
Permet de choisir entre ellipse et rectangle comme forme du Rt-spot.
 +
A noter que dans une majorité de cas, ce choix est avec très peu d'incidences sur les résultats.
 +
Peut être, dans les semaines à venir y aura-t-il d'autres mode (courbes de Beziers, polygone...)
 +
* Ellipse est le mode par défaut
 +
* Rectangle peut servir à travailler en mode pleine image
 +
 +
====Spot method====
 +
Par défaut en mode "normal".
 +
Chaque Rt-spot peut contenir tout ou partie des outils disponibles.
 +
L'action est récursive
 +
 +
En mode "excluding"
 +
Chaque Rt-spot  peut contenir tout ou partie des outils disponibles.
 +
Excluding réinitialise les données d'origine.
 +
Excluding va par exemple permettre de supprimer des actions trop invasives ou de créer un mode inverse
 +
 +
====Spot size====
 +
La taille par défaut doit convenir dans une majorité de cas.
 +
De petites valeurs, permettent de ne traiter par exemple que les feuilles d'un arbre (bien sûr en association avec Scope deltaE)
 +
Des valeurs plus importantes vont permettre de gommer les petits écarts dans le calcul des références (hue, chroma, luma). Ceci peut être utile pour traiter la peau.
 +
 +
====Transition Gradient====
 +
* Transition value : permet de choisir l'incidence du réglage de tous les RT-spot. géographiquement selon le réglage de Transition "X", en-desoous de cette valeur 100% des réglages sont appliqués, au dessus il y a décroissance progressive (sauf si vois choisissez 100%)
 +
** de très faibles valeurs permettent par exemple la réduction des défauts
 +
 +
* Transition weakening : traduit la vitesse d'affaiblissement au del de "X%" ci-dessus. Avec 1 la décroissance est linéaire,...avec 25 une loi exponentielle réduit considérablement l'incidence de l'action, la rendant quasiment nulle. Ceci permet de choisir des Rt-spot relativement importants pour traiter certaines actions (défauts,...) sans incidences (ou presque au delà de %)
 +
 +
* Transition differentiation XY:  pemet de différentier l'action selon l'abscisse ou l'ordonnée créant de fait une variation du gradient
 +
 +
* Feather gradient : n'a aucune action si un des "Graduated filter" utilisable dans de nombreux outils n'est pas activé. Agit en pourcentage de la taille de diagonal du Rt-spot, lorsque un ou plusieurs des "Graduated filter" (luminance, chrominance, hue, local contrast) est utilisé.
 +
 +
====Shape detection====
 +
* Threshold structure : seuil d'action de l'algorithme de détection de structure - qui va contribuer à une meilleure sélection - pour "Color and Light" et "Exposure" (structure Spot). Pour visualiser l'action aller dans "Masks and modification" - show structure spot
 +
 +
* Threshold deltaE -scope : permet d'adapter les réglages par défaut du deltaE au type d'image. Si l'image est avec un fort gamut (fleurs, couleurs artificielles,...) il peut être nécessaire d'accroître les valeurs.
 +
 +
* DeltaE weakening : accroît l'efficacité du deltaE, de fortes valeurs vont rendre la sélection plus pertinente
 +
 +
* Balance deltaE ab-L : équilibre l'action de deltaE par rapport aux lois habituelles, plus axées vers  la luminance, ou vers la couleur.
 +
 +
* Balance deltaE C-H :  équilibre l'action de deltaE par rapport aux lois habituelles, plus axées vers le teinte, ou vers la chromaticité
 +
 +
* Color preview selection deltaE - strength et bouton associé : le slider permet de choisir la couleur visible "bleue" ou "verte" ainsi que son intensité. Le choix "vert" permet aussi de visualiser en couleur dans "mask and modifications"  - show modifications with or whithout mask. Presser le bouton donne un aperçu de ce qui est concerné par le deltaE (sans tenir compte pleinement ni des modifications, ni des transitions)
 +
 +
====Avoid Color shift====
 +
Tente de remettre les couleurs dans le gamut du working profile, une correction Munsell est ensuite appliquée
 +
 +
====All changes forces in Black and white====
 +
Lorsque l'utilisateur a utilisé en amont de "Local adjustments" un module noir et blanc ou une simulation de films noir et blanc, cette case à cocher permet d'éviter l’apparition de couleurs dus aux réglages de "Local adjustments"
 +
 +
====Recursives references====
 +
Force l'algorithme à recalculer les références après chaque outil.
 +
 +
====Mask an merge====
 +
Uniquement utilisé par les masques (lorsqu'ils sont activés : courbes LCH, etc.)
 +
* delta Mask laplacian solve PDE : résoud l'équation de Poisson lors d'utilisation de Laplaciens dans les masques (expert)
 +
* Mask deltaE image et slider Scope mask deltaE image : permet de prendre en compte le deltaE pour l’élaboration des masques - ce réglage est sans action sur les différents "Scope" présent dans chaque outils - il permet une meilleure sélection du masque - suppose que un des outils masque est activé (chroma mask, contrast cuve mask, gamma mask, slope mask....)
 +
* Luminance background mask : set the grey level of the mask background
  
 
===Algorithme complémentaire - Soft process (Soft radius)===
 
===Algorithme complémentaire - Soft process (Soft radius)===
Line 418: Line 494:
  
 
===Algorithme complémentaire - Mask ===  
 
===Algorithme complémentaire - Mask ===  
Les 8 modules "Color and Light" , "Exposure", "Shadows Highlight","Vibrance",  "CBDL", "Tone mapping", "Retinex" , ["Smooth and blur" + "Denoise"] (ces 2 derniers ont un masque commun) ont la possibilité d'utiliser un masque, mais "retinex" est une exception aux informations ci-dessous.
+
Les 8 modules "Color and Light" , "Exposure", "Shadows Highlight","Vibrance",  "CBDL", "Tone mapping", "Retinex" , ["Smooth and blur" + "Denoise"] (ces 2 derniers ont un masque commun) - provisoirement désactivé -  ont la possibilité d'utiliser un masque, mais "retinex" est une exception aux informations ci-dessous.
 
*Pour 4 modules : "Color and light", "Exposure", "Shadows highlight", "Smooth and Blur" ces masques peuvent être utilisés en mode inverse (avec des limitations)
 
*Pour 4 modules : "Color and light", "Exposure", "Shadows highlight", "Smooth and Blur" ces masques peuvent être utilisés en mode inverse (avec des limitations)
*Pour 2 modules : "Smooth and Blur" et "denoise", le masque est commun.
+
*Pour 2 modules : "Smooth and Blur" et "denoise", le masque est commun (provisoirement désactivé)
 
*Pour 2 modules : "Tone mapping" et "Retinex", le masque peut être utilisé "avant" le traitement ou "après le traitement"
 
*Pour 2 modules : "Tone mapping" et "Retinex", le masque peut être utilisé "avant" le traitement ou "après le traitement"
  
Line 482: Line 558:
 
* Blend permet de mélanger en plus ou en moins le masque avec l'image en cours
 
* Blend permet de mélanger en plus ou en moins le masque avec l'image en cours
  
* 2 masques "Color" Mask 8 et "Smooth Blur and Denoise" Mask 1 disposent d'un curseur "Shadow mask" (mask 8) ou "Highlight mask" (mask 1) qui permet un travail fin sur les ombres et les lumières du masque
+
* 2 masques "Color & light" Mask et "Smooth Blur and Denoise" Mask disposent d'un curseur "Shadow mask" ou "Highlight mask" qui permet un travail fin sur les ombres et les lumières du masque
* le masque "Shadows Highlight - Tone equalizer" - Mask 5, permet une action sur le masque à l'aide de l'algorithme "Dynamic Compression Range" qui peut agir soit sur les ombres, soit sur les lumières (Anchor)
+
* le masque "Shadows Highlight - Tone equalizer", permet une action sur le masque à l'aide de l'algorithme "Dynamic Compression Range" qui peut agir soit sur les ombres, soit sur les lumières (Anchor) - cette fonction est désactivée.
  
 
=====Structure mask as tool (case à cocher "enable")=====
 
=====Structure mask as tool (case à cocher "enable")=====
Line 491: Line 567:
 
=====Contrast curve, Wavelet local contrast, Hue curve=====
 
=====Contrast curve, Wavelet local contrast, Hue curve=====
 
* tous les masques sont dotés de la fonction "contrast curve"
 
* tous les masques sont dotés de la fonction "contrast curve"
* 2 masques "Blur and Denoise" (mask 1) et "Color and Light" (mask 8)sont dotés d'un contraste local fondé sur les "wavelets" avec choix du niveau, ils sont marqués *
+
* 2 masques "Blur and Denoise" (provisoirement désactivé) et "Color and Light" sont dotés d'un contraste local fondé sur les "wavelets" avec choix du niveau
 
* 1 masque "Color and Light" est doté de la fonction H=f(H) qui permet des retouches fine de la teinte, par exemple pour la peau
 
* 1 masque "Color and Light" est doté de la fonction H=f(H) qui permet des retouches fine de la teinte, par exemple pour la peau
  
Line 500: Line 576:
 
* Shadows mask (mask 1) permet un travail fin sur les ombres et les tons moyens - à utiliser de préférence avec "Mask deltaE image" activé
 
* Shadows mask (mask 1) permet un travail fin sur les ombres et les tons moyens - à utiliser de préférence avec "Mask deltaE image" activé
 
* Highlights mask (mask 8) permet un travail fin sur les hautes lumières et les tons moyens
 
* Highlights mask (mask 8) permet un travail fin sur les hautes lumières et les tons moyens
* Dynamic Range Compression (mask 5) permet de compresser les lumières ou les ombres
+
* Dynamic Range Compression (mask 5) permet de compresser les lumières ou les ombres (désactivé)
 
* Hue curve : permet la retouche fine de la couleur du masque, évidemment les seules couleurs qui peuvent être impactées sont celles qui apparaissent dans le masque
 
* Hue curve : permet la retouche fine de la couleur du masque, évidemment les seules couleurs qui peuvent être impactées sont celles qui apparaissent dans le masque
  
Line 507: Line 583:
 
* pour chaque masque
 
* pour chaque masque
 
* pour les curseurs et courbes qui modifient l'action sur les masques après leur élaboration :  
 
* pour les curseurs et courbes qui modifient l'action sur les masques après leur élaboration :  
** curseurs :"gamma mask" "Chroma mask" "slope mask" "Shadows mask" (mask 8) ou "Highlight mask" (mask 1)
+
** curseurs :"gamma mask" "Chroma mask" "slope mask" "Shadows mask" ou "Highlight mask"
 
** courbes : "contrast curve mask" , "Mask levels contrast" (lorsque cette courbe est présente), "Hue curve" (lorsqu'elle est présente)
 
** courbes : "contrast curve mask" , "Mask levels contrast" (lorsque cette courbe est présente), "Hue curve" (lorsqu'elle est présente)
 
* d'éviter une action sur la zone de sélection - celle où est présente le RT- spot
 
* d'éviter une action sur la zone de sélection - celle où est présente le RT- spot
Line 556: Line 632:
 
Les masques agissent dans l'ordre indiqué par le numéro devant "masks and modifications"
 
Les masques agissent dans l'ordre indiqué par le numéro devant "masks and modifications"
  
* Les masques suivants : CBDL, Exposure, Color and light, ShadowsHighlight, Vibrance, Smooth Blur & Denoise, peuvent être utilisés sans activer les outils conjoints. Ils sont notés "+"
+
* Les masques suivants : CBDL, Exposure, Color and light, ShadowsHighlight, Vibrance, Smooth Blur & Denoise, peuvent être utilisés sans activer les outils conjoints.
* Les masques suivants : Color and light, Smooth Blur & Denoise" sont marqués "*", ils permettent l'utilisation d'un "contraste local" fondé sur le niveau de wavelet, ainsi q'un ajustement "fin" de travail sur les ombres et les tons moyens et clair.
+
* Les masques suivants : Color and light, Smooth Blur & Denoise", ils permettent l'utilisation d'un "contraste local" fondé sur le niveau de wavelet, ainsi q'un ajustement "fin" de travail sur les ombres et les tons moyens et clair.
 
* Le masque "Color and light" permet l'utilisation d'une courbe hue = f(hue).
 
* Le masque "Color and light" permet l'utilisation d'une courbe hue = f(hue).
* Le masque "ShadowsHighlight Tone curve", marqué "*" permet de mettre en oeuvre "Dynamic range compression"
+
* Le masque "ShadowsHighlight Tone curve", permet de mettre en oeuvre "Dynamic range compression" (désactivé)
 
* le masque Vibrance" est un peu particulier, car il n'y a pas d'action sur la luminance dans Vibrance (sinon pour le contrôle du gamut), les réponses en luminance seront donc très faibles  
 
* le masque Vibrance" est un peu particulier, car il n'y a pas d'action sur la luminance dans Vibrance (sinon pour le contrôle du gamut), les réponses en luminance seront donc très faibles  
  
Line 575: Line 651:
 
* utilisation normale d'un masque associé à un outil
 
* utilisation normale d'un masque associé à un outil
 
* utilisation d'un masque inverse avec un des autres masques possibles (toujours avec le même RT-spot ou un RT-spot dupliqué). Dans ce cas il faudra activer (expander) l'outil associé à inverse; Vous pouvez  par exemple en utilisant"chroma mask" uniquement et inverse, rendre un fond quasiment gris. Attention si "Mask deltaE image" est activé, le fonctionnement en masque inverse n'en prendra pas compte.
 
* utilisation d'un masque inverse avec un des autres masques possibles (toujours avec le même RT-spot ou un RT-spot dupliqué). Dans ce cas il faudra activer (expander) l'outil associé à inverse; Vous pouvez  par exemple en utilisant"chroma mask" uniquement et inverse, rendre un fond quasiment gris. Attention si "Mask deltaE image" est activé, le fonctionnement en masque inverse n'en prendra pas compte.
 +
* vous pouvez pour tout outil doté d'un masque, transformer celui-ci en "mask inverse" en créant 2 Rt-spot: un premier étendu à toute l'image et un second "Exluding spot"
  
 
====Cas spécifique de Retinex====
 
====Cas spécifique de Retinex====
Line 1,195: Line 1,272:
 
== Aspects logiciels ==
 
== Aspects logiciels ==
 
Comme le traitement est itératif pour chaque Rt-spot, il est important de connaître l'ordre
 
Comme le traitement est itératif pour chaque Rt-spot, il est important de connaître l'ordre
*   Smooth Blur and noise, Denoise, Contrast By Detail Level, Vibrance, Tone mapping,  Shadow Highlight, Soflight, Local contrast, Sharp, Retinex, Exposure, Color and light, Avoid color shift
+
* Encoding log,  Smooth Blur and noise, Denoise, Contrast By Detail Level, Vibrance, Tone mapping,  Shadow Highlight, Soflight, Local contrast, Sharp, Retinex, Exposure, Color and light, Avoid color shift
 +
* cet ordre est indiqué par un nombre de 1 à 12 lors du choix de l'outil
  
 
* Comme évoqué dans le texte, certaines fonctions ont été réécrites, soit pour s'adapter à l'échelle, soit par qu'elle fonctionne en mode Lab au lieu de RGB
 
* Comme évoqué dans le texte, certaines fonctions ont été réécrites, soit pour s'adapter à l'échelle, soit par qu'elle fonctionne en mode Lab au lieu de RGB
Line 1,230: Line 1,308:
 
* elle va compliquer le code
 
* elle va compliquer le code
 
* il n'est pas sûr que cet apport soit indispensable, sinon lorsque la taille du RT-spot est proche de l'image entière, et que l'axe du gradient est proche de X ou de Y.
 
* il n'est pas sûr que cet apport soit indispensable, sinon lorsque la taille du RT-spot est proche de l'image entière, et que l'axe du gradient est proche de X ou de Y.
 +
===Comment réaliser un mode "inverse" pour tous les outils===
 +
Certains outils, "Color and light", "Exposure", "Sahdows Highlight", mais aussi "Smooth and Blur", "Sharpening".
 +
En règle générale, le mode "inverse" a des fonctionnalités réduites (moins de sliders, de courbes...)
 +
Si vous souhaitez conserver toutes les fonctionnalités et réaliser un mode "inverse" pour tous les outils:
 +
* créez un premier Rt-spot avec les réglages que vous souhaitiez appliquer en inverse
 +
* Dans settings :
 +
** Normal spot
 +
** Shape RT-spot area : rectangle
 +
** les 4 Délimiteurs en dehors du preview
 +
** Transition à 100
 +
* créez un deuxième RT-spot
 +
** Excluding spot
 +
** ajustez les réglages de ce Spot (settings)
 +
** vous pouvez utiliser tous les outils (Color and light, etc.)
 +
  
 
===Et le "Spot removal" pour retirer les défauts===
 
===Et le "Spot removal" pour retirer les défauts===

Latest revision as of 07:20, 22 May 2020

Contrôles Locaux Lab

Texte rédigé par Jacques Desmis (mise à jour 22 mai 2020)

Contents

1 Quel type de contrôle local?

Lorsqu'on observe les différents logiciels du marché on trouve plusieurs types de contrôles locaux

  1. les contrôles de type "lasso", associés à des calques et masques de fusion, comme par exemple dans Photoshop (c). Ce type de contrôle est majoritaire dans les logiciels (Photoshop, Gimp, Darktable...) et l'avis des utilisateurs est obligatoirement orienté vers ceux-ci au détriment du point 4. ci-dessous moins connu!
  2. les dispositifs de suppression de "yeux rouges", ou de "spot" (poussières...) liés aux imperfections du capteur
  3. les brosses qui permettent des mini corrections locales
  4. les contrôles de type U-points, utilisés jusque récemment dans Nikon Capture NX2 (c), ou comme complément à d'autres logiciels comme Nik Software (c), et récemment dans DxO ou Capture NXD. Pour qui a tâté de ces dispositifs (encore minoritaires aujourd'hui) il n'est pas question de revenir aux calques et masques de fusion! Ce type de contrôle nécessite un apprentissage différent de ceux de type lasso-calque et un désapprentissage cognitif de ceux-ci. De mon point de vue, ils sont globalement plus performants.

Dans la version présente de Rawtherapee, l’algorithme développé est proche dans le principe du point 4. ci-dessus, les U-points avec quelques possibilités pour 2. Bien sûr, le code de Nik Software m'est inconnu, mais il y a quelques années j'ai été séduit par la facilité d'utilisation et les performances des U-points, et j'ai entrepris de développer un produit qui ne ferait pas appel, ni au lasso, ni aux calques, ni aux masques de fusion (même si j'en ai récemment ajouté en complément).

Bien sûr rien n'interdit d'avoir les 3 possibilités (Lasso-calque, retouches spot, U-points) !

2 Quels défis à résoudre?

Plusieurs problèmes généraux sont à résoudre afin d'obtenir un fonctionnement fluide :

  • permettre un nombre quasi illimité de RT-spot (spot de contrôles);
  • adapter les algorithmes locaux aux problèmes d'échelle, car beaucoup d'algorithmes tiennent compte de la taille de l'image - donc de la zone traitée. Cet aspect est fondamental, notamment avec les courbes qui agissent sur toute l'image;
  • adapter - lorsque c'est le cas - les algorithmes RGB du code principal, en mode L*a*b* utilisé par le contrôle local
  • minimiser l'occupation mémoire et les temps de traitement en sortie JPG et TIF;
  • permettre des mises à jour logicielles faciles en cas d’évolution des algorithmes ou d'évolution du nombre de méthodes ;
  • optimiser les écarts entre "preview" et sortie JPG / TIF;
  • etc.

Pour chaque RT-spot :

  • permettre selon le cas, une action dans la zone sélectionnée ou à l'extérieur de la zone sélectionnée;
  • permettre selon le cas une détection de forme pour délimiter l'action ou une action également répartie sur toute la zone sélectionnée;
  • assurer une transition entre le cœur de la zone traitée et le reste de l'image;
  • etc.

Actuellement, les RT-spot (spot de contrôles) sont opérationnels, pour le mode Lab, et pour les méthodes suivantes:

  1. Color and light (defects) : lightness, chrominance, contraste, Color correction, en mode normal avec quatre courbes L=f(L), L=f(H), C=f(C), H=f(H) avec possibilité de masques et inverse ;
  2. Exposure - Dynamic Range Compression: en mode normal avec possibilité de masques et inverse;
  3. Shadows Highlight - Tone equalizer - TRC: en mode normal avec possibilité de masques et inverse;
  4. Local Contrast en mode "unsharp mask" et "wavelet" (defects) avec possibilité de masques;
  5. Vibrance et warm cool avec possibilité de masque;
  6. Soft Light et Original Retinex;
  7. Smooth - Blur and Noise - Grain: en mode normal, inverse, avec possibilité de masques;
  8. Denoise : en mode normal avec possibilité de masques (associés à Smooth - Blur and Noise)
  9. Dehaze - Retinex : en mode normal, maintenant avec gestion de la courbe "transmission gain" et "masques" (spéciaux);
  10. Sharpening : en mode normal et inverse;
  11. Tone Mapping avec possibilité de masques;
  12. Contrast By Detail Levels : en mode normal avec possibilité de masques;
  13. Encoding Log

3 Développement - Performance - Interface graphique - GUI

L'ensemble de l'équipe de Rawtherapee a contribué au développement, mais en particulier:

  1. Principe des algorithmes - code de base - Jacques Desmis
  2. Amélioration des performances (vitesse, mémoire...) - Ingo Weyrich
  3. Interface GUI - Pierre Cabrera. Elle me semble simple et intuitive.

Certaines parties récentes sont issues du travail de Alberto Griggio :

  • Detail threshold recovery (denoise),
  • Film grain,
  • Tone Equalizer
  • Amélioration de Guide Filter Luminance (log),
  • Encoding Log.

3.1 Nouveauté du GUI (Pierre Cabrera)

Depuis avril 2020, l'interface graphique présente de nombreuses innovations

  • pour chaque RT-spot vous pouvez choisir les outils qui vous conviennent. Ce qui va éviter de noyer l'interface avec des champs inutiles. Par exemple vous pouvez choisir "Color and Light" et "denoise"
  • les fichiers pp3 ne contiennent que les modifications, ce qui simplifie et accélère le travail courant
  • lorsque vous réalisez un "copy" "paste" des profiles - soit à partir du "File Browser", soit à partir de la barre des "Processing profiles", un menu vous propose quels RT-spot vous voulez copier.

Depuis mai 2020, vous pouvez pour chaque outil, choisir le niveau de complexité "Expert" ou "Normal"

4 Aide - Tooltip

Vous pouvez désactiver l'aide qui apparaît pour certains sliders, expanders, comboBox,... et qui peut être gênante.

Aller dans "Preferences " - "General" - "Show local adjustments Tooltip"

5 Choix du niveau de complexité

Depuis mai 2020 vous pouvez choisir le niveau de complexité, "normal" ou "expert" quel que soit le module. Dans "Preference" vous pouvez choisir quel mode sera affiché par défaut ("normal" ou "expert")

Vous pouvez ainsi sélectionner le niveau de complexité de "Local adjustments". Cette sélection va permettre d'adapter le niveau des algorithmes et fonctions à vos usages et compétences

  • "normal" : l'application dispose du nécessaire pour assurer les opérations courantes, l'interface graphique est simplifiée
  • "expert": toutes les fonctionnalités sont présentes, certaines (par exemple Retinex) nécessitent un apprentissage important.

5.1 Modules et fonctions disponibles par niveau : Normal, Expert

  • ne sont mentionnées que les différences "Expert" / "Normal"

5.1.1 Color & Light

Différences Expert / Normal

  • Merge files
  • Graduated filter chrominance et hue
  • Curves C(L), L(C), L(H), H(H), RGB Tone curves
  • Mask and modifications : Mask structure, Mask Blur, Laplacian mask, Gamma mask, Slope mask, Shadows mask, Hue curve mask, Mask levels wavelet

5.1.2 Exposure - Dynamic Range Compression

Différences Expert / Normal

  • Laplacian PDE and Dynamic range Compression
  • Mask and modifications : Laplacian mask, Gamma mask, Slope Mask, Graduated filter mask

5.1.3 Shadows Highlight - Tone Equalizer

Différences Expert / Normal

  • Shadows Highlight "Tone equalizer" et "TRC"
  • Mask and modifications : Laplacian mask, Gamma mask, Slope Mask, Dynamic Range Compression Mask

5.1.4 Vibrance - Warm Cool

Différences Expert / Normal

  • plus d'options dans Vibrance : pastels - saturated - Curve : skin tones
  • Graduated Filter chrominance et Hue
  • Mask and Modifications : Laplacian mask Gamma Mask, Slope Mask

5.1.5 Soft Light & Original Retinex

Différences Expert / Normal

  • Original Retinex (atténuateur de contraste cf Dodge and Burn)

5.1.6 Smooth Blur - Grain - Denoise

Différences Expert / Normal

  • Gaussian Blur : possibilité d'utiliser FFTW
  • Mask and Modifications : Gamma mask, Slope Mask, Highlight Mask, Mask levels wavelet

5.1.7 Tone mapping - Reinforced structure

Différences Expert / Normal

  • Gamma, saturation, Reweighting iterates
  • Mask and modifications : Laplacian Mask, Gamma mask, Slope mask

5.1.8 Dehaze - Retinex

Différences Expert / Normal

  • Retinex
  • Mask and modifications (Retinex)

5.1.9 Sharpening

Différences Expert / Normal

  • damping
  • iterations

5.1.10 Local contrast - Wavelet

Différences Expert / Normal

  • Wavelet - tous les outils

5.1.11 CBDL

Différences Expert / Normal

Mask and modifications : Laplacian mask Gamma mask, Slope mask

5.1.12 Encoding Log

Pas de différences

6 Principes généraux

6.1 L'Objet RT-spot

Comme je l'ai évoqué, le système utilisé est proche de celui mis au point par Nik Software, avec de grandes différences :

  • chaque RT-spot, peut être considéré comme un objet qui comporte plusieurs champs - à ce jour environ 100 (Il y a 180 événements gérés!), constitués de curseurs, courbes, combobox, checkbox, mask;
  • chaque champ, regroupé en paquets peut être ou non activé, et peut avoir des valeurs variables selon sa nature ;
  • les paquets sont des ensembles cohérents pour l'utilisateur : color & light, exposure, local contrast, shadows highlight, soft light, tone mapping, vibrance, Smooth blur and noise, retinex, sharpening, contrast by detail level, denoise ;
  • chaque RT-spot, crée une "couche" supplémentaire qui peut être assimilée à un calque. Chaque Rt-spot ajouté travaille par transparence et laisse voir les modifications précédentes - "Excludind Spot" permet d'accéder à l'image originale.
  • l'ensemble des RT-spots fonctionne en mode L*a*b* - contrairement au mode pleine image qui est soit en mode "RGB" avant demosaicing, soit en mode "rgb", soit en mode L*a*b*
  • les "RT-spots objets" sont gérés - création, modification, suivi - dans une boucle "for";
  • il n'y a pas de duplication de code.

6.2 La délimitation des zones - l’aperçu de la zone RT-spot

Lorsque l’utilisateur sélectionne un RT-spot (spot de contrôle),l’image à l’écran montre:

  • un centre "C", constitué d'un cercle dont on peut faire varier : a) le diamètre, b) la position avec la souris ou les curseurs;
  • quatre "points délimiteurs" horizontaux ou verticaux ("T" top, "B" bottom, "L" left, "R" right) dont on peut faire varier les positions avec la souris ou les curseurs.

On aboutit à :

  • une zone globale (rectangle) délimitée par les 4 "points délimiteurs" ("T", "B", "L", "R"): cette zone est celle où sont opérés les calculs des différents algorithmes (Exposure, Retinex, Shadows Highlight, etc.). C'est à l'intérieur de celle-ci (sauf bien sûr en mode inverse) que sont calculés et appliqués les algorithmes de détection de couleur et de structure.
  • 4 zones (à l'intérieur de la zone globale), dont on ne peut pas faire varier l'orientation; ces 4 zones ont chacun de leurs sommets reliés par une ellipse imaginaire ou un rectangle (settings).

Il est possible de pointer les limites des zones en dehors de la zone "preview".

A terme, il doit être possible, même si l'utilité me semble discutable du fait de l'algorithme de détection de forme - à noter que DxO et Capture NXD n'ont qu'une sélection circulaire - , de remplacer l'ellipse ou le rectangle, par une courbe (courbe de Beziers) ou un polygone tracée à l'aide de la souris, à condition :

  • que la transformée homothétique - de centre le centre du Spot "C" - de chacune des 4 courbes n'ait pas d'intersection avec la courbe originale.
  • chacune des 4 courbes passe par 2 "points délimiteurs" "T" ou "B" et "L" ou "R"
  • chacune des 4 courbes soit à l'intérieur des 4 rectangles "C", "T", "L", "C" ou "C", "T", "R", "C" ou "C", "B", "L", "C" ou "C", "B", "R", C" ou à l'intérieur de la zone globale en permettant l'homothétie comme évoqué ci-dessus
  • permettre l'élaboration de 4 LUT de type y=f(x)

Cette "amélioration" intellectuellement satisfaisante, ne devrait être que d'un apport négligeable (sauf cas spécifiques) - dans le cas des RT-spots. Néanmoins il sera toujours possible de faire coexister les actuels RT-spot avec des contrôles par"lasso" de type Photoshop (c).

A noter que l'utilisation de un ou plusieurs masques (avec 1 ou 2 Spots), peut suppléer à ces "nouvelles" courbes.

6.3 Les 4 types de gradient

L'objet RT-spot est conçu sur le principe de 4 gradients:

  • gradient du à la dissymétrie possible. En plaçant le centre du spot dans un angle du Spot et en faisant varier hauteur et largeur on crée naturellement un gradient différentiel avec les 3 gradients suivants :
  • gradient du à la transition - réglable - du centre vers la périphérie du Spot : 3 sliders permettent une variation différentielle
    • "Transition value" : jusque la valeur choisie "x" - l'algorithme est appliqué à 100% du centre jusque "x%" de la zone sélectionnée, puis une décroissance est assurée jusque 0, pour atteindre la périphérie du Spot. Avec cette transition on aboutit à 3 zones (à noter que en mode inverse, ces 3 zones sont inversées !):
      • zone 0 : celle située à l'extérieur du rectangle de sélection et à l'extérieur des 4 courbes aucune action;
      • zone 1 : celle située à l'intérieur des 4 courbes où est prise en compte l'action des curseurs "transition" : action progressive
      • zone 2 : celle située à l'intérieur des 4 courbes, proche du centre "C", où n'est pas prise en compte l'action des curseurs "transition" : action complète
    • "Transition weakening" : fait varier l'intensité géographique de la transition: 1 linéaire, jusque 10 transition à très forte décroissance (puissance 10).
    • "Transition differentiation XY" : Si le slider est différent de zéro, crée un gradient différentiel entre l'abscisse et l'ordonnée. Les valeurs négatives réduisent la zone de transition en ordonnée, et l'inverse pour les valeurs postives.
  • gradient de couleur (en fait de deltaE) grâce à la fonction "Scope" (étendue) - cette fonction prend en compte le deltaE. Plus les valeurs sont faibles, moins les écarts de couleur (L, C, H) sont pris en compte, à partir de Scope=80, l'étendue augmente pour à 100 atteindre une action égale quelque soit les couleurs. 3 sliders permettent de faire varier le gradient
    • deltaE Weakening : intensité de l'action en fonction du deltaE - 1 linéaire - jusque 10 à très forte décroissance (puissance 10)
    • Threshold deltaE-scope  : interagit sur les valeurs de deltaE prises en compte et "scope" - réduit ou accroît la sensibilité - à utiliser selon l'image. Les images à fort gamut (fleurs, couleurs artificielles..) supportent des valeurs élevées de ce slider
    • balance deltaE ab-L : Pour une valeur de 1, le calcul du deltaE prend en compte de manière égale les 3 composantes L* , a* , b*. Les valeurs supérieures vont accroître l'action de la L* et réciproquement
    • balance deltaE C - H : pour une valeur de 1, le calcul du deltaE prend compte à part égales, la chromaticité et la teinte, les valeurs supérieures vont accroître l'action de H (hue) et réciproquement.
  • gradient de type "Graduated Filter" (GF) de luminance, mais dans certains cas aussi de Chrominance et Teinte, qui permet des dégradés (gradient) en fonction de l'angle et du "feather"

Ainsi, tous les modules (y compris CBDL, Retinex, TM, etc.), ainsi que les modules agissant principalement sur la luminance (Color and Light, Exposure, Shadows Highlight...) réalisent de fait des gradients, croissants ou décroissants. Le centre du Spot étant toujours le point de référence.

6.4 Les 2 types de RT-spot

Deux types de RT-spot sont proposés:

  • Normal: chaque nouveau spot prend en compte les réglages des précédents - si bien sûr ils sont dans la zone d'action commune - on peut parler d'action récursive.
  • Excluding : chaque nouveau spot réinitialise, l'image à partir des données originales, mais garde pour les calculs, les références de l'image modifiée par les autres RT-spots.

Dans les deux cas, vous avez accès à la quasi totalité des réglages : Color and Light, CBDL, Blur, etc.

6.4.1 Commentaires sur le "Excluding spot":

  • il est dans le principe assez similaire au "Contre point" de Capture NX2(c) et permet de défaire des actions trop invasives par exemple une "bavure" non désirée, ou d'empêcher l'action sur une partie déterminée, par exemple si l'utilisateur souhaite accroître la saturation d'un portrait et qu'il veut exclure l’œil ou une partie avec une exposition différente.
  • l'algorithme que j'ai utilisé est très proche de ceux présents jusqu'ici dans "local adjustements", il est fondé sur les différences de deltaE et aussi sur la structure de l'image (via une transformée de Sobel Canny). Il n'est pas "parfait" mais devrait satisfaire 70% des cas.
  • il permet de simuler un module "inverse", pour cela créez un Rt-spot qui dépasse les limites de l'image, appliquez le module (Exposure, Retinex, etc.) que vous souhaitez, puis positionnez un second Rt-psot où vous souhaitez revenir sans modifications, choisissez "Excluding Spot", agissez sur Scope si nécessaire. Bien sûr vous pouvez avec ce RT-spot "excluding" apporter des modifications "Color and Light, ShadqosHighlight", etc.

6.4.2 Comment se servir de "Excluding spot"

  1. il suffit de placer le nouveau spot sur la zone à exclure
  2. choisir dans le menu "Settings", Spot method = "Excluding spot"
  3. Puis régler "Scope", "Transition", "Spot size" ainsi bien sûr que 4 limiteurs de zone, pour obtenir les effets désirés. Vous pouvez utiliser si nécessaire, des réglages complémentaires (comme pour le spot normal) par exemple "Color and Light", "Exposure", etc...
  4. dans certains cas (faible différence de deltaE...) il peut être nécessaire d'ajuster le curseur "Threshold deltaE-scope" - notamment en réduisant la valeur par défaut.
  5. dans le cas de zones avec aplats, vous pouvez utiliser "Structure" qui pourra aider dans certains cas à une meilleure délimitation de l'action.

6.5 Les références teinte, chroma, luminance et le principe de l'algorithme

Afin de mettre en œuvre un algorithme performant de détection de forme :

  • la zone du cercle central, sert de référence. En fonction du diamètre choisi par l'utilisateur, le système calcule, la moyenne de la teinte (hue), de la chroma, et de la luminance (lors de l'utilisation de Denoise, ou de Global quality = Enhanced + chroma denoise", ces différentes valeurs sont calculées après un léger floutage pour réduire l'impact du bruit) .
  • le choix du diamètre de la zone centrale dépend de l'usage. Par exemple pour un feuillage, l'utilisateur aura intérêt à choisir une valeur faible afin de ne sélectionner que le vert du feuillage; à l'inverse pour la peau l'utilisateur aura intérêt à accroître le diamètre afin d'éviter les prises en compte de données parasites (bruit, cils, etc.).
  • pour chaque quart, et en fonction du curseur "scope", le système prend en compte :
  1. en premier lieu de l'écart de deltaE (différence perçue entre 2 couleurs prenant en compte, la teinte, la chroma et la luminance)entre la zone centrale et le pixel courant) ;
  2. puis, un algorithme s'appuyant sur ce deltaE , atténue l'action en fonction de l'écart entre la zone centrale et le pixel courant.
  3. la modification d'action utilise soit une loi linéaire, soit une loi 'puissance' (parabolique, cubique,....) en fonction du réglage de "DeltaE weakening" dans settings (1 conduit à une loi linéaire, 2 parabolique, etc.)

Ceci va permettre de différencier l'action selon les critères énoncés ci-dessus, comme par exemple, si le cercle central se trouve dans un feuillage, de limiter l'action à l'ensemble du feuillage sans toucher à l'arrière plan (ce qui est impossible avec un lasso). De plus si un autre feuillage se situe dans la zone couverte, celui-ci sera également concernés par la modification.

  • l'action sur le curseur transition va permettre de faire varier l'action : si le curseur est réglé sur 50, la moitié (linéaire) de la zone concernée verra une application à 100% de l'effet, puis une transition agira régressivement jusqu'aux limites de la zone. Cette régression est par défaut "linéaire"; vous pouvez changer pour une régression parabolique ou une autre puissance, en agissant sur "transition weakening"
  • si on accroît la valeur de "scope", progressivement l’ensemble de la zone sélectionnée est prise en compte quelque soit la couleur, la chroma et la luminance.
  • si on réduit la valeur de "scope",l'action se limitera aux pixels très proches (en termes de deltaE) de la zone de référence.
  • si scope est supérieur à 80, progressivement l'ensemble de la zone est concernée de manière identique (pas du tout de prise en compte du deltaE). Ce mode de travail doit rester exceptionnel et n'est en général pas recommandé sauf par exemple pour créer des gradients de luminance .

L'algorithme de détection de forme est opérationnel en mode "normal" - son implantation en mode inverse s'accompagne de restrictions.

Cet algorithme va avoir ses performances modifiées, si l'utilisateur choisit : "Quality enhanced + chroma denoise". Ce second choix apporte une très légère réduction du bruit de chroma afin de supprimer les artefacts possibles liés à des images légèrement bruitées (à noter dans le cas + chroma denoise, un accroissement des besoins en mémoire et du temps de traitement).

Au dessus de la valeur de "scope" choisie, l'algorithme "deltaE" n'est pas pris en compte (voir ci-après).

6.5.1 Mise à jour récursive des références

Si vous activez la case à cocher "Recursives references"

  • les références hue (teinte) chroma, luma (luminance) et Sobel seront dynamiquement mises à jour, d'une part entre chaque module utilisé pour un même RT-spot, et d'autre part pour chaque RT-spot
  • les références qui apparaissent dans les masques C(C), L(L) et LC(H) et h(H) seront elles aussi mise à jour
  • attention, si vous activez cette case, et souhaitez utiliser le masque associé, le réglage du masque initial devra se faire sans activer l'expander (valeurs "avant" le travail réalisé par le module en cours)

6.5.2 Prévisualisation des zones sélectionnées Preview ΔE (deltaE)

Dans "Settings", si vous sélectionnez le bouton "Preview ΔE", vous aurez un aperçu des zones de l'image affectée par la sélection - les transitions ne sont pas prises en compte.

Egalement dans "settings" "Color preview ΔE and intensity" permet:

  • la sélection de la couleur de prévisualisation - bleu ou vert - et son intensité

Les curseurs et courbes agissant sur la couleur sont sans effet avec cette sélection. Les curseurs et courbes agissant sur la luminance ont un effet avec cette sélection.

"Scope" est le réglage le plus sensible puisque il agit directement sur le deltaE.

Les 4 curseurs situés en "Settings": a) Threshold ΔE-scope, b) ΔE weakening, c) Balance ΔE ab-L, d) Balance ΔE C-H, ont également un effet avec cette sélection.

6.5.3 DeltaE ΔE utilisé

J'ai choisi la version la plus simple du deltaE.

Si on évalue les valeurs L*a*b* dans l'intervalle : L [0..100] a [-128..+128] b [-128..+128]

  • Si Lc, ac, bc sont les valeurs du pixel courant
  • Si Lr, ar, br sont les valeurs de la référence (converties des valeurs LCH de base)
  • deltaE = sqrt(SQR(Lc - Lr) + SQR(ac - ar) + SQR (bc - br))

Correspondance avec la valeur de "scope":

  • il y a une relation entre scope et deltaE et l'affaiblissement (weakening), et "threshold deltaE-scope"
  • threshold deltaE-scope agit sur l'étendue de prise en compte
    • par défaut threshold deltaE-scope = 2 conduit à des valeurs de deltaE prises en compte de 2 à 155
    • si vous réduisez threshold deltaE-scope, la valeur maximale va être réduite jusque 130, à l'inverse si vous augmentez au maximum, le maximum deltaE sera de 230. De mon point de vue il faut réserver cette situation aux images avec de très grosses variations de gamut, par exemple des fleurs aux couleurs éclatantes. Par contre accroître légèrement threshold deltaE-scope (3 à 5) permet un rendu différent du système.
      • un deltaE de 230 ne peut se rencontrer que dans des cas extrêmes, par exemple 80 d'écart sur L, 158 sur a, 145 sur b... (uniquement accessible pour les très grands espaces de travail, avec des couleurs de base telles fleurs éclatantes ou couleurs artificielles, et action importante sur les sliders chroma et luma)

Cas avec threshold deltaE-scope = 2 (défaut)

  • les deltaE pris en compte varient de 2 (scope=0) à 155 (scope=100). Bien sûr ce choix est arbitraire on peut changer les 2 seuils mini et maxi (voir ci-dessus), mais il semble fonctionner dans une majorité de cas.
  • 2 n'est pas perceptible par l'oeil (mais ici ce n'est pas l'objectif recherché)
  • 155 correspond à des valeurs très élevées, par exemple 80 d'écart sur "a" (composante rouge vert), 80 sur "b" (composante bleu jaune"), 80 sur "L" ou autre exemple 50 sur "L", 105 sur "a" et 100 sur "b"

Par exemple lorsque "scope" est réglé sur 15, ceci signifie que toutes les couleurs telles que deltaE < 3 seront traitées telles quelles sans atténuation. Celles avec deltaE > 27.5 seront ignorées, les valeurs intermédiaires sont affaiblies d'autant plus qu'on se rapproche de deltaE = 27.5, par exemple:

  • un deltaE de 3 correspond par exemple à (il y a d'autres combinaisons...):
    • delta L = 2
    • delta a = 1
    • delta b = 2
  • un deltaE de 15 correspond par exemple à (il y a d'autres combinaisons...) :
    • delta L = 10
    • delta a = 9
    • delta b = 6.6
  • ou encore un deltaE de 27.5 par exemple à (il y a d'autres combinaisons...) :
    • delta L = 15
    • delta a = 14
    • delta b = 18.3

Lorsque on augmente "scope", par exemple à 50, toutes les couleurs telles que deltaE < 4.5 seront traitées telles quelles sans atténuation. Celles avec deltaE > 80 seront ignorées, les valeurs intermédiaires sont affaiblies d'autant plus qu'on se rapproche de deltaE = 80, par exemple:

  • un deltaE de 80 correspond par exemple à (il y a d'autres combinaisons...):
    • delta L = 20
    • delta a = 62
    • delta b = 44,7

Etc.

6.6 Algorithme complémentaire - détection de structure

L'algorithme de Sobel-Canny permet en association avec le filtre "Guide Filter" qui lisse les irrégularités, d'utiliser la différence entre la référence (cercle central) et la valeur de la structure en chaque point de l'image.

Cet "écart" est ajouté au calcul de deltaE pour mieux déterminer les contours et les zones à réduire l'effet. Ce système est efficace, si:

  • la référence est dans une zone avec une assez importante structure
  • la zone à affaiblir est un aplat ou avec une structure faible.

Structure est implanté dans "Color and Loght" et "Exposure" ainsi que dans "Excluding spot". Dans le sens Aplats vers structure vous pouvez agir si nécessaire, sur "Threshold structure" (Settings), la valeur est fonction du niveau de bruit.

Il est possible d'utiliser "structure" lorsque :

  1. les différences de deltaE sont très faibles et qu'on souhaite une différenciation
  2. et lorsque que se trouve accolée une zone avec structure et une autre avec aplats

6.7 Synthèse des différentes options de settings

Settings reprend tout ce qui est commun à la gestion des RT-spot, par exemple :

  • les transitions seront identiques quelque soit l'outil choisi (Color and Light, Exposure, Denoise...)
  • mais ce qui n'est pas commun sera traité spécifiquement dans chaque outil, comme par exemple la gestion du deltaE (Scope)
  • remarque : des outils comme
    • le choix de travailler avec la souris ou avec des sliders (présents dans les versions de développement) a été caché pour simplifier l'interface (il est facile de le réactiver si nécessaire)
    • même constat pour "qualité globale"

6.7.1 Gestion des RT-spots

Les premières lignes de l'interface permettent la gestion des RT-spot

  • création (add)
  • Suppression (delete)
  • Duplicate - créer un nouveau spot avec les caractéristiques de l'ancien en termes de forme
  • Rename (renomme le nom du Spot pour personnaliser le suivi)
  • Show - Hide : permet de cacher le Rt-spot pour assurer une meilleure lisibilité.

6.7.2 Shape RT-spot area

Permet de choisir entre ellipse et rectangle comme forme du Rt-spot. A noter que dans une majorité de cas, ce choix est avec très peu d'incidences sur les résultats. Peut être, dans les semaines à venir y aura-t-il d'autres mode (courbes de Beziers, polygone...)

  • Ellipse est le mode par défaut
  • Rectangle peut servir à travailler en mode pleine image

6.7.3 Spot method

Par défaut en mode "normal". Chaque Rt-spot peut contenir tout ou partie des outils disponibles. L'action est récursive

En mode "excluding" Chaque Rt-spot peut contenir tout ou partie des outils disponibles. Excluding réinitialise les données d'origine. Excluding va par exemple permettre de supprimer des actions trop invasives ou de créer un mode inverse

6.7.4 Spot size

La taille par défaut doit convenir dans une majorité de cas. De petites valeurs, permettent de ne traiter par exemple que les feuilles d'un arbre (bien sûr en association avec Scope deltaE) Des valeurs plus importantes vont permettre de gommer les petits écarts dans le calcul des références (hue, chroma, luma). Ceci peut être utile pour traiter la peau.

6.7.5 Transition Gradient

  • Transition value : permet de choisir l'incidence du réglage de tous les RT-spot. géographiquement selon le réglage de Transition "X", en-desoous de cette valeur 100% des réglages sont appliqués, au dessus il y a décroissance progressive (sauf si vois choisissez 100%)
    • de très faibles valeurs permettent par exemple la réduction des défauts
  • Transition weakening : traduit la vitesse d'affaiblissement au del de "X%" ci-dessus. Avec 1 la décroissance est linéaire,...avec 25 une loi exponentielle réduit considérablement l'incidence de l'action, la rendant quasiment nulle. Ceci permet de choisir des Rt-spot relativement importants pour traiter certaines actions (défauts,...) sans incidences (ou presque au delà de %)
  • Transition differentiation XY: pemet de différentier l'action selon l'abscisse ou l'ordonnée créant de fait une variation du gradient
  • Feather gradient : n'a aucune action si un des "Graduated filter" utilisable dans de nombreux outils n'est pas activé. Agit en pourcentage de la taille de diagonal du Rt-spot, lorsque un ou plusieurs des "Graduated filter" (luminance, chrominance, hue, local contrast) est utilisé.

6.7.6 Shape detection

  • Threshold structure : seuil d'action de l'algorithme de détection de structure - qui va contribuer à une meilleure sélection - pour "Color and Light" et "Exposure" (structure Spot). Pour visualiser l'action aller dans "Masks and modification" - show structure spot
  • Threshold deltaE -scope : permet d'adapter les réglages par défaut du deltaE au type d'image. Si l'image est avec un fort gamut (fleurs, couleurs artificielles,...) il peut être nécessaire d'accroître les valeurs.
  • DeltaE weakening : accroît l'efficacité du deltaE, de fortes valeurs vont rendre la sélection plus pertinente
  • Balance deltaE ab-L : équilibre l'action de deltaE par rapport aux lois habituelles, plus axées vers la luminance, ou vers la couleur.
  • Balance deltaE C-H : équilibre l'action de deltaE par rapport aux lois habituelles, plus axées vers le teinte, ou vers la chromaticité
  • Color preview selection deltaE - strength et bouton associé : le slider permet de choisir la couleur visible "bleue" ou "verte" ainsi que son intensité. Le choix "vert" permet aussi de visualiser en couleur dans "mask and modifications" - show modifications with or whithout mask. Presser le bouton donne un aperçu de ce qui est concerné par le deltaE (sans tenir compte pleinement ni des modifications, ni des transitions)

6.7.7 Avoid Color shift

Tente de remettre les couleurs dans le gamut du working profile, une correction Munsell est ensuite appliquée

6.7.8 All changes forces in Black and white

Lorsque l'utilisateur a utilisé en amont de "Local adjustments" un module noir et blanc ou une simulation de films noir et blanc, cette case à cocher permet d'éviter l’apparition de couleurs dus aux réglages de "Local adjustments"

6.7.9 Recursives references

Force l'algorithme à recalculer les références après chaque outil.

6.7.10 Mask an merge

Uniquement utilisé par les masques (lorsqu'ils sont activés : courbes LCH, etc.)

  • delta Mask laplacian solve PDE : résoud l'équation de Poisson lors d'utilisation de Laplaciens dans les masques (expert)
  • Mask deltaE image et slider Scope mask deltaE image : permet de prendre en compte le deltaE pour l’élaboration des masques - ce réglage est sans action sur les différents "Scope" présent dans chaque outils - il permet une meilleure sélection du masque - suppose que un des outils masque est activé (chroma mask, contrast cuve mask, gamma mask, slope mask....)
  • Luminance background mask : set the grey level of the mask background

6.8 Algorithme complémentaire - Soft process (Soft radius)

Certains algorithmes peuvent être agressifs:

  • Color and light
  • Exposure
  • Contrast By Detail Level

L'utilisation de "GuideFilter" sur la variation de luminance entre l'image originale et l'image modifiée, va permettre d'adoucir le résultat.

Nota : Shadows-Highlight possède par conception cet algorithme.

Actuellement seule la luminance est traitée... rien ne s'oppose à traiter la dimension "couleur" soit sous la forme de "Chroma" (C*) soit sous la forme des 2 composantes a* et b*

6.9 Algorithme complémentaire : Graduate Filter - GF

En m'inspirant du "Graduated Filter" (gradient de luminance) présent dans le menu principal, j'ai élaboré 2 autres gradients:

  • chrominance : il est ainsi possible de faire varier la chrominance et réaliser des dégradés de chroma (ciel, portrait)
  • hue : il est possible de faire varier la teinte et réaliser des dégradés de teinte (paysages, réglages fins, effets spéciaux..)

Les modules suivants sont dotés d'un module "Graduated Filter"

  • Color and Light : luminance, chrominance, hue (teinte), dans le menu de base, mais également dans "Merge file"
  • Exposure : luminance
  • Exposure Mask : luminance
  • Shadows Highlight : luminance
  • Vibrance : luminance, chrominance, teinte
  • Local contrast - wavelet pyramid : local contrast

Le réglage de "feather" - répartition sur le RT-Spot du gradient - se trouve dans Settings

Il n'y a pas "d'aide" avec la souris pour accompagner la rotation du gradient, c'est un curseur (-180 +180) qui permet cette fonctionnalité.

Bien sûr les fonctions de "transition" et de "scope" sont conservées.

6.10 Algorithme complémentaire : fusion d'images

Dans "Color and light" vous pouvez choisir dans : "Merge image and Mask", 5 possibilités:

  • "None" : Rawtherapee utilise toutes ses fonctions habituelles y compris les masques
  • "Shortcut 'L' Mask" : court - circuite les courbes de masque L, C, H et permet un mélange de l'image en cours avec un masque de la luminance de l'image originale
  • "Original image" : permet la fusion de l'image courante avec l'originale sans aucune modifications
  • "Previous Spot" : permet la fusion de l'image courante avec l'image du spot précédent
  • "Background" : permet de choisir un fond avec choix de couleur (hue, chroma) et luminance.

6.10.1 Background permet de simuler une brosse (brush)

En association avec: 
  • une faible taille du Rt-spot,
  • une valeur très faible de transition,
  • une valeur élevée de transition weakening
  • dupliquer le spot

6.10.2 Plusieurs types de fusion sont possibles avec ou sans utilisation du mask 8.

Bien sûr les fonctions de Scope et Transition sont conservées. Attention la valeur de scope (et l'algorithme) sont différents de ceux de base, à ce jour les options de "previsualisation" - show modifications without mask... ne sont pas disponibles.

Vous disposez des 3 possibilités de "graduated filter" (voir cette rubrique) : luminance, chrominance, hue, et bien sûr de du gradient d'angle

Modes de fusion - similaires à ceux de Photoshop:

  • normal, substract, difference, multiply, addition, divide, soft Light Photshop, SoftLight Illusion, Soft Light W3C, hard light, overlay, screen, darken only, lighten only, exclusion, Hue, stauration, Color, Luminosity
  • vous pouvez régler le "mélange" à l'aide du curseur "Opacity"
  • vous pouvez régler la répartition de l'action entre zones sans relief et zones avec contraste avec le curseur "contrast threshold" qui prend référence dans la luminance de l'image originale

6.10.3 Exemple d'effet spécial obtenu avec "merge file"

Bien sûr cet exemple n'est pas exhaustif, mais uniquement démonstratif. L'exemple va permettre de créer un double dégradé sur fond flou.

  • créer un premier RT-spot, "Normal spot", "Elipse"
    • Inverse
    • sélectionner avec les 4 délimiteurs, la zone à conserver exempte de flou gaussien
    • Smooth - Blur - Noise - Grain : "Gaussian Blur - Noise Grain" :
    • "Radius" 1000 à 10000,
    • "Scope" élévée 80 à 100,
    • "Luminance only" activée ou non, suivant souhaits
  • créer un deuxième RT-spot, "Normal spot", "Elipse", "Transition" 60, mais vous pourrez changer ensuite selon souhaits
    • mettre le centre de ce RT-spot à l'intérieur de l'aire du premier (zone exempte de flou)
    • sélectionner avec les 4 délimiteurs, la zone qui sera avec un flou variable, évidemment au delà de la première. Si vous sélectionnez au delà de l'image, il n'y aura qu'une simple dégradé de flou.
    • activer "Color and Light"
    • "Scope" élévée proche de 100 ou 100
    • "Merge File" : "Original Image"
    • "Merge with Original or Previous or Background" : "Normal" ou autre par exemple "Soft Light Photshop" - selon souhaits
      • Merge Background : 50 plus ou moins selon souhaits
      • Opacity : 50 plus ou moins selon souhaits
      • Contrast Threshold : selon souhaits
Doubleblur






6.11 RT-spot et calques

Lorsque vous créez un nouveau Spot, un "calque" est créé, c'est en réalité une copie de l'image précédente entière, même si le Spot est petit

Imaginons que l'utilisateur à créé 2 spots, on aboutit à :

  • calque N°1 : image originale non modifiée (celle qui est en "réserve") et qui peut servir pour "excluding spot"
  • calque N°2 : image copie de N°1 avec le Spot créé, par exemple la retouche d'une fleur à gauche de l'image
  • calque N°3 : image copie de n°2 avec un deuxième Spot créé, par exemple un portrait à droite de l'image


  1. Lorsqu'on fusionne N°2 et N°1 (Fusion du premier Spot avec "Original"), les modes de fusion répondent comme on s'y attend, par exemple si on active "mode difference", l'image dans la zone concernée de la fleur sera noire (si Scope est à 100)
  2. Si on fusionne N°3 et N°1 (Fusion du 2ème Spot avec "Original"), les modes de fusion laisseront apparaître l'image entière créée à l'occasion de la création du Spot N°1, donc le mode de fusion "difference" ne fera pas apparaître une image noire.
  3. Si on fusionne N°3 et N°2 (Fusion du 2ème Spot avec "Previous"),les modes de fusion laisseront apparaître l'image entière "originale", donc le mode de fusion "difference" ne fera pas apparaître une image noire.

Les mode de fusion sont sensibles aux paramètres de chaque RT-Spot, par exemple dans le cas de l'exemple N°1 ci-dessus, l'image noire ne sera possible que si Scope = 100

6.12 Algorithme complémentaire - Mask

Les 8 modules "Color and Light" , "Exposure", "Shadows Highlight","Vibrance", "CBDL", "Tone mapping", "Retinex" , ["Smooth and blur" + "Denoise"] (ces 2 derniers ont un masque commun) - provisoirement désactivé - ont la possibilité d'utiliser un masque, mais "retinex" est une exception aux informations ci-dessous.

  • Pour 4 modules : "Color and light", "Exposure", "Shadows highlight", "Smooth and Blur" ces masques peuvent être utilisés en mode inverse (avec des limitations)
  • Pour 2 modules : "Smooth and Blur" et "denoise", le masque est commun (provisoirement désactivé)
  • Pour 2 modules : "Tone mapping" et "Retinex", le masque peut être utilisé "avant" le traitement ou "après le traitement"

Vous pouvez utiliser un Laplacien de 2 façons (menu "Settings"):

  • Sans résolution de l'équation PDE (defaut) : dans ce cas le Laplacien réduira les artefact et va modifier le contraste local
  • Avec résolution de l'équation PDE : dans ce cas les inégalités de luminance du masque seront atténuées

A noter que selon le choix l'utilisation de "blend" sera inversée.

Vous pouvez agir sur la luminance de l'arrière plan des masques (menu settings), par défaut il est réglé à 10. A zéro, le masque traduit les réelles modifications, mais on peut moins percevoir les détails de structure.

6.12.1 Mask and modifications

Ce menu déroulant dispose de plusieurs choix, variables selon les outils

  • Show modifications without mask : montre l'aperçu des modifications - prend en compte les transitions
  • Show modifications with mask : montre l'aperçu des modifications si le masque est activé - prend en compte les transitions
  • Show mask : permet de visualiser l'aspect du masque avec l'action sur les courbes, filtres divers - ne prend pas en compte les transition et le deltaE principal, prend en compte le "Mask deltaE image" (Scope Mask deltaE image)
  • Show structure Spot : permet de visualiser l'effet sur la structure du curseur "Structure Spot" lorsqu'il est implanté

6.12.2 Ces masques visent 2 objectifs principaux:

  1. augmenter la sensibilité de détection et donc permettre une meilleure sélection des objets (objectif principal), sans modifier l'image, lorsque l'algorithme deltaE n'est pas suffisamment pertinent (rare).
  2. aboutir à des effets spéciaux en combinant l'image du masque et celle originale.

6.12.3 Fonctionnalités

6.12.3.1 Courbes LCH

L'image est modifiée avant le traitement (exception pour "Tone mapping" et "Retinex") par les algorithmes de "Color and Light", "Exposure", "Shadows Highlight", "Vibrance", "CBDL", "Tone mapping", "Smooth and Blur", "Retinex" et "Denoise" mais ces modifications sont prises en compte par les algorithmes de "locallab" que ce soit la détection de forme, les transitions, ... L'utilisateur dispose de 3 courbes qui sont au démarrage toutes positionnées à 1 (maximum) :

  • C=f(C) la chrominance varie en fonction de la chrominance, l'utilisateur peut ainsi diminuer la chroma pour améliorer la sélection. En mettant cette courbe proche de zéro (avec une petite valeur au maximum de C - pour activer la courbe -) va permettre en mode inverse de dé-saturer l'arrière plan
  • L=f(L) la luminance varie en fonction de la luminance, l'utilisateur peut ainsi diminuer la luminosité pour améliorer la sélection
  • L et C = f(H) la luminance et la chrominance varient en fonction de la teinte, l'utilisateur peut ainsi diminuer la luminosité et la chroma pour améliorer la sélection

Si l'utilisateur positionne les courbes près de l'ordonnée zéro, l'effet des masques sera inversé.

6.12.3.2 Structure

Un masque utilisant la structure de l'image (différenciation des zones sans contraste - ciels, aplats.. - et des zones avec contraste "habitations", "reliefs", ... -) peut être utilisé de 2 façons:

  • Structure mask (slider) avec la case à cocher "Structure mask as tool" non cochée : Dans ce cas, un masque faisant apparaître la structure sera généré même si aucune des 3 courbes n'est activée. Une action modérée sur le slider est recommandée !
  • Structure mask (slider) avec la case à cocher "Structure mask as tool" cochée : Dans ce cas, un masque faisant apparaître la structure sera généré après la mise en oeuvre de une ou plusieurs des 3 courbes. Ici, "Structure mask" se comporte comme les autres outils : gamma, slope, etc. Il permet de différencier l'action sur le masque selon la structure de l'image. Cette deuxième option est sensible à "Mask deltaE image" et le slider associé "Scope Mask deltaE image"
  • Structure mask est disponible pour les mask 1 (Blur and denoise" et mask 7 (Color and Light)
6.12.3.3 Blur

Un maque utilisant la création d'un flou à grand rayon (Mask Blur), permet de faire varier le contraste de l'image et/ou assombrir / éclaircir des parties d'images

  • Contrast threshold mask blur : permet de déterminer en fonction de la texture de l'image, les zones impactées ou non
  • Radius Mask blur: permet de faire varier le "rayon"du flou gaussien (0 à 500)
  • case à cocher FFTW : utilise la transformée de Fourier pour une meilleure qualité (augmentation du temps de traitement et des besoins en mémoire)

A noter que selon le "mode" (expert, confirmed, normal), cette fonction est ou non présente. De plus en mode "confirmed" absence de FFTW, et rayon limité à 100.

6.12.3.4 Radius et Laplacian Theshold

L'utilisation simultanée des 2 filtres est peu conseillée (cas sans résolution de l'équation PDE)

6.12.3.4.1 Radius

Un curseur "radius" - utilisant "GuideFilter" permet de diminuer les artefacts et adoucir les transitions.

6.12.3.4.2 Laplacian Threshold

Un curseur "Laplacian" permet une transformation du masque par application d'une convolution qui élimine les valeurs inférieures à Threshold.

  • Ceci permet de réduire les artefacts et le bruit, et modifier le contraste local (sans résolution de l'équation PDE)
  • Ou permet une modification de la luminance du masque en atténuant les écarts (avec PDE)
6.12.3.5 Gamma, Slope, Chroma, Blend, Shadows ou Highlights, Dynamic compression range

Vous pouvez modifier le masque - avec bien sûr l'incidence inverse sur l'image - à l'aide de 3 curseurs qui jouent:

  • sur la chroma en adaptant sa force à la valeur réelle rencontrée qui dépend de plusieurs facteurs dont la grandeur de l'espace de travail (sRGB, Prophoto, ...).
  • sur le gamma et la pente (même principe par exemple que le gamma sRGB) en agissant uniquement sur la luminance L*, avec une courbe sans discontinuité.
  • Blend permet de mélanger en plus ou en moins le masque avec l'image en cours
  • 2 masques "Color & light" Mask et "Smooth Blur and Denoise" Mask disposent d'un curseur "Shadow mask" ou "Highlight mask" qui permet un travail fin sur les ombres et les lumières du masque
  • le masque "Shadows Highlight - Tone equalizer", permet une action sur le masque à l'aide de l'algorithme "Dynamic Compression Range" qui peut agir soit sur les ombres, soit sur les lumières (Anchor) - cette fonction est désactivée.
6.12.3.6 Structure mask as tool (case à cocher "enable")

Un masque faisant apparaître la structure sera généré après la mise en oeuvre de une ou plusieurs des 3 courbes. Ici, "Structure mask" se comporte comme les autres outils : gamma, slope, etc. Il permet de différencier l'action sur le masque selon la structure de l'image. Cette deuxième option est sensible à "Mask deltaE image" et le slider associé "Scope Mask deltaE image"


6.12.3.7 Contrast curve, Wavelet local contrast, Hue curve
  • tous les masques sont dotés de la fonction "contrast curve"
  • 2 masques "Blur and Denoise" (provisoirement désactivé) et "Color and Light" sont dotés d'un contraste local fondé sur les "wavelets" avec choix du niveau
  • 1 masque "Color and Light" est doté de la fonction H=f(H) qui permet des retouches fine de la teinte, par exemple pour la peau
6.12.3.8 Quel usage pour les 7 possibilités d'action sur la luminance des masques et la couleur
  • Gamma et Slope : permet une transformation douce et sans artefacts du masque avec une action sur "L" très progressive sans aucune discontinuité
  • Contrast curve : peut être utilisée comme "Gamma et slope", mais son usage est une action ciblée sur certaines parties (en général les plus claires du masque) en utilisant une courbe excluant les parties sombres
  • Wavelet local contrast : permet de diminuer ou accroître l'action sur le niveau de détail souhaité du masque, en privilégiant l'action sur certaines zones de luminance (en général les plus claires)
  • Shadows mask (mask 1) permet un travail fin sur les ombres et les tons moyens - à utiliser de préférence avec "Mask deltaE image" activé
  • Highlights mask (mask 8) permet un travail fin sur les hautes lumières et les tons moyens
  • Dynamic Range Compression (mask 5) permet de compresser les lumières ou les ombres (désactivé)
  • Hue curve : permet la retouche fine de la couleur du masque, évidemment les seules couleurs qui peuvent être impactées sont celles qui apparaissent dans le masque
6.12.3.9 Case à cocher "Mask deltaE Image" et curseur "Scope Mask DeltaE image (menu Settings)

Ces 2 fonctionnalités permettent

  • pour chaque masque
  • pour les curseurs et courbes qui modifient l'action sur les masques après leur élaboration :
    • curseurs :"gamma mask" "Chroma mask" "slope mask" "Shadows mask" ou "Highlight mask"
    • courbes : "contrast curve mask" , "Mask levels contrast" (lorsque cette courbe est présente), "Hue curve" (lorsqu'elle est présente)
  • d'éviter une action sur la zone de sélection - celle où est présente le RT- spot
  • le plus "Scope" sera faible, plus l'action sera différenciée
  • cette fonctionnalité est désactivée en mode "Inverse"

6.12.4 Utilisation

Comment procéder, pour l'essentiel pour l'objectif n°1 ?

  • pour satisfaire l'objectif n°1 il est impératif de ne pas (ou peu) modifier la zone où se trouve le "spot". Le GUI permet de visualiser sur la courbe elle même la valeur de L, C ou H à éviter de modifier, c'est à l'utilisateur de positionner correctement le point des courbes qui ne sera pas modifié.Il suffit de positionner le sommet de la courbe à chacun de ces points (limite de la transition gris foncé, gris clair) selon le cas.
  • attention, la case à cocher "Recursive reference" peut interagir sur cette limite (gris foncé, gris clair) : si le masque concerne le module sur lequel on souhaite agir (par exemple "Exposure compensation" pour le module "exposure"),il est souhaitable, pour trouver la bonne valeur pour le masque de désactiver l'expander.
  • ensuite en examinant le masque, vous pouvez réduire très raisonnablement les valeurs de chroma, ou luma, selon le cas. Des valeurs de 0.8 à à.9 doivent être suffisante dans la majorité des cas
  • pour satisfaire l'objectif n°1, il est souhaitable que le(s) curseur(s) "blend" soi(en)t à zéro.

Pour l'objectif n°2, tout est fonction de ce que l'on veut faire, mais je recommande quand même d'appliquer le même processus que ci-dessus, sinon que les valeurs d'affaiblissement peuvent être plus importante. A noter que le masque utilisé dans n°2, sera aussi utilisé pour accroître la sélection.

  • pour satisfaire l'objectif n°2, il est souhaitable que les curseur "blend" ne soient pas à zéro: si vous réglez blend avec des valeurs négatives, l'image complémentaire au masque sera soustraite de l'image originale, et ajoutée avec des valeurs positives de "blend".

Plusieurs assistances sont proposées pour aider aux processus :

  • a) visualisation du masque dans tous les cas
  • b) visualisation des modifications sans le masque (pas en inverse)
  • c) visualisation des modifications avec le masque (pas en inverse)

et également pour l'action sur la structure, l’aperçu d'un masque de structure (pas en inverse). Il n'est - ceci peut paraître évident - pas possible d'utiliser plusieurs masques en même temps...mais une fois généré ils peuvent être utilisés ensemble

Vous pouvez changer l'aspect de la visualisation des modifications avec et sans le masque dans "Settings"

  • "Color preview selecion deltaE et intensity"
    • les valeurs positives du curseur ne modifient l’apparence des couleurs
    • les valeurs négatives du curseur ajoutent la composante "b" (de L* a* b*) et ainsi permettent une meilleure visualisation des changements de luminance.

A noter la consommation importante de mémoire liée à ces masques lors de la sélection de zones étendues. A noter également le côté peu intuitif des masques, les actions sur les masques se traduiront par un effet inversé sur l'image.

6.12.5 Utilisation isolée des masques

Chaque module équipé de "mask" peut être utilisé sans activer les commandes internes à chaque module. Par exemple:

  • "CBDL" qui est le premier module utilisable (après denoise), peut être utilisé uniquement pour les masques, sans utiliser les sliders...Ceci va permettre de modifier l'image au début du process; par exemple modifier le gamma de l'image!
  • "Color and Light" est le dernier module utilisable (juste avant "avoid color shift"), peut être utilisé uniquement pour les masques, sans utiliser les sliders ou les courbes. Ceci va permettre de modifier l'image à la fin du process.

Bien sûr, les 5 autres modules avec "mask" - Exposure - Shadows Highlight - Vibrance - Tone mapping - [Smooth and Blur - Denoise] peuvent aussi être utilisés seuls.

6.12.6 Utilisation de plusieurs masques

Pour chaque RT-spot et chaque outil (Tone mapping, Exposure, etc.) vous ne pouvez utiliser qu'un seul masque associé à cet outil, mais il est très facile d'en utiliser plusieurs.

Le masque suivant prendra en compte les résultats du précédent.

6.12.6.1 Comment utiliser plusieurs masques pour un même outil

C'est très simple, il suffit d'activer (expander) un autre outil équipé d'un masque, et de mettre en oeuvre le masque. Vous n'êtes pas obligé de mettre en oeuvre l'outil, par exemple vous pouvez vous servir du masque CBDL, sans aucune action CBDL (tous les curseurs à 1) Les masques agissent dans l'ordre indiqué par le numéro devant "masks and modifications"

  • Les masques suivants : CBDL, Exposure, Color and light, ShadowsHighlight, Vibrance, Smooth Blur & Denoise, peuvent être utilisés sans activer les outils conjoints.
  • Les masques suivants : Color and light, Smooth Blur & Denoise", ils permettent l'utilisation d'un "contraste local" fondé sur le niveau de wavelet, ainsi q'un ajustement "fin" de travail sur les ombres et les tons moyens et clair.
  • Le masque "Color and light" permet l'utilisation d'une courbe hue = f(hue).
  • Le masque "ShadowsHighlight Tone curve", permet de mettre en oeuvre "Dynamic range compression" (désactivé)
  • le masque Vibrance" est un peu particulier, car il n'y a pas d'action sur la luminance dans Vibrance (sinon pour le contrôle du gamut), les réponses en luminance seront donc très faibles

Bien sûr on peut combiner cela avec les actions "Merge file" et "Mask DeltaE image"

6.12.6.2 Comment utiliser plusieurs masques pour un même outil en dupliquant le RT-spot

Il suffit de dupliquer le RT-spot et d'ajuster sa position et ses dimensions. Cette action permet:

  • de prendre en compte les nouvelles valeurs des valeurs de référence (hue, Chroma, luminance)
  • de changer la zone d'action
  • de changer l'ordre des masques.
6.12.6.3 Utilisation d'un masque inverse et d'un masque normal

Vous pouvez combiner parmi les masques

  • utilisation normale d'un masque associé à un outil
  • utilisation d'un masque inverse avec un des autres masques possibles (toujours avec le même RT-spot ou un RT-spot dupliqué). Dans ce cas il faudra activer (expander) l'outil associé à inverse; Vous pouvez par exemple en utilisant"chroma mask" uniquement et inverse, rendre un fond quasiment gris. Attention si "Mask deltaE image" est activé, le fonctionnement en masque inverse n'en prendra pas compte.
  • vous pouvez pour tout outil doté d'un masque, transformer celui-ci en "mask inverse" en créant 2 Rt-spot: un premier étendu à toute l'image et un second "Exluding spot"

6.12.7 Cas spécifique de Retinex

Le module masque de Retinex ressemble aux autres mais:

  • il ne permet l'accès à l'objectif 1) "accroître les capacités de sélection" que en mode "normal" (pas d'utilisation de transmision map)
  • lorsque l'option "Use transmission map" est choisie, le comportement n'est plus "traditionnel":
    • mais va permettre une exploitation de "Retinex" exploitant au maximum les effets de contraste local. A noter que le système se comporte de la même manière pour les valeurs positives ou négatives de "blend"
    • avec "Use transmission map" la fonction d'aide indiquant graphiquement les valeurs "référence" 'hue", "Luma", "Chroma" sont totalement erronées...

Il ne permet pas d'utiliser le Laplacien avec résolution de l'équation PDE

6.13 Le fonctionnement en mode inverse

Lorsqu'il est proposé, le fonctionnement en mode inverse est simplifié, certaines fonctions ne sont pas implémentées (mask partiel, certaines courbes,...).

6.14 Simuler le fonctionnement en mode pleine image (similaire au "main menu")

Vous pouvez, aux différences de rendus des algorithmes - par exemple Exposure qui se comporte différemment entre "local" et "main" -, faire fonctionner "Local Adjustements" comme "main", pour cela choisissez :

  • Settings
    • Normal spot
    • Shape RT-spot area = Rectangle (de préférence)
    • Transition value = 100
    • positionnez le RT-spot de telle manière que les 4 délimiteurs soient en dehors du Preview
  • Module choisi (Color and Light, Exposure,......., Denoise)
    • Scope = ce que vous voulez, 100 si vous souhaitez simuler le mode "pleine image"

6.15 Avoid color shift

Cette case à cocher vise deux objectifs :

  • mettre les couleurs dans le gamut de l'espace de travail courant (working profile) en utilisant une colorimétrie relative ;
  • ajuster les couleurs à l'aide d'une correction "Munsell" - notamment les rouges-orangés et les bleus-pourpres, lorsque la saturation dans le domaine L*a*b* a évolué notablement.


6.16 Fast Fourier Transform

La transformé de Fourier - Fast Fourier Transform - sous sa forme "FFTW real DCT" est utilisée dans Rawtherapee et notamment dans "Local adjustements" sous 3 formes:

  • Créer un flou Gaussien "Blur"
  • Résoudre l'équation de Poisson PDE - suite à un Laplacien
  • Réduire le bruit

6.16.1 Flou Gaussien

Dans 2 modules de "Local Adjustements", une case à cocher "Use Fast Fourier" (FFT) a été ajoutée, elle permet d'utiliser la transformée rapide de Fourier, pour générer le flou (blur) nécessaire à Multi Scale Retinex (pas installé dans Retinex "pleine image")ou "Local contrast unsharp",

  • La formule utilisée pour le flou est la formule de Gauss qui s'applique après la transformée et avant la transformée inverse.
  • formule de Gauss G(x,y) = (1/2*PI*sigma) * exp(-(x^2 + y^2) / 2* sigma^2).
  • celle appliquée est sa version "Fourier" G(x,y) = exp((-sigma^2)*(PI * x^2 + PI * y^2))

Cette formule par définition est exacte quelque soit le rayon sigma.

A noter pour le flou, la différence de rendu avec la fonction utilisée dans Rawtherapee qui utilise une série de formules approximatives, FFT est quasiment exacte, donc de meilleure qualité. Pour Retinex MultiScale il est possible (pas recommandé) d'utiliser la variable Fftwsigma=true dans "options". Si vous basculez sur "false", l'algorithme FFT sera modifié pour essayer de s'approcher de la formule "ancienne".

6.16.2 Résoudre l'équation de Poisson PDE

Sont concernés par cette utilisation :

  • Original Retinex pour atténuer les différences de luminance notamment sur les portraits
  • Exposure avec 2 modules : a) PDE Ipol Contrast atenuator; b) PDE Fatal - Dynamic Range Compression (similaire à Dynamic Range Compression "pleine Image")

6.16.3 Réduire le bruit

Dans "Local Adjustements" la FFT vient en complément des ondelettes pour réduire le bruit de Luminance et de chrominance (non installé pour Chrominance dans Denoise "pleine image)


6.16.4 Optimisation FFT

La FFT (Fast Fourier Transform) a un temps de traitement qui ne dépend que la surface a traiter et bien sûr du nombre d'appels (exemple scale Retinex), l'application de la fonction de Gauss, est quasi instantanée et indépendante du rayon. A noter l'optimisation de la FFT lorsque les dimensions (H, W) de la zone correspondent à la décomposition en facteurs premiers et uniquement ceux-ci. 2^n, 3^p, 5^q, 7^r, 11^a, 13^b (avec a + b = 0 ou 1)

  • une table utilisée par le code permet de sélectionner les dimensions appropriées : elle est actuellement utilisable jusqu'à une dimension (L ou H) de 18144 pixels
  • Cette optimisation n'est pas effective dans le Preview.
  • Le gain de temps peut varier d'un facteur 2 à 10: 10 si les dimensions du RT-spot sont de type 2^n, 2 si on a la combinaison maximale des facteurs premiers. De ce fait FFTW peut passer plus de temps pour un "petit" spot que pour un "grand"
  • A noter que si vous souhaitez sélectionner toute l'image, 1 délimiteur Horizontal et 1 vertical doit être légèrement à l'intérieur de l'image.

A noter que pour "denoise" l'optimisation n'esr pas rélaisée par ajustement de la taille du RT-spot, mais par utilisation de "Tiles"

6.16.5 Précision des calculs

La version FFTW est "float", après plusieurs essais cette précision semble suffisante, les erreurs après une transformée suivie d'une transformée inverse, concernent sur une image entière quelques pixels isolés avec des différences inférieures à 1/1000ème, sur la globalité de l'image pas de différences mesurables.

Il doit être possible - si la nécessité s'impose - d'installer dans GitHub - la version "double" de FFTW

7 Quelques particularités du mode local (par rapport à Lab adjustements)

Voici quelques informations qui peuvent intéresser l'utilisateur. Ces informations sont souvent des particularités du mode local

7.1 Color and Light

  • Les algorithmes utilisés pour la luminance et le contraste sont différents de ceux utilisés par "Lab adjustements", ce qui peut amener quelques différences de rendu.
Original
Avec Color correction grid
  • Vous disposez d'une fonction "Color correction grid" qui peut être selon le cas :

Deux méthodes sont possibles: Color Toning et Direct

  • Color Toning
  1. Dans ce cas, la luminance est prise en compte dans la variation de la chroma
  2. l'équivalent d'une fonction H=f(H) si le "point blanc" de grid reste à zéro et si vous ne faites varier que le "point noir"
  3. l’équivalent d'un "Color toning" si vous faites varier les 2 points.
  • Direct
  1. Dans ce cas, il y a action directe sur la chroma


Vous pouvez agir sur l'effet souhaité avec "strength", mais aussi avec les autres fonctions notamment "scope" qui permet de délimiter l'action, par exemple en isolant une couleur parmi d'autres.
















  • Le mode inverse, est maintenant doté de la fonction "scope", il peut servir pour l'essentiel, à réaliser des dégradés (gradient), simulation de vignettage, ou de cadres dégradés, ou générer des effets spéciaux. Dans le cas de cadres dégradés, si vous sélectionnez -100 pour "lightness", et réduisez la chrominance, et sélectionnez une valeur de "scope" supérieure à 75, la "bordure" sera noire.


7.1.1 Courbes

  • Une courbe L=f(L) et une C=f(C) permet de moduler la luminance ou la chrominance pour chaque RT-spot (spot de contrôle) en fonction de la luminance ou de la chrominance.
  • Une courbe L=f(H) permet de moduler la luminance pour chaque RT-spot en fonction de la teinte.
  • Une courbe H=f(H) permet de moduler la teinte pour chaque RT-spot en fonction de la teinte.
  • Une courbe L=f(C) permet de moduler la luminance pour chaque RT-spot en fonction de la chrominance.
  • Une courbe C=f(L) permet de moduler la chrominance pour chaque RT-spot en fonction de la luminance.

Pour les rendre actives, il est nécessaire d'activer la combobox "Curves type".

Color and Light dispose de deux améliorations : mask et structure.

En mode "inverse" les courbes L=f(H) et H=f(H), L=f(C), C=f(L) ne sont pas implémentées ainsi que l’aperçu des modifications.

  • RGB Tone curves
    • En mode RGB vous disposez de 4 choix : Standard, Weighted standard, Luminance, Film Like
    • vous disposez d'une case à cocher "Special use of RGB curves" : de part la conception de "Local adjustements", l'algorithme va comparer le résultat de RGB tonecurce avec l'original, ce qui dans certains cas peut fausser les attentes de l'utilisateur, notamment si on inverse la courbe par exemple pour créer un effet "négatif". La case à cocher permet d'isoler le travail RGB tonecurve, supprimant toutes les autres actions: "Scope", masques, curseurs...à l'exception des transitions. Si vous souhaitez utiliser cette image en la travaillant il suffit de créer un nouveau RT-spot au même endroit.

7.2 Exposure

Ce module "ressemble" à celui en mode global RGB, mais :

  • il fonctionne entièrement en mode L*a*b*, d'où des différences de rendu;
  • il n'a pas les curseurs "lightness, chroma et contraste" dont les fonctions sont déjà présentes dans "Color and Light"
  • un curseur "chroma compensation" est une particularité du mode L*a*b* : il permet d'éviter une variation de saturation apparente - le réglage par défaut devrait convenir dans une majorité de cas.
  • vous avez le choix entre l'algorithme standard et un "Poisson discrete equation' (PDE)

7.2.1 Algorithmes PDE

Ces algorithmes sont de 2 types:

7.2.2 Ipol - Contrast attenuator (modifié par jacques)

  • Ce 2eme algorithme qui est un "atténuateur de contraste" (ce n'est pas un "Dynamic Range Compression") PDE possède 3 curseurs 1 menu :
    • Laplacian threshold qui réalise une convolution ignorant les valeurs inférieures au seuil
    • Linearity qui permet d’accroître la luminance pour les valeurs inférieures à la moyenne
    • Balance PDE qui équilibre le résultat en mélangeant le résulta PDE à standard (1 = 100% PDE)
    • Gamma qui modifie la répartition de la Luminance avant et après le Laplacien
    • le menu permet de choisir de débruiter ou non avant le Laplacien : la méthode utilisée (median) est assez destructrice, il est préférable d'utiliser le module "denoise", soit "denoise" agit avant (par défaut), soit après si on crée un RT-spot supplémentaire.

N'hésitez pas à modifier les réglages "traditionnels" utilisés dans Exposure :

  • valeurs négatives de 'black'
  • gamma inférieur à 1
  • réduction des valeurs habituelles de "Exposure compensation"
  • action sur Shadows
  • etc.

PDE résoud l'équation de Poisson (Laplacien + Fourier) après une transformée de Fourier : il apporte des résultats différentes qui adoucissent l'image et atténuent le bruit.

7.2.3 Fattal Tone mapping - Compress Dynamic Range

Légèrement différent de celui du menu principal avec 3 curseurs "standard", Amount, Detail, Anchor, plus un curseur "Details levels" (sensible à la taille du RT-spot). Il permet notamment:

  • d'accroître la compression dynamique des images.
  • de rendre l'image utilisable pour les masques (sinon la luminance sera souvent très faible) et permettre ainsi avec un deuxième RT-spot, proche du premier, qui permet l'apport du masque pour les images difficiles.

7.2.4 Autres

  • un curseur "shadow" qui utilise le même algorithme que "Shadows-Highlight", mais limité à shadows et avec les paramètres par défaut : il utilise pour pondérer l'action en fonction de la luminance, le même curseur que celui des "shadows compression" , en effet soit ils sont exclusifs (black ou shadows), soit ils vont dans le même sens. Ce curseur supplémentaire "simplifie" l’usage pour l'utilisateur!
  • il y a une seule courbe "contraste", similaire à celle de L=F(L) présente dans "Color and Light". Il est évident que le rendu de cette courbe est différent de "Tonecurve" qui agit en mode RGB. Vous pouvez si vous le souhaitez activer les 2 courbes L=f(L) dans "Color and Light" et "Exposure"
  • ne pas hésiter à utiliser modérément "highlight compression" qui améliorera la sélection.

Exposure dispose de deux améliorations "mask" (partiel en inverse) et "structure" (pas en inverse).

Il peut servir de gradient (graduated filter), dans ce cas choisir des valeurs de "scope" élevées.

Shadows-Highlight est une alternative possible, notamment si le RT-spot est dans une zone d'ombre importante.

  • Remarque : éviter de placer le Spot dans des parties à très faible luminance, les résultats peuvent être inattendus

7.3 Shadows Highlight - Tone Equalizer - TRC

Seul le mode "Lab" est disponible.

Cet algorithme associé à la notion de RT-spot et de "scope" est une alternative à Exposure, notamment lorsque le Rt-spot est dans une zone d'ombre où la luminance est très faible.

Il est doté d'un module "inverse" et de masques (partiel en inverse).

Il peut servir de gradient (graduated filter), dans ce cas choisir des valeurs de "scope" élevées.

Dans les cas d'importants débouchage des ombres, l'utilisation de "Local denoise" peut être nécessaire.

7.3.1 Tone equalizer et Tone Response Curve (TRC)

Ce module (origine Darktable - transformé pour Rawtherapee par Alberto Griggio) permet une retouche progressive des Tons en fonction de l'exposition (en EV)

  • 5 curseurs du plus "sombre" au plus "clair", plus un curseur "detail" permettent un travail fin sur la luminance, par exemple ne déboucher que les ombres très prononcée -16 ou -18EV
7.3.1.1 TRC

Avec ce module vous pouvez retoucher le gamma et la pente (slope) de l'image:

  • j'ai mis une TRC plutôt qu'un simple gamma / slope pour réduire les artefacts et avoir une meilleure restitution des couleurs
  • par défaut le réglage : Gamma 2.4 et Slope 12.92 (gamma sRGB) correspond à celui mis en oeuvre par défaut dans Rawtherapee
  • Essayez d'autres réglages qui donnent un image semblable mais agissent différemment sur les ombres et les lumières
    • BT709 : gamma 2.22 slope 4.5
    • Lab : gamma 3.0 slop 9.02

7.4 Vibrance and Warm & cool

Vibrance : Module similaire à celui du menu principal. Possibilité de masques.

7.4.1 Warm - Cool

Un curseur permet :

  • de faire varier la "chaleur" de la zone sélectionnée.
  • de réduire ou supprimer certains artefacts de couleurs, par exemple dus à de multiples illuminants,...

A noter que l'algorithme ne correspond pas à une balance des blancs - même si cela en a l'apparence. L'algorithme utilise une partie de CIECAM02, le processus CAT02 qui est probablement la meilleure adaptation chromatique disponible. Par rapport à la référence D50, lorsque vous souhaitez réchauffer l'image, le curseur va au contraire abaisser la température des "viewings conditions", et bien sûr l'accroître lorsque vous souhaitez "refroidir" la zone concernée. A noter que vous pouvez obtenir un résultat similaire pour l'image entière en utilisant le module CIECAM02, avec :

  • "Scene conditions" : WP model ==> free temp + green + cat02, temperature = 5000K, Surround = average, CAT02 adpatation = 100, Yb=18, Scene absolute luminance = 400
  • aucun réglage dans "Image adjustements"
  • "Viewing conditions" : CAT02 adaptation = 100, Viewing absolute luminance = 400, Surround = average, Yb=18, et bien sûr réglage de la température souhaitée.

7.5 Local contrast & Wavelet Pyramid

Vous disposez de 2 options

  1. Unsharp mask : l'algorithme est similaire à celui du menu principal
  2. Wavelet : l'algorithme correspond à une utilisation - simplifiée - du module wavelet, combinant un algo proche de "Final contrast local" et "contraste pour l'image résiduelle", plus un "expander" "Wavelet pyramid" abritant divers outils, permettant contraste localisé, merge d'images, Graduated Filter local contrast, Compression Dynamique de niveaux (par wavelet ou par Laplacien), floutage de niveaux, et/ou d'image résiduelle

7.5.1 Unsharp mask

Rendu différent du fait de la position dans le processus.

Une case à cocher "Use Fast Fourier" a été ajoutée, elle permet d'utiliser la transformée rapide de Fourier, pour générer le flou (blur) nécessaire à "Local contrast"

  • La formule utilisée est la formule de Gauss qui s'applique après la transformée et avant la transformée inverse.
  • formule de Gauss G(x,y) = (1/2*PI*sigma) * exp(-(x2 + y2) / 2* sigma2).
  • version adaptée à Fourier : G(x,y) = exp((-sigma)*(PI * x2 + PI * y2))

Cette formule par définition est exacte quelque soit le rayon sigma.

A noter la différence de rendu avec la fonction utilisée dans Rawtherapee qui utilise une série de formules approximatives.

La FFT (Fast Fourier Transform) a un temps de traitement qui ne dépend que la surface a traiter, l'application de la fonction de Gauss, est quasi instantanée et indépendante du rayon. A noter l'optimisation de la FFT lorsque les dimensions (H, W) de la zone correspondent à la décomposition en facteurs premiers et uniquement ceux-ci. 2^n, 3^p, 5^q, 7^r, 11^a, 13^b (avec a + b = 0 ou 1).

7.5.2 Wavelet Pyramid

Vous disposez:

  • d'une courbe "Local contraste luminance" qui agit sur le contraste, attention on n'agit pas directement sur la luminance mais sur les décompositions. Cette première courbe prend en compte la luminance de l'image non décomposée et les niveaux de décomposition de 0 à 9 (les hauts niveaux ne sont possibles que si la taille du RT-Spot le permet et que les dimensions du "Preview" sont suffisantes).
  • d'un sélecteur de "level" (niveau) avec seuil qui permet de sélectionner une plage de niveaux - l'algorithme réduit automatiquement le niveau si l'espace disponible (taille du spot - ou dimension du preview) est insuffisante : au niveau 9, il faut au minimum 1024 pixels, au niveau 8 512, au niveau 7 256, au niveau 6 128, au niveau 5 64, au niveau 4 32, au niveau 3 16, au niveau 2 8, au niveau 1 4, au niveau 0 2
  • cette courbe, plus le sélecteur de niveaux va permettre de modifier le micro-contraste en fonction de la luminance, par exemple renforcer ce contraste dans les moyennes lumières, abaisser le contraste dans les ombres. Bien sûr, si nécessaire vous pouvez ajouter un autre RT-spot avec d'autres réglages...
  • un curseur qui agit sur le contraste de l'image résiduelle
  • un curseur qui agit sur la saturation (chroma) de l'image résiduelle
  • 4 curseurs qui permettent d'agir sur sahdows/highlight de l'image résiduelle, avec la possibilité d'entrer des valeurs négatives.
  • Deux "expander" "Wavelet Pyramid" regroupant:
7.5.2.1 "Clarity" & "Sharp Mask" et "Blend & Soft Images"
  • c'est le sélecteur de niveaux qui permet de choisir entre "Clarity" et "Sharp mask", pour les valeurs inférieures ou égales à 4 "Sharp Mask", pour 5 et au dessus "Clarity"
  • "Merge Luma" permet de sélectionner l'intensité de l'effet recherché sur la luminance.
  • "Merge chroma" permet de sélectionner l'intensité de l'effet recherché sur la chroma.
  • "Merge only with original image", empêche de mélanger l'ensemble des actions "wavelet pyramid" et préserve ainsi la possibilité de "Clarity" et "Sharp mask", sans interférences
  • attention, "Merge Luma" et "Merge chroma", mélangent l'ensemble du processus "wavelet", qui peut se limiter à Clarity (voir ci-dessus).
7.5.2.1.1 Soft radius
  • un slider "Soft radius" (algorithme GuidedFilter) permet de réduire les halos et les irrégularités aussi bien pour Clarity et Sharp Mask que pour l'ensemble des processus de wavelet pyramid. Pour désactiver, mettre à zéro
7.5.2.2 Graduated filter Local contrast
  • permet de faire varier le contraste local en fonction d'un gradient souhaité et d'un angle. Ce qui est pris en compte est la variation du signal "luminance" (et non la luminance)
7.5.2.3 Edge sharpness

Ce module comporte les mêmes réglages et finalités que celui du module principal dans "main wavelet" Il vise à cibler l'action du contraste local sur les bords et utilise les mêmes réglages

Bien sûr il bénéficie en plus des particularités de "Local adjustements" (scope, transition, selections multiples,...)

7.5.2.4 Blur Levels
  • "Blur residual" : permet de flouter l'image résiduelle, essayez avec des valeurs différentes du sélecteur de niveaux. Les valeurs intermédiares du sélecteur (Top right, Bottom right) peuvent amener des résultats curieux.
  • "Blur levels" : permet de flouter n'importe quel niveau ou plage de niveaux. L'abscisse du graphique représente le "level" de la décomposition en ondelettes. La partie gauche correspond aux faibles valeurs 2, 4, 8 pixels. Le curseur supérieur permet de fixer le maximum de flou, quelque soit les positions du sélecteur de niveaux. Chroma levels agit en pourcentage en plus ou en moins de la luminance.
7.5.2.5 Contrast by levels
  • est le pendant de "Contrast By Details Levels", mais aussi du module "contrast" du wavelet principal. Là encore la courbe représente en abscisse les niveaux de décomposition, et en ordonnée l'amplification ou la réduction du signal.
  • "Sigma" permet de choisir l'étendue de la zone impactée, autour de la valeur moyenne du signal.
  • "Offset" : déplace l'action centrale du système vers les basses ou hautes luminances
  • "Chroma levels" : agit sur les composantes "a" et "b" de L*a*b* en pourcentage d'action de la luminance.

Avec ce module, vous pouvez - combiné ou non avec la courbe "local contraste luminance renforcer ou atténuer des détails - contraste apparent

7.5.2.6 Directional Contrast

Vous pouvez opérer un ton mapping avec ce module. Il agit sur la différence entre les 3 directions de décomposition : horizontale, verticale et diagonale Le processus joue sur l'écart entre diagonal et le coupe horizontal / vertical. Ceci permet d'agir sur l'effet de bord (edge). La courbe agit en fonction de la luminance. Damper permet de contrôler l'action au plus proche des contrastes moyens , en réduisant l'action sur les faibles et fort contrastes. Accroître "Damper' va augmenter l'action en dehors des contrastes moyens. "Delta balance", permet d'agir selon la valeur positive ou négative, plutôt sur les niveaux élevés (levels) ou les niveaux faibles.

7.5.2.7 Levels dynamic wavelet range (un)compression

Ce module ne fait intervenir que l'outil "wavelet" avec une compression qui peut toucher chaque niveau de décomposition et l'image résiduelle. L’atténuation des artefacts dus à la recomposition est assuré par un "Guided Filter" (voir ci-dessous).

  • Un curseur "Balance Threshold" (défaut 1.4) permet un équilibrage de l'action, autorisant dans certains cas aux ombres d'être débouchées
  • Les valeurs négatives assurent la compression des données et donnent un rendu "Tone mapping", différent des opérateurs habituels (Mantiuk, Fattal...); il sera plus sensible - par conception - aux différents niveaux de contraste local, et moins sensible pour traiter les aplats.
  • Les valeurs positives servent à réduire le contraste apparent et permettent des effets similaires à "Retinex PDE" (Original Retinex). Ils sont une alternative à "dodge and burn"
  • il est recommandé, pour réduire les artefacts, d'utiliser si nécessaire "Clarity and Sharp mask - Blend & Soft images" en ajustant la valeur de "Soft radius" qui est à 1 par défaut (faible valeur convenant dans une majorité de cas)
7.5.2.8 Commentaire
  • n'oubliez pas que vous pouvez utiliser "scope" pour cibler l'action et/ou "excluding spot" pour annuler une action sur une zone choisie, notamment avec "Levels dynamic Range Compression" pour annuler des ombres trop prononcées.
7.5.2.9 Importance de Damper

Pour la quasi totalité des algorithmes "wavelet pyramid", la prise en compte pour chaque niveau de la moyenne, de l'écart type, du maximum, permet de traiter la décomposition d'une manière non linéaire afin d'éviter les artefacts. Les valeurs de micro-contraste proche de la moyenne subissent une amplification plus importante que les basses et hautes valeurs. "Damper" - agit sur l'écart type, il est quelque fois associé à "Offset". L'accroissement de "Damper", va accroître les effets dans les basses et hautes valeurs de micro-contraste. Offset va décaler l'action selon son sens vers les hauts ou les bas micro-contrastes.

7.6 Tone Mapping

  • Ajout d'un slider "saturation" (formule de Mantiuk quelquefois insuffisante)
  • Strength est renommé en "Compression strength" - sa vraie fonction.
  • Gamma est étendu de 40 jusque 400
  • Changement de Iterates de 5 à Edge stopping * 15 (il faudrait faire la même chose au niveau algo principal)
  • ajout d'une "checkbox" : "Normalize luminance". Dans le cas activé, l'image finale a la même moyenne et la même variance que l'image initiale.
  • Mask


Tone-Mapping associé à "scope" permet de réaliser - entre autres -une fonction clarté (clarity), limitée à une zone d'action.

7.7 Soft Light and Original Retinex

Soft Light est identique à celui du menu principal

7.7.1 Original Retinex

Après essais, j'ai tenu à ajouter - exclusivement en mode local, l'algorithme original de Retinex. Cet algorithme est différent de ceux utilisés par ailleurs, y compris dans Rawtherapee. Il essaie de traduire la perception de l’œil lorsque il y a des ombres et des variations de luminance; perception de l’œil qu'un capteur photographique a du mal à rendre. Par exemple pour un portrait au flash ou en lumière forte le visage verra souvent apparaître des zones ombre ou lumineuse trop accentuées - qu'on pallie quelquefois avec des fonctions telles "dodge" and "burn"

Il peut dans certains cas remplacer cette fonction "dodge" and "burn" qui indiquent avec une brosse les endroits à assombrir ou éclaircir. Dans le cas de ce Retinex original PDE cette opération est automatique.

Je me suis servi du code trouvé sur "Ipol" https://www.ipol.im/pub/art/2011/lmps_rpe/ que j'ai modifié et adapté à Rawtherapee et au "contrôle local"

Cet algorithme complexe se décompose en plusieurs étapes:

  • lecture de l'image
  • utilisation d'un Laplacien discret avec seuil qui permet de déterminer l'intensité du Laplacien : les valeurs de "strength" aux environs de 70 amènent un "threshold" interne du Laplacien aux environs de "4" (référence habituelle des transformées de Laplace). Ce Laplacien va éliminer les petites variations de luminance inférieures au "threshold"
  • Le curseur "Laplace threshold deltaE" permet une différenciation du seuil du Laplacien selon le deltaE. Sous la valeur sélectionnée un Laplacien "plein effet" est choisi, au dessus de la valeur un 2ème Laplacien 60% plus faible est combiné avec le premier. Cette action est différente de celle de "scope" qui réduit l'action mais globalement. Ceci permet de mieux séparer l'avant-plan de l'arrière plan.
  • création d'une transformée de Fourrier - 2 dimensions (DCT Discrete Cosinus Transform)
  • résolution de l'équation de Poisson (PDE) pour "équilibrer" le système
  • transformée inverse de Fourrier - 2 dimensions
  • normalisation de la luminance par rapport à l'image d'origine : même moyenne et même écart-type.

Vous pouvez avoir un aperçu du processus avec le menu "Show process Fourier" qui permet de voir les différentes étapes;

  1. création du Laplacien variable (1ère étape)
  2. transformée de Fourier (DCT : discrete cosinus transform) de ce Laplacien
  3. résolution de l'équation de Poisson (PDE : Poisson discrete equation) sous la décomposition de Fourier : notez la relative proximité de cette image (sous sa forme Fourier) et celle du Laplacien
  4. transformée inverse - non visible dans cet aperçu... mais vous avez le résultat final!
  5. normalisation de la luminance (ici "absence de")

A tester, notamment dans les portraits...

7.8 Retinex

7.8.1 Avertissement important

Retinex exige de sévères conditions pour fonctionner de manière optimale. Il est indispensable d'avoir l'étendue nécessaire pour mettre en oeuvre les très importants rayons de flou gaussien. L'architecture de Rawtherapee ne permet pas dans le "preview" d'avoir dans tous les cas les conditions qui permettent cette mise en oeuvre. En conséquence il y aura des différences entre l’aperçu à l'écran et la sortie "TIF ou JPG". Ces différences sont d'autant plus importantes que:

  • le spot est de petite taille;
  • les valeurs de "scale" sont élevées;
  • "radius" est important.
  • "chroma" est utilisé au delà de 40

L'algorithme "pleine image" n'est pas soumis à ces restrictions !

De plus la quantité de ressources consommées, mémoire, temps de traitement augmente avec :

  • la taille du spot
  • "radius" élevé
  • "scale" élevé
  • "chroma" est utilisé au delà de 40
  • utilisation de masques
  • utilisation de FFTW

On peut facilement atteindre des valeurs de 6 ou 8 GB de mémoire consommée ! Par exemple une image de D850 : 8280*5512 - Retinex : spot au delà des limites de l'image, Radius = 500, Scale = 10, pas de masques, aboutit à plus de 9GB nécessaires !!

7.8.2 Fast Fourier Transform

Une case à cocher "Use Fast Fourier" a été ajoutée, elle permet d'utiliser la transformée rapide de Fourier, pour générer le flou (blur) nécessaire à Multi Scale Retinex. Elle s'accompagne d'un accroissement notable du temps de traitement, mais d'un gain en qualité pour les grands rayons

7.8.3 Fonctionnalités

A compter de septembre 2019, j'ai apporté des modifications

  • à l'interface GUI;
  • ajouté un curseur à Dehaze (depth), alors que auparavant il était calculé à partir des paramètres Retinex
  • ajouté une cas à cocher pour "Dehaze" "luminance only".
  • ajouté une case à cocher pour choisir entre mode "linéaire" qui me semble approprié pour travailler sur le contraste et mode "logarithm" plus approprié pour réduire la brume, mais qui permet aussi des effets sur le contraste local plus importants, mais "logarithm" peut apporter ou accroître un effet de halo.
  • ajouté une courbe "Transmission Map" qui permet d'agir en interne sur la Transmission et réduire les artefacts
  • ajouté l'affichage des données liées à Transmission map et aux données reconstituées
  • ajouté un curseur "Clip Restored Data" qui permet d'ajuster - conjointement avec Threshold" et aussi "Offset" les valeurs affichées de Transmission Map.
  • ajouté un curseur "Reduce artifact deltaE" qui agit sur les données juste après les actions sur "transmission map"
  • changé les paramètres par défaut
  • séparé (au niveau du GUI et en partie au niveau de l'algorithme) la place du curseur Dehaze


Le nombre de réglages est différent, par rapport au mode standard. D'autre part, "Retinex local" agit en fin de processus contrairement au mode standard qui est au début du processus Raw. Vous disposez en plus du module "raw" Retinex pleine image

  • un curseur "Chroma" qui permet d'agir sur la couleur en plus de la luminance : ce curseur n'agit pas sur la saturation (ou partiellement), mais agit sur "C" (LCH) de la même manière que sur "L", la luminance. Afin de réduire les besoins en ressources (mémoire, temps de traitement), jusque Chroma = 40, Retinex chroma n'est pas appliqué, mais seulement un ajustement de la chromaticité "C" (saturation). A partir de Chroma=40 , Retinex est appliqué.
  • un curseur "dehaze" qui utilise l'algorithme dehaze pleine image. La combinaison des 2 algorithmes de réduction du voile atmosphérique (Retinex et Dehaze) permet une résolution élevée du traitement du voile atmosphérique, chacun des algorithmes ayant ses points forts - en particulier Retinex permet de différencier avant et arrière plan et Dehaze est globalement plus facile et pertinent dans l'action.
  • Par défaut "dehaze" est en mode L*a*b*, sauf si vous cochez "Luminance only"

L'algorithme "Retinex" n'est utilisé que si "Strength Retinex" est supérieur à 0.2

  • "Si vous choisissez scale=1, l'algorithme "Retinex" est partiellement court-circuité et le process se comporte comme "local contrast" mais avec des valeurs de réglages nettement plus importants - certaines fonctionnalités ont disparues ou changées (masques, Tone mapping...), d'autres ont des réglages différents (radius, variance, Threshold).
  • "Darkness" et "Lightness" sont sans effet lorsque la valeur "1" est choisie. Dans les autres cas, la dernière étape de "Multiple scale Retinex" se voit appliquée un algorithme proche de "local contrast", ces 2 curseurs, associés à "Strength" vont permettre de jouer en amont sur le contraste local.
  • les autres sélections possibles : "Méthode : low, uniform, high", "Strength", "Radius", "Threshold", "Contrast", ont un principe similaire à ceux du module principal, même si certains réglages et effets induits sont un peu différents.
  • ajout d'une "checkbox" : "Normalize luminance". Dans le cas activé, l'image finale a la même moyenne et la même variance que l'image initiale.

Possibilité de "masques" dont le fonctionnement est globalement similaire aux autres masques, mais qui a ses particularités - notamment d'être incorporé au processus Retinex avec la possibilité, soit d'être élaborés juste au début du traitement, soit à la fin prenant en compte "transmission map"

Par exemple pour traiter une image fortement brumeuse

  • en première étape agir dans le menu principal avec la fonction "dehaze", dans certains cas l'arrière plan ne sera pas ou peu impacté et restera brumeux
  • puis sélectionner "locallab" et "Retinex", positionner le spot dans la zone brumeuse puis
    • agir sur "dehaze"
    • puis généralement régler "radius" avec une valeur élevée (supérieure à 100 ou 150, mais des valeurs inférieures peuvent convenir)
    • régler généralement "variance" (contraste) avec une valeur faible (inférieure à 100, mais des valeurs supérieures peuvent convenir)
    • régler scale sur 3 ou plus. Plus les valeurs seront élevées, plus "variance" pourra être élevée et réduire ainsi les artefacts.
    • agir sur "scope", strength et chroma pour obtenir l'effet souhaité.

Les résultats sont la plupart du temps assez imprédictibles, par exemple certaines images seront peu sensibles au curseur "Threshold", d'autres très sensibles... Mais globalement ce module à deux usages essentiels - avec des réglages différents :

  • traiter les images brumeuses
  • réaliser un contraste local avec des valeurs importantes, avec possibilité de simuler "Clarity"...
7.8.3.1 Maîtriser les artefacts et le halo

Retinex est très performant, mais : a) complexe, b) il peut générer des artefacts notamment aux zones de transition de luminance, c) il peut généralement produire du halo

Pour réduire artefacts et halos, une fois les réglages de base choisis (Radius, variance, scale, darkness, transmission gain...et strength)

  • Utiliser le tableau de bord des données "Transmission map"
  • agir sur "Clip Restored datas", "Offset", ainsi que sur "Threshold" pour obtenir des valeurs de "Restored datas" Min et Max proches respectivement de 0 et 32768. Attention d'autres valeurs peuvent convenir, mais il est important que les ordres de grandeurs soient respectées, par exemple éviter des valeurs telles que Min = -25000 et Max = 90000
  • si les artefacts persistent, agir sur la courbe "Transmission map" et abaisser la partie proche du milieu de l'abscisse (qui correspond à la moyenne des données), vous pouvez également essayer de modifier les parties Max et min de l'abscisse (peut être en rehaussant min et abaissant max)
  • vous pouvez aussi agir sur la courbe "Transmission gain"
  • vous pouvez également agir sur "Reduce artefacts deltaE" en accroissant la valeur par défaut (vous pouvez également agir sur Scope)
  • vous pouvez déplacer le Rt-spot pour changer les valeurs de référence
  • bien sûr vous pouvez modifier les réglages de base et recommencer la démarche !
  • vous pouvez vous aider d'un masque notamment sur la luminance en privilégiant le mode "use transmission map" et agir sur les paramètres de "fusion" (Blend, radius, etc.)

Certes c'est complexe, mais les images obtenues notamment pour travailler sur le contraste local peuvent être très belles.

7.9 Sharpening

Seul le mode "RL deconvolution" est proposé, vous devez travailler en mode 1:1 (zoom 100%) .

7.10 Contrast By Detail Levels

  • zone minimum d'action : 64x64 pixels - mais vous pouvez utiliser conjointement les propriétés de "Transition" pour réduire la zone d'action.
  • à utiliser de préférence en mode 1:1 (zoom 100%)
  • pas de curseurs pour la gestion de la peau; le système utilisé par les RT-spot le remplace.
  • ajout d'un curseur pour la chroma
  • ajout de "image résiduelle" avec 2 possibilités - "Clarity" - et contraste

Masque en mode normal.

Cet algorithme permet plusieurs améliorations "locales"

  • par exemple réduire les défauts de la peau
  • accroître les perspectives et le relief sur des zones de couleurs et de structure (comme le wavelet), mais en limitant l'action (par scope) à des zones délimitées.
  • retirer des défauts (tâches étendues grises ou de couleurs) sur le capteur

Rappel - si la zone sélectionnée est grande et comprends plusieurs objets similaires en "teinte", "chroma", luma" et 'contrast", l'algorithme ne sélectionnera que celles-ci, laissant le reste de l'image inchangée.

7.11 Smooth Blur and Noise

Vous avez le choix entre 3 méthodes:

  1. Gaussian Blur -Noise - grain : un filtre gaussien est appliqué (vous pouvez choisr d'utiliser en sortie TIF/JPG) une transformée de Fourier (FFT), Blur n'est actif que si Radius supérieur ou égal à 1.6; En réduisant notablement la valeur par défaut de "scope" et en agissant éventuellement sur "Luminance only" il est possible d'obtenir des flous différenciés selon la teinte.
  • grain permet de simuler le grain des films
  1. Median : vous pouvez choisir entre 3x3, 5X5, 7X7, 9X9 et le nombre de passes de 1 à 4 (ces medians sont directement dérivés de ceux de Denoise)
  2. Guided Filter : vous pouvez sélectionner "Soft radius", "Strength" et "detail", l'ensemble agit sur l'impression de force. Ce module peut venir en complément de "denoise"

Pour ces 3 modules vous avez le choix entre travailler en mode "Luminance only", "Chrominance only", ou "Luminance + chrominance"

Vous disposez de masques et aperçu des modifications y compris en mode inverse.

7.11.1 Action en complément de denoise

Vous pouvez utiliser ce module, notamment "median" et "Guided filter" en complément de "denoise" dans les cas délicats


Vous disposez de 2 méthodes :

  • "normal" : l'algorithme de détection de forme a été amélioré. Il se rapproche de celui utilisé dans les autres modules.
  • "inverse" : ce nouvel algorithme utilise les mêmes processus que "normal" et par l'utilisation de "scope" l'utilisateur peut cibler plus précisément l'action.


Attention:

  • travailler en mode inverse, va flouter des zones importantes qui ne pourront pas être corrigées ensuite (sinon par RT-spot exclude)
  • l'action de "scope" peut être déroutante dans certains cas : par exemple pour un portrait les yeux - différents de la peau - seront floutés si "scope" est trop faible.

7.12 Denoise

Cette fonction permet 6 usages et doit être utilisé en mode 1:1 (zoom 100%):

  1. grâce à la sélection "Global quality" - enhanced + chroma denoise, elle réduit très légèrement sans intervention de l'utilisateur le bruit de chroma pour améliorer la sélection dans des images légèrement bruitées
  2. Ne sélectionner qu'une zone à débruiter (par couleur...) et laisser le reste de l'image bruitée
  3. Débruiter une zone qui aura vu le bruit s'accroître notamment à cause d'un accroissement important de l'exposition, ou de débouchage des ombres
  4. Venir en complément de l'algorithme principal. Par exemple faire un réglage général a minima, puis dans certaines zones choisies réduire le bruit plus profondément.
  5. Comme le traitement "local" est plutôt en fin de processus (le module Denoise principal est en début), il va autoriser une réduction du bruit généré par les traitements intermédiaires.
  6. apporter un flou gaussien par niveau (pour les faibles niveaux 0, 1 et 2) pour simuler un bokeh


  • Zone minimum d'action pour les ondelettes (wavelet) : 128 pixels * 128 pixels
  • moins de courbes, mais plus de curseurs afin de sélectionner le bon niveau de décomposition "wavelet" et affiner le résultat.
  • vous pouvez différencier l'action sur la luminance et la chrominance en fonction de la grosseur du bruit - fine (3 niveaux pour la luminance) ou coarse pour la luminance - à l'aide d'une courbe "denoise luminance by level" et "fine" (correspond aux 4 premiers niveaux) ou "coarse" pour la chrominance .
  • de plus vous avez à votre disposition, 2 curseur "DCT" : 1 pour la luminance et 1 pour la chrominance, réglés par défaut à 0%. DCT est désactivé pour une valeur de 100.
    • l'algorithme utilise pour la luminance et la chrominance une transformée de Fourier (FFT - fast fourier transformed - DCT discrete Cosinus transformed)
    • les curseurs à 0, l'action de la DCT est maximum, si vous souhaitez restituer des détails, accroissez les valeurs.
    • un slider "detail threshold" permet de mieux prendre en compte les contours.
  • Un curseur "Scope" permet de faire varier - avec un algorithme simplifié - l'action selon le deltaE du sujet, par exemple renforcer l'action sur la peau et laisser le fond bruité (luminance et chrominance). Au delà de "scope=80", progressivement - jusque 100 - toute la zone sélectionnée aura la même intensité de dé-bruitage, bien sûr en tenant compte de la transition.
  • Un très léger accroissement de la saturation est exécuté, si vous actionnez l'un ou l'autre des curseurs "chroma".

7.12.1 Action combinée avec "Smooth Blur Noise grain

Vous pouvez conjuguer l'action dans les cas délicats avec le module précité notamment

  • Median
  • Guided Filter : qui va agir un peu à la manière d'un flitre bilatéral notamment pour la dimension "chrominance"

7.12.2 Qualité améliorée

  • Si vous déplacez le curseur "coarse" à 1, aussi bien pour la chrominance et en déplaçant très légèrement la courbe luminance au level 3+ juste au dessus de zéro, un algorithme "amélioré" est utilisé - en réalité il fait "2 passes".
  • A la position "1" l'algorithme améliore seulement l'algorithme "fine"
  • A partir de "2" l'algorithme "coarse" est activé.

7.12.3 Equalizer

Vous disposez de 2 "equalizers", aussi bien pour la luminance que la chrominance.

  • Le premier renforce (par défaut) l'action sur les basses lumières. A "0" l'action sur les lumières hautes / moyennes / basses est identique.
  • Le second équilibre la force d'action sur le canal "rouge -vert" ou sur le canal "bleu - jaune"

7.12.4 Bilateral filter

Ce dispositif est la réplique du "Impulse denoise" des rubrique générales. de mon point de vue son action va au delà du bruit d'impulsion.

7.13 Encoding Log

Ce module "dérivé" de celui présent sur ART (Alberto Griggio - merci à lui pour cet excellent module) permet de traiter les images sous exposées, ou à très haute dynamique Il encode les données avec une échelle logarithmique qui va assurer une compression intelligente des données

Dans une première étape, il est important de connaître les valeurs des zones noires en écart Ev (Black Ev) et celles des zones blanches (White Ev) pour évaluer le "dynamic range" - par défaut à 15 (+ 10 Ev white, -5 Ev black, Source Gray Point Value = 18%). Cette estimation est réalisée en amont du processus, avec une copie d'image réalisée juste après la conversion colorimétrique (passage à sRGB, Prophoto...), donc avant les opérations "rgb" du process principal ("exposure", "Lab adjustements", etc.)

Le système va calculer ces 2 valeurs (blackEv, WhiteEv) si vous cliquez sur le bouton "Relative Exposure levels" - "Automatic". L'algorithme prend en compte la taille du RT-spot et permet de différentier si nécessaire des zones à fort contraste ou sombres par rapport aux autres. Bien sûr si vous choisissez un RT-spot qui couvre toute l'image les résultats seront proches de ceux obtenus avec ART. Par défaut cette fonctionnalité est désactivée - case à cocher "Calculate DarkEv WhiteEv Value on the entire Image"

Si vous souhaitez que le calcul prenne en compte automatiquement le Point gris de l'image avant le process, il faut laisser la case à cocher "automatic" dans "Source gray point" activée. Selon le cas, 2 algorithmes assurent un calcul automatique, celui intialement prévu par les calaculs originaux, il peut dans certains cas échouer. Alternativement un calcul fait à partir de Yb (luminance moyenne) s'y substitue

Bien sûr vous pouvez retoucher directement les valeurs de "Black Ev", "White Ev", "Value", mais le calcul ne sera ré-effectué automatiquement que si vous cliquez sur le gros bouton "Automatic".

Vous pouvez modifier le point gris (réglé par défaut à 18%) de l'image finale ("Target Gray Point"), si nécessaire.

Bien sûr "Scope" fonctionne et permet de cibler l'action sur certaines étendues de couleurs.

Avec "Calculate DarkEv WhiteEv Value on the entire Image" désactivée, si vous positionnez le RT-spot sur une zone claire, les valeurs de "Value" (Source Gray point) seront perturbées et probablement trop élevées, donc :

  • privilégiez les zones sombres,
  • ou retouchez si nécessaire "Value" en le réduisant,
  • ou laissez activée la case à cocher "Calculate DarkEv WhiteEv Value on the entire Image"

7.13.1 Graduted Filter

A la fin du traitement "log", vous pouvez agir sur la luminance résultante avec un "Graduated Filter" doté de 2 sliders : "gradient strength" et "gradient angle"

8 Cas d'usage spécifique : réduction des défauts (capteur sale, yeux rouges, ...)

Par conception "Local Adjustements" n'a pas été conçu pour éliminer ces défauts. Néanmoins par effet de bord, certains défauts apparents et gênant en photographie peuvent être réduits voire supprimés. Ceci bien sûr n'est pas incompatible avec d'autres modules plus spécialisés incorporés ou non à "Local adjustements"... Au moins 3 fonctions présentes, en adaptant l'usage, peuvent être utilisées, séparément ou ensemble :

  • "Color and light" pour des défauts ponctuels ;
  • "Contrast by detail level" pour des défauts répartis ;
  • "Wavelet pyramid" pour les défauts répartis;
  • "Blur and Noise" en complément éventuel : attention cette action est assez destructrice - à utiliser avec modération.

Vous pouvez agir soit:

  • directement, cas général, sur le fichier "raw", ou "TIF", etc.
  • soit sur le fichier flat-field si vous en avez élaboré un.

8.1 Choix de la taille du RT-spot

On peut être tenté d'ajuster la taille du RT-spot à celles des défauts, en général petits. Cette démarche est en général à éviter car :

  • elle masque la visibilité de l'action
  • elle risque dans certains cas soit un crash dus à des problèmes d'allocation mémoire, soit des dysfonctionnements aux limites des processus

Il est préférable de mettre un RT-spot couvrant largement le défaut, et soit facilement visible par exemple un RT-spot de 50x50 pixels ou 100x100 pixels, puis:

  • choisir une taille du Spot (Spot size) petite, adaptée au défaut
  • réduire la transition à une valeur faible entre 2 et 10, de telle façon que à cette valeur la quasi totalité du défaut est couvert
  • accroître "transition weakening" jusque 10 ou 15, avec ce réglage la décroissance d'action est très rapide
  • agir sur "scope" pour centrer l'action sur le défaut

Par exemple si c'est un oeil rouge de 6x6 pixels, choisissez "transition = 5", "transition weakening = 10", à partir du 8ème pixel l’affaiblissement (sans l'action de "scope") est de plus de 90%.

Exemple d'affaiblissement - sans action avec "scope":

  • taille du RT-spot 100x100
  • taille du défaut 10x10 (Iris d'un oeil)
  • "transition" = 9
  • "transition weakening" = 15
  • à la limite du défaut 10x10 baisse de l'action : 75%
  • à 2 pixels après le défaut, baisse de l'action 28%
  • à 4 pixels après le défaut baisse de l'action 12%

Si le RT-spot, pour le même défaut est de 50x50

  • à 2 pixels après le défaut, baisse de l'action 14%
  • à 4 pixels après le défaut, baisse de l'action 4%
  • etc.

8.2 Utilisation avec le module "Color and Light"

  • Activez "Color and Light"
  • Vous pouvez utiliser l'équivalent d'une fonction "yeux rouges" en choisissant un encadrement assez serré de l’œil - sélecteur circulaire centré sur le rouge, délimiteurs de spot proches de l’œil - une valeur de scope réduite, puis agir sur réduction "lightness" -100, et réduction chrominance -100.
  • De la même manière vous pouvez réduire les défaut du capteur de type "Spot IR", en choisissant un encadrement assez serré du défaut - sélecteur circulaire centré sur le défaut, délimiteurs de spot proches du défaut - puis agir sur "chrominance" en réduisant la valeur, agir éventuellement sur "scope" pour réduire l'étendue de l'action.
  • Vous pouvez dans des cas simples, réduire les défauts de type "capteur encrassé" notamment lorsque celui-ci est gras. Ceci se traduit par des taches qui apparaissent sur les fonds unis. Pour cela choisissez un encadrement assez serré du défaut - sélecteur circulaire centré sur le défaut (adaptez la taille du spot) , délimiteurs de spot pas trop proches du défaut pour permettre une transition peu visible. Puis: a) réduisez "Transition" à des valeurs faibles - transition weakening élevé; b) agissez sur "luminance" et éventuellement sur "chrominance" pour approcher le rendu de la zone polluée à celui de la zone saine; c) agir modérément sur "scope" pour moduler l'action souhaitée. d) possibilité d'utiliser "Color correction grid - direct", ainsi que "Softradius"

8.3 Utilisation avec le module "Contrast by detail levels"

Dans le cas de capteur encrassé (de type "graisse"), et lorsque la zone est importante ou pour une série de petits défauts, Il peut être utile d'utiliser "Contrast by details levels" qui va agir comme un outil "wavelet" sur la luminance et aussi si nécessaire sur la chrominance. Dans ce cas:

  1. mettez le Spot de sélection sur un défaut prononcé (en adaptant sa taille si nécessaire);
  2. choisissez une zone de sélection large pour couvrir la majorité de la surface concernée par les défauts;
  3. Sélectionnez une valeur de transition assez importante (selon le cas) et "transition weakening" élevé;
  4. Activez "Contrast by detail levels" et agissez sur les niveaux 3 , 4 (rarement 5) ou plus faibles en réduisant le contraste (valeurs inférieures à 100) et en agissant si nécessaire sur le curseur chroma.


Attention, la zone d'action est limitée à 64x64 pixels, en dessous de ces valeurs, CBDL est désactivé pour éviter le crash - la décomposition en ondelettes de Harr, nécessite au mimima 64x64 pixels.

8.4 Utilisation avec le module "Local Contrast - Wavelet pyramid"

Vous pouvez utiliser notamment :

  • contrast by levels : en agissant sur la courbe, en étant proche de la partie gauche de la courbe - les niveaux faibles - et en réduisant le micro-contraste
  • vous pouvez agir si nécessaire sur "Chroma levels" pour réduire les artefacts colorés
  • Blur levels : là encore avec les niveaux faibles, vous pouvez flouter (blur) les petits défauts, avec ou sans action de "contrast by levels"

9 Temps de traitement et utilisation de la mémoire

Lorsqu'on utilise la sortie JPG ou TIF, et pour le mode "normal", l'algorithme n'effectue les calculs que pour la zone délimitée. En ce sens les temps de traitement et l'occupation mémoire sont réduits. Bien sûr le temps de traitement va dépendre du nombre de spots de contrôles, de leur taille, et du type de traitement.

Les plus gros consommateurs de temps sont

  • "Retinex" : forte influence de la taille du spot, de "radius" et de "scale" et de "chroma" au delà de 40, ainsi que de FFTW.
  • "Tone Mapping" : "edge stopping" accroît linéairement le temps de traitement. "Reweigthting iterate" multiplie par sa valeur les temps de traitement. On peut très facilement attiendre des temps de plusieurs dizaines de secondes.

Si on exclue "Denoise" , "Sharp" et "Retinex", les temps de traitement sont de l'ordre de quelques dixièmes de seconde par spot de contrôle, et le besoin en mémoire de l'ordre de quelques centaines de M.

Quatre réglages agissent fortement sur les temps de traitement et le besoin en mémoire :

  • denoise qui ajoute selon la taille du spot de contrôle de l'ordre de 1 seconde et 1 M de mémoire.
  • quality "enhanced + chroma denoise", qui ajoute environ selon le spot de contrôle de l'ordre de 0.5 seconde à 1 seconde et 0.6 M.
  • "mask" ("Color and Light", "Exposure", "Shadows Highlight", "CBDL", "Tone mapping", "Retinex", "Tone mapping, "Smooth and blur" et "Denoise") accroît nettement les besoins en mémoire. Attention si votre machine a des capacités limitées et si vous sélectionnez une grande zone.
  • l'option FFTW (Retinex, Local contraste) même optimisée peut accroître ou réduire les temps de traitements - dans tous les cas elle améliore la qualité:
    • pour des petites tailles et moyennes tailles de Spot (jusque 2000 * 2000 pixels) FFTW sera plus rapide
    • pour les grandes tailles (5000 * 4000 pixels), FFTW sera plus lent

10 Aspects logiciels

Comme le traitement est itératif pour chaque Rt-spot, il est important de connaître l'ordre

  • Encoding log, Smooth Blur and noise, Denoise, Contrast By Detail Level, Vibrance, Tone mapping, Shadow Highlight, Soflight, Local contrast, Sharp, Retinex, Exposure, Color and light, Avoid color shift
  • cet ordre est indiqué par un nombre de 1 à 12 lors du choix de l'outil
  • Comme évoqué dans le texte, certaines fonctions ont été réécrites, soit pour s'adapter à l'échelle, soit par qu'elle fonctionne en mode Lab au lieu de RGB

11 Quelques questions ?

11.1 Et le détourage des objets ?

C'est une question fréquemment posée !

  • Dans une majorité de cas, l'algorithme de détection de forme sera largement suffisant pour ne sélectionner que ce qui est nécessaire, avec à la fois la commande "scope" et les curseurs prévus dans "settings" - shape detection et transition
  • l'utilisation de "exclude spot" doit permettre de résoudre les cas délicats
  • les masques prévus dans 8 modules - Color and Light, Exposure, Shadows Highlight", Vibrance, CBDL, Tone mapping, Smooth and Blur et Denoise doivent aussi permettre d'améliorer la sélection dans quelques cas.
  • la sélection peut être encore améliorée en choisissant 2 spot, très proches mais chacun sur une "couleur" (au sens deltaE) différente, avec 2 masques complémentaires

Si un spécialiste GUI est capable par exemple d'agir sur les 4 ellipses et les transformer en courbes de Beziers (chacune inscrite dans le rectangle centre X Y), alors avec une simple LUT on pourrait simuler un détourage... pour les irréductibles des détourages, calques...

11.2 Comment réaliser un gradient de luminance (graduated filter) ?

La réponse peut étonner, mais avec quasiment tous les modules ! Plus sérieusement 3 modules permettent seuls - ou combinés entre eux - de réaliser ce gradient de luminance

  1. shadows-highlight (celui que je recommande)
  2. exposure
  3. Color and light

Vous pouvez bien sûr utiliser le "graduated Filter" là où il est présent, sur la luminance, mais aussi sur la chrominance et la teinte (notamment pour Vibrance)

Vous pouvez aussi :

  • utiliser la dissymétrie possible de la forme du Spot, en plaçant le centre proche soit de la zone sombre dont doit partir le gradient - en évitant si possible le point le plus sombre lorsque la luminance est très faible, soit de la zone lumineuse - en évitant si possible le point le plus lumineux lorsque la luminance est très forte
  • par exemple si la zone sombre est en bas à gauche et qu'on souhaite éclaircir l'image en diagonale, placer le spot en bas à gauche et ouvrir le spot vers le haut et à droite avec l'angle souhaité pour le gradient
  • agir sur "shadows" ou "highlight" - avec le module 1. ou "exposure" avec le module 2., ou les sliders et courbes du module 3.
  • régler - accroître la valeur de "scope" pour obtenir l'effet souhaité (exclusion ou non de certaines couleurs...)
  • agir éventuellement sur les curseurs "Shape detection" pour accrôitre ou réduire l'effet - selon la valeur de "scope"
  • régler la "transition value", "transition weakening" et "transition differentiation" pour obtenir l'affaiblissement souhaité

Essayez aussi les fonctions "inverse" !

La rotation possible du Spot, peut paraître nécessaire a priori, mais:

  • elle va compliquer le code
  • il n'est pas sûr que cet apport soit indispensable, sinon lorsque la taille du RT-spot est proche de l'image entière, et que l'axe du gradient est proche de X ou de Y.

11.3 Comment réaliser un mode "inverse" pour tous les outils

Certains outils, "Color and light", "Exposure", "Sahdows Highlight", mais aussi "Smooth and Blur", "Sharpening". En règle générale, le mode "inverse" a des fonctionnalités réduites (moins de sliders, de courbes...) Si vous souhaitez conserver toutes les fonctionnalités et réaliser un mode "inverse" pour tous les outils:

  • créez un premier Rt-spot avec les réglages que vous souhaitiez appliquer en inverse
  • Dans settings :
    • Normal spot
    • Shape RT-spot area : rectangle
    • les 4 Délimiteurs en dehors du preview
    • Transition à 100
  • créez un deuxième RT-spot
    • Excluding spot
    • ajustez les réglages de ce Spot (settings)
    • vous pouvez utiliser tous les outils (Color and light, etc.)


11.4 Et le "Spot removal" pour retirer les défauts

En consultant les paragraphes précédents, je pense qu'une majorité de défauts peuvent être traités avec les modules actuels, même si "Local Adjustements" n'a pas été conçu pour cela:

  • yeux rouges
  • défauts - poussière sur le capteurs (1)
  • Spot IR (Infrarouge)
  • graisse (1)

Avec 3 modules - Color and light, CBDL, Wavelet pyramid


Mais bien sûr ceci dont (1) n'est pas incompatible avec un futur module "classique" à base de "brosse" ou autre algorithme

11.5 A quoi sert l'association Retinex - Dehaze ?

Chacun des 2 algorithmes a ses points forts

  • Dehaze est très performant globalement, mais "ignore" les arrières plans
  • Retinex est performant sur la différenciation avant - arrière plan, mais peut produire du halo

La combinaison des 2 : Dehaze à partir de l'image globale (ou locale) et Retinex pour la partie locale de l'arrière plan, permet de résoudre la quasi totalité des cas

11.6 Pourquoi y a-t-il un "masque" pour chacun des modules concernés et pas un "masque global" ?

Simplement parce que chacun des modules "Exposure" , "Color and "Light", "Shadows highlight", "Vibrance" "CBDL", "Tone mapping" subit les traitement récursif des autres modules - exactement comme l'ensemble des modules de Rawtherapee, interagissent l'un sur l'autre. J'ai fait une exception pour "Smooth and Blur" et "Denoise" qui ont en commun un masque, car:a) ils sont en début de processus "Local adjustements" et n'ont que peu d’interactions.

Avoir un masque global, revient par comparaison à n'avoir qu'une seule courbe pour gérer l'ensemble des courbes de Rawtherapee.

Bien sûr, par simplification, il n'y a que 7 modules avec "masques", rien n'interdit de l'étendre aux autres...ce n'est qu'une question de temps...si la demande s'en fait sentir

11.7 Pourquoi n'y a-t-il pas toutes les fonctions de Rawtherapee avec le mode "local" ?

Le mode local est fondé et articulé autour du concept "L*a*b*" et de la notion de deltaE (Lab nécessaire), une majorité de modules "principal" ont leur équivalent "local"

Par contre, les modules "rgb" après démosaicing ou "RGB" avant demosaicing nécessiterait une autre approche que le concept du deltaE. Donc rien d'impossible, par exemple pour réaliser un module "balance des blancs locale"...

Remarque : il est tout à fait possible de réaliser un mode global "plein écran" à partir de "Local adjustements" : régler transition sur 100, choisir un spot (rectangulaire) tel qu'il soit plus grand que le preview.

11.8 Comment modifier uniquement l'ensemble des feuillages d'une image ?

L'algorithme permet de ne sélectionner qu'une couleur, par exemple les feuilles d'un arbre.

Pour cela:

  • la taille du spot doit être réduite pour ne cerner que la couleur concernée.
  • Ajuster "scope" sur des valeurs faibles.
  • Étendre l'action du RT-spot pour prendre en compte - si vous le souhaitez - l’ensemble des feuillages de l'image (par exemple si il y a plusieurs arbres)
  • Agir sur les champs que vous souhaitez modifier (luminance, saturation, etc.)

11.9 Comment réaliser la fonction "Clarté" (Clarity)

Au moins 3 façons :

  1. en utilisant CBDL et en agissant sur "Residual image - Clarity" - effet "moyen"
  1. en utilisant Tone-Mapping - effet "fort" - notamment avec l'usage de gamma et amount et des valeurs modérées de "compression" (attention aux temps de traitement)
  2. en utilisant Local-contrast - effet "faible"
  3. en utilisant "wavelet" (local contrast)

Et pourquoi pas avec Retinex... qui est une autre manière de réaliser un "local contrast" - plus difficile à manipuler, mais l'algorithme de principe est proche.

Un masque sur la totalité de l'image (ou partielle) peut permettre de modifier le gamma de l'image et affaiblir - renforcer la luminance de certaines zones.