Remappe la gamme tonale d’une image en reproduisant la réponse tonale et colorée d’un film classique.

Ce module peut être utilisé soit pour élargir soit pour contracter la plage dynamique d’une scène pour rentrer dans la plage dynamique de l’affichage. Il protège les couleurs et le contraste dans les tons moyens, récupère les ombres et comprime les hautes lumières très brillantes et les ombres très sombres. Les hautes lumières auront besoin d’une attention particulière quand des détails doivent être préservés (comme des nuages).

The module is derived from another module of the same name in Blender 3D modeller  by T. J. Sobotka. While it is primarily intended to recover high-dynamic-range images from raw sensor data it can be used with any image. The following video (by the developer of this module) provides a useful introduction: filmic: remap any dynamic range in darktable 3 .

filmic is the successor to the filmic (legacy) module from darktable 2.6. While the underlying principles have not changed much, the default settings and their assumptions have, so users of the previous version should not expect a 1:1 translation of their workflow to the new version.


Note : Malgré l’apparence technique de ce module, la meilleure façon de l’ajuster est d’évaluer la qualité du résultat visuel. Ne réfléchissez pas trop aux nombres qui sont présentés dans l’interface pour quantifier la force des effets.


Prerequisites

Pour obtenir le meilleur de ce module, vos images ont besoin d’un minimum de préparation :

capture (exposer à droite)
À la prise de vue, dans l’appareil photo, il est recommandé d’utiliser une technique connue sous le nom “d’exposition à droite” (ETTR, en anglais). Ceci signifie exposer la capture de sorte que l’image soit la plus lumineuse possible sans pour autant écrêter les hautes lumières. La technique est appelée “exposition à droite” car l’histogramme sur l’appareil photo devrait tout juste toucher le bord droit du graphique sans montrer de pic directement sur le bord (qui indiquerait un écrêtage). Cette technique assure que vous tirez le maximum de la plage dynamique du capteur de votre appareil.

Le mode par défaut du posemètre de l’appareil photo va normalement exposer l’image de sorte que la luminosité moyenne dans l’image tende vers un gris moyen. Parfois, pour des scènes dominées par des tons clairs, l’appareil va sous-exposer l’image pour forcer ces tons clairs à converger vers le gris moyen. Pour des scènes dominées par des tons sombres, il peut sur-exposer l’image et finir par écrêter les hautes lumières. Dans ce type de cas, vous pouvez utiliser la compensation d’exposition de votre appareil pour augmenter au diminuer l’exposition – le module exposition de Ansel peut automatiquement tenir compte de cette compensation en traitant l’image.

In some cases (e.g. specular highlights reflecting off shiny objects) it may be acceptable to have some clipping, but be aware that any clipped data in your image is irrevocably lost. Where data has been clipped, filmic offers a “highlight reconstruction” feature to help mitigate the effects of the clipping and blend it smoothly with the rest of the image. The settings for this feature are on the reconstruct tab. Some cameras also offer a “highlight priority” exposure metering mode that can help to maximise exposure while protecting the highlights, and many offer features such as “zebras” or “blinkies” in the live view to alert the photographer when parts of the image are being clipped.

adjust for the mid-tones
In the exposure module, adjust the exposure until the mid-tones are clear enough. Don’t worry about losing the highlights at this point – they will be recovered as part of the filmic processing. However, it is important to avoid negative pixels in black areas else the computations performed by filmic may produce unpredictable results. For some camera models (Canon, mainly), rawspeed (the raw decoding library of Ansel) may set an exaggerated black level, resulting in crushed blacks and negative pixel values. If so, brighten the blacks by setting a negative black level correction value in the exposure module.
white balance, denoise, demosaic
If you plan on using filmic’s auto-tuners, use the white balance module to first correct any color casts and obtain neutral colors. In RGB color spaces, luminance and chrominance are linked, and filmic’s luminance detection relies on accurate measurements of both. If your image is very noisy, add an initial step of denoising to improve the black exposure readings, and use a high quality demosaic algorithm. You don’t need to worry about noise if you are planning to set up filmic manually, without using the auto-tuners.

Usage

The filmic module is designed to map the dynamic range of the photographed scene (RAW image) to the dynamic range of the display.

Ce mappage est défini en trois étapes, chacune traitée dans un onglet séparé dans l’interface.

  • The scene tab contains the “input” settings of the scene, defining what constitutes white and black in the photographed scene.

  • The reconstruct tab offers tools to handle blown highlights.

  • The look tab contains the artistic intent of the mapping that is applied to the input parameters (as defined in the scene tab). This part of the module applies an S-shaped parametric curve to enhance the contrast of the mid-tones and remap the gray value to the middle-gray of the display. As a general guideline, you should aim to increase the latitude as much as possible without clipping the extremes of the curve.

  • The display tab defines the output settings required to map the transformed image to the display. In typical use cases, the parameters in this tab rarely require adjustment.

  • The options tab includes some optional advanced settings and parameters.

