"Háblame, oh Musa, y cuéntame del hábil varón que en su largo extravío, tras haber arrasado la

sagrada ciudadela de Ilión, conoció las ciudades y el ingenio de innumerables gentes".

Homero
, Odisea, Canto I



jueves, 27 de enero de 2011

Técnicas para eliminar la Contaminación Luminosa


La Contaminación Luminosa, como una fuente de ruido mas, puede ser determinada y sustraída de la toma en bruto con el fin de restituir la apariencia natural del cielo (por contraposición con la realidad artificial en la que vivimos sumergidos). Pero la restitución, como para los demás tipos de ruido, no es perfecta y ello es conveniente tenerlo muy presente para no llevarse a error. Excede la intención y la extensión de este post explicar los detalles técnicos de esta cuestión (quizás otro día ... ). Aquí, hoy, simplemente me limitaré a explicar un método útil para ver cómo sería nuestro cielo si no existiese la ubicua luz de nuestra civilización.

* * *

Si por mí fuese, me pasaría dos o tres meses seguidos en lo mas profundo del desierto de Atacama o en la meseta del Tibesti dedicado a la fotografía del cielo nocturno sin la mas mínima huella de contaminación luminosa en toda la extensión del horizonte. Pero a día de hoy la economía no me llega ni para acercarme a la frontera.

España es un país menos afectado de Contaminación Luminosa (en adelante CL) que muchos de sus vecinos de la UE. No obstante, no nos equivoquemos, el problema no para de agravarse. Ya hace mucho que salvo honrosas excepciones, el cielo nocturno ha perdido su oscuridad en estas tierras y, dada la insensibilidad de nuestros dirigentes y el desinterés de la mayoría de la población, no parece que en el futuro vaya a mejorar. De modo que no queda mas remedio que ingeniar maneras de combatir los efectos de la CL en nuestras fotografías.

Imagen de partida. Se trata de un caso extremo, con mucha CL y focos intensos en primer
plano que generan reflejos (parte superior derecha), para demostrar la potencia del método.


Hasta la fecha (que yo sepa) la única herramienta existente para extraer (y sustraer) el fondo luminoso y los gradientes asociados (CL, luz zodiacal, luz crepuscular, etc ), así como el viñeteo del tren óptico, es la herramienta Background Extraction (BE) de PixInsight. Esta herramienta forma parte actualmente de la versión de pago del programa, aunque antiguamente estaba presente en la versión 1.0.2 de la versión libre, actualmente retirada. Es por ello que muchas personas no disponen de ella. ¿Existe una alternativa?. Pues resulta que sí y voy a explicarla porque es muy sencilla ... y gratis.

Vaya por delante que lo que voy a explicar es una ocurrencia mía, lo que significa que, 1º, puede tener fallos o ser mejorable (ése es el espíritu del post, compartir para difundir, depurar y mejorar), y 2º, tal vez a alguien ya se le haya ocurrido (total, tampoco pretendía cobrar derechos de autor).

La técnica, que podría bautizarse Apilado en Fijo Discriminatorio (AFD), tiene una base conceptual muy sencilla; si dejamos una cámara fija haciendo una exposición del cielo estrellado, las estrellas, las nebulosas o los planetas se irán moviendo a lo largo del sensor mientras que el horizonte y todo lo que esté asociado a él (o sea, la CL) no. Así, si realizamos una serie de tomas ligeramente espaciadas entre sí y las comparamos, comprobaremos que el píxel que contiene una estrella en una toma no la contendrá en ninguna de las otras. Ello da lugar a una consecuencia significativa: si analizamos estadísticamente, con el total de las tomas realizadas, cada píxel, el valor que éste tomará será siempre muy parejo excepto para un solo dato que diferirá en gran medida de los demás.

