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.

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.

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.

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.

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.