Aurélien Pierre

Lecturas de teoría del color

¿Qué recursos se pueden encontrar en línea y en bibliotecas para ayudar a entender algo de teoría del color ?

Preámbulo

¿Qué es la teoría del color?

La teoría del color tiene 2 aspectos:

  • uno científico, históricamente vinculado a la física de la luz, pero ahora relacionado más estrechamente con la psicología, tratando de vincular señales físicas con estímulos perceptuales,
  • uno artístico, estudiando la semántica del color (que son en su mayoría culturales) y cómo juegan en la creación de sombras creíbles en pinturas o ambiente melancólico en fotografías y películas.

Cabe destacar que el lado científico también ha sido estudiado por artistas (como Munsell ). El campo mezcla nociones de:

Concepciones erróneas comunes

Esta página aborda la mayoría de los errores y malentendidos sobre Ansel que se pueden encontrar en línea.

Necesito ser un experto / ingeniero para usar Ansel

Mis videos  y mis publicaciones suelen contener tanto la parte del “cómo hacer” como la del “por qué/cómo”. El “por qué/cómo” suele ser técnico o incluso teórico, y está ahí para justificar el “cómo hacer”. Hay varias razones por las que doy ambos :

Las matemáticas de difuminar o enfocar

Este artículo documenta las matemáticas actualmente implementadas en el módulo diffuse or sharpen de Ansel, tal como se encuentran en src/iop/diffuse.c, src/common/bspline.h, data/kernels/diffuse.cl y data/kernels/bspline.cl. No es una guía de uso. Es una reconstrucción del modelo numérico a partir del código fuente, con las afirmaciones científicas rastreadas hasta las referencias citadas en los comentarios del código.1

Resumen

El módulo opera sobre una descomposición multiescala à-trous a resolución completa de la imagen, construida a partir de desenfoques de B-spline cardinal. En cada escala, Ansel calcula cuatro operadores anisótropos de segundo orden sobre las bandas de baja frecuencia y de alta frecuencia por separado, regulariza su acción mediante una energía local de la banda de alta frecuencia normalizada por la escala, opcionalmente restringe la actualización a una máscara binaria de reconstrucción (inpainting), y reconstruye la imagen de lo grueso a lo fino.2 Los operadores espaciales discretos son plantillas (stencils) de diferencias centradas de 3x3 muestreadas sobre la subred dispersa à-trous de la escala actual, de modo que el mayor soporte físico proviene del paso $2^s$ de la escalera de wavelets y no de un núcleo de EDP mayor.31

Las matemáticas de los guided laplacians y la transposición armónica

Este artículo presenta las matemáticas de la reconstrucción de luces de Ansel: el diseño original de 2021 de los guided laplacians, cuyas ideas generales solo se habían esbozado en el foro pixls.us,1 y la transposición armónica, el método que lo reemplazó tras un estudio con verdad de referencia (ground truth) que expuso un fallo de recuperación de magnitud.2 Está organizado de modo que cada lector encuentre su sección: los resultados y la sección Intuición y contexto de cada método no necesitan matemáticas; los desarrolladores encontrarán las subsecciones de Implementación y optimizaciones y el estudio de rendimiento; los hallazgos teóricos y el anexo del cementerio están escritos para ser reutilizables fuera de la fotografía; y cómo se hizo realmente este trabajo documenta el protocolo de investigación hombre-máquina que hay detrás.

Gestión del color para usuarios de Linux

Linux sigue estando muy por detrás de MacOS e incluso de Windows en lo que respecta a garantizar la consistencia de los colores mostrados en el monitor. La adopción ampliamente forzada del servidor gráfico Wayland en la mayoría de las distribuciones de Linux ha dañado aún más esta situación, ya que la gestión del color fue rechazada durante mucho tiempo por los desarrolladores de Wayland. La especificación de un CMS en Wayland se redactó finalmente en 2020 y el código se fusionó en el Wayland oficial (upstream) en 2025, por colaboradores externos, y tras una larga batalla de los desarrolladores del software de CMS anterior contra los desarrolladores históricos de Wayland.1 Desde entonces, el estado del soporte de CMS es muy irregular entre los distintos entornos de escritorio y distribuciones. Y sin embargo, los resultados preliminares de la telemetría de Ansel muestran un 67 % de adopción de Wayland entre los usuarios de Ansel.

