a pixelpipe e a ordem dos módulos

A sequência ordenada de módulos de processamento que operam em um arquivo de entrada para gerar uma imagem de saída é conhecida como “pixelpipe”.

A ordem da pixelpipe é representada graficamente pela ordem em que os módulos são apresentados na interface com o usuário: a pixelpipe inicia com uma imagem RAW na parte inferior da lista de módulos e aplica os módulos de processamento, um por um, acumulando camadas de processamento de baixo para cima, até atingir o topo da lista, onde gera a imagem completamente processada.


Nota: A ordem em que os módulos de processamento são executados coincide exatamente com a ordem em que os módulos aparecem na interface do usuário do darktable. Mudar a ordem dos módulos na interface do usuário muda a forma como sua imagem é processada.


🔗ordem dos módulos e fluxo de trabalho

A ordem em que se executam os módulos dentro da pixelpipe foi cuidadosamente selecionada para fornecer a melhor qualidade de saída. Em versões anteriores do darktable, não era possível alterar a ordem dos módulos. No entanto, existem alguns casos de uso muito específicos onde alterar a ordem de alguns módulos dentro da pixelpipe é recomendável.

Uma das principais razões para alterar a ordem dos módulos surgiu na versão 3.0 do darktable, que introduziu a nova forma de trabalho relativo à cena. A versão 3.2 formalizou isto ao introduzir os fluxos de trabalho relativo à exibição e relativo à cena, que são controlados pela configuração preferências > processamento > auto-aplicar padrões do fluxo de trabalho. A partir da versão 3.6, o fluxo de trabalho relativo à cena é agora a maneira oficial recomendada (e padrão) de usar o darktable.

O fluxo de trabalho relativo à cena tenta realizar tantas operações quanto possível no espaço de cor linear RGB, somente comprimindo os tons para corresponder à mídia de saída (com um mapeamento de tons não linear) no final da pixelpipe. Isto tem a vantagem de ser um espaço mais realístico fisicamente para realizar transformações do que o fluxo de trabalho tradicional relativo à exibição, que tenta realizar as operações em um espaço de cor perceptual não linear. Honrar o realismo físico (ao invés do realismo perceptual) torna muito mais fácil produzir algoritmos de processamento previsíveis com um mínimo de artefatos.

O diagrama a seguir deve auxiliá-lo a entender a diferença entre estes fluxos de trabalho:

módulos relativos à cena e relativos à exibição

  1. Os módulos relativos à cena processos dados lineares que são proporcionais à quantidade de luz coletada pela câmera na cena. O alcance dinâmico de uma imagem na seção relativa à cena da pixelpipe é frequentemente maior que o da mídia de exibição.

  2. Em algum momento na pixelpipe, esses valores de pixel são comprimidos por uma operação de mapeamento de tons não-linear para um alcance dinâmico menor, mais apropriado para exibição em um monitor ou impressão.

  3. Os módulos restantes operam na seção não linear relativo à exibição da pixelpipe para produzir a imagem de saída final.

🔗fluxo de trabalho relativo à exibição

Antes da versão 3.0, o fluxo de trabalho do darktable era relativo à exibição (auto-aplicar padrões do fluxo de trabalho = “relativo à exibição”) e esta opção ainda é fornecida como modo legado. Neste fluxo de trabalho, a curva base ou rgb fílmico realiza o mapeamento de tons no início da pixelpipe e a maioria dos outros módulos do darktable operam com os dados da imagem no espaço de cores comprimido relativo à exibição.

Selecionar o fluxo de trabalho relativo à exibição ativa a ordem de módulos legada (pré darktable 3.0) e automaticamente ativa o módulo curva base para as novas imagens.

Os dados dos pixels dentro do espaço relativo à exibição não são lineares e não são uma representação fisicamente realista da cena original. Isto pode produzir vários artefatos em alguns módulos, sendo esse um dos motivos para a criação do fluxo de trabalho relativo à cena (padrão atual).

🔗fluxo de trabalho relativo à cena

O fluxo de trabalho relativo à cena (auto-aplicar padrões do fluxo de trabalho = “relativo à cena”) foi introduzido como parte do darktable 3.0. A ordem dos módulos foi completamente rearrumada para colocar os módulos de mapeamento de tons rgb fílmico e curva base mais tarde na pixelpipe. Isto significa que a maioria dos módulos agora operam no espaço rgb linear restando somente alguns poucos módulos dentro do espaço não linear relativo à exibição. Dentro deste fluxo de trabalho, agora é recomendável que a maior parte do processamento de imagens se realize utilizando os módulos até o, inclusive, rgb fílmico. As operações nesta seção da pixelpipe, ao serem verdadeiramente lineares, são muito mais realistas fisicamente e produzem menos artefatos.

Selecionar o fluxo de trabalho relativo à cena ativa a ordem de módulos v3.0 e ativa automaticamente exposição e rgb filmico com alguns ajustes predefinidos desenhados para agir como ponto de partida razoável para a edição relativa à cena.

🔗alterando a ordem dos módulos

Continua sendo altamente recomendável que usuários não alterem a ordem dentro da pixelpipe por diversas razões:

  • A sequência dos módulos foi selecionada com muito cuidado de modo a fornecer a máxima qualidade de saída. Mudar esta sequência frequentemente piora o resultado ao invés de melhorá-lo.

  • Alguns módulos de processamento simplesmente não fazem sentido se são colocados fora da ordem da pixelpipe. Por exemplo, reconstrução de realce deve ser aplicado em dados raw antes da interpolação cromática, que por sua vez precisa ser processada antes que qualquer perfil de cor de entrada possa ser aplicado. Por este motivo, ainda não é possível mover alguns dos módulos que são posicionados no início da pixelpipe.

  • A maioria dos módulos de processamento são designados para trabalhar em um espaço de cor específico (consulte a seção gerenciamento de cor para obter mais detalhes). Flexibilidade total iria requerer que os módulos suportassem diferentes algoritmos paralelos dependendo do espaço de cor em que estivessem trabalhando, o que aumentaria drasticamente a complexidade.

Apesar da recomendação geral de deixar a ordem da pixelpipe como está, é possível mover módulos dentro da pixelpipe mantendo pressionadas as teclas Ctrl+Shift e arrastando e soltando o módulo desejado em uma nova posição. Isto só deve ser realizado por usuários experientes que compreendam o impacto que isto terá na imagem.

A ordem dos módulos pode ser manualmente alterada para as versões v3.0 ou legada utilizando o módulo ordem dos módulos, que também pode ser usado para definir sua própria configuração personalizada de ordem de módulos.

translations