kolejka przetwarzania i kolejność modułów
Uporządkowana kolejność modułów przetwarzających, operujących na obrazie wejściowym dla wygenerowania obrazu wyjściowego nazwana jest “kolejką przetwarzania”.
Kolejność w kolejce przetwarzania reprezentowana jest graficznie kolejnością prezentacji modułów w interfejsie użytkownika – kolejka zaczyna się plikiem RAW na dole listy modułów, stosuje kolejno moduły przetwarzające, układające się w kolejce przetwarzania od dołu do góry aż do osiągnięcia szczytu listy, gdzie tworzony jest w pełni przetworzone zdjęcie.
Uwaga: Kolejność działania modułów jest identyczna do tej, którą widzisz w panelu historii. Zmiana kolejności modułów w interfejsie użytkownika zmienia również sposób obróbki zdjęcia.
🔗kolejność modułów i przebieg pracy
Kolejność wywołania modułów wewnątrz kolejki przetwarzania została starannie dobrana pod kątem uzyskania jak najlepszych jakościowo efektów. W poprzednich wersjach darktable nie było możliwości zmiany tej kolejności. W kilku ściśle ograniczonych przypadkach zalecamy jednak zmianę tej kolejności.
Jeden z głównych powodów zmiany kolejności modułów nadszedł wraz z wersją darktable 3.0, wprowadzającą scenocentryczną organizację pracy. Zostało to sformalizowane w wersji 3.2, oferującej już ekrano- i scenocentryczną organizację pracy, kontrolowane przez ustawienia > przetwarzanie > automatycznie zastosuj model pracy z obrazem. Począwszy od wersji 3.6, scenocentryczna organizacja pracy jest zalecanym (i domyślnym) sposobem korzystania z darktable.
Scenocentryczna organizacja pracy ma na celu wykonanie możliwie jak najwięcej w liniowej przestrzeni barwnej RGB, kompresując tony tylko dla dopasowania do końcowego medium (z nieliniowym mapowaniem tonów) na samym końcu kolejki przetwarzania. Niesie to ze sobą większy realizm podczas dokonywania transformacji, niż ma to miejsce w tradycyjnej organizacji ekranocentrycznej, która próbuje wykonywać operacje w nieliniowej perceptualnej przestrzeni barwnej. Preferowanie realizmu fizycznego (bardziej niż postrzegania) ułatwia tworzenie przewidywalnych algorytmów, tworzących minimum artefaktów.
Poniższy diagram pozwoli zrozumieć różnicę pomiędzy tymi organizacjami pracy:
-
Moduły scenocentryczne produkują dane liniowe, proporcjonalne do ilości światła, uzyskanego ze sceny przez aparat. Zakres dynamiczny takiego obrazu w scenocentrycznej części kolejki przetwarzania jest często szerszy, niż ten w części ekranocentrycznej.
-
W pewnym momencie kolejki przetwarzania wartości pikseli są kompresowane nieliniowym mapowaniem tonów do mniejszego zakresu dynamicznego, odpowiedniejszego do wyświetlenia na monitorze bądź do wydruku.
-
Pozostałe moduły operują w nieliniowej, ekranocentrycznej sekcji kolejki przetwarzania dla wygenerowania finalnego zdjęcia.
🔗ekranoentryczna organizacja pracy
Przed wersją 3.0 organizacja pracy w darktable była ekranocentryczna (domyślna organizacja pracy = “display_referred”) i ta opcja wciąż jest możliwa jako tryb kompatybilności. W tej organizacji pracy moduły krzywej bazowej oraz krzywej filmowej rgb dokonują mapowania tonów wcześnie w kolejce przetwarzania i większość innych modułów korzysta z danych zdjęcia w przestrzeni ekranocentryczna.
Ekranocentryczna organizacja pracy wspiera przestarzały (sprzed wersji 3.0) porządek modułów i dla nowych zdjęć przełącza się automatycznie do modułu krzywej bazowej.
Dane pikseli w przestrzeni ekranocentrycznej nie są liniowe i nie stanowią fizycznie realistycznej reprezentacji oryginalnej sceny. Może to prowadzić do wystąpienia artefaktów w niektórych modułach, dlatego też stworzyliśmy (teraz domyślną) scenocentryczną organizację pracy.
🔗scenocentryczna organizacja pracy
Scenocentryczna organizacja pracy (domyślnie stosowana organizacja pracy = “scene-referred”) została wprowadzona jako część darktable 3.0. Kolejność modułów została całkowicie przeprojektowana, aby mapujące tony moduły krzywej filmowej rgb oraz krzywej bazowej umieścić jak najpóźniej w kolejce przetwarzania. Oznacza to, że większość modułów działa teraz w liniowej przestrzeni rgb, a zaledwie kilka modułów pracuje w nieliniowej przestrzeni ekranocentrycznej. Przy takiej organizacji pracy zalecamy przeprowadzanie większości edycji w modułach do krzywej filmowej rgb włącznie. Edycje w tej części kolejki przetwarzania, wykonywane liniowo, są znacznie bardziej realistyczne i produkują mniej artefaktów.
Wybór scenocentrycznej organizacji pracy udostępnia kolejność modułów w wersji 3.0 i automatycznie włącza moduły ekspozycji oraz krzywej filmowej rgb z ustawionymi pewnymi presetami, które służą jako dobry punkt wejścia do takiej edycji.
🔗zmiana kolejności modułów
W dalszym ciągu zalecamy niezmienianie kolejności wewnątrz kolejki przetwarzania, z kilku względów:
-
Kolejność modułów została opracowana z największą dbałością o jakość obrazu wyjściowego. Zmiany tej kolejności najczęściej pogorszą rezultat, zamiast go poprawić.
-
Użycie niektórych modułów poza ich domyślną kolejnością nie miałoby po prostu sensu. Przykładowo ratowanie prześwietleń winno być wykonane na surowych danych przed demozaikowaniem, które z kolei należy uruchomić przed wejściowym profilem koloru. Z tego też względu zmiana kolejności niektórych wczesnych modułów w kolejce jest niemożliwa.
-
Większość modułów przetwarzających została zaprojektowana do pracy w określonej przestrzeni barwnej (zob. zarządzanie kolorem). Pełna elastyczność wymagałaby stworzenia wsparcia dla różnych algorytmów równoległych w zależności od przestrzeni barwnej, co znacząco zwiększyłoby złożoność.
Pomimo ogólnych zaleceń pozostawiania kolejności przetwarzania, możliwa jest arbitralna zmiana tej kolejności poprzez przeniesienie i upuszczenie modułu na nowe miejsce przy wciśniętych klawiszach Ctrl+Shift. Wykonywanie tej czynności zalecamy tylko doświadczonym użytkownikom, rozumiejącym jej wpływ na finalną jakość obrazu.
Kolejność modułów może zostać zmieniona ręcznie albo na wersję 3.0, albo na przestarzałą przy użyciu modułu kolejności modułów, który może również zostać użyty w celu definicji własnych presetów.