Damos la bienvenida al nuevo mantenedor de Ansel

Jiyoné (Guillaume Stutin) ha asumido el mantenimiento de Ansel desde octubre de 2025. El objetivo actual es convertir Ansel en una cooperativa  donde los usuarios puedan hacerse socios y controlar democráticamente las orientaciones y prioridades del proyecto, pero también garantizar una retribución justa y un entorno de trabajo seguro para quienes dedican su fuerza de trabajo al proyecto. He expuesto la descripción del problema y la solución propuesta en la página democracia.

Cambios en la distribución de paquetes de Ansel

Desarrollo

Target clones

Compilar el software de forma nativa en el ordenador solía mejorar los tiempos de ejecución en la CPU en torno a un 30 %, en comparación con los paquetes precompilados. La razón es que el compilador realiza optimizaciones específicas para el hardware de destino sobre el que se compila, mientras que los paquetes precompilados tienen que mantenerse genéricos y activar optimizaciones más conservadoras en aras de una amplia compatibilidad. Ten en cuenta que los kernels de OpenCL se compilan, de todos modos, para tu GPU concreta usando tu controlador de OpenCL, así que ahí la historia es distinta.

Los controles de color por fin correctos

Development Design

Introducción

Herramientas frente a máquinas, artesanía frente a industria

En su libro The Technological Society (1954), Jacques Ellul presenta la diferencia entre las épocas anterior y posterior a la revolución industrial de la siguiente manera:

La era preindustrial es el reinado de la herramienta y de la artesanía. La propiedad primordial de las herramientas es ser genéricas, versátiles y adaptables. Corresponde al artesano desarrollar sus habilidades para hacer que las herramientas sigan su intención, de modo que la mano supla las limitaciones del instrumento. Este concepto sigue siendo bien conocido hoy por los músicos: tienes que practicar, aprender, intentar, fallar, reintentar… no hay atajos. Ellul insiste en la idea de parsimonia que acompaña a las herramientas: los recursos son limitados, así que tu conjunto de herramientas queda prácticamente definido por lo que puedes permitirte, transportar, dominar y construir localmente. Las modas cambian despacio y son locales, porque usan recursos locales y se adaptan a necesidades locales, y las herramientas siguen el mismo patrón. Las herramientas son legados que pasan de maestro a aprendiz, de padre a hijo. No se vuelven incompatibles ni obsoletas.

Rediseño de la mesa de luz y la caché de mipmaps

Desarrollo Rediseño Rendimiento

Entre enero de 2022 y marzo de 2026, Ansel incorporó 297 commits (sin contar las fusiones) relacionados con la cuadrícula de la mesa de luz, sus miniaturas, y su pipeline de renderizado y cacheado. Intenté apañármelas con el desaliñado código de la mesa de luz de Darktable, solo desengrasado, durante todo el tiempo que pude, pero por desgracia era pura deuda técnica y era dolorosamente lento.

En efecto, Darktable “gestiona” la cutrez de su mesa de luz reduciendo su tamaño: los paneles laterales izquierdo y derecho ocupan mucha superficie de pantalla, lo que deja aún menos área para que la mesa de luz se repinte. Puesto que Ansel eliminó el panel lateral derecho, fusionando su contenido con el izquierdo y con el menú global, había más superficie que pintar, más trabajo de CPU que hacer, y el pésimo diseño de la mesa de luz se volvió todavía más perjudicial.

Revisión completa del pipeline

Development