Existe una herramienta informática gratuita que ha tenido una gran aceptación en el mundo de la fotografía astronómica. Se trata de Deep Sky Stacker, un software libre de preproceso de imágenes que alinea, apila y realiza operaciones de aritmética estadística sobre conjuntos de tomas múltiples. Su principal funcionalidad es la reducción del ruido de las tomas mediante apilado, la implementación de tomas largas por suma de fragmentos mas cortos y la posibilidad de utilizar la estadística para eliminar defectos aleatorios (trazas de aviones, rayos cósmicos, etc ... ). Es esta última la que nos va a permitir lograr nuestro propósito.

DSS es una aplicación interesantísima y muy recomendable, llena de posibilidades, pero ahora solo nos interesa una en concreto; apilar sin alineado automático y obtener el promedio kappa-sigma de cada píxel.


Imagen del fondo luminoso generada por PixInsight (izquierda) y por el método AFD (derecha). Es evidente que PI no puede
cancelar la iluminación de primer plano ni los detalles finos de la distribución de CL.

El programa es capaz de detectar automáticamente las estrellas, extraer su patrón de distribución y, en función de éste, alinear y rotar las imágenes para corregir desplazamientos del campo de la toma con el fin de lograr un apilado perfecto de las imágenes estelares. Sin embargo, nosotros lo que queremos es justo lo contrario, que no alinee las estrellas sino el horizonte y/o el fondo. Por eso elegiremos la opción de no alinear en los parámetros de apilado.

Luego, cuando apilemos, utilizaremos la opción de obtener el promedio estadístico kappa-sigma de cada píxel. Éste consiste en obtener el promedio de los valores y comparar con él cada valor individual para descartar después aquellos que se separen demasiado de él. Debemos definir lo que consideramos que es "separarse demasiado", para lo que utilizamos el valor de sigma, la desviación estandar de la muestra, y kappa, una constante por la que multiplicamos a sigma para definir cuán separado ha de estar el valor para considerarlo descartable. Una vez hace esto, vuelve a calcular el promedio de los valores restantes. Este proceso se puede iterar para aumentar su precisión, hasta que se obtiene un promedio final que será el valor de brillo que asigne a ese píxel.

Nosotros lo que tendremos, para un píxel "con estrella", será un conjunto de valores muy parecidos y correspondientes al valor del fondo del cielo en ese punto, mas un solo valor mucho mas alto (aunque la diferencia dependerá, lógicamente, de lo brillante que sea la estrella). Creo que es conveniente seleccionar un valor de sigma comprendido entre 1 y 2, y realizar una sola iteración para que no elimine mas valores de los necesarios, aunque los parámetros ideales tienen una fuerte dependencia del número de tomas que se vayan a apilar. Al aplicar el método de promediado, las estrellas y cualquier otra cosa que se haya movido lo suficiente serán eliminadas y substituidas por el promedio del fondo, resultando tras el proceso de apilado una fotografía idéntica a las que habíamos tomado salvo por que no aparecerá en ella estrella alguna. Estarán el horizonte y el fondo luminoso, incluso el viñeteo y los posibles "flares" o reflejos de luces intensas, pero sin astros. Y si, por un lado, tenemos las tomas iniciales con estrellas+CL y, por el otro, la CL a secas, bastará con restarle la segunda a las primeras para obtener unas tomas "limpias".


Resultado final de suprimir la CL mediante sustracción de la imagen de fondo, con PixInsight (izquierda) y con el método AFD (derecha). En ambos casos se ha restituido con fines estéticos el primer plano mediante suma de una misma toma de corta exposición. Se puede comprobar que PixInsight no elimina los reflejos (arriba a la derecha y las dos líneas rojizas en la parte inferior central), ni cancela totalmente la CL a lo largo del horizonte o en la farola del primer plano, ademas de generar algunos patrones cromáticos anómalos (zona azulada sobre el hangar de la izquierda), aunque no se le puede negar una mayor estética.

