Greboca  

DLFP - Dépêches  -  darktable 3.0 : une version plus que majeure !

 -  Décembre 2019 - 

darktable est un logiciel de retouche d’images spécialisé dans le traitement de photos « raw », c’est‑à‑dire des données brutes du capteur de l’appareil photo. Il a la particularité d’être non destructif, c’est‑à‑dire qu’il ne modifie jamais les fichiers sur lesquels il travaille : on gère un ensemble de transformations à appliquer au fichier raw, et darktable permet d’exporter le résultat dans les formats d’images classiques.

Comme le veut la tradition, darktable 3.0 est sorti pour Noël. Après une année 2018 de renouveau, 2019 a vu de très nombreux et inattendus changements dans darktable, autant dans son interface que dans ses mécanismes internes. Cela fait de darktable 3.0, une version plus que majeure, justifiant le passage direct d’une version 2.6.x à une version 3.0.

Noël darktable

Sommaire

Parmi les nouvelles fonctionnalités majeures (la liste est longue) :

  • Une toute nouvelle interface, plus moderne, complètement remaniée et personnalisable via CSS. Il n’y a plus aucune taille, couleur, position figée en dur dans le code de darktable. Cette version propose déjà plusieurs thèmes.
  • Un nouveau mode « sélection » à la table lumineuse. Il affiche un nombre consécutif d’images fixes et défini par l’utilisateur, depuis l’image sélectionnée. Il permet de zoomer et de se déplacer sur l’image. Il apporte ainsi enfin un mode comparatif d’images souvent demandé. La navigation peut se faire aussi bien via la souris que le clavier.
  • Une nouvelle vue « chronologie », permettant de sélectionner des images sur une période de temps choisie.
  • Une réécriture importante de la table lumineuse (incluant le bandeau d’images dans la chambre noire) a été effectuée, améliorant grandement la performance générale. La table lumineuse est désormais utilisable pleinement sur les écrans 4K et 5K. darktable 3.0 apporte aussi de nombreuses optimisations pour les circuits processeurs (CPU et SSE).
  • Un nouveau module filmique RVB qui, comme le précédent module filmique, remplace les modules courbe de base, ombres et hautes lumières et les autres modules de mappage global des tonalités. Cette nouvelle version devrait être plus simple à utiliser et réduire les problèmes de couleur dominante. L’ancien module filmique est désormais déprécié et seulement disponible sur les images où il a été utilisé précédemment.
  • Un nouveau module égaliseur de tons a été créé pour fusionner les fonctionnalités des modules zones, ombres et lumières, et ceux de mappage local des tonalités, dans un espace RVB. Il apporte un moyen simple et sûr d’ajuster localement les tonalités, réalisant rapidement une exposition sélective (dodge & burn) zone par zone basée sur le zone system d’Ansel Adams.
  • Nouveaux modules courbe RVB et niveaux RVB. Ils proposent des modes pour les canaux RVB liés et indépendants.
  • Le module réduction de bruit (profil) a été fortement amélioré. Il propose désormais des réglages par défaut très performants dans la plupart des cas. Il n’est ainsi, le plus souvent, plus nécessaire d’utiliser 2 instances chroma et luma. Une seule instance suffisant. Pour les images traitées avec darktable 2.6 ou antérieure, il est possible de faire évoluer le module vers les nouveaux algorithmes de traitement via une case à cocher dans le module.
  • Un nouveau module 3D lut, permettant de manipuler des transformations 3D RVB Lut (les fichiers PNG Hald-CLUT et Cube sont supportés).
  • Une refonte complète du module mots-clés. Il est désormais plus rapide et plus complet, avec une nouvelle vue en arborescence, la possibilité de signaler certains mots-clés comme privés ou les associer à une catégorie, ou même rechercher par synonymes.
  • Le module exporter permet désormais de sélectionner les métadonnées à exporter.
  • Un nouveau module ajustements de base. Il permet d’ajuster le niveau de noir, l’exposition, la compression des hautes lumières, le contraste, le gris moyen, la luminosité et la saturation. Il bénéficie également d’un mode automatique, basé sur le système niveaux automatique de Rawtherapee, qui peut travailler sur toute l’image ou sur une zone définie par l’utilisateur.
  • Un nouveau masque raster, qui permet de copier un masque appliqué à un module à tous les autres.
  • Et bien d’autres fonctionnalités plus mineures (mais utiles), nous parlerons de certaines d’entre elles, en dernière partie de cet article.

darktable 3.0 est une version sous le signe de la francophonie puisque les deux tiers des évolutions soumises pour celle-ci sont issues de développeurs français. Cet article est aussi l’occasion de les remercier de leur investissement et contributions, et de mettre en avant de notre communauté francophone. Sans oublier bien entendu les belles contributions de nos amis développeurs internationaux, également remerciés ici.

Comme pour chaque nouvelle version majeure de darktable, le format de la base de données change, on ne peut donc pas revenir à la version précédente une fois passé en 3.0 : il est donc conseillé de faire une sauvegarde de la base de données (répertoire ~/.config/darktable/) avant la mise à jour.
Cependant, darktable 3.0 introduit une sauvegarde automatique de votre base de données en version 2.6 ou précédente du fait des nombreux changements qu’il apporte, particulièrement dans la chaîne de traitement de l’image.

Fonctionnalités principales

Une toute nouvelle interface, personnalisable