filmic tends to compress local contrast, so after you have finished adjusting settings here, you may wish to compensate for this using the local contrast module. You may also want to increase the saturation in the color balance module, and perhaps to further adjust the tones using the tone equalizer.

The ranges of filmic’s sliders are limited to typical and safe values, but you can enter values outside of these limits by right-clicking and entering values with the keyboard.


Note: filmic cannot be set with entirely neutral parameters (resulting in a “no-operation”) – as soon as the module is enabled, the image is always at least slightly affected. You can, however, come close to neutral with the following settings:

  • In the look tab, set contrast to 1.0, latitude to 99 % and mid-tones saturation to 0 %,
  • In the options tab, set contrast in shadows and in highlights to soft.

Dans cette configuration, filmique va seulement appliquer un mappage de tonalités logarithmique dans les limites définies à l’onglet scène.


Graphic display

The graphic display at the top of the filmic module offers multiple views to help you to understand its functionality. You can cycle through these views using the

image
icon.

Les vues suivantes sont disponibles :

look only
This is the default view. The main bright curve shows how the dynamic range of the scene (in EV) is compressed into the display-referred output range. The orange dot shows the middle-gray point, the white dots either side mark out the latitude range, and the orange part of the curve at the bottom and top indicates an overshoot problem with the spline (the look tab has some controls to deal with this).

image

look + mappage (linéaire)
Cette vue montre le mappage des valeurs d’entrée [0, 1] vers les valeurs de sortie dans l’espace linéaire. Elle montre aussi le mappage de la plage dynamique et la fonction de transfert de sortie. Notez que dans un flux de travail relatif à la scène, les valeurs d’entrée sont autorisées à dépasser 1. Cependant le graphique n’affiche que les valeurs d’entrée/sortie dans l’intervalle [0, 1] afin de rendre la forme du graphique comparable à celle obtenue par d’autres outils de mappage de courbe de tonalité tels que courbe de base ou courbe des tonalités. La valeur réelle du point blanc de la scène est indiquée entre parenthèses sur l’axe X (exprimée en pourcentage d’une valeur d’entrée égale à 1).

image

look + mappage (log)
Identique à la vue précédente, mais tracée avec une échelle logarithmique.

image

mappage plage dynamique
Cette vue est inspirée du Zone System d’Ansel Adams, montrant comment les zones de la scène en entrée (IL) sont mappées vers les zones en sortie. Le gris moyen de la scène est toujours mappé à 18% dans l’espace de sortie (linéaire). La vue montre aussi comment les plages de tons aux extrêmes de la plage d’exposition de la scène sont compressées en un plus petit nombre de zones dans l’espace d’affichage, laissant ainsi plus de place aux demi-tons répartis sur les zones restantes. La plage latitude est représentée par la partie grise plus foncée au milieu.

image


Note: When some parameters are too extreme, resulting in an unfeasible curve, filmic will sanitize them internally. Sanitizing is illustrated in two ways on the look views:

  • A dot becoming red indicates that the linear part of the curve is pushed too far towards the top or the bottom. In the look tab, reduce the latitude or recenter the linear part using the shadows ↔ highlights balance parameter.
  • A dot becoming a half circle indicates that contrast is too low given the dynamic range of the image. Increase contrast in the look tab, or the dynamic range in the scene tab.

Module controls

Scene

The controls in the scene tab are similar in principle to those of the typical levels tools, as found in other software. The difference is that levels assumes display-referred pixels values (between 0 and 100%), whereas filmic allows you to work on scene-referred pixels (between –infinity EV and +infinity EV), which forces the use of a different interface.

luminance gris moyen (masquée par défaut)
Ce paramètre vous permet de décider quelle luminance dans la scène doit être considérée comme le gris moyen de référence (qui sera remappé à 18% à l’affichage). Utilisez la pipette de couleur pour lire la luminance moyenne de la zone dessinée. Si vous avez une photographie d’une carte grise ou d’un nuancier (nuancier IT8 ou colorchecker) prise dans les conditions d’éclairage de la scène, la pipette de couleur grise peut être utilisée pour échantillonner rapidement la luminance de la tache grise sur cette image. Dans d’autres situations, la pipette de couleur peut être utilisée pour échantillonner la luminance moyenne du sujet.

Cela a un effet sur l’image qui est analogue à une correction de luminosité. Les valeurs proches de 100 % ne compressent pas les hautes lumières mais ne récupèrent pas les ombres. Des valeurs proches de 0% récupèrent considérablement les ombres mais compressent les hautes lumières plus durement et entraînent des pertes de contraste local.

Lors de la modification de la luminance du gris moyen, les expositions du blanc et du noir sont automatiquement ajustées en conséquence, pour éviter l’écrêtage de la plage dynamique et pour vous aider à définir le bon paramètre plus rapidement. Si vous n’êtes pas satisfait du réglage automatique effectué par le curseur gris, vous pourrez corriger les paramètres d’exposition du blanc et du noir par la suite.


