Module : 3D Colorimetric Film
3D Colorimetric Film (3DCF) is een toon- en kleurweergavemodule die ik heb ontwikkeld in mijn experimentele Libre DT-Lab-branch van darktable. Ze is ook beschikbaar als CTL-script voor ART.
De pipeline van de module:
- Detailextractie via een guided filter op de oorspronkelijke luminantie (voor herinjectie aan het eind van de keten)
- Veiligheidsnet vóór de pipeline: zachte desaturatie van sterk overbelichte zones, vóór de tooncurve
- Rec.2020 (D50-aangepast) → D50 XYZ
- ACES 2.0 SSTS tone mapping, alleen toegepast op luminantie Y
- BT.1886 S-curve + contrast (parametrische toe/shoulder)
- Gamma-aanpassing van de middentonen
- Schaling van de chromaticiteitsverhouding: x = ratio · Y
- Spectraal gamut: filmachtige chromaticiteits-roll-off in CIE xy
- XYZ → output-RGB via de outputmatrix
- Abney-tintrotatie + desaturatie van lichten
- Vibrance (saturatie die reeds verzadigde kleuren spaart)
- Chromatisch contrast (luminantie-adaptieve verzadigingsboost in de middentonen)
- Veiligheidsnet voor gamutcompressie + optionele bescherming van het output-gamut
- Herinjectie van het door de guided filter geëxtraheerde detail, met gain-compensatie
- “Color look”-menging (11 matrices van 3×3)
In ART wordt het script geëvalueerd als een 64³-LUT, bemonsterd in PQ-ruimte, zoals de andere scripts in de repository, één functie van de module kon daar niet worden gereproduceerd: detailherstel in de lichten (guided filter), wat niet naar CTL te vertalen is.
De broncode van beide versies staat op GitHub: de oorspronkelijke module (3dcf.c in Libre DT-Lab) en de ART-poort (3dcf.ctl).
De 7 schuifregelaars van de tooncurve
Input exposure (EV): verschuift het referentie-“middengrijs (18%)”. Naar rechts: de belichting van de afbeelding wordt verhoogd (lichten eerder gecomprimeerd, schaduwen komen omhoog). Handig om de weergave af te stemmen op uw opnamebelichting, het is geen eenvoudige helderheidsregeling, de hele curve verschuift.
Peak luminance (%): stelt de referentiehelderheid van het witpunt in (standaard 200 nits). Naar rechts: hoger witpunt, het bereik van de lichten vóór verzadiging wordt groter, meer detail behouden vóór het clipt. Naar links: lager witpunt, het verzadigt sneller, een meer “filmisch contrastrijk” effect.
Contrast: het algemene contrast, rond middengrijs. Naar rechts: diepere schaduwen, helderdere lichten. Naar links: vlakkere, zachtere afbeelding. (Standaard is de curve al licht S-vormig.)
Contrast pivot: het punt waarrond het contrast wordt verdeeld. Naar rechts: de lichten winnen aan scheiding, de schaduwen drukken samen. Naar links: het omgekeerde, schaduwen beter gedetailleerd, lichten meer samengedrukt.
Toe power: raakt alleen de donkerste schaduwen, zonder het contrast van de middentonen te veranderen. Naar rechts: dichtere zwarttinten, meer punch. Naar links: zachtere schaduwen, detail behouden helemaal onderin.
Shoulder power: symmetrisch, aan de kant van de lichten. Naar rechts: zachtere roll-off, minder uitgebeten wit. Naar links: de lichten lopen vrijer op naar wit.
Gamma: helderheid van de middentonen, onafhankelijk van het contrast. Naar rechts: afbeelding algemeen helderder; naar links: donkerder. Zwart en wit blijven vast.
De schuifregelaars van de kleursectie
Ze werken op de saturatie en de kleursfeer van de afbeelding. Begin met Vibrance voor een algemene aanpassing, en grijp pas naar Chromatic boost als de afbeelding nog steeds pit mist zonder de reeds levendige tinten te willen aanraken. Color look en Look opacity dienen om een vooraf ingestelde sfeer over deze instelling heen toe te passen. Target display staat apart: het is geen creatief effect, maar een veiligheidsinstelling afhankelijk van het beoogde scherm.
Vibrance: verzadigt of ontverzadigt de afbeelding met behoud van reeds levendige kleuren. Naar rechts: doffe kleuren winnen aan intensiteit, reeds verzadigde tinten (huidtinten, lucht) bewegen weinig. Naar links: uniforme ontverzadiging, de hele afbeelding neigt naar zwart-wit.
Chromatic boost: een extra vleugje pit, geconcentreerd op de middentonen en de meest ingetogen kleuren. Op 0: geen effect. Bij verhogen: doffe kleuren in de middentonen worden wakker, lichten en reeds levendige tinten worden weinig beïnvloed, een zachter en gerichter effect dan Vibrance.
Color look: een vooraf ingestelde kleursfeer, te kiezen uit een lijst (portret, landschap type “nature”, blauwe lucht, zachte warme tinten, cinema, enz.), eerder dan een intensiteitsregeling. Elke keuze stuurt de kleuren een andere richting in, probeer ze na elkaar om te zien wat bij de afbeelding past.
Look opacity: doseert de sterkte van de preset gekozen in Color look. Naar rechts (standaard 1): de preset wordt volledig toegepast. Naar links: keert geleidelijk terug naar de neutrale weergave, zonder preset.
Target display: geeft aan voor welk scherm de kleuren getrouw moeten blijven, geen willekeurig te kiezen bestandsformaat. Betreft vooral zeer verzadigde kleuren (groen, cyaan, felrood), niet de helderheid. Naar een smalle ruimte (sRGB): sterkere compressie, veiligere kleuren zonder verrassingen op een gewoon scherm. Naar een brede ruimte (Display P3, Rec. 2020): minder compressie, levendigere kleuren, maar risico op een schreeuwerig effect of clipping op een smaller scherm. In de praktijk: sRGB voor een gewoon scherm, Display P3 voor een wide-gamutscherm, Rec. 2020 voor de afwerking of HDR-export.
De schuifregelaars van de sectie lichten (Highlights)
Ze regelen wat er met kleuren gebeurt wanneer een zone van de afbeelding erg helder wordt, dicht bij wit. Stel eerst Desaturation threshold en Highlight roll-off samen in (de drempel bepaalt waar het begint, de sterkte bepaalt hoeveel), en grijp pas naar Abney rotation als u een vreemde kleurzweem ziet in de allerhelderste lichten.
Desaturation threshold: het helderheidsniveau vanaf waar kleuren beginnen aan intensiteit te verliezen. Naar rechts: alleen de zones dichtst bij zuiver wit worden geraakt, de rest van de afbeelding behoudt zijn kleuren. Naar links: het kleurverlies begint eerder, bij al minder heldere tonen.
Highlight roll-off: hoeveel kleur wordt weggenomen zodra die drempel wordt overschreden, bootst na hoe film zijn kleur verliest terwijl het naar wit trekt in plaats van te clippen met een sterke zweem. Naar rechts: de lichten vervagen duidelijk naar neutraal wit. Naar links: ze behouden hun kleur langer, met risico op een zichtbare zweem vlak bij wit.
Abney rotation: corrigeert een tintverschuiving die eigen is aan sterk gecomprimeerde lichten (een bekend kleurwetenschappelijk effect: een zeer verzadigde kleur verschuift lichtjes van tint voor het oog naarmate ze helderder wordt). Op 0: geen correctie. De regelaar de ene of de andere kant op bewegen: de tint van de meest gecomprimeerde lichten wordt de ene of de andere richting in geduwd, gebruik dit alleen als u een tint opmerkt die “niet klopt” in een zeer heldere zone, zonder de rest van de afbeelding te beïnvloeden.
De schuifregelaars van de gamutsectie
Ze beschermen extreem verzadigde kleuren (diep rood, zeer felle groentinten, neonlicht, bepaalde bloemen) die dreigen te clippen of abrupt van tint te veranderen, omdat geen enkel scherm ze zo kan weergeven. Deze verwerking werkt op de werkelijke kleur van de pixel, vóór de elders gemaakte keuze van het doelscherm, stel eerst Gamut knee in (vanaf welke verzadiging wordt ingegrepen), daarna Gamut steepness om de overgang te verzachten of te versterken als die zichtbaar wordt.
Gamut knee: vanaf welk verzadigingsniveau de bescherming wordt geactiveerd. Naar rechts: alleen de meest extreme kleuren worden geraakt, het grootste deel van de afbeelding blijft ongemoeid. Naar links: de bescherming grijpt eerder in, bij al minder extreme kleuren.
Gamut steepness: hoe vloeiend de overgang is zodra de bescherming actief is. Naar rechts: de terughouding is uitgesprokener, abrupter. Naar links: de overgang is geleidelijk, zonder zichtbare knik voor het oog.
