L’élément de base du traitement d’image dans Ansel est le module de traitement. Afin de traiter une image raw, un certain nombre de ces modules agissent en séquence sur l’image d’entrée, chacun effectuant une opération différente sur les données de l’image. Pour ceux qui sont familiers avec Adobe Photoshop, le concept de module de traitement dans Ansel est analogue à celui de calque d’ajustement, car tous deux effectuent un ajustement incrémental de l’image, en s’appuyant sur les ajustements précédents.
Des modules utilitaires sont également fournis par Ansel, cependant ceux-ci ne sont pas directement impliqués dans le traitement d’image, fournissant à la place une interface graphique qui vous permet de gérer vos images, de les étiqueter, de les exporter, etc.
Chaque module de traitement agit indépendamment des autres, mais tous les modules effectuent leur traitement de manière similaire :
flowchart TD
IN([entrée du module]) --> OP[1 · opération]
OP --> PO([sortie traitée])
IN --> BL[2 · opérateur de fusion]
PO --> BL
BL --> BO([sortie fusionnée])
MK[3 · masque :
opacité par pixel] --> MIX
IN --> MIX[4 · mélange par masque]
BO --> MIX
MIX --> FO([sortie finale → module suivant])
Reçoit l’entrée du module provenant du dernier module exécuté et effectue dessus une opération pour produire la sortie traitée. Cette opération est différente pour chaque module.
Combine l’entrée du module et la sortie traitée à l’aide d’un opérateur de fusion pour produire la sortie fusionnée. Si aucune fusion n’est effectuée, la sortie de cette étape est identique à la sortie traitée.
Génère un masque, qui définit une opacité pour chaque pixel de l’image. L’opacité est ensuite utilisée pour contrôler la force avec laquelle l’opération du module est appliquée à chaque partie de l’image.
Vous pouvez définir votre propre masque en dessinant des formes sur l’image ou en utilisant les propriétés des pixels de l’entrée du module ou de la sortie traitée (voir masques pour plus de détails). Ce masque peut être encore modifié avec un réglage d’opacité globale, qui affecte chaque pixel de la même manière.
Si aucun masque dessiné/paramétrique n’est utilisé, la sortie de cette étape est un masque où chaque pixel a la même opacité (régie par le paramètre d’opacité globale). Si aucune opacité n’est définie (aucun mélange n’est effectué), une opacité globale de 1,0 (ou 100%) est supposée.
Combine l’entrée du module et la sortie fusionnée pixel par pixel en utilisant le masque comme opérateur de mélange, pour produire la sortie finale. En notant $o$ l’opacité effective par pixel (l’opacité globale multipliée par la valeur du masque à ce pixel), la sortie finale de chaque pixel est :
1\text{final} = (1 - o)\,\text{input} + o\,\text{blended}Là où l’opacité du masque est de 100 % ($o = 1$), la sortie finale est la sortie fusionnée pour ce pixel ; là où l’opacité du masque est de 0 ($o = 0$), c’est l’entrée du module ; une opacité intermédiaire combine les deux proportionnellement. La sortie finale est transmise au module suivant pour un traitement ultérieur.
Les étapes 2 et 3 sont facultatives et ne sont pas prises en charge par tous les modules. Par exemple, le module dématriçage doit être appliqué à l’ensemble du fichier raw afin de produire une image lisible, il n’est donc pas pertinent de masquer ou de fusionner sa sortie.
Chacune des étapes ci-dessus est définie plus en détail dans les sections suivantes.