Remarque : Il n’est pas conseillé d’utiliser ce contrôle pour définir le gris moyen, il est donc désormais masqué par défaut. Vous devriez plutôt utiliser le module exposition pour définir le niveau de gris moyen (voir utilisation, ci-dessus). Cependant, si vous souhaitez rendre ce curseur visible, vous pouvez l’activer avec la case à cocher utiliser un gris moyen spécifique dans l’onglet options.


exposition relative du blanc
Le nombre de stops (IL) entre la luminance du gris moyen de la scène et la luminance maximale de la scène à remapper vers le blanc de l’affichage. Il s’agit de la limite droite de la plage dynamique de luminance de la scène qui sera représentée à l’affichage – n’importe quoi de plus clair sur la scène que cette valeur sera écrêté et sortira en blanc pur à l’affichage. La pipette de couleur lit la luminance maximale à l’intérieur de la zone dessinée, suppose qu’il s’agit d’un blanc pur, et règle l’exposition du blanc de manière à remapper le maximum vers une luminance de 100 %.
exposition relative du noir
Le nombre de stops (IL) entre la luminance du gris moyen de la scène et la luminance de la scène à remapper vers le noir de l’affichage (densité maximale). Il s’agit de la limite gauche de la plage dynamique de luminance de la scène qui sera représentée à l’affichage – n’importe quoi de plus sombre dans la scène sera représenté en noir pur à l’affichage. La pipette de couleur lit le minimum de luminance à l’intérieur de la zone dessinée, suppose que c’est celle d’un noir pur, et règle le paramètre d’exposition du noir pour le remapper vers une luminance de 0 %. La mesure du minimum de luminance par la pipette de couleur, quand il est proche de zéro, ne permet pas de déterminer si le minimum détecté est un noir pur (donnée réelle) ou simplement du bruit. Cela fonctionne mieux sur des images à bas ISO et des méthodes de dématriçage de haute qualité. Quand la pipette de couleur place l’exposition du noir à -16 IL, c’est un signe que la mesure a échoué et que vous devrez l’ajuster à la main.

L’exposition relative du noir vous permet de choisir jusqu’où vous souhaitez récupérer les basses lumières.

mise à l’échelle de la plage dynamique et réglage automatique
La pipette de couleur à réglage automatique combine les pipettes de couleur ci-dessus et vous permet de définir simultanément les expositions du blanc pur et du noir pur, en utilisant le maximum de la région dessinée pour le blanc et le minimum pour le noir. Cela donne de bons résultats en photographie de paysage, mais échoue généralement pour les portraits et les scènes d’intérieur.

Lorsque ni un vrai blanc pur, ni un vrai noir pur ne sont disponibles dans la scène, les valeurs RVB maximales et minimales lues dans l’image ne sont plus des hypothèses valides. La mise à l’échelle de la plage dynamique réduit ou agrandit symétriquement la plage dynamique détectée et les paramètres actuels. Cela fonctionne avec les deux pipettes de couleur et ajuste les valeurs actuelles des expositions relatives du blanc et du noir.


Remarque : il n’y a pas de relation directe entre la plage dynamique du capteur de votre boîtier (à trouver dans les mesures DxoMark.com ou PhotonsToPhotos.org) et la plage dynamique dans filmique dont les extrémités sont noir pur et blanc pur exprimées en IL. Beaucoup de choses se produisent avant filmique dans le pipeline graphique (par exemple un décalage du noir RAW qui pourrait mapper le noir à 0) de sorte que filmique voie dans son entrée une plage dynamique qui peut théoriquement être infinie. Cela concerne uniquement la manipulation de l’encodage des pixels dans le logiciel, et non les capacités réelles du capteur.

Dans le module exposition, le flux de travail relatif à la scène force une correction du niveau du noir à –0.0002, ce qui garantit que la plupart du temps, la plage dynamique vue par l’entrée de filmique est d’environ 12,3 IL. Diminuez encore plus cette valeur si le réglage de l’exposition relative du noir dans filmique à –16 IL ne parvient pas à récupérer les noirs.


Reconstruct

Cet onglet fournit des contrôles qui fusionnent les transitions entre les zones non écrêtées et les zones écrêtées et qui peuvent également aider à reconstruire les couleurs à partir des pixels adjacents. Il est conçu pour gérer les projecteurs impossibles à décrocher lors de la prise de vue (comme les ampoules nues ou le disque solaire dans le champ de l’appareil) et il vise à diffuser leurs bords comme le ferait un film. Il n’est pas conçu pour récupérer de grandes zones de pixels tronqués ou des parties manquantes de l’image.

Il peut parfois être utile de désactiver le module reconstruire hautes lumières afin de fournir des données supplémentaires à l’algorithme de reconstruction (reconstruire hautes lumières écrête les données hautes lumières par défaut). Vous devez noter que cela peut conduire à des reflets magenta, qui devront être gérés avec le curseur détails gris <-> colorés.