Desde que empecé a usar Darktable, allá por 2012, siempre me sorprendió lo poca RAM que usaba. La gente cree que es bueno que una aplicación use la memoria con moderación, y eso es cierto sin duda si hablamos de tu entorno de escritorio. Pero hablando de un software de producción que hace un renderizado intensivo de píxeles sobre imágenes de 12 a 54 Mpíxeles, esto significa que los mismos cálculos pesados se hacen una y otra vez en lugar de guardarse para reutilizarse más tarde. Para eso sirve una caché: para evitar cálculos costosos. Y para eso debería usar toda la RAM disponible, porque calcular es malgastar energía, y eso tiene un impacto concreto si trabajas con batería. Además, pagaste por esa RAM y usarla no vacía tu batería. La CPU/GPU, por otro lado…

La fusión de historiales, ahora robusta y predecible

Development

Memorias de un tipo que pasó demasiado tiempo limpiando la mierda de los demás y pagando por sus malas decisiones, episodio #demasiados.

Copiar/pegar historiales y estilos son funciones fundamentales en Ansel, y las que hacen que merezca (o no) su título de «aplicación de flujo de trabajo». Pero también están entre las más difíciles de acertar internamente. Los usuarios ven una lista de ediciones, pero por debajo esas ediciones dependen del orden del pipeline, de las instancias de módulos y de las máscaras. Si dos imágenes tienen topologías de pipeline distintas, copiar ediciones de forma ingenua puede producir inconsistencias.

Reescribir desde cero los atajos de teclado (aceleradores)

GUI Usabilidad

En mi artículo fundacional, Darktable: estrellándose contra el muro a cámara lenta, presenté el desastre que era el nuevo «gran turducken MIDI». El propósito de este turducken1 era reescribir el sistema de atajos de teclado para ampliarlo a los dispositivos MIDI.

A día de hoy, sigo furioso por esta empresa de destrucción masiva; aquí tienes un resumen de las razones:

  1. en 2021 reemplazó un sistema de atajos de teclado que era bastante bueno, funcionalmente completo, bien probado, estable y programado en menos de 1500 líneas (comentarios incluidos),
  2. …para añadir compatibilidad con dispositivos MIDI y mandos de PlayStation (!?!)…
  3. …pero en mi encuesta de Darktable de 2022, un año después de esta nueva función, de más de 1251 usuarios que participaron:
    • el 81% de los usuarios no tenía un dispositivo MIDI ni pensaba conseguir uno,
    • el 2% ni siquiera sabía lo que era un dispositivo MIDI.
    • el 8% de los usuarios tenía un dispositivo MIDI pero no lo usaba con Darktable,
    • el 6% se planteaba quizás conseguir un dispositivo MIDI en el futuro,
    • el 2% de los usuarios tenía un dispositivo MIDI que realmente usaba en Darktable,
  4. el código era absolutamente terrible, en términos de:
    • calidad del código: sentencias if/switch-case ilegibles anidadas en 4 niveles, en medio de funciones de 1000 líneas (publiqué fragmentos de ejemplo en mi artículo),
    • volumen de código:
      • 3546 líneas de código para Darktable 4.0,
      • 4397 líneas de código para Darktable 5.0,
      • el aumento de volumen es una consecuencia directa de intentar corregir errores en una arquitectura que no se puede arreglar porque su complejidad fomenta más complejidad. Todo eso surge del diseño, pero resolver los problemas creados por la complejidad añadiendo más complejidad no es una solución.
    • complejidad del código:
      • complejidad ciclomática :
        • 1088 para Darktable 4.0,
        • 1245 para Darktable 5.0 (detalles ),
      • complejidad cognitiva :
        • 1885 para Darktable 4.0,
        • 2098 para Darktable 5.0 (detalles ).
      • es con diferencia la función más compleja del software, aunque no opera sobre imágenes. A modo de comparación, la segunda función más compleja es la decodificación de metadatos EXIF, que tiene una complejidad cognitiva de 1348.
  5. no decodifica los modificadores de teclas por diseño, sino que solo trata las pulsaciones de teclas físicas, lo que significa que:
    • la entrada «1» del teclado numérico se decodifica como Keypad End,
    • la entrada «1» de un teclado francés AZERTY se decodifica como Shift+&, o Shift+" en BÉPO,
    • por lo tanto necesitas duplicar todos tus atajos basados en números para cada forma de introducir un número, y prepararte para que la ventana de configuración de atajos no contenga ningún número real en las combinaciones de teclas.
  6. el diseño de cara al usuario es absolutamente terrible, con demasiadas acciones y emulaciones que configurar («efectos»), que ni siquiera están completamente documentadas 4 años después (¿qué es «ctrl-toggle»? ¿«right-activate»?), y la configuración de atajos usa una extraña ventana dividida que no tiene ningún sentido,
  7. la implementación también es terrible: la función conoce toda la GUI del software, y la GUI del software conoce el código de los atajos. Aquí no hay modularidad, y cambiar cualquier cosa en el código de los atajos puede tener efectos inesperados e indeseados en cualquier parte del software.2 Basta con ver el grafo de dependencias de abajo,
  8. se pueden asociar varios «atajos» (o asignaciones MIDI) a la misma acción, lo que significa que cada interacción del usuario tiene que recorrer toda la lista de acciones disponibles, provocando una gestión de atajos muy ineficiente, retardos en la GUI en algunos casos y falsos positivos de «combinación de teclas desconocida» en casos peculiares.
