El flujo de trabajo de fotografía de película de Shan Hannadige comenzaba cargando un rollo de 35mm en una Canon AE-1P, disparando, enviando la película a un laboratorio para su revelado, y luego cortando los negativos en tiras para escanear cada fotograma con un escáner Plustek. Después del escaneo, cada negativo se abría en darktable para invertir los colores y realizar ediciones manuales, un proceso que tomaba unas cuatro horas por cada rollo de 36 exposiciones. A medida que el número de rollos crecía, el fotógrafo pasaba más tiempo procesando imágenes que tomándolas, lo que lo llevó a buscar formas de optimizar el flujo de trabajo.

Configuración del escritorio que muestra un escáner Plustek, el software VueScan mostrando un negativo naranja y una tira de negativos colgando bajo una lámpara.
La estación de trabajo de escaneo con VueScan y el escáner Plustek utilizados para capturar negativos de película.shannadige.com

Esta imagen ilustra el paso inicial de escaneo del flujo de trabajo, donde los negativos se digitalizan usando un escáner Plustek y el software VueScan antes del procesamiento automatizado.

Para automatizar los pasos posteriores al escaneo, Hannadige mantuvo el software VueScan para la captura de imágenes y construyó un flujo de procesamiento que primero convierte los negativos a positivos utilizando una rutina de NumPy. Esta rutina mide la densidad de color en todo el rollo y utiliza el espacio vacío inicial de la película como referencia, asegurando una corrección de color consistente para que fotogramas como un atardecer no se alteren radicalmente. El polvo y los arañazos se detectan mediante análisis de imagen, con un filtrado contextual para evitar falsos positivos como reflejos de agua, y las áreas marcadas se rellenan mediante el modelo de inpainting LaMa, que copia detalles de las regiones circundantes de la película. El grano se aborda a través de controles ajustables de exposición, contraste y temperatura, permitiendo al fotógrafo revisar y aprobar las correcciones individualmente o en lote.

Un fotograma escaneado después de la conversión que muestra un cartel colorido con el texto 'Can you dig it?'.
Un fotograma después de la conversión de color de negativo a positivo basada en NumPy.shannadige.com

Esta imagen muestra el resultado del paso de corrección de color, donde la rutina de NumPy convierte los negativos a positivos utilizando el líder vacío de la película como referencia.

Pantalla de revisión de fotogramas resaltando polvo y arañazos con círculos de colores en una imagen de un lago congelado.
La interfaz del estudio que muestra el polvo y los arañazos detectados para el inpainting.shannadige.com

Esta imagen representa la interfaz de detección de polvo y arañazos, donde el filtrado contextual marca las áreas para que el modelo LaMa copie detalles de las regiones circundantes.

Una vez procesadas, las imágenes se etiquetan automáticamente mediante Qwen3-VL ejecutándose localmente en Ollama, el cual genera etiquetas descriptivas en unos cinco segundos por fotograma. Estas etiquetas, combinadas con datos incrustados de la cámara, el lente, la fecha y el tipo de película, crean una biblioteca con capacidad de búsqueda. Las imágenes aprobadas se suben luego a un bucket de Cloudflare R2 a través del sitio personal de Hannadige, maximizando el almacenamiento y el ancho de banda del nivel gratuito. Para la presentación, se construyó una galería interactiva en three.js que se asemeja a una mesa de fieltro cubierta de cartuchos de película con arte de etiquetas real y marcas de desgaste; los usuarios pueden 'recoger' un cartucho, sacar la película para exponer los fotogramas y verla caer de nuevo sobre la mesa, mezclando la nostalgia con una experiencia digital lúdica. El proyecto requirió 11 días y 64 commits, resultando en una galería de 22 rollos y 314 fotos que datan de 2020.

Diálogo de publicación para un rollo de película que muestra la etiqueta Valentines 2026, el tipo de película, la fecha e imágenes en miniatura numeradas en orden de galería.
La interfaz de publicación que muestra los detalles del rollo seleccionado y ordena las imágenes para la galería en three.js.shannadige.com

Esta imagen muestra el paso final de presentación, donde las imágenes aprobadas se preparan para subirse a Cloudflare R2 y se muestran en la galería interactiva que se asemeja a una mesa de fieltro.