Tout d’abord, un masque doit être mis en place pour identifier les parties de l’image qui seront affectées par la reconstruction des hautes lumières. Il y a ensuite quelques contrôles supplémentaires pour affiner certains des compromis faits par l’algorithme de reconstruction.

highlights clipping

Ces contrôles vous permettent de choisir quelles zones de l’image sont impactées par les algorithmes de reconstruction des hautes lumières.

threshold
Any pixels brighter than this threshold will be affected by the reconstruction algorithm. The units are in EV, relative to the white point set in the scene tab. By default, this control is set to +3 EV, meaning that pixels need to be at least +3 EV brighter than the white point set in the scene tab in order for the highlight reconstruction to have any effect. In practise, this means that highlight reconstruction is effectively disabled by default (for performance reasons – it should only be enabled when required). Therefore, to use the highlights reconstruction feature, first click the display highlight reconstruction mask icon to show the mask, and lower this threshold until the highlight areas you want to reconstruct are selected in white by the mask. It may be useful to first review the image using the raw overexposed warning to show you which pixels in the raw file have been clipped, and whether those pixels are clipped on just one RGB channel or all of them.
transition
Utilisez ce contrôle pour adoucir la transition entre les pixels écrêtés et valides. Déplacer ce contrôle vers la droite augmentera la quantité de flou dans le masque, de sorte que la transition entre les zones écrêtées et non écrêtées soit plus douce. Cela permet une fusion plus fluide entre ces régions. Déplacer ce contrôle vers la gauche réduira le flou dans le masque, rendant la transition dans le masque beaucoup plus nette et réduisant ainsi la quantité de flou entre les zones écrêtées et non écrêtées.
afficher masque de reconstruction
Cliquez sur l’icône à droite de cette étiquette pour basculer l’affichage du masque de reconstruction des hautes lumière. Il est recommandé d’activer cette fonction tout en ajustant les contrôles ci-dessus.

balance

Ces contrôles vous permettent d’équilibrer les compromis entre les différents algorithmes de reconstruction.

structure ↔ texture
Utilisez ce curseur pour contrôler si l’algorithme de reconstruction doit privilégier la peinture dans un dégradé de couleurs lisse (structure), ou essayer de reconstruire la texture à l’aide de détails précis extraits de données de pixels non écrêtées (texture). Par défaut, le contrôle est au milieu à 0%, ce qui ne privilégie aucune des deux stratégies. Si vous avez beaucoup de zones où les trois canaux sont écrêtés, il n’y a pas de détail de texture disponible à reconstruire, il est donc préférable de déplacer le curseur vers la gauche pour favoriser la reconstruction des couleurs. Si vous avez beaucoup de zones où seulement un ou deux canaux sont écrêtés, il peut y avoir des détails de texture dans le ou les canaux non écrêtés, et déplacer le curseur vers la droite mettra davantage l’accent sur la tentative de reconstruction de la texture à l’aide de ces données non écrêtées .
rayonnement ↔ reconstruction
Utilisez ce curseur pour contrôler si l’algorithme doit essayer de reconstruire des détails nets dans les zones écrêtées (reconstruire), ou s’il doit appliquer un flou qui se rapproche de l’effet flamboyant que vous obtenez avec un film traditionnel (bloom). Par défaut, ce curseur est défini sur 100 %, ce qui essaie de maximiser la netteté des détails dans les zones écrêtées. Déplacez ce curseur vers la gauche si vous souhaitez introduire plus de flou dans ces zones. Comme effet secondaire, l’introduction de plus de flou aura généralement tendance à assombrir les hautes lumières, ce qui peut conduire à une reconstruction plus colorée.
détails gris ↔ colorés
Utilisez ce curseur pour contrôler si l’algorithme doit favoriser la récupération des hautes lumières monochromatiques (gris) ou la récupération des détails colorés. Déplacez le curseur vers la droite si vous souhaitez plus de couleur dans les hautes lumières. Déplacez-le vers la gauche si vous souhaitez réduire la saturation des hautes lumières. Il peut être utile de réduire leur saturation si vous commencer à voir des couleurs magenta ou hors gamut.

Look

Lorsque vous travaillez sur l’onglet look, il est recommandé de surveiller la spline de la courbe en S sur le graphique look uniquement. Cette courbe part des niveaux de noir de la scène/de l’affichage en bas à gauche du graphique et devrait augmenter progressivement jusqu’aux niveaux de blanc de la scène/de l’affichage en haut à droite. Parfois, si les contraintes sur la courbe en S sont trop serrées, les splines dans les zones d’ombre et/ou de hautes lumières peuvent « dépasser » les limites de l’affichage, et un avertissement orange s’affiche sur ces parties de la spline.