darktable 3.0 introduit désormais une nouvelle interface moderne et complètement modifiable via CSS. Elle est en outre désormais compatible avec les moniteurs 4k et 5k. Avec cette refonte complète, quatre nouveaux thèmes ont fait leur apparition :

  • darktable : le thème d’origine adapté (par défaut), il utilise la police de caractères par défaut du système d’exploitation.

thème darktable

darktable 3.0 introduit particulièrement les trois nouveaux thèmes suivants (en plus du thème par défaut adapté à la nouvelle interface).
Ces trois thèmes, nommés elegant, nécessitent d’installer les polices Roboto afin d’obtenir l’expérience visuelle complète souhaitée.

  • darktable-elegant-darker : mêmes couleurs que le thème par défaut avec la police Roboto, plus condensée.

thème très sombre

  • darktable-elegant-dark : une version un peu plus claire.

thème un peu plus clair

  • darktable-elegant-grey : une version proche d’un gris moyen

thème gris

En dehors de toute considération esthétique, la couleur d’interface recommandée pour l’évaluation des couleurs est le gris moyen (interface L = 45, fond d’image L = 75), proche de la norme ISO 12646:2008. En effet, la perception visuelle est affectée par la luminosité ambiante, et une faible luminosité de l’interface provoque toutes sortes d’illusions :

  1. exagération de l’exposition perçue dans l’image (mise en évidence par l’expérience de l’échiquier d’Adelson) : l’image semble plus claire qu’elle ne l’est ;
  2. diminution de la saturation perçue dans l’image (effet Hunt) : les couleurs semblent moins riches ;
  3. diminution du contraste perçu dans l’image (effet Bartleson–Breneman) : les tonalités semblent plus plates.

Utiliser une interface sombre pour retoucher des photos peut donc mener à une retouche exagérée (abus de contraste et de saturation) et à une photo trop sombre, une fois imprimée. L’introduction du thème gris permet d’éviter ces illusions et conséquences sur le traitement de l’image.

Les quatre principaux thèmes n’affichent plus les icônes des modules en chambre noire pour alléger l’interface et limiter les distractions visuelles colorées. Certains utilisateurs les ayant réclamées, des variantes spécifiques ajoutent l’affichage des icônes de ces modules. Si vous souhaitez ces icônes, utilisez donc plutôt les thèmes icons.

Voici la chambre noire avec le thème dark (sans icônes) :

thème dark sans icônes

Et la même chambre noire, avec les icônes aux modules du panneau de droite :

thème dark avec icônes

Autres améliorations de l’interface

Chambre noire

De nouveaux raccourcis ont été ajoutés pour une meilleure expérience utilisateur et une plus grande place à l’image. Voici ici les plus importants en chambre noire (les quatre premiers raccourcis sont aussi utilisables dans les autres vues de darktable) :

  • Maj + Ctrl + t : afficher/masquer le haut (entre l’image et le bandeau du haut) ;
  • Maj + Ctrl + l : idem pour le panneau gauche ;
  • Maj + Ctrl + r : idem pour le panneau droit des modules ;
  • Maj + Ctrl + b : idem pour le panneau du bas (entre l’image et le bandeau d’images) ;
  • Maj + Ctrl + h : idem pour l’histogramme ;
  • Maj + Ctrl + n : idem pour l’image miniature à gauche.

Ces raccourcis complètent très bien deux raccourcis déjà présents dans darktable :

  • Ctrl + f : permet d’afficher/masquer le bandeau d’images en bas, sans aller dans les options ;
  • Ctrl + h : idem pour le bandeau du haut (du logo aux liens vers table lumineuse, chambre noire, autres).

Ces raccourcis peuvent être aisément mémorisés en comprenant ceci : les lettres correspondent à la 1re lettre du terme anglais (top, left, right, bottom, histogram, navigation, filmstrip, header).

Et enfin, valable dans toutes les vues de darktable : mon préféré à n’utiliser qu’une fois, après avoir pris l’habitude d’utiliser les raccourcis ci‑dessus : b. Avec cette simple lettre, adieu bordures avec les flèches. Et darktable s’allège !

Regardez par exemple la capture d’écran ci‑dessous pour vous en convaincre. Les raccourcis appliqués ont été : b, Maj + Ctrl + l, Maj + Ctrl + t, Maj + Ctrl + b (pour ces trois derniers, une astuce rapidité : restez appuyé sur Maj + Ctrl puis appuyez successivement sur l, t et b pour masquer les panneaux de gauche, haut et bas) et Ctrl + f (pour le bandeau image enlevé en bas). Pour remettre les parties enlevées, simplement refaire les mêmes raccourcis.

Version allégée pour édition d’image

Avec tous ces raccourcis, vous pouvez afficher votre chambre noire (et chaque vue de darktable) avec les parties que vous voulez (avec ou sans miniature, panneau de droite ou gauche, histogramme ou pas…). Testez, voyez ce qui vous convient pour votre pratique, en fonction de votre besoin ou du moment pour alterner entre les parties. C’est simple et efficace !

Champ de recherche de module

Dans cette même chambre noire, vous pouvez constater sur la capture d’écran ci-dessus un module de recherche de module entre la liste des modules et les onglets de modules. Ce nouveau champ permet simplement… de rechercher un module parmi les dizaines que compte darktable (recherche à faire en minuscule, le champ respectant la casse).

Nouvelle visualisation des options de masque

Dans les modules permettant l’utilisation des masques de fusion, l’accès aux options de masque ne se fait plus via un menu déroulant, et est devenu plus visuel. Jugez plutôt :

Masques de modules

