Apilar tus imágenes

Apilar tus imágenes

El apilado de imágenes es una operación imprescindible para obtener astrofotografías de calidad, fundamentalmente porque agregar múltiples capturas tiene como consecuencia una reducción del ruido en la imagen resultante. De esto modo puedes extraer detalles tenues de los objetos retratados que te resultarían imposibles de revelar de otro modo.

Las operaciones necesarias para un apilado correcto pueden resultar bastante complejas e insoportablemente tediosas, pero afortunadamente existen herramientas gratuitas de software que te ofrecen la posibilidad de realizar este proceso de un modo prácticamente automático (entre otras, Deep Sky Stacker, Registax, Iris, Siril…). Aún así, si quieres extraer el máximo valor de este proceso es recomendable que conozcas lo que tu software está haciendo entre bambalinas durante el mismo, ya que posiblemente debas elegir entre diferentes algoritmos y parámetros que pueden ser más o menos efectivos dependiendo de las particularidades de tus imágenes.

Apilar requiere partir de una serie de capturas de un mismo campo astronómico realizadas en una o varias sesiones. Las capturas deben registrarse previamente, es decir, rotarse o trasladarse de modo que los objetos del campo queden perfectamente superpuestos. Habitualmente se parte de una captura de referencia que hace de base (me he resistido a llamarlo «el campo base») y el resto de las capturas se orientan respecto a ésta empleando como puntos de referencia las estrellas presentes en cada una. Las ubicación de las estrellas tiene la ventaja de ser fácilmente computable por su contraste con el fondo del cielo, aunque en ocasiones la detección automática del software puede resultar fallida o introducir imprecisiones si las estrellas tienen un brillo muy débil, su función de dispersión de punto está muy deteriorada, la imagen contiene ruido excesivo o si está plagada de hot pixels que el software puede confundir con estrellas.

Ten en cuenta que como la rotación y traslación requerida es diferente para cada captura, sus pixeles no quedarán perfectamente superpuestos. Cada píxel de una imagen registrada puede acabar solapado con varios píxeles de la captura de referencia, por lo que sumar sus brillos puede requerir operar con estos de algún modo a una escala subpixel. Además, el apilado puede desvirtuar las propiedades estadísticas de la imagen resultante e introducir fuentes de ruido adicionales a las sufridas durante el proceso de captura, salvo que previamente se realice una normalización de las capturas encaminada a mantener propiedades estadísticas comparables. Por poner un ejemplo, las inevitables variaciones de brillo que se producen en el cielo entre capturas implican que unas mantengan un brillo medio más elevado que otras. Pero no solamente el brillo medio se ve afectado: una mayor señal luminosa del cielo viene acompañada de un mayor nivel de ruido. Para equilibrar ambas tomas y hacerlas compatibles es necesario hacerlo de manera que no solo el brillo sino también la dispersión de brillos mantengan propiedades equilibradas.

Para normalizar correctamente las imágenes suele partirse de una imagen de referencia. De nuevo existen diferentes algoritmos para abordar este asunto. El más habitual consiste en multiplicar cada una de las capturas restantes por un factor de escala agregarles una constante, ambos valores diferenciados para cada captura, encaminados a que las medias y dispersiones entre capturas mantengan propiedades estadísticas comparables. La estimación de los valores apropiados para cada factor y cada constante puede realizarse, de nuevo, mediante diferentes  métodos estadísticos con propiedades más o menos apropiadas y con exigencias de cálculo más o menos complejos. Por ejemplo, un método sencillo de normalización consistiría en:

  • Calcular Mref como la mediana de brillos en la captura de referencia.
  • Calcular Mnorm como la mediana de brillos en la captura a normalizar.
  • Calcular Sref como la mediana de las desviaciones absolutas de brillos en la captura de referencia. La desviación absoluta de un pixel es el valor absoluto de la diferencia entre el brillo de ese pixel y la mediana de brillo Mref. Una vez calculadas las desviaciones de cada pixel, necesitarías computar el valor mediano de esas desviaciones Sref.
  • Calcular Snorm como la mediana de las desviaciones absolutas de brillos en la captura a normalizar
  • Calcular la imagen normalizada mediante los tres pasos siguiente:
    • Partiendo de la imagen sin normalizar, restarle a todos los píxeles el valor Mnorm.
    • Multiplicar cada pixel de la imagen resultante por Sref/Snorm.
    • Agregarle a cada pixel del resultado el valor Mref 