Si vous voyez l’indicateur d’avertissement orange à chaque extrémité de la courbe en S, des actions correctives doivent être effectuées pour ramener la courbe en S à une courbe lisse et monotone croissante. Cela peut impliquer :

  • Reducing the latitude and/or contrast,

  • Adjusting the shadows/highlights slider to shift the latitude and allow more room for the spline,

  • Ensuring that the scene-referred black and white relative exposure sliders on the scene tab have been properly set for the characteristics of the scene,

  • Setting one or both of the contrast settings on the options tab to safe or hard.

If the target black luminance setting on the display tab is non-zero, this can also make it difficult for filmic to find a smooth monotonic spline, and reducing this can also help to relax the constraints. See the display section to understand the implications of this.

contraste
La courbe en S de filmique est créée en calculant la position des nœuds virtuels à partir des paramètres du module et en les interpolant. Ceci est similaire au fonctionnement du module courbe des tonalités, mais ici, les nœuds ne peuvent pas être déplacés manuellement. La courbe est divisée en trois parties. La partie médiane est un segment de droite. Les deux parties extrêmes se raccordent de façon lisse (sans pointe) à la partie médiane. Les abscisses de la courbe en S couvrent toute la plage d’exposition.

Le curseur contraste contrôle la pente de la partie médiane de la courbe, comme illustré dans l’affichage graphique. Plus la plage dynamique est grande, plus le contraste doit être élevé, afin de préserver une image d’aspect naturel. Ce paramètre affecte principalement les tons moyens. Notez que le contraste global a un impact sur la netteté perçue de l’image – une image à faible contraste semblera floue même si elle est optiquement nette au sens de la Fonction de transfert optique (OTF) .

Le réglage du contraste sur 1 désactive presque complètement la courbe en S, bien qu’il y ait un très petit effet résiduel des splines dans les hautes lumières et les ombres.

hardness (previously target power factor function)
Known as the target power factor function slider in older versions of filmic, this slider is hidden by default, and is adjusted automatically based on values in the scene tab. To make this slider visibile, you need to uncheck auto adjust hardness in the options tab.

This parameter is the power function applied to the output transfer function, and it is often improperly called the gamma (which can mean too many things in imaging applications, so we should stop using that term). It is used to raise or compress the mid-tones to account for display non-linearities or to avoid quantization artifacts when encoding in 8 bit file formats. This is a common operation when applying ICC color profiles (except for linear RGB spaces, like REC 709 or REC 2020, which have a linear “gamma” of 1.0). However, at the output of filmic, the signal is logarithmically encoded, which is not something ICC color profiles know to handle. As a consequence, if we let them apply a gamma of 1/2.2 on top, it will result in a double-up, which would cause the middle-gray to be remapped to 76% instead of 45% as it should in display-referred space.

latitude
La latitude est la plage exprimée en pourcentage de la plage dynamique de luminances délimitée par les contrôles exposition relative du noir et exposition relative du blanc de l’onglet scène. C’est cette plage de luminances qui est remappée en priorité, et elle est remappée sur l’intervalle de luminances défini par le paramètre contraste. Il est généralement conseillé de garder la latitude la plus large possible, tout en évitant l’écrêtage. Si un écrêtage est observé, vous pouvez compenser en diminuant la latitude, en décalant l’intervalle latitude avec le paramètre balance ombres ↔ hautes lumières, ou en diminuant le paramètre contraste.

La latitude définit également la plage des luminances qui ne sont pas désaturées aux extrémités de la plage de luminances (Voir le contrôle saturation tons moyens).

balance ombres ↔ hautes lumières
Par défaut, la latitude est centrée au milieu de la plage dynamique. Si cela produit un écrêtage à une extrémité de la courbe, le paramètre balance permet de faire glisser la latitude le long de la pente, vers les ombres ou vers les hautes lumières. Cela permet de donner plus de place à une extrémité de la plage dynamique qu’à l’autre, si les propriétés de l’image l’exigent.
mid-tones saturation / extreme luminance saturation
At extreme luminances, the pixels will tend towards either white or black. Because neither white nor black have color associated with them, the saturation of these pixels must be 0%. In order to gracefully transition towards this 0% saturation point, pixels outside the mid-tone latitude range are progressively desaturated as they approach the extremes. The darker curve in the filmic graph indicates the amount of desaturation that is applied to pixels outside the latitude range. Moving the slider to the right pushes the point where desaturation will start to be applied towards the extremes, resulting in a steeper desaturation curve. If pushed too far, this can result in fringing around the highlights. Moving the slider to the left brings the point at which color desaturation will start to be applied closer to the center, resulting in a gentler desaturation curve. If you would like to see more color saturation in the highlights, and you have checked that the white relative exposure in the scene tab is not yet clipping those highlights, move the mid-tones saturation slider to the right to increase the saturation.

Please note that this desaturation strategy has changed compared to previous versions of filmic (which provided a different slider control labelled extreme luminance saturation). You can revert to the previous desaturation behaviour by selecting “v3 (2019)” in the color science setting on the options tab. Since filmic v6 and v7 use accurate gamut mapping to the output color space, the desaturation curve is removed and the extreme luminance desaturation becomes in practice an highlights bleaching control.