De gauche à droite : « désactiver le masque actif », « masque uniforme », « masque dessiné », « masque paramétrique », « masque dessiné et paramétrique » et « masque raster » (petit nouveau dont nous parlons plus bas dans cet article).

Historique

Une refonte de l’historique a été faite. darktable, comme tout logiciel photo de dématriçage RAW, doit exécuter certains modules par défaut pour permettre l’affichage du RAW. Auparavant ces modules étaient masqués. Pour plus de transparence, toutes les étapes de traitement effectuées sont désormais affichées, même si elles ne correspondent pas à un module existant, tel que la ligne gamma. Ces modules ne peuvent être désactivés, de par leur utilité.

Comme vous pouvez le voir ci-dessous, de nouvelles icônes visuelles ont fait leur apparition à droite. Elles indiquent l’état du module (pour les 3 premiers états, vous retrouverez également ce même visuel dans le panneau de modules de droite) :

  • modules par défaut non désactivables : rond plein entouré d’un cercle (ex : gamma)
  • modules à l’état actif (potentiellement désactivables) : bouton on/off activé (ex : balance des blancs)
  • modules à l’état désactivé (potentiellement activables) : bouton on/off désactivé et le texte du module gris clair (ex : courbe de base)
  • modules dépréciés (qu’il est recommandé de ne plus les utiliser) : croix (ex : filmique). Si activé, texte et croix de couleur blanche et gris clair si désactivé.

historique

Informations EXIF de l’image

Pour un meilleur rendu de l’histogramme, comme pour une meilleure visualisation des données EXIF principales de l’image, ces dernières ont été retirées de l’histogramme. Elles sont désormais visibles dans une nouvelle zone, par défaut en bas de l’image :

Infos EXIF de l’image

Il est possible de personnaliser les données affichées dans cette zone, dans les préférences de darktable (voir la ligne « format de la ligne d’information sur l’image ») ainsi que la position de cette ligne d’information :

Réglages préférences infos EXIF

Les paramètres possibles pour le format peuvent être trouvés dans le manuel de darktable. La modification de ces options nécessite un redémarrage de l’application pour être prise en compte.

Seconde fenêtre de visualisation

Il est désormais possible d’afficher une seconde fenêtre de prévisualisation de l’image via l’icône double écran en bas de l’image en chambre noire. Cette vue permet de sélectionner un profil d’affichage différent de la vue principale pour comparaison. Pour cela, il suffit de le sélectionner via un nouveau menu accessible dans les options habituelles d’épreuvage écran et vérification gamut, en bas à droite de l’image dans la vue principale.

Vous pouvez zoomer via la molette de la souris dans cette nouvelle vue.

2ᵈᵉ fenêtre

Cette nouvelle fenêtre dispose de son propre profil de couleur, ce qui permet de la placer sur un autre écran et d’utiliser son profil dédié. Comme pour la fenêtre principale, le profil est récupéré automatiquement par darktable via colord ou xatom, mais il est possible de l’ajouter manuellement dans ~/.config/darktable/color/out puis de le sélectionner depuis le menu des profils d’affichage. Notez que colord ne semble pas fonctionner sous Windows avec un second écran, les utilisateurs de Windows devront donc réaliser l’opération manuellement.

Visualisation des raccourcis de la vue active

À tout moment, quelle que soit la vue active de darktable, vous pouvez afficher les raccourcis utilisables dans cette vue. Cette liste de raccourcis est ainsi dynamique et reprend aussi bien les raccourcis par défaut que vos raccourcis personnalisés. Pour l’afficher, rien de plus simple : appuyer sur la lettre h (puis Alt si vous souhaitez laisser ce panneau actif). Il est possible de le séparer de la fenêtre darktable via le bouton qui s’affiche en haut à droite.

aide raccourcis

Préférences

darktable 3.0 propose également un agencement plus clair des préférences. Les nombreuses options sont désormais regroupées dans des sections afin d’en faciliter le repérage et donc une personnalisation des préférences plus aisée.

Nouvelles fonctionnalités de la table lumineuse : mode sélection et vue chronologie

La table lumineuse est aujourd’hui plus réactive. De nombreuses optimisations de code ont été effectuées pour en améliorer grandement l’usage et ces performances.

La table lumineuse voit également l’arrivée des fonctions annuler/rétablir via le raccourci Ctrl+Z applicable aux mots-clés, à la notation par étoiles, aux libellés de couleur, à la modification des métadonnées, à la suppression ou copier/coller de l’historique ou encore à l’application de styles.

=> Ce raccourci étant initialement attribué à l’aperçu avec détection de focus, cette dernière fonctionnalité est désormais affichable via le raccourci Ctrl+W. Par cohérence, l’aperçu affiché auparavant avec Z s’affiche désormais via le raccourci W ou Alt+W (aperçu persistant).

Il est désormais possible de zoomer et se déplacer sur une image en mode aperçu. Après avoir lancé l’aperçu, utiliser le raccourci Ctrl+molette souris pour zoomer/dézoomer. Toutefois, sur certaines configurations plus modestes, les nouvelles possibilités de zoom peuvent entraîner un temps d’attente afin de permettre l’affichage de l’image zoomée. Pour accélérer cet affichage, il peut être utile de lancer en mode terminal la commande suivante (darktable doit être fermé, et le rester, pendant l’exécution de cette commande) :

darktable-generate-cache -m 6

Il est possible de modifier le chiffre en fonction du niveau de zoom souhaité (7 correspondant au niveau 100 % et inférieurs). 5 peut être un bon compromis espace disque. En effet, cette commande génère un dossier cache contenant des fichiers jpg correspondant aux historiques actifs à l’exécution de cette commande.