Una vez normalizadas las imágenes, los diversos algoritmos para ensamblar tus capturas introducen diferentes tipos de suavizado con propiedades diferentes. Los métodos más habituales para agregar el brillo de los píxeles son:​

  • Suma: sencillamente se suman los brillos que cada captura aporta a los pixeles de la imagen base. Naturalmente la suma produce una multiplicación de los valores de brillo por el número de capturas empleadas, así que el resultado debe almacenarse en un formato que soporte estos valores tan elevados (por ejemplo las capturas de partida pueden tener un formato de 16 bits y la imagen almacenarse en un formato de 32 bits, que tolera valores de brillo 65,536 veces más eleveados).
  • Media: igual que la suma, pero dividendo por el número de capturas, de forma que el resultado puede almacenarse en el mismo formato que las capturas. Para algunas mediadas conviene tener en cuenta que dividir por una constante k altera los valores estadísticos de la imagen (su brillo medio se divide por k pero su varianza media se divide por k al cuadrado).
  • Media Acotada: consiste en realizar la media de brillo de los pixeles pero eliminando antes los valores considerados extremos para evitar sesgar el resultado. La acotación puede realizarse de varias maneras:

    • Percentiles: se elimina el porcentaje elegido (10%, 20%…) de los píxeles que tienen el brillo más alto y más bajo.
    • Sigma Clipping: se calcula la mediana de brillos de los píxeles y se eliminan aquellos cuyo brillo quedan a una distancia mayor de la mediana que un determinado valor (el valor sigma). Una vez eliminados estos pixeles, el proceso se repite con los que han quedado de forma iterativa durante una serie de iteraciones.
    • Sigma Clipping con Mediana: el proceso es análogo al de Sigma Clipping, con la diferencia de que en lugar de eliminar los pixeles con valores extremos, se mantienen sustituyendo su valor por la mediana.
    • Sigma Clipping Winsorizado: es una variante del proceso de sigma clipping que toma su nombre de Charles P. Winsor. Los pixeles con valores extremos, en lugar de ser eliminados o sustituidos por el valor de la mediana, son sustituidos por el valor del pixel con un brillo más cercano.
    • Rechazo por ajuste lineal:  desarrollado por Juan Conejero, desarrollador de Pixinsight, consiste en representar los pixeles ordenados por brillo y trazar una línea recta mediante una regresión lineal. Los pixeles que se alejan excesivamente de esta línea (en función de un parámetro), son eliminados.
  • Mediana: en lugar de emplear el valor medio de brillos, se selecciona el valor mediano (es decir, el valor que hace que la mitad de los pixeles tengan un brillo superior y la mitad un brillo inferior al mismo).
  • Máximo: toma el máximo valor de brillo de todos los pixeles a apilar.
  • Mínimo: toma el mímimo valor de brillo.

Naturalmente la fotografía resultante tendrá diferentes características en función del criterio elegido. Por ejemplo en fotografía astronómica es relativamente frecuente que un satélite artificial provoque trazas de luz sin identificar sobre una de las fotografías realizadas durante la sesión. Estas trazas tienen un brillo muy elevado por lo general, así que si el apilado se realiza tomando un valor promedio, el brillo se mitigará en la imagen seleccionada pero lo más posible es que la traza siga siendo visible. Sin embargo, si el apilado se realiza tomando el valor mínimo en cada pixel, la traza no será visible en la imagen apilada, ya que solamente aparece en uno de los fotogramas y siempre tendremos otros fotogramas con valores inferiores. El problema de estas trazas también se soluciona habitualmente tomando como valor la mediana en lugar de la media de los pixeles procesados. Sin embargo, la mediana es menos potente que la media a la hora de incrementar la relación entre señal y ruido (SNR).

El motivo principal para apilar diferentes imágenes de un mismo objeto no es tanto el eliminar artefactos concretos como el mejorar la relación Señal/Ruido de la imagen. El ruido de naturaleza aleatoria que existe en cualquier imagen y que se muestra como un granulado molesto en la misma puede suavizarse, debido a su aleatoriedad, tomando la media de los diferentes valores que un pixel toma en la imagen. La señal, sin embargo, no toma valores aleatorios, por lo que queda reforzada en la imagen resultante. La relación crece en proporción a la raíz cuadrada del número de tomas apiladas.

En las imágenes en color, el apilado se realiza separadamente para cada canal. Si la matriz de bayer de la imagen raw se ha debayerizado mediante un método drizzle o superpixel, el apilado de los pixeles de cada canal contendrá información capturada por el sensor en cada pixel. En las técnicas de debayerización mediante interpolación, los píxeles de la imagen apilada serán promedios de valores capturados por el sensor en algunos casos y de valores interpolados en otros casos.​ De nuevo existen diferentes métodos para realizar el proceso de debayerizado, lo que introduce un factor más de complejidad en el proceso de apilado.