This control is set to 0 by default and it is now recommended that saturation is handled earlier in the pipeline. A preset “add basic colorfulness” has been added to the color balance module for this purpose.

Affichage

Les paramètres de cet onglet devraient rarement nécessiter un ajustement.

luminance du noir cible
Les paramètres de destination définissent les valeurs de luminance cible utilisées pour remapper les tons. Les paramètres par défaut doivent fonctionner 99 % du temps, les 1 % restants étant lorsque vous sortez dans l’espace RVB linéaire (REC709, REC2020) pour le traitement des données encodées en mode logarithme. Ces paramètres doivent donc être utilisés avec prudence car Ansel n’autorise pas de pipelines séparés pour l’aperçu de l’affichage et la sortie du fichier.

Le paramètre de luminance du noir cible définit le noir de niveau de base du média cible. Par défaut, il est défini à la valeur minimale non nulle pouvant être encodée par le nombre de bits disponibles dans l’espace colorimétrique de sortie. Le réduire à zéro signifie que certaines luminances non nulles seront mappées à 0 dans la sortie, perdant potentiellement certains détails dans les parties les plus sombres des ombres. L’augmentation de ce curseur produira des noirs profonds et fades qui peuvent donner un aspect “rétro”.

gris moyen cible
Il s’agit du gris moyen du support de sortie qui est utilisé comme cible pour le nœud central de la courbe en S. Sur les média à correction gamma, le gris réel est calculé avec la correction gamma (gris-moyen^(1/gamma)), donc un paramètre de gris moyen de 18 % avec un gamma de 2,2 donne une cible réelle de gris moyen de 45,87 %.
luminance du blanc cible
Ce paramètre vous permet de définir le niveau de blanc plafond du média cible. Réglez-le à une valeur inférieure à 100 % si vous voulez des blancs tamisés et atténués pour obtenir un look rétro.

To avoid double-ups and washed-out images, filmic applies a “gamma” compression reverting the output ICC gamma correction, so the middle-gray is correctly remapped at the end. To remove this compression, set the destination power factor to 1.0 and the middle-gray destination to 45%.

Options

color science
This setting defaults to v6 (2022) for new images, and defines the algorithms used by the filmic module (e.g. the extreme luminance desaturation strategy). To revert to the behavior of previous versions of filmic, set this parameter to v3 (2019), v4 (2020) or v5 (2021). The difference between these methods lies in the way in which they handle desaturation close to pure black and pure white (see the background section for details). If you have previously edited an image using older versions of filmic, the color science setting will be kept at the earlier version number in order to provide backward compatibility for those edits. The v7 (2023) method removes the preserve chrominance option (see the background section for details).
preserve chrominance
(This setting is not available with the v7 color science). Define how the chrominance should be handled by filmic – either not at all, or using one of the three provided norms.

En appliquant la transformation de courbe en S indépendamment sur chaque couleur, les proportions des couleurs sont modifiées, ce qui modifie les propriétés du spectre sous-jacent, et finalement la chrominance de l’image. C’est ce qui se passe si vous choisissez « non » dans le contrôle préserver chrominance. Cette valeur peut donner des résultats apparemment « meilleurs » que les autres valeurs, mais elle peut avoir un impact négatif sur les parties ultérieures du pipeline, par exemple, en ce qui concerne la saturation globale.

The other values of this parameter all work in a similar way. Instead of applying the S-curve to the R, G and B channels independently, filmic, divides all the three components by a norm (N), and applies the S-curve to N. This way, the relationship between the channels is preserved.

La valeur du contrôle préserver chrominance indique quelle norme est utilisée (la valeur utilisée pour N) :

  • non signifie que les ratios entre les canaux RVB ne sont pas conservés. Cela aura tendance à saturer les ombres et à désaturer les hautes lumières, et peut être utile lorsqu’il y a des bleus ou des rouges hors gamut.
  • max RGB is the maximum value of the R, G and B channels. This is the same behaviour as the original version of the filmic module. It tends to darken the blues, especially skies, and to yield halos or fringes, especially if some channels are clipped. It can also flatten the local contrast somewhat.
  • luminance Y est une combinaison linéaire des canaux R, V et B. Il a tendance à assombrir et à augmenter le contraste local dans les rouges, et à se comporter moins bien avec les bleus saturés et hors gamut.
  • norme puissance RVB est la somme des cubes des canaux R, G et B, divisée par la somme de leurs carrés (R³ + G³ + B³)/(R² + G² + B²). C’est généralement un bon compromis entre les valeurs max RVB et luminance Y.
  • La norme euclidienne RVB a la propriété d’être indépendante de l’espace RVB, elle produira donc les mêmes résultats quel que soit le profil de couleur de travail utilisé. Elle pèse plus sur les hautes lumières que la norme de puissance et donne plus de désaturation des hautes lumières, et renvoie probablement un résultat le plus proche d’un aspect de film couleur.