image
Teclas numéricas no decodificadas y extraña división de ventana entre «acción» y «atajo».
image

El grafo de dependencias de src/gui/accelerators.c (el gran turducken MIDI) antes de la reescritura. Adivina por qué lo llamamos «código espagueti »… Esto deja claro que hay una dependencia bidireccional entre el código de los aceleradores y el resto del código de la GUI. Esto es una pesadilla de mantener.

¡Bienvenido, Ansel GPT!

Anuncio

Después de finalmente conectar todo el sitio web y la documentación a un flujo de trabajo de traducción hermético (utilizando po4a sobre Hugo), que resulta utilizar el mismo conjunto de herramientas y lógica que la aplicación Ansel, se me ocurrió la idea de automatizar las traducciones vacías, primero a partir de los archivos de traducción del software, y luego a través de la API de ChatGPT, que hace un trabajo bastante justo al traducir la sintaxis de Markdown.

Escaneo de película

Película Negativo

Alain Oguse aprendió a imprimir fotografías con Claudine  y Jean-Pierre Sudre  a finales de los años 60, y pasó su carrera temprana en la fotografía comercial. Después de retirarse, comenzó a investigar cómo recuperar el grano fotográfico (haluro de plata) en escaneos digitales de negativos de película, encontrando la misma nitidez y calidad que tenía con ampliadoras de luz casi puntual en los años 70.

¡Bienvenido, documentación para desarrolladores!

Desarrollo

En diciembre de 2019, pedí que alguien se encargara de proporcionar paquetes AppImages  para Darktable. El beneficio obvio habría sido habilitar pruebas tempranas, antes del lanzamiento, de personas que no pueden construir el código fuente por sí mismas, con la esperanza de proporcionar comentarios tempranos y ayudar a depurar antes del lanzamiento. Esto nunca ha sido una prioridad, lo que significa que estaba bien tener una prisa antes y posterior al lanzamiento para corregir errores.

Balance(s) de blancos

Todos sabemos lo que es el “blanco”. Podemos imaginar una hoja de papel blanca. Sabemos que es blanca porque lo aprendimos. Pero si pones tu hoja de papel bajo el sol de verano, o un cielo nublado, o en casa con esas bombillas cálidas de la sala de estar, ese blanco cambiará de color. Podría perturbarte durante los primeros segundos, luego simplemente te olvidarás de ello: tu cerebro se adaptará. Pero, ¿a qué se adapta?

Solucionando problemas de color

Esto se aplicará tanto a Darktable upstream como a Ansel ya que comparten la mayoría de su pipeline de color. El siguiente procedimiento te ayudará a solucionar tus problemas de color, ya sea inconsistencia de apariencia entre exportación vs. vista previa, o entre pantalla vs. impresión, o entre 2 aplicaciones.

Configura tu escritorio adecuadamente

