de pixelpijp & module volgorde
De geordende reeks van verwerkingsmodules die op een invoerbestand werken om een uitvoerbeeld te genereren, staat bekend als de “pixelpijp”.
De volgorde van de pixelpipe wordt grafisch weergegeven door de volgorde waarin modules worden gepresenteerd in de gebruikersinterface - de pixelpijp begint met een RAW-afbeelding onderaan de modulelijst en past de verwerkingsmodules één voor één toe, laag op verwerkingslaag van onder naar boven, totdat het de top van de lijst bereikt, waar het de volledig verwerkte afbeelding uitvoert.
Opmerking: De volgorde waarin verwerkingsmodules worden uitgevoerd, komt exact overeen met de volgorde waarin de modules verschijnen in de gebruikersinterface van darktable. Als u de volgorde van de modules in de gebruikersinterface wijzigt, verandert de manier waarop uw afbeelding wordt verwerkt.
🔗modulevolgorde en werkvolgorde
De volgorde waarin modules binnen de pixelpijp worden uitgevoerd, is zorgvuldig gekozen om de beste uitvoerkwaliteit te geven. In eerdere versies van darktable was het niet mogelijk om de modulevolgorde te wijzigen. Er zijn echter een aantal zeer specifieke gebruikssituaties waarbij de verplaatsing van sommige modules binnen de pixelpijp wordt geadviseerd.
Een van de belangrijkste redenen om de modulevolgorde te wijzigen, kwam met darktable versie 3.0, die de nieuwe scene-gerefereerde manier van werken introduceerde. Versie 3.2 heeft dit geformaliseerd door de introductie van de scherm-gerefereerde en scene-gerefereerde werkvolgorde, die worden bestuurd door de voorkeuren > verwerking > standaard pixel werkvolgorde automatisch toepassen instelling. Vanaf versie 3.6 is de scene-gerefereerde werkvolgorde nu de officieel aanbevolen (en standaard) manier om darktable te gebruiken.
De scene-gerefereede werkvolgorde probeert zoveel mogelijk bewerkingen uit te voeren in een lineaire RGB-kleurruimte, waarbij alleen de tonen worden gecomprimeerd om op het uitvoermedium te passen (met een niet-lineaire toonmapping) aan het einde van de pixelpijp. Dit heeft het voordeel dat het een fysiek meer realistische ruimte is om transformaties uit te voeren dan de traditionele scherm-gerefereerde werkvolgorde, die probeert bewerkingen uit te voeren in een niet-lineaire perceptuele kleurenruimte. Het respecteren van het fysieke realisme (in plaats van het perceptuele realisme) maakt het veel gemakkelijker om voorspelbare verwerkingsalgoritmen te produceren met een minimum aan artefacten.
Het volgende diagram zou je moeten helpen het verschil tussen deze werkvolgordes te begrijpen:
-
Scene-gerefereerde-modules verwerken lineaire gegevens die evenredig zijn aan de hoeveelheid licht die door de camera ter plaatse wordt opgevangen. Het dynamische bereik van een afbeelding in het naar de scene-gerefereerde gedeelte van de pixelpijp is vaak groter dan dat van het schermmedium.
-
Op een bepaald punt in de pixelpijp worden deze pixelwaarden door een niet-lineaire toonmapping-bewerking gecomprimeerd tot een kleiner dynamisch bereik dat beter geschikt is voor weergave op een monitor of een afdruk.
-
De overige modules werken in het niet-lineaire scherm-gerefereerd gedeelte van de pixelpijp om het uiteindelijke uitvoerbeeld te produceren.
🔗scherm-gerefereerde werkvolgorde
Voorafgaand aan versie 3.0 was de werkvolgorde van darktable scherm-gerefereerd (pixel werkvolgorde standaarden automatisch toepassen = “scherm-gerefereerd”) en deze optie wordt nog steeds aangeboden als een legacy-modus. In deze workflow is de basis curve of filmisch rgb module voert toonmapping vroeg in de pixelpijp uit en de meeste andere darktable-modules werken op beeldgegevens in de gecomprimeerde scherm-gerefereerde-ruimte.
Het selecteren van de scherm-gerefereerde werkvolgorde schakelt de legacy (pre-darktable-3.0) modulevolgorde in en schakelt automatisch de basis curve module voor nieuwe afbeeldingen in.
Pixelgegevens binnen de scherm-gerefereerde ruimte zijn niet-lineair en vormen geen fysiek realistische weergave van de originele scene. Dit kan bij sommige modules tot verschillende artefacten leiden, vandaar de creatie van de (nu standaard) scene-gerefereerde werkvolgorde.
🔗scene-gerefereerde werkvolgorde
Scene-gerefereerde werkvolgorde (automatisch toepassen pixel werkvolgorde standaard = “scene-gerefereerd”) is geïntroduceerd als onderdeel van darktable 3.0. De volgorde van de modules is volledig herschikt om de filmisch rgb en basis curve toonmapping-modules veel later in de pixelpijp te plaatsen. Dit betekent dat de meeste modules nu werken in de lineaire rgb-ruimte met slechts een paar modules binnen de niet-lineaire scherm-gerefereerde-ruimte. Binnen deze werkvolgorde wordt nu aanbevolen dat het merendeel van de beeldverwerking plaatsvindt met behulp van de modules tot en met filmisch rgb . Bewerkingen in dit gedeelte van de pixelpijp zijn echt lineair en zijn fysiek veel realistischer en produceren minder artefacten.
Het selecteren van de scene-gerefereerde werkvolgorde activeert de volgorde van de v3.0 module en activeert automatisch de belichting en filmisch rgb modules met een aantal voorinstellingen die zijn ontworpen als een redelijk startpunt voor het scene-gerefereerd bewerken.
🔗modulevolgorde wijzigen
Het blijft ten zeerste aanbevolen dat gebruikers de volgorde binnen de pixelpijp om een aantal redenen niet wijzigen:
-
De volgorde van de modules is met grote zorg geselecteerd om de hoogste outputkwaliteit te geven. Veranderingen in de volgorde verslechteren vaak het resultaat in plaats van het te verbeteren.
-
Sommige verwerkingsmodules zijn niet logisch als ze in de pixelpijp worden verschoven. hooglichten herstellen moet bijvoorbeeld worden uitgevoerd op onbewerkte gegevens voordat demozaïek, die zelf moet worden uitgevoerd vóór een ingaand kleurprofiel kan worden toegepast. Om deze reden is het nog steeds niet mogelijk om een deel van de modules die vroeg in de pixelpijp zijn geplaatst te verplaatsen.
-
De meeste verwerkingsmodules zijn ontworpen om binnen een specifieke kleurruimte te werken (zie de sectie kleurbeheer voor meer informatie). Voor volledige flexibiliteit zouden modules verschillende parallelle algoritmen moeten ondersteunen, afhankelijk van de kleurruimte waarin ze werken, wat de complexiteit drastisch zou verhogen.
Ondanks de algemene aanbeveling om de pixelpijp-volgorde niet te wijzigen, is het mogelijk om modules binnen de pixelpijp te verplaatsen door Ctrl+Shift ingedrukt te houden en de gewenste module naar een nieuwe locatie te slepen en neer te zetten. Dit zou alleen gedaan moeten worden door ervaren gebruikers die de impact hiervan op de afbeelding begrijpen.
De modulevolgorde kan handmatig worden teruggezet naar de v3.0- of legacy-versies met behulp van de module volgorde module , die ook kan worden gebruikt om uw eigen voorinstellingen voor aangepaste modulevolgorde te definiëren.