Mode sélection

La table lumineuse proposait jusque-là deux modes d’affichage des images : table lumineuse zoomable et navigateur de fichiers. Un troisième mode fait son apparition, et pas des moindres : le mode sélection. Ce mode affiche un nombre consécutif (ou non) et fixe d’images à partir de l’image sélectionnée. Il permet de zoomer et se déplacer dans les images. Le nombre d’images peut être défini par l’utilisateur, et il est possible de s’y déplacer avec la molette de la souris et le clavier.

Oui, vous avez bien compris, l’une des fonctionnalités de la table lumineuse les plus souvent demandées est enfin là : la possibilité de comparer des images. Voyons un peu comment ça marche !

Deux options existent :

  • zoom fixe : le nombre d’images est défini via le curseur à droite du menu de sélection du mode (raccourci de lancement de ce mode : X)
  • plage dynamique : le nombre d’images est, quant à lui, défini par le nombre d’images sélectionnées dans la table lumineuse (raccourci de lancement de ce mode : Ctrl+X)

Évidemment, ici, plage dynamique aura le même effet que zoom fixe si le nombre d’images sélectionnées est celui défini par le zoom fixe. Dans ces deux cas, vous pouvez vous déplacer dans les images de la collection en cours simplement par :

  • Molette (ou flèches gauche et droite du clavier) : permet d’afficher les images suivantes ou précédentes.

Le nombre d’images à afficher et l’option du mode se règlent dans le mode sélection via les paramètres à droite du menu de choix du mode, en bas de la table lumineuse :

Mode sélection

Si comme ici, le nombre d’images à afficher défini dans ce mode est 2 (zoom fixe), sélectionner une image amènera à afficher cette image et la suivante. Ce qui nous donne (mode lancé via le raccourci x pour rappel) :

zoom fixe

Notez ici que j’ai masqué tous les panneaux avec les raccourcis vus plus haut, pour mieux bénéficier de l’affichage des images et des possibilités de comparaison. Pour afficher les réglages du mode sélection (image précédente), il suffirait ici de faire le raccourci Maj+Ctrl+b.

Et la même chose, sur six images sélectionnées, en mode plage dynamique (mode lancé via Ctrl+x donc) :

plage dynamique

Dans ce mode sélection, que ce soit en zoom fixe ou plage dynamique, voici les options qui s’offrent à vous :

  • Ctrl+molette : zoomer dans les images présentes (le zoom s’applique à toutes les images affichées) ;
  • Maj+Ctrl+molette : zoomer uniquement dans l’image où est positionné le curseur ;
  • Cliquer/déplacer : sur une image zoomée, permet de se déplacer dans l’image pour afficher la zone voulue (s’applique à toutes les images affichées) ;
  • Maj+Cliquer/déplacer : idem mais uniquement sur l’image où est positionné le curseur.

Attention : bien qu’il soit possible d’afficher plus de quatre images, ces options de zoom et déplacement dans l’image ne sont possibles que jusqu’à quatre images, pour des questions de confort visuel et de performances.

Comme vous pouvez le voir, le mode sélection permet aussi l’affichage des informations principales de l’image, étoiles de notation et labels couleur. Il est bien entendu possible, comme dans les autres modes, de définir la notation, labels couleur de la même manière dans ce mode.

Une astuce importante à connaître : vous pouvez simplement afficher ou masquer ces informations selon la position de votre curseur. Pointez le curseur vers le haut d’une image pour les faire apparaître, glissez le vers le bas pour les faire disparaître.

Vue chronologie

La vue chronologie est une nouvelle vue qui s’affiche en bas de la table lumineuse via le raccourci Ctrl+f (le raccourci est ainsi le même que pour le bandeau d’images en chambre noire, cette vue chronologie s’affichant au même endroit mais dans la vue table lumineuse). Elle peut aussi être activée ou désactivée dans les préférences.

Cette vue permet tout simplement d’afficher une frise chronologique des images de la table lumineuse et de pouvoir sélectionner une partie par une action de sélection à la souris de la période souhaitée. Il suffit de pointer sur la frise pour voir la période (en mois/année) s’afficher.

Vous pouvez voir un aperçu de cette chronologie sur les images de thèmes au début de cet article.

Un flux de traitement qui s’étend sur l’espace RVB :

De nouveaux modules apparaissent, exclusivement en espace RVB. Avec darktable 3.0, vous pouvez donc éditer vos images entièrement en RVB, avec les modules qui vont vous être présentés dans cette partie : la très grande majorité des images peuvent être traitées exclusivement avec ces modules, combinés avec les modules de balance des blancs, exposition et réduction de bruit (profil). Un workflow puissant et rapide, avec moins de modules. En un mot : efficace.

=> Pour une utilisation optimale de ce nouveau workflow, il est fortement recommandé d’activer, dans le module profil de couleur d’entrée, le profil de travail RVB Rec2020 linéaire (il est aussi possible d’utiliser l’espace prophoto RVB linéaire).

=> Il est également vivement recommandé dans ce cadre de désactiver les modules courbe de base et renforcer la netteté via les trois nouvelles options des préférences de darktable, onglet fonctionnement puis rubrique qualité.