El problema inherente del color es que solo existe como una percepción, y esa percepción es altamente contextual y fluida. Si tomo cualquier parche de color y lo muestro sobre un fondo blanco, gris medio o negro, no parecerá el mismo a pesar de que un colorímetro confirmaría que es exactamente el mismo color. He construido una pequeña animación web para mostrar este efecto, mostrando cortes del espectro sRGB a tono constante, sobre la ligereza del fondo definida por el usuario: el libro de color sRGB .

Reparando la caché de la canalización y errores de hace 10 años

Desarrollo

Resumen de los episodios anteriores

  1. Entre 2020 y 2022, Darktable sufrió una empresa de destrucción masiva, a manos de un puñado de tipos con más tiempo libre y benevolencia que aptitudes reales,
  2. En 2022, empecé a notar un molesto retardo  entre las interacciones de la GUI con los controles deslizantes y la retroalimentación/actualización de dichos deslizantes. A falta de una señal que indicara que el cambio de valor se había registrado, los usuarios podían volver a cambiarlo, iniciando así recálculos adicionales del pipeline y congelando de hecho su ordenador porque la estúpida GUI nunca decía “entendido, ahora espera un poco”.
  3. Descubrí que las órdenes de recálculo del pipeline se emitían dos veces por clic (una en el evento “botón pulsado”, otra en el evento “botón soltado”), y una vez más por cada movimiento del ratón, pero también que los estados de la GUI se actualizaban aparentemente después del recálculo del pipeline.
  4. Corregí eso reescribiendo casi por completo los controles personalizados de la GUI (biblioteca Bauhaus). Pensé que impedir las órdenes de recálculo imprudentes iba a resolver el retardo: no fue así. Entonces descubrí que solicitar un nuevo recálculo del pipeline antes de que terminara el anterior esperaba a que el anterior terminara, a pesar de un mecanismo de apagado implementado hacía muchos años que debería haber funcionado.
  5. Corregí eso implementando un mecanismo de interruptor de apagado (kill-switch) en los pipelines, siguiendo comentarios en el código de la década de 2010 y utilidades internas que bien podrían no haber funcionado nunca. Esto no siempre funcionaba porque la orden de apagado llegaba a menudo con un retraso perceptible. Una vez más, el retardo de la GUI no quedó corregido.

Reescritura de la herramienta de importación

Desarrollo Rediseño

Ansel hereda de Darktable su estructura de base de datos: los historiales de edición no destructiva se guardan por imagen en una base de datos SQLite, junto con metadatos y otros datos definidos por el usuario. Hacer que la base de datos reconozca nuevas imágenes se realiza a través de la “importación” de imágenes desde un disco o tarjeta de memoria. Ahí es donde entra en juego la herramienta de importación.

Léxico de color

mapa mental
  raíz((COLOR))
    modelo de apariencia de color
      espacio de color uniforme
        cromaticidad
          U, V
          a, b
        claridad
          L
        delta E
      transformación de adaptación cromática
        iluminante
          índice de reproducción de color
          temperatura de color
      iluminación ambiental
      claridad de fondo
    dimensiones
      Munsell
        matiz
        croma
        valor
      sistema de color natural
        negrura
        saturación
        matiz
      CIE
        claridad
        brillo
        saturación
        croma
        coloridad
        matiz
    medida
      colorimetría
        trístimulo
          sensor
            criterio de Luther-Ives
            metamerismo
            rango dinámico
            ruido
            mosaico
              Bayer
              XTrans
              artefactos de cremalleras
          espacios
            rgb(RGB)
              HSV
              HSL
            LMS
              Yrg
            XYZ
              Yxy
                Yuv
                  Ych
            CYM
              CYMK
            primarias
              células cono
              LED
                ITU BT. Rec 709
                ITU BT. Rec 2020
                DCI P3
              tintas
      espectrometría
        espectro de luz
          longitudes de onda
          energía
      fotometría
        luminancia
    corrección
      perfil
        matriz
        tabla de búsqueda
        función de transferencia
      corrección de color
        CDL ASC
        mezclador de canales
        curvas
      balance de blancos