Il n’y a pas de « bon » choix pour la norme, et le choix approprié dépend fortement de l’image à laquelle elle est appliquée. Il est conseillé d’expérimenter et de décider par vous-même quel réglage donne le résultat le plus agréable avec le moins d’artefacts.

contrast in highlights
This control selects the desired curvature at the highlights end of the filmic spline curve. The default setting (safe) is guaranteed not to over- or under-shoot but has quite muted contrast near white. Selecting hard places a tighter constraint on the slope of the spline, which makes the curve sharper and hence introduces more tonal compression in the highlights. Selecting soft loosens this constraint, resulting in a gentler curve with less tonal compression in the highlights.
contrast in shadows
This control selects the desired curvature at the shadows end of the filmic spline curve. The default setting (safe) is guaranteed not to over- or under-shoot but has quite muted contrast near black. Selecting hard places a tighter constraint on the slope of the spline, which makes the curve sharper and hence introduces more tonal compression in the shadows. Selecting soft loosens this constraint, resulting in a gentler curve with less tonal compression in the shadows.
use custom middle-gray values
Enabling this setting makes the middle-gray luminance slider visible on the scene tab. With the current version of filmic, you are advised to use the exposure module to set the middle-gray level, so this setting is disabled by default (and the middle-gray luminance slider is hidden).
auto-adjust hardness
By default, this setting is enabled, and filmic will automatically calculate the power function (aka “gamma”) to be applied on the output transfer curve. If this setting is disabled, a hardness slider will appear on the look tab so that value can be manually set.
itérations pour reconstruction haute qualité
Utilisez ce paramètre pour augmenter le nombre de passes de l’algorithme de reconstruction des hautes lumières. Plus d’itérations signifie plus de propagation de couleur vers les zones écrêtées depuis les pixels voisins. Cela peut produire des hautes lumières plus neutres, mais est aussi plus coûteux en termes de puissance de traitement. Cela peut être utile dans les cas difficiles où il y a des hautes lumières magenta en raison de l’écrêtage de canal.

La reconstruction par défaut fonctionne sur des canaux RVB séparés et n’applique qu’une seule itération, par contre la reconstruction haute qualité utilise un algorithme différent. Il travaille sur les rapports RVB (ce qui est un moyen de séparer la chromaticité de la luminance). Il peut utiliser plusieurs itérations pour propager progressivement dans les zones écrêtées des couleurs provenant des pixels voisins. Cependant, si trop d’itérations sont utilisées, la reconstruction peut dégénérer, ce qui entraînera des couleurs tranchées mal rendues sur des objets écrêtés (couleurs qui bavent) – par exemple des nuages blancs remplis avec un ciel bleu, ou le disque solaire photographié au travers d’arbres peint en vert-feuille.

ajouter du bruit dans les hautes lumières
Cela introduit artificiellement du bruit dans les hautes lumières reconstruites pour éviter qu’elles ne paraissent trop lisses par rapport aux zones environnantes qui peuvent déjà contenir du bruit. Cela peut aider à fondre plus naturellement les zones reconstruites avec les zones non écrêtées environnantes.
type de bruit
Ceci spécifie la distribution statistique du bruit ajouté. Il peut être utile de faire correspondre l’apparence du bruit généré artificiellement avec le bruit naturel dans les zones environnantes provenant du capteur de la caméra. Le bruit poissonien est le plus proche du bruit naturel du capteur mais est moins agréable visuellement que le gaussien, qui est probablement plus proche du grain du film. Notez également que la plupart des modules de débruitage transformeront le bruit du capteur de poissonien en légèrement gaussien, vous devez donc choisir la variante qui se fond mieux dans le bruit réel de votre image.

Background

The color science parameter (in the options tab) defines the strategy that is used to desaturate colors near pure white (maximum display emission) and pure black (minimum display emission). The problem can be explained with the graph below, which represents the gamut of the sRGB color space at the constant hue of its green primary, with varying lightness (vertical axis) and chroma (horizontal axis):

image

Au fur et à mesure que l’on approche du noir pur et du blanc pur, la chrominance disponible dans le gamut se réduit considérablement jusqu’à atteindre zéro pour une luminosité = 0 et une luminosité = 100% de l’émission moyenne. Cela signifie que des couleurs très claires (ou très sombres) ne peuvent pas être très saturées en même temps si on veut qu’elles rentrent dans le gamut, le gamut étant imposé par le dispositif d’impression ou d’affichage que l’on utilise.

Si les couleurs ne sont pas gérées et sont autorisées sortir du gamut, elles seront tronquées à des valeurs valides au moment de la conversion pour afficher l’espace colorimétrique. Le problème est que cet écrêtage ne préserve généralement pas la teinte et certainement pas la luminance, de sorte que les reflets passeront généralement au jaune et apparaîtront plus sombres qu’ils ne le devraient, lorsqu’ils sont évalués par rapport à leur voisinage.