Pour comprendre ce workflow RGB linéaire et pourquoi il est adopté dans darktable, nous vous conseillons de regarder la vidéo suivante : Traitement d’image et filtres de pixels dans darktable 3.0. De manière générale, prendre le temps de visionner les dernières vidéos d’Aurélien Pierre sur cette version 3.0 (activer les sous‑titres) vous aidera à devenir plus efficace dans le traitement de vos images en vous permettant de tirer le meilleur parti de ce nouveau workflow et, au final, gagner progressivement beaucoup de temps.

Un résumé présentant ce workflow et ses avantages est néanmoins proposé ci-dessous.

Le workflow RGB linéaire introduit progressivement depuis darktable 2.6 avec filmique et la balance couleur permet de s’affranchir de l’héritage graphique des années 1980-1990 centré sur la photographie à basse plage dynamique destinée à l’impression papier. Ce workflow traditionnel, dit « relatif à l’affichage » (display-referred), postule que les valeurs RGB encodent des couleurs (au sens perceptuel) et les manipule de façon psychologiquement réaliste. Malheureusement, les modèles psychophysiques qui relient la lumière (physique) à la sensation colorée (psychologique) ne sont valides que pour des images à faible contraste (ou faible plage dynamique), de l’ordre de 100:1 (6,67 EV), ce qui pose des problèmes croissants à mesure que les appareils photo modernes voient leur plage dynamique augmenter (actuellement entre 12 et 14 EV, soit 4096:1 à 16384:1). À prévoir si vous souhaitez pousser vos basses lumières : virages de teintes parasites et problèmes de sur- ou de sous-saturation, couleur qui explose quand on corrige la luminance, luminance qui explose quand on corrige la couleur… L’enfer.

Le workflow RGB linéaire, dit « relatif à la scène » (scene-referred) postule que les valeurs RGB encodent des émissions lumineuses, soit un spectre lumineux réduit à 3 intensités à travers le capteur de l’appareil photo, qui n’est autre qu’un colorimètre. Il manipule les valeurs RGB de façon physiquement réaliste, en reproduisant numériquement l’effet de filtres optiques. Ceci permet, non seulement de s’accommoder de n’importe quelle plage dynamique sans avoir à changer d’algorithmes (donc plus de traitement HDR spécifique), mais aussi d’obtenir des résultats plus naturels et plus prévisibles.

Ce nouveau workflow – bien que déjà adopté par l’industrie cinématographique depuis les années 1990, par nécessité pratique – fait encore office de bête curieuse en photographie, et va changer les habitudes des utilisateurs qui vont devoir raisonner de plus en plus en termes de lumière (physique) et de moins en moins en termes de couleur (psychologique et perceptuelle).

Il n’y a pourtant pas à s’inquiéter : un enfant qui peint sur une feuille manipule la couleur de façon physiquement réaliste, sans même s’en rendre compte. Il sait qu’ajouter du bleu et du jaune donnera du vert (notez que la peinture est une synthèse soustractive). Pour autant, si l’on essaie de soustraire du bleu et du jaune à partir du blanc, dans un logiciel de dessin qui travaille dans un espace relatif à l’affichage (comme Gimp), on obtient du noir. Si l’on essaie d’additionner bleu et jaune, on obtient du blanc. Il faudra passer par Krita, et son mode de peinture linéaire, pour qu’additionner jaune et bleu donne un « genre de vert » (qui tire plutôt sur le cyan). Ceci suffit à prouver l’intuitivité du workflow RGB linéaire physiquement réaliste, quand bien même on évacue la perception colorée de l’équation.

Nouveau module filmique RVB

Filmique RVB est la nouvelle version de filmique (tout court), réécrit pour la nouvelle API interne permettant à l’utilisateur de définir un espace de couleur RVB pour le pipeline (à régler dans le module profil de couleur d’entrée, comme expliqué un peu plus tôt). Comme la version précédente, son objectif est d’opérer une transformation des valeurs RGB, depuis l’espace de la scène photographiée (potentiellement à haute plage dynamique) vers l’espace de l’écran (à faible plage dynamique), en définissant une intention pour la préservation du contraste dans les tons moyens (à l’intérieur de la latitude). Il peut donc travailler aussi bien en compression ou en dilatation de la plage dynamique, ou même en gardant la plage dynamique identique, en lieu et place d’une courbe de tonalité en « S ».

Au passage, quelques bugs ont été réglés, comme la sur-saturation (notamment dans les rouges) causée par le mode de préservation de la chrominance, et plusieurs changements ont été opérés pour améliorer l’ergonomie :

  1. Les contrôles sont découpés en onglets scène/apparence/affichage, plus clairs et moins hauts à l’écran.
  2. La courbe filmique est une nouvelle spline créée sur mesure pour reproduire le comportement des courbes densitométriques de la pellicule. Elle offre des noirs plus profonds et moins délavés que la précédente version, un meilleur contraste local dans les tons moyens, et n’oscille jamais, peu importe les paramètres.
  3. La fonction de transfert de l’espace de sortie s’ajuste automatiquement pour garder le point gris sur la ligne identité, et permet un meilleur contrôle de la courbe.
  4. La latitude est définie en pourcentage de la plage dynamique, et n’a plus besoin d’être ajustée si les expositions relatives du blanc et du noir ont été modifiées.
  5. La courbe de désaturation est affichée sur le graphe.
  6. Le réglage de saturation globale, implanté pour corriger les effets du bug de préservation de la chrominance, est supprimé. L’utilisation de la saturation dans la balance couleur est recommandée.

filmique RVB