Translated from English by : ChatGPT, Claude. In case of conflict, inconsistency or error, the English version shall prevail.

Implementación del interruptor de apagado en la canalización

Desarrollo

He pensado, durante mucho tiempo, que había algún mecanismo de interruptor de apagado en la canalización de píxeles. El caso de uso es el siguiente:

  1. estás cambiando un parámetro del módulo,
  2. las vistas previas (la central del cuarto oscuro y la miniatura en el panel izquierdo, también utilizada para el histograma y selectores de color) recomputan su canalización para tener en cuenta ese cambio,
  3. una de las vistas previas termina de renderizar antes que la otra, y el resultado es obviamente no lo que querías,
  4. cambias nuevamente el parámetro del módulo, sin esperar a que termine la recomputación.

En ese caso, quieres eliminar todas las canalizaciones activas porque su salida no se utilizará y comenzar a recomputar todo de inmediato con los nuevos parámetros. Excepto que Darktable no hace eso, deja que la canalización termine antes de reiniciarla, y al observar los comentarios en el código fuente, parece ser una regresión bastante reciente y no el comportamiento originalmente previsto.

Des-darctableando los controles de GUI

Desarrollo

Darktable tiene su propia biblioteca de widgets de GUI, para sliders y comboboxes (también conocidos como menús desplegables o cuadros de selección), llamada Bauhaus (en el código fuente, está en src/bauhaus/bauhaus.c). Aunque usan Gtk como backend, Bauhaus son objetos personalizados. Y como muchas cosas en Darktable, personalizado equivale a podrido.

En 2022, noté redibujados parásitos y retrasos , al usarlos, lo que lleva a una experiencia de usuario frustrante: el redibujado del widget parecía esperar a que se completaran las recomputaciones del pipeline, lo que significaba que los usuarios no estaban realmente seguros de que su cambio de valor se registrara, lo que podría llevarlos a intentarlo de nuevo, comenzando otro ciclo de recomputación costosa, y congelando efectivamente su computadora durante varios minutos muy frustrantes de recomputaciones de pipeline intermedias inútiles.

Cambios en el soporte de distribución para el paquete Linux AppImage

Anuncio

Rawspeed (la biblioteca que proporciona los decodificadores para archivos raw de cámaras) ha dejado de dar soporte a GCC < 12. Como resultado, ya no puedo construir el AppImage en Ubuntu 20.04 (utilizando ejecutores de Github), sino que tengo que construirlo en 22.04.

Esto significa que cualquier distribución de Linux que tenga libc más antiguo que 2.35 no podrá iniciar los nuevos AppImages a partir de hoy. Esto no debería afectar a la mayoría de los usuarios que ejecutan distribuciones actualizadas en 2021 o más recientemente. Ubuntu 20.04 y otras distribuciones LTS/old stable (Debian stable) pueden verse afectadas.

Impresión

El flujo de trabajo referido a la escena promete una edición independiente del medio de salida. Normalmente producirá una imagen codificada en espacio de color sRGB con 8 bits, es decir, valores de código entre 0 y 255. Para simplificar, consideraremos aquí solo el caso de 8 bits. Los conceptos son los mismos en 16 bits, solo que el rango de codificación va de 0 a 65535, lo cual es anecdótico.

Explicando el rediseño de grupos de módulos en Ansel

Diseño

Si vienes de Darktable, puedes estar acostumbrado a esto en el cuarto oscuro:

image

mientras que Ansel te ofrece esto:

image

Esto no es accidental, y es hora de explicar por qué, y por qué esto no se extenderá con opciones de personalización.

Nuevas opciones de compilación para Linux

Desarrollo

Descubrí accidentalmente que el script de compilación de Linux usaba una compilación “package”, lo que significa que las optimizaciones de CPU están limitadas a las genéricas para producir binarios portátiles que se pueden instalar en cualquier plataforma x86-64. Por “usar”, me refiero a que la compilación del paquete no estaba explícitamente deshabilitada, así que estaba habilitada por defecto.

