anatomia modułu

The basic element of image processing in darktable is the processing module. In order to process a raw image a number of such modules act on the input image in sequence, each performing a different operation on the image data. For those familiar with Adobe Photoshop, the concept of a processing module in darktable is analogous to that of an adjustment layer in that both make an incremental adjustment to the image, building on top of the adjustments that came before.

W darktable dostępne są również moduły użytkowe, nie są one jednak związane bezpośrednio z przetwarzaniem zdjęcia, a w zamian udostępniają interfejs, służący do zarządzania nimi, nadawania znaczników, eksportu, itd.

Każdy moduł przetwarzający działa niezależnie od innych, ale wszystkie moduły wykonują przetwarzanie w podobny sposób:

module anatomy

  1. Otrzymują wejście modułu z ostatniego wykonywanego modułu i wykonują na nim operację w celu stworzenia przetworzonego wyjścia. Ta operacja jest inna dla każdego modułu przetwarzającego.

  2. Łączą _wejście modułu z przetworzonym wyjściem przy użyciu operatora mieszania w celu stworzenia zmieszanego wyjścia. Jeśli mieszanie nie jest wykonywane, wynik tego kroku jest identyczny, jak przetworzone wyjście.

  3. Generują maskę, określającą krycie dla każdego piksela zdjęcia. Krycie wykorzystywane jest później do kontroli siły, z jaką działanie moduły stosowane jest do poszczególnych części obrazu.

    Możesz zdefiniować własną maskę, rysując kształty na zdjęciu lub korzystając z właściwości pikseli z wejścia modułu lub _przetworzonego wyjścia (zob. maski. Maska może być następnie modyfikowana globalnym ustawieniem krycia, wpływającym identycznie na każdy piksel.

    Jeśli nie określisz żadnej maski wektorowej/parametrycznej, wyjście tego etapu przekaże dalej maskę, gdzie każdy piksel ma taką samą wartość krycia (określoną przez ustawienie krycia globalnego). Jeśli nie zdefiniowano krycia (nie dokonujesz mieszania), zostanie przyjęte krycie globalne o wartości 1.0 (inaczej 100%).

  4. Mieszają wejście modułu ze zmieszanym wyjściem dla każdego piksela oddzielnie w celu stworzenia maski jako operatora mieszającego i wygenerowania ostatecznego rezultatu. Jeśli krycie maski to 100%, ostatecznym rezultatem dla tego piksela jest zmieszane wyjście. Jeśli krycie maski to 0%, ostatecznym rezultatem dla tego modułu jest wejście modułu. Warianty pośrednie łączą proporcjonalnie zmieszane wyjście oraz wejście modułu. Ostateczny rezultat przekazywany jest do następnego modułu do dalszej obróbki.

Kroki 2 i 3 są opcjonalne i nie są wspierane przez wszystkie moduły. Przykładowo moduł demozaikowania musi zostać zastosowany do całego surowego pliku w celu stworzenia czytelnego obrazu, więc maskowanie i mieszanie wyjścia nie ma tu sensu.

Każdy z powyższych kroków opisany jest szczegółowo w kolejnych sekcjach.