Deux nouveaux modes de préservation de la chrominance ont été ajoutés en plus de l’ancien (max RVB) : luminance Y et norme puissance. Ils permettront de s’adapter à différents scénarios, par exemple lorsque le mode max RVB assombrit trop les ciels bleus.

Nouveau module égaliseur de tons

L’égaliseur de tons reprend les fonctionnalités de mappage des tonalités et des courbes, mais les adapte à une représentation logarithmique de la luminosité (en IL/EV) conforme au zone system d’Ansel Adams. Sa fonction est simplement de définir une compensation d’exposition paramétrique, qui varie suivant la luminosité originale des pixels. Il est possible de reproduire entièrement le fonctionnement de l’égaliseur de tons en utilisant plusieurs instances du module exposition fusionnées en mode paramétrique et réglées pour isoler différents niveaux d’exposition. L’égaliseur de tons permet uniquement d’accélérer le procédé, et d’en automatiser certaines parties.

Il offre une interface qui permet de définir très rapidement une compensation d’exposition sélective pour chaque bande d’exposition entre 0 EV (blanc) et -8 EV (noir), à la manière des égaliseurs audio des amplis hifi. La correction d’exposition réalise une extraction de contenu par filtre guidé, permettant d’appliquer la même correction sur des aires continues de l’image, et donc de préserver le contraste local (la logique est similaire au module ombres et hautes lumières mais le filtre guidé est conçu pour ne jamais produire de halos sur les bords contrastés). L’égaliseur de tons permet donc de ré-éclairer la scène à posteriori mais de façon physiquement réaliste, sans affecter la chrominance ni créer de halos, et donc beaucoup plus crédible que les outils classiques de mappage HDR ou de correction des ombres.

Il innove également sur l’interaction utilisateur, en proposant un curseur interactif qui permet, au survol de l’image, d’afficher l’exposition de la zone sous le curseur et de régler directement la correction d’exposition correspondante via la molette souris.

égaliseur de tons

Le mode de préservation des détails (basé sur le filtre guidé) peut être désactivé, auquel cas le module se comporte comme une simple courbe de tonalité avec une interface logarithmique et un algorithme qui préserve la chrominance. L’interpolation des réglages utilisant une série de gaussiennes, elle sera alors plus lisse que l’interpolation par spline monotone et moins oscillante que l’interpolation par splines cubiques des modules courbes de base et courbe des tonalités.

Nouveaux modules courbe RVB et niveaux RVB

Ces deux modules reprennent les fonctionnalités des anciens niveaux et courbes de tonalités (utilisé en mode RVB), mais travaillent dans l’espace RVB du pipeline et utilisent des modes de fusion en RVB linéaire (noter que les anciens modules fusionnent en Lab). Ils permettent en outre de gérer les canaux RVB séparément, et d’utiliser la même logique de préservation de la chrominance que filmique en mode canaux joints.

Il est utile de noter que le module niveaux RVB utilise exactement le même algorithme que le module balance couleur en mode slope, offset, power : le réglage noir correspond au réglage offset, le gris au power, et le blanc au slope. C’est essentiellement l’interface qui change, et le fait que niveaux RVB suppose des valeurs d’entrées entre 0 % et 100 % et précalcule une LUT 16 bits pour la transformation à appliquer (technique utilisée il y a 10 ans pour accélérer le traitement, moins utile aujourd’hui), alors que balance couleur accepte des valeurs entre 0 et l’infini et calcule directement la valeur exacte des pixels.

Des améliorations significatives du traitement du bruit

Plusieurs améliorations ont été apportées à la réduction de bruit de profil pour, d’une part, améliorer la qualité du débruitage, et d’autre part, simplifier la vie à l’utilisateur.

Un peu de contexte : la réduction de bruit de profil, comment ça marche ?

Le bruit est un phénomène quantique qui génère des valeurs RVB incohérentes pour certains pixels, de façon aléatoire, et qui se perçoit comme des « grains » lumineux ou colorés qui parsèment l’image là où on attendrait des surfaces lisses. Comme souvent, en sciences, quand on fait face à un phénomène aléatoire, on s’en tire grâce à la loi des grands nombres en cherchant une distribution statistique qui modélise le phénomène aléatoire, dont les deux paramètres essentiels sont la moyenne et la variance.

La variance est une mesure de la dispersion des valeurs autour de la moyenne, donc dans notre cas elle donne une information sur l’écart typique entre la moyenne et un pixel « normal ». Le profil permet d’exprimer la variance en fonction de la moyenne.

Le profil, c’est simplement quelques paramètres (deux par canaux et par valeur ISO en l’occurrence) qui décrivent la manière dont la variance du bruit évolue en fonction de la luminosité du pixel, à partir des valeurs mesurées sur une image de test (floue, pour être sûr que tout ce qui n’est pas flou soit du bruit).

Les algorithmes de débruitage gèrent mal des signaux où la variance du bruit change en fonction de l’intensité du signal. Le profil permet de définir une transformation sur l’image, appelée transformation de stabilisation de variance, qui permet d’obtenir une image où la variance du bruit devient constante : le bruit dans les zones sombres et les zones claires a alors les même caractéristiques, et l’algorithme de débruitage peut faire son boulot bien plus facilement.

Nouveautés dans la réduction de bruit de profil visant à améliorer le débruitage

Nous avons vu que darktable utilise deux paramètres pour chaque canal et valeur ISO pour effectuer sa transformation de stabilisation de variance.

Un changement important introduit a été de changer la transformation de stabilisation de variance pour en avoir une plus générique, qui admet un 3ᵉ paramètre permettant de contrôler si on débruite plus les ombres ou les hautes lumières, et permettant donc de trouver un équilibre.

