darktable page lede image
darktable page lede image

Manejo de color

3.2.10. Manejo de color

darktable emplea un flujo de trabajo con manejo completo de color:

  • Las especificaciones de los colores de entrada son tomados de los perfiles ICC embebidos o provistos por el usuario o – en el caso de archivos raw – de la librería de colores específicos de la cámara.

  • darktable lee automáticamente el perfil de su monitor (si está configurado propiamente) para una rendición de color mas exacta en su pantalla. Ajustes multi-pantallas son completamente soportados mientras su sistema colord esté en lugar y propiamente configurado para informarle a darktable sobre el perfil de color correcto.

  • Los archivos de salida en uno de los perfiles auto-generados de darktable, como sRGB o AdobeRGB (compatible), o en cualquier otro espacio de color de salida que el usuario le otorgue a darktable como perfil ICC.

3.2.10.1. Perfil del visualización

In order for darktable to accurately render colors on screen it needs to find the correct display profile of your monitor. In general this requires your monitor to be properly calibrated and profiled, and it needs the profile to be correctly installed on your system. darktable querys your X display server's xatom as well as the system service colord (if available) for the right profile. If needed you can enforce a specific method in the GUI preferences dialog (see Sección 8.1, “Opciones de la Interfaz”).

Para investigar la configuración del perfil de su monitor, puede invocar el binario darktable-cmstest el cual imprime una salida con información útil como el nombre del perfil por monitor y le indica si su sistema está configurado correctamente (ver Sección 1.1.6, “darktable-cmstest binario”).

En casos raros, podrá necesitar seleccionar manualmente el perfil de visualización. Esto es posible desde los diálogos de revisión de las opciones de softproof y gama (ver Sección 3.3.9.5, “Prueba en pantalla” y Sección 3.3.9.6, “Revisión de gama”), y el diálogo del perfil de monitor en la vista de mesa de luz (ver Sección 2.1, “Resumen”).

3.2.10.2. Método de procesado

El parámetro de configuración siempre utilice LittleCMS 2 para aplicar el perfil de color de salida en las opciones básicas de darktable (ver Sección 8.2, “Opciones básicas”), define como se procesan los colores.

darktable puede procesar colores bien sea con sus algoritmos internos o al utilizar librerías externas LittleCMS2. El método interno de darktable es por orden de magnitud más rápido que el externo. La opción externa le permite escoger la representación de color y puede ofrecer una exactitud un poco mayor en algunos casos.

Note that if the given ICC is LUT-based or contains both, a LUT and a matrix, darktable will use LittleCMS 2 to render the colors regardless of that configuration parameter's value.

3.2.10.3. Representación de color

Si el procesado con LittleCMS2 es activado (ver Sección 3.2.10.2, “Método de procesado”) puede definir los como la gama de colores de salida son manejados al convertir entre espacios de color. Una caja de selección en el panel de exportar (ver Sección 2.3.12, “Exportar selección”), el módulo de perfil de color de salida (ver Sección 3.4.3.3, “Perfil de color de salida”), y la opción de prueba en pantalla (ver Sección 3.3.9.5, “Prueba en pantalla”) le da la opción de escojer entre diversas representaciones de color:

porcentual Ajustado para imagenes que mantienen una posición relativa de colores. Esta es usualmente la mejor opción.
colorimétrico relativo colores fuera de la gama, son convertidos a colores que tienen la misma luminosidad, pero diferente saturación. Otros colores permanecen sin modificaciones.
saturación Saturación se mantiene pero la luminosidad es minimamente cambiada.
colorimétrico absoluto Mantiene el punto blanco.

3.2.10.4. Espacio de color de darktable

darktable's input images are either RGB files (like JPEGs or TIFFs) or camera raws – both represent colors by a combination of red, green and blue. Most part of our modules act in the CIELAB color space (often just called Lab) which describes color as a combination of lightness data (L) and a point in the a-b color plane. The final output of the image processing pipeline is once again in RGB, either shaped for the monitor display or the output file.

