La séquence ordonnée de modules de traitement opérant sur un fichier d’entrée pour générer une image de sortie est connue sous le nom de « pixelpipe ».

L’ordre des modules du pipeline graphique est représenté graphiquement par l’ordre dans lequel les modules sont présentés dans l’interface utilisateur – le pipeline graphique commence par une image RAW en bas de la liste des modules, et applique les modules de traitement un par un, en empilant une à une les couches de traitement de bas en haut, jusqu’à ce qu’il atteigne le haut de la liste, où il produit l’image entièrement traitée.


Remarque : L’ordre d’exécution des modules de traitement correspond exactement à l’ordre dans lequel les modules apparaissent dans l’interface utilisateur de Ansel. La modification de cet ordre dans l’interface utilisateur change la façon dont votre image sera traitée.


Ordre des modules et flux de travail

L’ordre dans lequel les modules sont exécutés dans le pipeline graphique a été soigneusement choisi pour donner la meilleure qualité de sortie. Dans les versions précédentes de Ansel, il n’était pas possible de modifier l’ordre des modules. Cependant, il existe un certain nombre de cas d’utilisation très spécifiques où le déplacement de certains modules dans le pipeline graphique est conseillé.

Le flux de travail relatif à la scène tente d’effectuer autant d’opérations que possible dans un espace colorimétrique RVB linéaire, en compressant uniquement les tons pour s’adapter au support de sortie (avec un mappage de tons non linéaire) à la fin du pipeline graphique. Cela a l’avantage d’être un espace physiquement plus réaliste pour effectuer des transformations que le flux de travail traditionnel relatif à l’affichage, qui tente d’effectuer des opérations dans un espace colorimétrique perceptuel non linéaire. Honorer le réalisme physique (plutôt que le réalisme perceptif) rend beaucoup plus facile la production d’algorithmes de traitement prévisibles introduisant un minimum d’artefacts.

Le diagramme suivant devrait vous aider à comprendre la différence entre ces flux de travail. La partie initiale, relative à la scène, du pipeline travaille sur la lumière linéaire ; un mappage tonal non linéaire compresse ensuite la plage dynamique ; la partie restante, relative à l’affichage, finalise l’image pour l’écran ou l’impression :

flowchart LR
    A([RAW]) --> B[exposition] --> C[calibration des couleurs] --> D[balance des couleurs RVB]
    D --> TM{{"mappage tonal
(filmique RVB)"}} TM --> E[accentuation] --> F[profil de sortie] --> G([affichage / exportation]) classDef scene fill:#cfe,stroke:#284,color:#000; classDef display fill:#fed,stroke:#a52,color:#000; class A,B,C,D scene; class E,F,G display;
  1. Les modules relatifs à la scène (vert) traitent des données linéaires proportionnelles à la quantité de lumière collectée par l’appareil dans la scène. La plage dynamique d’une image dans la section relative à la scène du pixelpipe est souvent plus grande que celle du support d’affichage.

  2. À un moment donné dans le pixelpipe, ces valeurs de pixels sont compressées par une opération de mappage tonal non linéaire dans une plage dynamique plus petite, mieux adaptée à l’affichage sur un moniteur ou à l’impression.

  3. Les modules restants opèrent dans la section relative à l’affichage non linéaire du pixelpipe pour produire l’image de sortie finale.

Modifier l’ordre des modules

Il reste fortement recommandé aux utilisateurs de ne pas modifier l’ordre des modules dans le pipeline graphique pour un certain nombre de raisons :

  • La séquence de modules a été sélectionnée avec grand soin afin de donner la meilleure qualité de sortie. Les modifications de la séquence aggravent souvent le résultat plutôt que de l’améliorer.
  • Certains modules de traitement n’ont tout simplement pas de sens s’ils sont déplacés dans le pixelpipe. Par exemple, la reconstruction des hautes lumières doit être effectuée sur les données raw avant le dématriçage, qui lui-même doit être effectué avant qu’un quelconque profil de couleur d’entrée puisse être appliqué. Pour cette raison, il n’est toujours pas possible de déplacer certains des modules placés tôt dans le pixelpipe.
  • La plupart des modules de traitement sont conçus pour fonctionner dans un espace colorimétrique spécifique (voir la section gestion des couleurs pour plus de détails). Une flexibilité totale exigerait que les modules prennent en charge différents algorithmes parallèles selon l’espace colorimétrique dans lequel ils travaillent, ce qui augmenterait drastiquement la complexité.

Malgré la recommandation générale de ne pas toucher à l’ordre du pixelpipe, il est possible de déplacer des modules dans le pixelpipe depuis le graphe d’ordre des modules de la chambre noire. Ouvrez-le depuis le bouton de graphe de nœuds dans la barre d’outils de la chambre noire, puis glissez-déposez les modules directement dans le graphe vers un nouvel emplacement. Cela ne doit être fait que par des utilisateurs expérimentés qui comprennent l’impact que cela aura sur l’image.

La fenêtre contextuelle du graphe fournit une vue défilante de gauche à droite du pipeline, de l’image de base à la sortie écran. Elle montre :

  • L’ordre d’exécution actuel des modules visibles,
  • Le cycle de vie de l’espace colorimétrique actif à travers le pipeline,
  • Les descripteurs d’exécution d’entrée/sortie de chaque module,
  • Les dépendances de masque raster entre les modules producteurs et consommateurs,
  • La barre d’outils des préréglages d’ordre des modules, utilisée pour ajouter des préréglages, réinitialiser l’ordre, ou appliquer un préréglage existant.

Les modules qui ne peuvent pas franchir les barrières d’ordonnancement sont contraints par les mêmes règles que le pipeline de traitement lui-même, de sorte que les déplacements impossibles sont empêchés dans le graphe.

L’ordre des modules peut être manuellement ramené aux versions v3.0 ou ancienne à l’aide de la fenêtre contextuelle d’ordre des modules, qui peut aussi servir à définir vos propres préréglages d’ordre des modules personnalisés.