Ce paramètre permet notamment une réduction du bruit bien plus aisée sur les images à haut ISOs.

Il faudrait idéalement déterminer ce paramètre lors du profilage, mais pour l’instant celui-ci est inféré automatiquement avec une heuristique à partir des deux paramètres connus du profil, ce qui évite d’avoir à recréer l’ensemble des profils. Ce paramètre peut de plus être modifié manuellement dans l’interface.

À noter que ce paramètre correspond au paramètre de gamma présent dans la réduction de bruit de Rawtherapee.

Ce changement de transformation de stabilisation de variance a aussi été l’occasion d’introduire un paramètre de réduction du biais, qui permet de corriger l’image lorsque les ombres deviennent violettes (ce qui arrive régulièrement à haut ISOs).

Plusieurs nouveaux paramètres ont aussi été ajoutés dans l’algorithme des moyennes non locales.

Le premier paramètre ajouté est celui de diffusion, qui permet de réduire efficacement (à la fois en terme visuel et en termes de temps d’exécution) le bruit gros grain.

Un petit exemple sur une photo de jpg54, avec ce qu’on obtenait avant (sur la gauche), et ce qu’on peut obtenir maintenant (sur la droite).

On voit que la réduction de bruit à gauche créé un bruit gros grain peu esthétique.
Impact du paramètre de diffusion

Un autre paramètre nommé « poids du point central » qui contrôle principalement les détails a été ajouté : il permet de récupérer des détails (et du bruit de grain fin). Lorsqu’on le met à de fortes valeurs, le module réduit principalement le bruit de chrominance, et cette méthode est la méthode conseillée si vous souhaitez réduire principalement le bruit de chrominance : elle devrait donner de meilleurs résultats que l’utilisation de modes de fusion. Un exemple, volontairement un peu exagéré, avec en haut pas de récupération des détails, et en bas une récupération des détails forte (l’image a été agrandie pour bien voir l’effet dans le post) :

Impact du paramètre de poids du point central

Nouveautés dans la réduction de bruit de profil visant à améliorer l’expérience utilisateur

L’ajout de ces nouveaux paramètres donne une interface assez complexe, avec beaucoup de paramètres :
Paramètres de réduction de bruit de profil en mode moyennes non locales

Un mode « auto » a donc été ajouté, qui règle la grande majorité des paramètres tout seul en se basant sur le profil. Ce mode a un curseur pour ajuster le réglage automatique proposé. Augmentez la valeur de ce curseur si le débruitage est insatisfaisant, réduisez le si le contraste local est trop lissé.

Ce paramètre doit être utilisé notamment si vous avez fortement sous-exposé votre image.
Mode auto pour les moyennes non locales

Si vous modifiez les valeurs dans ce mode et que vous revenez en mode non « auto », les curseurs seront bien mis à jour, comme si vous les aviez modifiés directement.

Enfin, les paramètres par défaut du module sont aussi ajustés automatiquement en fonction du profil, ce qui permet un débruitage en un clic en activant le module.

Autres fonctionnalités importantes

Nouveau module 3D Lut

Le module 3D lut a été introduit. Il permet d’appliquer des matrices 3D à une photo. Ces matrices permettent au module de convertir une valeur RVB dans une autre valeur RVB (pour le N/B, toutes les valeurs RVB en valeur de gris, noirs et blancs). Ils sont utilisés pour simuler des films argentiques ou pour créer des univers colorés. Ce module reprend feu le module HaldCLut.

3D lut utilise 3 types de matrices : les fichiers .cube, les HaldCLut .png et les LUT compressés.

  • Les fichiers .cube sont des fichiers texte très utilisés en vidéo et par les coloristes.
  • Les fichiers HaldCLut .png sont des fichiers image. Ils sont plus petits que les fichiers .cube.

Attention : ces deux types de fichier (.cube et .png) étant trop volumineux, ils ne sont enregistrés ni dans la base de données de darktable ni dans les fichiers .xmp ; seul le répertoire et le nom du fichier est enregistré. Cela rend plus difficile l’échange de traitement utilisant 3D Lut et sa pérennité, en cas de perte de ces fichiers.
Pour qu’une autre personne puisse refaire le traitement, il faudra lui fournir le fichier (.cube ou .png) avec le fichier RAW et le .xmp sans l’application de 3d Lut car le lien sera différent. Ce correspondant devra appliquer le module au répertoire de Lut sur sa machine et à son système d’exploitation.

• Les fichiers LUT compressés sont des fichiers image .png compressés avec des routines proposées par G’Mic. Leur taille permet de les inclure dans la base de données et les .xmp, donc de les récupérer et les transmettre plus facilement à un autre utilisateur.
Vous pouvez télécharger des HaldClut .png qui simulent des films argentques et des fichiers .cube

Vous trouverez également l’article, en anglais, il donne aussi des liens vers des fichiers Lut.

Comment utiliser 3D lut :

  • Définir un répertoire à utiliser dans les préférences à la fin de l’onglet fonctionnement :

Répertoire des Lut

  • RDV dans la chambre noire, activer le module 3D Lut et cliquer sur l’icône à l’intérieur :

Sélection du répertoire

  • L’ouverture des fichiers ne présente que les fichiers « .png », il faut donc sélectionner « .cube » ou « tous les fichiers » :

Selection des fichiers .cube et .png

  • Vous obtenez avec un .png N/B :