Este proceso implica que el pixelpipe tiene dos modos de conversión de color: perfil de color de entrada y perfil de color de salida. Adicionalmente está el paso de demosaico para imágenes raw, donde el color de cada pixel es reconstruido por interpolación.

Cada módulo tiene una posición fija en el pixelpipe la cual le indica en cual espacio de color vive el modulo:

a demosaico   Image is in raw data format with only latent colors. Each pixel carries lightness and color information for only one base color. Please mind that some of the modules in this part can also act on non-raw input images in RGB format with full information on all three color channels.
entre demosaico y perfil de color de entrada   La imagen está en formato RGB entre el espacio de color específico de la cámara o el archivo de entrada.
entre perfil de color de entrada y perfil de color de salida   La imagen está en formato Lab. Este es un espacio de color universalmente conocido que cubre todos los colores visibles al ojo humano (e incluso más). Como darktable procesa imágenes en buffer de punto flotante, podemos manejar el espacio de color Lab sin arriesgarse a tener bandas o rupturas tonales.
luego de perfil de color de salida   La imagen está en formato RGB y es definida al seleccionar el monitor o salida del perfil de ICC.

3.2.10.5. Colores ilimitados

Theoretically the individual components of color data are confined to certain minimum and maximum levels. As an example the intensity of an individual red, green or blue color channel in RGB can be anything in the range between 0% and 100% (or between 0.0 and 1.0). Likewise the L channel in Lab can be anything between 0 (pure black) and 100 (pure white).

En la práctica, a veces los pasos de procesado de la imagen en los módulos de darktable pueden llevarlo a valores que se salen fuera de estos rangos confinados. De hecho, incluso una matriz de color bien establecidos, los cuales convierten del RGB de la cámara a Lab, puede a veces producir píxeles con valores L negativos.

Los píxeles con estos tipos de valores se dicen que tienen colores limitados. Uno podría abrazar (i.e. confinar) esos valores para el rango permitido en cada paso de procesado. Sin embargo, se ha encontrado que es preferible y menos propenso a artefactos, no abrazar colores ilimitados intermedios, pero tratarlos como cualquier otro color.

En darktable no hay requerimientos técnicos para la retención: debido al hecho de que estamos usando un punto flotante aritmético para todos los pasos de procesado, los valores ilimitados puedan ser pasados junto con cualquier otro valor hasta que el módulo que hace la conversión final de color, se asegure de que son transferidos al color mas razonable junto con la salida de espacio de color seleccionado. Por ende, darktable evitará la retención mientras el algoritmo base lo permita.

3.2.10.6. Posibles artefactos de color

Dicho esto, hay más situaciones infrecuentes que aún pueden llevar a resultados problemáticos a menos que el usuario tome algunas acciones. Algunos módulos en el espacio de color Lab, como niveles y monocromo, necesitan recaer en el hecho de que los canales L llevan toda la información de luminosidad y que los canales a y b solo representan el croma y el tono. Colores ilimitados con valores L negativos son especialmente problemáticos para estos módulos y pueden generar artefactos de píxeles negros.

Se ha encontrado que las fuentes de luz azul altamente saturadas en los marcos de la imagen, son grandes candidatos para obtener píxeles con valores L negativos. Si está involucrado en la fotografía de eventos, debe prestar atención a las imágenes con áreas de este estilo.

Para mitigar dicho problema el módulo de perfil de color de entrada (ver Sección 3.4.3.11, “perfil de color de entrada”) tiene la opción de retención de gama. Está apagado por defecto pero puede ser activado en caso de que observe artefactos. Dependiendo de los ajustes, los colores se confinan en uno de las gamas RGB ofrecidas. De hecho, los artefactos de pixel negro son prevenidos a costa de perder una parte de la dinámica. Ver Sección 3.4.3.11, “perfil de color de entrada” para ejemplos.