Toolchain Pipeline/fr
Succession des outils dans le Pipeline
Ordre des traitements
Tous les traitements apportés à une image, depuis le moment où vous ouvrez le fichier jusqu'au moment où il est affiché sur l'écran ou enregistré interviennent dans un ordre imposé. Les données migrent d'un module dans l'autre, c'est ce qu'on appelle la succession des outils dans le pipeline. RawTherapee contient 4 pipelines (un pour l'aperçu principal, un pour l'image enregistrée, un pour la vignette et un dernier qui m'échappe). La liste suivante présente un ordre simplifié des opérations :
- Prétraitement
- Trame Noire
- Champ Uniforme
- Mauvais pixels
- Pixels chauds
- Étalonnage des couleurs (interne, pas d'outil dans l'interface)
- Points Noir Raw
- Correction de distorsion d'objectif
- Équilibrage du vert
- Filtre du bruit de ligne
- Correction de l'aberration chromatique
- Points Blanc Raw
- Histogramme raw
- Préparation de l'exposition auto
- Dématriçage
- Retinex
- Reconstruction des hautes lumières
- Balance des blancs
- Suppression des spots
- Recadrage
- Conversion d'espace colorimétrique
- Noise reduction
- Elimination de la brume
- Compression de Plage Dynamique
- (branche local ajustements) évitement du décalage de couleurs, Log encoding, flou et bruit, réduction de bruit, netteté, dehaze et Retinex, cbdl, vibrance, lumière douce, contraste local, wavelet, exposition, couleur et lumière, Color apperance (Cam16 & Jzczhz), évitement du décalage de couleurs
- Courbe tonale auto-adaptée
- Courbe de réponse tonale
- Procédé RVB
- Mixage des canaux
- Courbe tonale
- Hautes lumières
- Ombres
- Courbes RVB
- Courbes TSV
- Virage partiel
- Simulation de film
- Noir-et-blanc
- Grille de correction de la couleur L*a*b* (Lab)
- Procédé Lab
- Ombres/hautes lumières (Lab)
- Contraste local (Lab)
- Ajustements Lab
- Vibrance
- Grille de correction couleur L*a*b* (Lab)
- Filtre vignettage
- Filtre dégradé
- Compression tonale
- Réduction du bruit d'impulsion
- Aberration chromatique
- Bordures
- Microcontraste
- Netteté
- Contraste par niveaux de détail
- Ondelettes
- Lumière douce
- Abstract Profile
- CIECAM02
- Redimensionnement
- Netteté après redimensionnement
- Conversion Lab -> RVB finale
Liste de tous les outils de RawTherapee
- Générique/Aperçu principal
- Profil d'entrée
- Profil du moniteur couleur
- Profil de travail
- Profil de sortie
- Indications hors domaine
- Aperçus Rouge/Vert/Bleu/Luminosité/Masque du focus
- Intention colorimétrique
- Onglet Exposition
- Exposition
- Ombres/Hautes lumières
- Compression tonale
- Compression de Plage Dynamique
- Filtre Vignettage
- Filtre dégradé
- Ajustements Lab
- Onglet Détail
- Netteté
- Contraste local
- Bords
- Microcontraste
- Réduction du bruit d'implusion
- Réduction de bruit
- Aberration chromatique
- Contraste par niveaux de détail
- Elimination de la brume
- Onglet Couleur
- Balance des blancs
- Vibrance
- Mixage des canaux
- Noir-&-blanc
- Égaliseur TSV
- Simulation de film
- Lumière douce
- Courbes RGB
- Virage partiel
- Gestion de la couleur
- Onglet Avancé
- Retinex
- Apparance de la couleur (CIECAM02)
- Onglet Transformation
- Recadrage
- Redimensionnement
- Objectif/Géometrie
- Rotation
- Perspective
- Profilcde correction d'objectif
- Distortion
- Aberration Chromatique
- Correction vignettage
- Onglet Raw
- Capteur à matrice de Bayer
- Dématriçage
- Points noirs Raw
- Traitement pré-dématriçage
- Aberration chromatique
- Capteur à matrice X-Trans
- Dématriçage
- Points noirs Raw
- Points blancs Raw
- Traitement pré-dématriçage
- Trame noire
- Champ uniforme
- Film Négatif
- Netteté de la capture
- Capteur à matrice de Bayer
Colorimétrie générale
Colorimétrie - Importance de Ciecam - Lab ?
De nombreux débats ont lieu à propos de la colorimétrie. Pour rappel ce n'est pas une science exacte...Il ne suffit pas de faire des équations (mêmes complexes..) pour que l’œil humain soit satisfait d'une image.
Actuellement, RawTherapee utilise l'espace colorimétrique L*a*b* et CIECAM02/16 pour l'adaptation chromatique et des travaux ont commencé pour explorer d'autres espaces colorimétriques (Jzazbz) et modèles CAM, pour les applications HDR (ZCAM ne fonctionne pas).
L'utilisation de l'espace couleur L*a*b* (ou CIELAB) a ses limites, mais nombre de ses défauts peuvent être atténués avec succès, du moins pour les applications SDR.
Quelques exemples :
- On dit souvent que L*a*b* est non linéaire et qu'il « déforme » les couleurs notamment pour les bleus-violets et les rouges-oranges...si on agit par exemple sur une courbe ou un curseur chromaticité... C'est vrai ! Mais dans Rawtherapee, si vous cliquez sur « Avoid Color Shift », près de 200 LUT vont corriger cette dérive et rendre l'image parfaitement linéaire.
- On dit aussi que L*a*b* adresse des couleurs imaginaires...lorsque bien sûr le profil de travail le permet...C'est vrai. Mais dans Rawtherapee, si vous cliquez sur « Avoid Color shift » , le gamut du profil de travail est utilisé et une intention de Colorimétrie Relative est appliquée.
- Il analyse les données de l'image.
- Si elle est dans la gamme, aucune action n'est entreprise.
- Si elle est en dehors de la gamme, la chroma est réduite et si cela est insuffisant, ou si elle est proche de L=0 ou L=100, alors L est ajusté.
- Cependant, cela devrait rarement se produire si Prophoto est utilisé dans le profil de travail et n'est probablement pas important.
- Si la saturation a été ajustée (chroma, vibrance,...), une correction Munsell utilisant près de 200 LUTs est appliquée. Cela permet de corriger tout décalage de couleur avec un haut degré de précision, par exemple un rouge qui est devenu orange à cause de L*a*b*, redeviendra rouge. Il y aura encore quelques erreurs mais elles sont très faibles.
- Vous pouvez utiliser uniquement la correction Munsell en cochant "Correction Munsell uniquement"
L*a*b*
- est une transformation réversible de XYZ (en simplifiant Y est transformé en L* par un gamma de 3.0 et une pente de 9.03), donc L*a*b* a sensiblement les mêmes caractéristiques en termes de limites - ce sont celles des primaires - que XYZ qui sert de référence au "Profil de travail" et fixe les bases du gamut. Donc 'sensiblement' les mêmes caractéristiques (latitude d'exposition, gamut, etc.). Un point toutefois, dans de nombreux processus les valeurs de L* peuvent être bornées (Clip), pour limiter des artefacts (contrastes élevés, les hautes lumières...).
- mais dans la plupart des cas, L* n’est pas limité. Si jamais un jour on arrive au traitement HDR, il faudra probablement passer au « HDR-Lab ». Les données ne sont pas perdues, même pour les images à plage dynamique élevée (> 14Ev), mais la progression des hautes lumières n'est pas assez progressive lorsqu'elle est utilisée avec des moniteurs capables d'afficher des valeurs de luminance dans la plage de 120 cd/m² et au-delà.
L*a*b* ne pénalise pas le gamut et les images à haute dynamique -exemple image avec une Dynamic Range de 25Ev
A noter que la majorité des appareils numériques en 2024, ont une Dynamique Range maximum de 15Ev. Cette image est donc exceptionnelle mais va montrer ici le comportement de L*a*b* pour les images à DR élévée.
Fichier TIF (Creative Common Attribution-share Alike 4.0): [1]
Image d'origine - sans traitement
Remarquez :
- les ombres sont bouchées
- 40% environ de l'image est avec des blancs à 100%
- La DR originale est de 25Ev
- la DR restituée est de l'ordre de 12Ev
Image avec Local Adjustments - Log encoding
Remarquez :
- les ombres et les lumières occupent toute la plage visible de L=1 à L=99.8 (échelle 0 - 100)
- les couleurs semblent uniformément réparties selon la luminance. L*a*b* ne pénalise pas la Dynamic Range (DR)
- la DR restituée est de 25Ev environ.
Ciecam
- On dit souvent que « Ciecam02 » n'est pas capable de traiter les images à hautes dynamique, c'est partiellement vrai. De nombreuses améliorations ont été apportées par l'équipe de développement il y a quelques années pour réduire ce phénomène. Néanmoins il faut relativiser, une très forte proportion d'images utilisateur sont dans le gamut sRGB...et ne posent aucun problème. Cependant, en utilisant le Log Encoding en conjonction avec la Cam16, ou Color Appearance (Cam16 & JzCzHz), la grande majorité des problèmes peuvent être résolus. Bien sûr, certaines images présenteront encore des problèmes, en particulier avec la reconstruction des hautes lumières, mais ce n'est pas spécifique à Ciecam. L'ajout de Ciecam16 (Cam16) permet de résoudre certains de ces problèmes.
- Par contre Ciecam02/16 est une des seules manières de réaliser une véritable colorimétrie prenant en compte la perception de l'homme et de son environnement. Par exemple lors d'un souhait pour accroître la luminosité et/ou la saturation, Ciecam tiendra compte de l'image et de son environnement.
Balance des blancs
- La balance des blancs est aussi sujet à débat...Le module « Itcwb » (Temperature correlation) récemment introduit dans Rawtherapee est du point de vue mathématique (cognitif) presque parfait. Il fait coïncider les couleurs xyY de l'image à des données spectrales connues ...Mais, sur les images où la température trouvée est loin de D50...la colorimétrie ne sera pas correcte...Il va manquer une adaptation chromatique, celle nécessaire à nos yeux, à notre cerveau. Ciecam va la réaliser.
Importance du mode linéaire RGB et colorimétrie
On vante souvent le modèle RGB, en particulier le modèle « linéaire ». Nous croyons que ce mode linéaire est la meilleure manière d'assurer les traitements « amont » (demosaicing, balance des blancs, defringe, aberration chromatique, etc.). tout ce qui peut être réalisé dans ce mode doit l'être.
Par contre que penser – sauf pour des valeurs modérées – des « tone curves » :
- Qui non seulement rompent la linéarité, mais sont peu compensées en termes de colorimétrie (à l'exception du mode Perceptual qui fait appel à Ciecam02) – contrairement aux TRC utilisées dans les sorties (moniteur, TIF...).
- "Auto matched Tone Curve" - qui est en fait une copie de la TRC de l'APN est appliquée en milieu de processus, rompt la linéarité..
Comment rendre le mode RGB linéaire lorsqu'on change la saturation. Ce n'est probablement pas impossible, mais difficile, pas implanté dans Rawtherapee. En opposition à Ciecam « saturation » qui tiendra compte des variations de luminance (ou de brillance) pour adapter cette variation de couleur.
Donc, en synthèse, il n'y a pas une bonne manière, et une mauvaise...Mais des méthodes RGB, L*a*b*, Ciecam qui ont leurs avantages et inconvénients...à utiliser à bon escient.