De todos modos, ahora está deshabilitada por defecto, ya que los paquetes reales (.exe y .appimage) no se construyen a través de ese script, que está principalmente destinado a ayudar a los usuarios. Para volver al comportamiento anterior, necesitarías ejecutar:

Diario de desarrollo #2: presentando a Chantal

Desarrollo

2022 fue tan malo en términos de correos electrónicos no deseados y ruido que comencé el Secretario Virtual , un marco en Python para escribir filtros de correos electrónicos inteligentes cruzando información entre varias fuentes para adivinar qué son los correos electrónicos entrantes y si son importantes/urgentes o no. Cuando hablo de correos electrónicos no deseados, también me refiero a notificaciones de Github, menciones en pixls.us (gracias a Dios cerré mi cuenta en ese foro estúpido), YouTube y correos electrónicos directos de personas que esperan recibir ayuda en privado.

Edición Básica

Aquí está cómo comenzar con la edición en Ansel, pasando solo por los pasos más básicos que deberían servirle bien la mayor parte del tiempo.

El video se grabó en Darktable 3, pero los mismos módulos y principios se aplican a Ansel.


Translated from English by : ChatGPT, Claude. In case of conflict, inconsistency or error, the English version shall prevail.

Entonamiento monocromo

Película Monocromo

Este artículo demostrará cómo realizar el entonamiento monocromo en imágenes digitales en Ansel, para emular la interpretación del color de los cianotipos, platinotipos, sepia y desarrollos de entonación dividida.

Paso 0: preparación global

Ajuste la exposición global y el blanco y negro de escena fílmica, como en cualquier otra edición. Consulte pasos de edición básica. Esta es nuestra imagen base, por Glenn Butcher:

image

Diario de Desarrollo

Desarrollo

Han pasado aproximadamente 3 meses desde que rebauticé ‘R&Darktable’ (que nadie parecía entender bien), en ‘Ansel’, luego compré el nombre de dominio y creé el sitio web desde cero con Hugo (nunca había programado en Golang antes, pero es principalmente código de plantilla).

Luego pasé un total de 70 h haciendo que los paquetes de compilaciones nocturnas para Windows y Linux funcionaran para entrega continua, algo que Darktable nunca logró (“puedes construirlo tú mismo, no es difícil”), solo para ver al rastreador de errores explotar después del lanzamiento (nada mejor que encadenar el sprint de pre-lanzamiento con uno post-lanzamiento para reducir tu expectativa de vida).

Darktable: estrellándose contra la pared en cámara lenta

¿Qué sucede cuando una banda de fotógrafos aficionados, convertidos en desarrolladores aficionados, se une a un grupo de desarrolladores de backend que desarrollan bibliotecas para desarrolladores y deciden trabajar sin método ni estructura en un software de la industria para usuarios finales, cuya competencia principal (colorimetría y psicofísica) se encuentra entre una licenciatura en fotografía y una maestría en ciencias aplicadas, mientras prometen entregar 2 versiones cada año sin gestión de proyectos? Todo eso, por supuesto, en un proyecto donde los fundadores y la primera generación de desarrolladores se movieron y huyeron?

El flujo de trabajo referido por escena

Ciencia Del Color Pipelines

En este artículo, aprenderá qué es el flujo de trabajo referido por escena, cómo lo usa Ansel y por qué beneficia al procesamiento de imágenes digitales en general.

Introducción

El flujo de trabajo referido por escena es la columna vertebral de la tubería de imágenes de Ansel. Es una lógica de trabajo que proviene de la industria del cine, porque es la única manera de lograr una composición robusta y sin fisuras (también conocida como alpha blending) de gráficos en capas, de los cuales dependen en gran medida las películas para mezclar efectos especiales generados por computadora con imágenes de la vida real. Para los fotógrafos, es principalmente para escenas de alto rango dinámico (HDR) (sujeto a contraluz, puestas de sol, etc.) que demuestra ser útil.

Search

You can also ask Chantal, the AI search engine.