El método es muy potente porque cancela con gran precisión incluso primeros planos muy afectados por focos luminosos intensos, como se aprecia en el ejemplo, incluyendo los reflejos de éstos, algo que no es posible hacer con la herramienta Background Extraction de PixInsight. No obstante también tiene limitaciones respecto de BE; no puede discriminar las nebulosidades extensas, en particular la Vía Láctea, porque aunque se muevan, su extensión hace que apenas se modifiquen los valores de los píxeles de una toma a las otras. Para esos casos tal vez se pudiese seguir una estrategia "mixta" o calibrar la CL de nuestras tomas mucho tiempo después de hechas, o muy espaciadas en el tiempo, para que la Vía Láctea haya salido del encuadre. Al fin y al cabo la CL permanece fija al horizonte y no se modifica a lo largo de la noche si las condiciones meteorológicas permaneces estables, por lo que podemos realizar las tomas de calibrado de fondo varias horas mas tarde.

Si alguno de ustedes se anima a experimentarlo y tiene algún comentario o sugerencia, en particular si encuentra unos parámetros de apilado mas adecuados que los aquí expuestos, por supuesto sus comentarios serán muy bien recibidos. Insisto en que este método es una ocurrencia mía y esta sujeta a muchas posibles mejoras o ampliaciones.

6 comentarios:

  1. Has conseguido sacar Orión de la nada...excelente!!! yo prefiero buscar los espacios sin CL, así no tengo que procesar, un trabajo menos...


    apa, salut company!!!!

    ResponderEliminar
  2. Tomo nota Oddiseis, me lo tengo que releer con más calma, ya sabe que esto me interesa mucho.

    ResponderEliminar
  3. En realidad esto es un subproducto de mi trabajo para lograr un modelo predictivo sobre contaminación luminosa. Hasta un cierto punto, siento incomodidad con la idea de utilizarlo (al menos de manera indiscriminada) en fotografía de paisaje astronómico; al fin y al cabo es un falseamiento de la realidad, que es, nos guste o no, la CL.

    Pero, por otro lado, tal vez sea la única manera de poder al menos experimentar en esta especialidad fotográfica para quien no tiene la suerte de vivir en un entorno rural razonablemente libre de CL o no puede desplazarse hasta uno. Es mi caso; vivo en Valencia, una de las ciudades de España mas afectadas de CL y escapar de ella requeriría al menos hora y media larga de coche. Y mis obligaciones familiares no me permiten muchas escapadas.

    En todo caso, mi recomendación es que se tiren las fotografías a un ISO todo lo mas bajo que se pueda para obtener el mayor rango dinámico posible, a fin de que se puedan obtener detalles finos tras la substracción del fondo luminoso, que es un proceso que destruye buena parte del rango dinámico (en función del valor de ese fondo). A ver si ingenio alguna fórmula matemática que ofrezaca una "guía de usuario" sobre tiempos de exposición e ISO en función del grado de contaminación luminosa.

    Xavi, muchas gracias. Lo de procesar, como digo, es parte de un trabajo/investigación en el que me encuentro sumergido.

    Jordi, espero muy en especial tus comentarios cuando te lo hayas leido bien porque tus conocimientos científicos te hacen mas capaz de realizar un análisis crítico, sobre todo de las cuestiones de estadística de píxeles.

    Por cierto, se me ocurre que estas técnicas también pueden servir para obtener efectos especiales (rango dinámico incrementado) en fotografías con fondo luminoso causado por la luna llena.

    ResponderEliminar
  4. Me tomaré esta entrada como un ejercicio que me manda el maestro de la escuela. Pasaré unos días en absoluto reposo y necesito distracción. Ésta será una de mis motivaciones para no desesperar.

    Un saludo.

    ResponderEliminar
  5. Me parece una idea genial. Cuando tenga ocasión haré las fotos contaminadas y en vacaciones, con tiempo, nos estrenaremos con el DSS. Saludos.

    ResponderEliminar
  6. Muchas gracias Igniszz y bienvenido. A ver lo que te sale cuando hagas la prueba. Sería muy interesante que lo publicases en tu blog o me hicieras un comentario al respecto en el mio a fin de que entre todos se pudiese perfeccionar la técnica.

    ResponderEliminar