el pixelpipe y orden de módulos

La secuencia ordenada de módulos de procesamiento que operan en un archivo de entrada para generar una imagen de salida se conoce como “pixelpipe”.

El orden del pixelpipe se representa gráficamente por el orden en el que se presentan los módulos en la interfaz de usuario: el pixelpipe comienza con una imagen RAW en la parte inferior de la lista de módulos y aplica los módulos de procesamiento uno por uno, acumulando capas sobre capa de procesamiento de abajo hacia arriba, hasta que alcanza la parte superior de la lista, donde genera la imagen completamente procesada.


Nota: El orden en el que se ejecutan los módulos de procesamiento coincide exactamente con el orden en el que aparecen los módulos en la interfaz de usuario de darktable. Cambiar el orden de los módulos en la interfaz de usuario cambia la forma en que se procesa su imagen.


🔗orden de módulos y flujo de trabajo

El orden en el que se ejecutan los módulos dentro del pixelpipe se ha elegido cuidadosamente para ofrecer la mejor calidad de salida. En versiones anteriores de darktable no era posible cambiar el orden de los módulos. Sin embargo, hay una serie de casos de uso muy específicos en los que se recomienda el movimiento de algunos módulos dentro del pixelpipe.

Una de las principales razones para cambiar el orden de los módulos surgió con la versión 3.0 de darktable, que introdujo la nueva forma de trabajo referida a escena. La versión 3.2 formalizó esto al introducir los flujos de trabajo referido a pantalla y referido a escena, que están controlados por la configuración preferencias> procesamiento> aplicar automáticamente los valores predeterminados del flujo de trabajo de píxeles configuración. Comenzando con la versión 3.6, el flujo de trabajo referido a escena es el oficialmente recomendado (y por defecto) para el uso de darktable.

El flujo de trabajo referido a la escena intenta realizar tantas operaciones como sea posible en un espacio de color RGB lineal, comprimiendo solo los tonos para que se ajusten al medio de salida (con un mapeo de tonos no lineal) al final del pixelpipe. Esto tiene la ventaja de ser un espacio físicamente más realista para realizar transformaciones que el flujo de trabajo tradicional referido a la visualización, que intenta realizar operaciones en un espacio de color perceptual no lineal. Respetar el realismo físico (en lugar del realismo perceptivo) hace que sea mucho más fácil producir algoritmos de procesamiento predecibles con un mínimo de artefactos.

El siguiente diagrama debería ayudarlo a comprender la diferencia entre estos flujos de trabajo:

módulos referidos a escena y referidos a la visualización

  1. Los módulos referidos a escena procesan datos lineales que son proporcionales a la cantidad de luz recolectada por la cámara en la escena. El rango dinámico de una imagen en la sección referida a la escena del pixelpipe es a menudo mayor que el del medio de visualización.

  2. En algún punto de la tubería de píxeles, estos valores de píxeles se comprimen mediante un operador de mapeo de tonos no linear en un rango dinámico más pequeño más adecuado para su visualización en un monitor o una impresión.

  3. Los módulos restantes operan en esta sección no lineal refererido a pantalla del pixelpipe para producir la imagen de salida final.

🔗flujo de trabajo referido a la pantalla

Antes de la versión 3.0, el flujo de trabajo de darktable era referido a pantalla (valores predeterminados del flujo de trabajo de píxeles de aplicación automática = “referido a la pantalla”) y esta opción todavía se proporciona como un modo heredado. En este flujo de trabajo, la curva base o _película rgb _ realiza el mapeo de tonos temprano en el pixelpipe y la mayoría de los otros módulos de darktable operan con datos de imagen en el espacio comprimido referido a pantalla.

Seleccionar el flujo de trabajo referido a visualización habilita el orden del módulo heredado (pre-darktable-3.0) y cambia automáticamente al módulo _base curve _ para nuevas imágenes.

Los datos de píxeles dentro del espacio referido a pantalla no son lineales y no son una representación físicamente realista de la escena original. Esto puede conducir a varios artefactos con algunos módulos, de ahí la creación del flujo de trabajo referido a escena (ahora predeterminado).

🔗flujo de trabajo referido a escena

El flujo de trabajo referido a escena (valores predeterminados del flujo de trabajo de píxeles de aplicación automática = “referido a la escena”) se introdujo como parte de darktable 3.0. El orden de los módulos se reorganizó por completo para colocar película rgb y curva base como módulos de mapeo de tonos mucho más tarde en el pixelpipe. Esto significa que la mayoría de los módulos ahora operan en el espacio linear rgb y solo quedan unos pocos módulos dentro del espacio no lineal referido a la pantalla. Dentro de este flujo de trabajo, ahora se recomienda que la mayor parte del procesamiento de imágenes se realice utilizando los módulos hasta e incluyendo _película rgb _. Las operaciones en esta sección del pixelpipe, al ser verdaderamente lineales, son mucho más realistas físicamente y producen menos artefactos.

Seleccionar el flujo de trabajo referido a escena habilita el orden del módulo v3.0 y habilita automáticamente _exposure _ y _película rgb _ con algunos ajustes preestablecidos diseñados para actuar como un punto de partida razonable para la edición referida a escenas.

🔗cambiando el orden de módulos

Sigue siendo muy recomendable que los usuarios no cambien el orden dentro del pixelpipe por varias razones:

  • La secuencia de módulos se ha seleccionado con mucho cuidado para ofrecer la máxima calidad de salida. Los cambios en la secuencia a menudo empeoran el resultado en lugar de mejorarlo.

  • Algunos módulos de procesamiento simplemente no tienen sentido si se desplazan en el pixelpipe. Por ejemplo, reconstrucción de luces debe realizarse en datos sin procesar antes de interpolación cromática, que a su vez debe realizarse antes de que cualquier perfil de color de entrada se puede aplicar. Por esta razón, todavía no es posible mover algunos de los módulos que están colocados al principio del pixelpipe.

  • La mayoría de los módulos de procesamiento están diseñados para funcionar dentro de un espacio de color específico (consulte la sección gestión del color para obtener más detalles). La flexibilidad total requeriría que los módulos admitieran diferentes algoritmos paralelos según el espacio de color en el que estén trabajando, lo que aumentaría drásticamente la complejidad.

A pesar de la recomendación general de dejar solo el orden de pixelpipe, es posible mover módulos dentro de pixelpipe manteniendo presionadas las teclas Ctrl + Shift y arrastrando y soltando el módulo deseado en una nueva ubicación. Esto solo debe ser realizado por usuarios experimentados que comprendan el impacto que esto tendrá en la imagen.

El orden de los módulos se puede volver a cambiar manualmente a las versiones v3.0 o legacy utilizando el módulo orden de módulos , que también se puede utilizar para definir sus propios ajustes preestablecidos de orden de módulo personalizados.

translations