Application d’un Lut en .png noir et blanc

  • Et avec un .cube de couleur :

Application d'un Lut en .cube couleur

Pour l’espace couleur, utilisez sRBG avec les .png et REC.709 pour les .cube.

La méthode d’interpolation « tétraédrique » convient dans la grande majorité des cas et il est rare que l’on voit la différence avec les deux autres méthodes (sauf parfois avec des tables de conversion de petite taille).

Refonte complète du module mots-clés

Le module mots-clés, présent en chambre noire et en table lumineuse a fait l’objet d’une refonte complète. Son utilisation est beaucoup plus intuitive qu’avant. De nombreuses fonctions qui nécessitaient auparavant des manipulations compliquées sont maintenant accessibles en un ou deux clics. L’aspect général n’a pas changé fondamentalement : deux fenêtres superposées, celle du haut présentant les mots-clés attachés aux images sélectionnées, celle du bas affichant le dictionnaire des mots clés disponibles dans darktable. Entre les deux, une zone de saisie. La comparaison avant/maintenant s’arrête là car le contenu des fenêtres a bien changé et surtout les manipulations sont beaucoup plus intuitives et mieux encadrées.

Mots clés

La fenêtre du haut (mots-clés attachés) présente toujours la liste des mots clés attachés à la sélection courante. Ces mots clés sont toujours présentés par ligne selon la notation propre à darktable (les niveaux de hiérarchie sont séparés par des barres verticales, ‘|’ pipe en langage informatique). Là s’arrêtent les similitudes.

À gauche de chaque mot-clé se trouve maintenant une petite icône qui peut avoir trois aspects : soit rien du tout, soit un tiret, soit une coche.

  • Rien du tout : il s’agit d’une image survolée, mais non sélectionnée.
  • Un tiret : le mot clé est attaché à au moins une des images sélectionnées.
  • Une coche : le mot clé est attaché à toutes les images sélectionnées.

À droite des mots clés, entre parenthèses s’affiche le nombre d’images indexées par ce mot clé dans la sélection courante.

Grosse nouveauté : un clic droit sur un mot clé affiche un menu contextuel contenant un ou deux items.

Un item :

  • détacher le mot‑clé — fait exactement ce qu’il dit !

Deux items :

  • attache le mot-clé à toutes les images sélectionnées — si vous avez sélectionné une série d’images contenant des mots‑clés différents, cet item permet d’attacher le mot‑clé à l’ensemble des images sélectionnées ; celles qui étaient déjà étiquetées le restent, mais celles qui ne l’étaient pas le deviennent. Très pratique !
  • détacher le mot‑clé — comme ci‑dessus.

En bas de la fenêtre, le nombre de boutons est passé de deux à cinq, Outre les boutons attacher et détacher déjà connus, trois autres apparaissent :

  • permet d’activer ou non l’affichage des mots clés spécifiques à darktable, ce qui allège considérablement la présentation.
  • permet de modifier le classement des mots clés dans la fenêtre, soit en ordre alphabétique, soit en fonction du nombre d’images étiquetées.
  • ce dernier enfin permet d’afficher la hiérarchie de chaque mot clé ou juste le mot-clé terminal.

La zone de saisie médiane permet toujours de rechercher des mots‑clés ou d’en créer de nouveaux. Cependant, pour la création, on aura avantage à utiliser la nouvelle fenêtre dédiée, car elle permet plus de choses (voir ci‑dessous). Enfin, une croix à droite permet d’effacer le contenu du champ de saisie.

La fenêtre du bas (dictionnaire des mots‑clés) présente toujours la liste des mots‑clés disponibles. Grosse amélioration à nouveau, cela concerne cette fois la lisibilité : les hiérarchies de mots‑clés sont présentées sous forme arborescente ! De la même façon que le sont les mots clés dans le module filtre de collection ou les styles hiérarchisés dans le module styles. Comme dans la fenêtre des mots clés attachés, à gauche peut apparaître une des mêmes petites icônes. Ci‑dessous, leur signification :

  • Rien du tout : il

par Nilvus, Ro_G, jpg54, jpv, Ysabeau, aurelienpierre, Davy Defaud, ZeroHeure, rawfiner, Matthieu Moy, Ellendhel, JM40, palm123, Pierre Jarillon, Benoît Sibaud, theojouedubanjo

DLFP - Dépêches

LinuxFr.org

Diskio Pi : l’aventure continue

 -  12 février - 

Il y a un an, je vous avais raconté l’historique de mon projet Diskio Pi à travers une dépêche, suivie d’un journal pour expliquer ce qu’était ce (...)


LibreOffice, 10 ans, version 6.4

 -  7 février - 

La suite bureautique LibreOffice a dix ans cette année (déjà !) la version 6.4 vient de sortir. Il y a eu beaucoup de chemin parcouru depuis, à (...)


SimpleLogin, un outil open source pour protéger nos adresses de courriel

 -  7 février - 

Il est nécessaire d’utiliser une adresse de courriel différente pour chaque site ou service pour diverses raisons, notamment éviter le pourriel ou (...)


Sortie de Crème CRM en version 2.1

 -  4 février - 

Le 6 janvier 2020 est sortie la version 2.1 du logiciel de gestion de la relation client Crème CRM (sous licence AGPL-3.0). La précédente version (...)


FreeNAS 11.3

 -  2 février - 

Le 20 janvier 2020, FreeNAS 11.3 a été publié. FreeNAS est un système d’exploitation libre pour serveurs de stockage en réseau, basé sur FreeBSD. (...)