To overcome this, filmic has used various strategies over the years (the so-called color sciences) to desaturate extreme luminances, forcing a zero saturation at minimum and maximum lightness and a smooth desaturation gradient. These strategies were all intended to minimize the hue shifts that come with gamut clipping.

Étant donné que toutes ces stratégies étaient des approximations (et souvent trop conservatrices), v6 (2022) introduit une approche plus précise et mesurée. Il effectue un test de conversion pour afficher l’espace colorimétrique, vérifie si la couleur résultante correspond à l’espace [0; 100]%, et si ce n’est pas le cas, calcule la saturation maximale disponible dans le gamut à cette luminance et cette teinte, en écrêtant finalement la couleur à cette valeur. Cela garantit une distorsion minimale des couleurs, permettant des couleurs plus saturées et une meilleure utilisation de la gamme disponible, mais applique également une teinte constante tout au long de l’opération de mappage des tons et de mappage de la gamme.

This gamut mapping uses the output color profile as a definition of the display color space and automatically adjusts to any output space. However, only matrix or matrix + curve(s) ICC profiles are supported. LUT ICC profiles are not supported and, if used, will make the gamut mapping default to the pipeline working space (Rec 2020 by default).

Note that the hue used as a reference for the gamut mapping is the hue before any tone mapping, sampled at the input of filmic. This means that even the none chrominance preservation mode (applied on individual RGB channels regardless of their ratios) preserves hue in v6. This mode will only desaturate highlights more than the other modes, and a mechanism is in place to prevent it from resaturating shadows – this behaviour can be bypassed by increasing the extreme luminance saturation setting.

The v7 (2023) color science improves over v6 and simplifies the chroma preservation options, by removing them. The chroma preservation modes aim at anchoring saturation and hue across the tone-mapping operation, by preserving RGB ratios compared to a norm. The choice of the norm is important when it comes to managing how the gamut is used and how the contrast of bright objects relatively to their neighbourhood is rendered by the tone-mapper. Several norms have been proposed since filmic v1, in 2018: none of them have been found to be a clear winner, and only one of them (max RGB) has some theoritical justification (allowing to reach display peak primary colors after the transform).

The v7 approach is to offer a mix between the max RGB norm and the no-preservation option (where the output hue and saturation are still forced to their input values). The proportions of the mix are driven by the extreme luminance saturation setting:

  • 0% is an average of both,
  • -50% is strictly equivalent to the v6 no-preservation option,
  • +50% is strictly equivalent to the v6 max RGB option,
  • Intermediate values are weighted averages between both,
  • Values beyond ±50% (up to ±200%) are linear extrapolations.

Positive values will favour saturated highlights and will be suitable for skies but need to be handled with care for portraits (producing accurate skin tones… which is not what people actually find too saturated and “beefy”1), negative values will favour highlights bleaching, which is the preconceived idea many people have of “film look” (which is disproved by positive film slides and Technicolor movies, in addition of being highly questionnable to render black and tanned skin, as it removes ethnical features and whitens them).

The saturation control gives a fine control over the amount of saturation vs. bleaching expected in highlights. In any case, the saturation algo will not allow the output saturation to be higher than the input one, and it should be made very clear that this setting is not designed for creative purposes, but only to drive the complicated trade-off coming from remapping RGB values from one color space to another, having different gamut and dynamic range.

Caveats

Color artifacts

As filmic v6 (then v7) is so far the best version to retain saturated colors at constant hue, it gets also much less forgiving to invalid colors like chromatic aberrations and clipped magenta highlights, that are much better hidden (albeit not solved) by simple curves applied on individual channels (no chrominance preservation) with no care given to their ratios.

It is not the purpose of a tone mapping and gamut mapping operators to reconstruct damaged signals, and these flaws need to be corrected earlier in the pipeline with the specialized modules provided. However, there is a mechanism in filmic v6 that ensures that any color brighter than the white relative exposure degrades to pure white, so a quick workaround is to simply set the white relative exposure to a value slightly lower than the exposure of the clipped parts. In other words: if it is clipped at the input, let it be clipped at the output. Chrominance preservation options that work the best for this purpose are the luminance and euclidean norms, or simply none.

Inconsistent output

With filmic v6, if you export the same image to sRGB and Adobe RGB color spaces, and then compare both images side by side on a large-gamut screen (that can cover Adobe RGB), the sRGB export should have more desaturated highlights than the Adobe RGB version. Since the sRGB color space is shorter than Adobe RGB, its gamut boundary is closer to the neutral grey axis, and therefore the maximum allowed chroma is lower for any given luminance. This is by no means a bug but rather is proof that the gamut mapping is actually doing its job.


  1. D. L. MacAdam, “Quality of Color Reproduction,” in Journal of the Society of Motion Picture and Television Engineers, vol. 56, no. 5, pp. 487-512, May 1951, doi: 10.5594/J06314. ↩︎