jueves, 24 de abril de 2014

M109 - Procesado de una galaxia en monocromo

Acabo de finalizar el procesado de la imagen de M109, una galaxia en la Osa Mayor, bastante brillante, y al tratarse de una galaxia barrada es bastante espectacular.

La imagen la capturé en 2 sesiones, a finales de marzo y primero de abril, ya que la nubes no me dejaron hacerlo en una única sesión. En total he podido procesar 40 exposiciones de 180 segundos, tomadas con la Atik 314L+ y con el refractor SW 80ED, y como siempre bajo un cielo muy iluminado.

En esta ocasión y con la ayuda de PixelMath, he reducido mucho los pixels brillantes y oscuros, antes de aplicar la deconvolución, lo que ha permitido controlar mucho mejor el ruido, ya que en anteriores procesados, el ruido de la imagen se realza con la deconvolución. En esta ocasión lo he controlado mejor y se nota en el resultado final.

Como siempre, tras finalizar el procesado, veo que tal vez falta algo de exposición, pero con un total de 2 horas de exposición, doy la imagen por buena.

En un futuro añadiré color a la imagen, ya que tengo algunas tomas con la DSLR de esta misma galaxia, pero son pocas, y aumentan mucho el ruido, si en un futuro puedo capturar más imágenes, le daremos color a la imagen.

En esta ocasión utilizaré el formato PNG para guardar las imágenes, ya que el JPEG se degrada mucho al subirlo al blog.

La imagen finalizada

La imagen finalizada, así como los datos de la misma puede consultarse en la página web:
http://www.astrosurf.com/jcmoreno/galeria/gx/M109/M109.htm

La imagen completa final


Detalle de la galaxia



Aspecto de PixInsight tras el proceso de la imagen, he incluido el nombre de cada proceso en los correspondientes iconos.


Como siempre se realiza el preprocesado de las imágenes, para su calibración y registro, con el script BatchPreprocessing.

Recorte y corrección de gradientes

La imagen resultante del preprocesado, con darks, bias y flats.


Como puede verse existen unos gradientes y sobre todo unos defectos en los bordes de la imagen, debido a artefactos propios de la CCD, y que se repiten en todas las imágenes.

Para empezar, realizamos un recorte de la imagen para aislar los bordes. Para esta función utilizo DynamicCrop


Ahora aplicamos DBE a la imagen recortada para eliminar los gradientes.


Para aplicar el DBE, siempre genero de forma automática una red de puntos (20-30 por fila) y posteriormente corrigo la posición de los puntos que caen sobre la galaxia o sobre estrellas. este es un proceso de prueba y error, hasta conseguir una buena corrección de la imagen. Tras DBE, la imagen resultante queda así.


Ahora la imagen presenta un fondo de cielo plano, sin gradientes, y sin defectos en los bordes. Este es el punto de partida para iniciar el proceso de reducción de ruido.

Reducción de ruido

Para efectuar la reducción de ruido, primero creo una máscara de luminancia para proteger las áreas de mayor relación señal/ruido, de forma que el proceso se aplique al fondo de cielo principalmente.

Para crear la máscara, duplicamos la imagen y con HistogramTransformation, aplicamos los valores de estirado que nos da STF (ScreenTransferFunction).


De esta manera obtenemos una imagen con el histograma estirado. Debido a que en anteriores procesado, la máscara contiene el ruido inicial de la imagen, este ruido de la máscara se traslada a los procesos posteriores, principalmente a la deconvolución, por lo que en este procesado he optado por suavizar un poco la máscara antes de aplicarla, de forma que se elimine parte del ruido de la misma. Esto lo realizo con el proceso de Convolution, y los parámetros muy suaves, tal y como se muestran.

Puede verse el aspecto de la máscara antes y después de aplicar Convolution.


Ya tenemos la máscara preparada, por lo que podemos aplicarla a la imagen. Puede verse que la máscara protege la galaxia y las estrellas, y permite el tratamiento del ruido de fondo.


Ahora con la ayuda del nuevo proceso MultiscaleLinearTransform (que sustituye a ATrousWaveletTransform), realizamos una reducción del ruido en las 4 primeras capas de la imagen. Utilizando los parámetros de Threshold y Iterations mostrados a continuación.

En la imagen puede verse el efecto de la reducción de ruido, sin afectar la galaxia ni las estrellas.


Después y con la ayuda de MultiMedianTransform, se acaba de reducir el ruido, para este proceso se utilizan unos parámetros similares a los aplicados en MultiscaleLinearTransform.


En este punto el ruido se ha reducido mucho, pero aún quedan algunos pixels brillantes y oscuros que se han de eliminar, sino estos se acentuarán en el momento de realizar el proceso de Convolución. Es importante dejar la imagen lo más suave posible, sin pixels que ensucien la imagen de la galaxia.

Primero eliminaremos los pixels brillantes. Para esto utilizaremos PixelMath, y el proceso definido por Manfred Schwarz (ver la entrada relativa a M87).


La imagen de la izquierda es antes de aplicar PixelMath, y a la derecha después del proceso. Puede apreciarse que se han eliminado los pixeles brillantes de la misma, manteniendo la imagen de la galaxia sin grandes cambios. Aún se aprecian en la imagen resultante los pixeles oscuros que trataremos en el siguiente paso.

La formula utilizada es:


A continuación eliminamos los pixeles oscuros, para lo cual, buscamos los pixeles que están rodeados por pixeles más brillantes, así se eliminan pixeles aislados.

Dado que en las pruebas realizadas, se ha detectado que los casos en que hay 2 pixeles oscuros juntos, se ejecuta el proceso 2 veces. Si el pixel cumple con la condición, se sustituye por el valor medio de los pixeles circundantes.

La formula PixelMath que he preparado, es:


Una vez se aplica 2 veces sobre la imagen, el aspecto mejora mucho, tal y como se ve en la imagen de la derecha.


En este momento, podemos dar por finalizado el proceso de reducción de ruido.

Deconvolución

Mientras tenemos la imagen de forma lineal, esto es, sin haber realizado un estirado del histograma, es el momento de aplicar una deconvolución para mejorar la definición de la imagen.

Uno de los principales riesgos del proceso de deconvolución, es que si se realiza de forma muy agresivo se aumentará el ruido de la imagen. También si la imagen de partida, contiene ruido en las zonas a tratar (galaxia o nebulosa), este ruido se hará más visible, motivo por el que es tan importante aplicar un buen tratamiento de reducción de ruido.

Preparar la imagen para el proceso de deconvolución, supone generar lo siguiente:

  1. Imagen de la PSF (PointSpreadFunction) de la imagen.
  2. Máscara de estrellas, para proteger las estrellas más brillantes de efector de Ringing (efecto Gibbs).
  3. Máscara de protección del fondo de cielo, ya que la deconvolución solo se aplicará al objeto de interés (galaxia o nebulosa).

Generar imagen PSF

Para este proceso utilizaremos el proceso DynamicPSF. En este proceso marcamos estrellas de la imagen que servirán de referencia para crear la PSF. Hay que seleccionar estrellas no saturadas y que tampoco sean muy débiles. Lo mejor es seleccionar estrellas que el campo 'A' esté entre 0.2 y 0.8, pero si hay pocas con esta condición, normalmente extiendo el rango entre 0.1 y 0.9.


 Una vez tenemos las estrellas seleccionadas, y que estén distribuidas sobre toda la imagen, procedemos a generar la PSF. Para ello seleccionamos todas las estrellas y con el botón 'Export a syntheticPSF', se genera la imagen de la PSF, y la guardamos para después.


Generar máscara de estrellas

A continuación hay que generar una máscara de estrellas para proteger las estrellas más brillantes de la imagen, ya que el proceso de deconvolución puede provocar Ringing en las mismas (efecto Gibbs).

Para generar la máscara de estrellas, utilizo el proceso StarMask, con las opciones indicadas funciona suficientemente bien. El objetivo no es proteger todas las estrellas, sino solo las más brillantes. Al igual que con la PSF, guardamos la imagen de la máscara.


Generar máscara de la imagen

Finalmente generamos una máscara para proteger el fondo de cielo del proceso de deconvolución, dejando expuesto solo el objeto de interés y las estrellas.

Para este proceso utilizo RangeMask, con los parámetros indicados, pero se debe ajustar la máscara por prueba y error, verificando que la galaxia, no quedará cubierta por la máscara. Para evitar transiciones bruscas en la imagen resultante, se suaviza un poco los limites de la máscara con Smoothness.


A continuación aplicamos la máscara a la imagen, y verificamos que solo cubre el fondo de cielo, y tanto la galaxia como las estrellas no quedan protegidas.


Aplicar deconvolución

Para aplicar la deconvolución se selecciona la PSF y en el apartado de Deringing, se selecciona la máscara de estrellas. Para el tratamiento de esta imagen, se han utilizado los parámetros indicados a continuación.

Para garantizar el correcto resultado, puede variarse el número de iteraciones, así como los valores de wavelets. También es necesario ajustar el parámetro GlobalDark del Deringing.


Una vez satisfechos con los parámetros se aplica a la imagen entera. En la siguiente imagen puede verse el resultado de aplicar la deconvolución con los parámetros indicados.


Puede verse que ha mejorado el tamaño de las estrellas, así como la definición de los brazos de la galaxia. Es importante no forzar en exceso el proceso de deconvolución, sino de lo contrario aumenta mucho el ruido en la imagen.

Estirado del histograma y mejorar el fondo de cielo

Ahora ya puede estirarse el histograma, y pasar a una imagen no lineal, para continuar con el tratamiento. Para este proceso utilizo StretchMask, que se ha introducido como proceso con la versión 1.8.

Se utilizan los parámetros por defecto, que generan un fondo de cielo con un valor de 0.125.


En este momento la imagen gana contraste a la vez que se oscurece el fondo de cielo. A partir de este momento se resetea la STF, para ver el resultado tal y como quedará.

En la imagen se perciben algunas áreas oscuras, que son pequeñas fluctuaciones en el fondo de cielo, que deben corregirse. para ello con PixelMath, aplicamos la formula descrita por Gerald Wechselberger (ver entrada de M87 en este blog).

A continuación se muestra el efecto de aplicar PixelMath y corregir las áreas oscuras, con lo que el fondo de cielo se ve más suave. Para aplicar PixelMath, hay que utilizar el valor de la mediana de la imagen, que puede obtenerse con Statistics.



Reducción de estrellas

Con la imagen en modo no lineal, podemos aplicar un proceso de reducción de estrellas, de forma que se mejore el tamaño y la forma de las estrellas. Para este proceso, es necesario crear una máscara de estrellas para proteger el fondo de cielo.

Para crear la máscara se utiliza StarMask, con los valores indicados.


Aplicamos la máscara de estrellas sobre la imagen, y a continuación se utiliza el proceso MorphologicalTransformation. Para la reducción de estrellas se utiliza el operador Erosion y un patron de 5x5 circular, con los parámetros indicados.

En la siguiente imagen puede verse el efecto de MorphologialTransformation.



Debido a que las estrellas han perdido algo de brillo, se intensifica un poco las mismas con MultiscaleLinearTransform, actuando sobre la capa 2.


Ajuste final

Finalmente se ajusta el brillo de fondo de cielo con CurvesTransformation. Este proceso se realiza por prueba y error, hasta conseguir un brillo de la imagen suficientemente bueno, así como un fondo de cielo oscuro. para esta imagen el fondo de cielo se mantiene en 0.05.


A continuación se orienta la imagen de acuerdo con su aspecto real, con el norte en la parte superior y el este a la izquierda. Este proceso tenía de haberse realizado al inicio del tratamiento, pero en esta ocasión lo he realizado al final, antes de dar por finalizada la imagen.


A continuación solo queda dar el nombre definitivo a la imagen, guardar y generar la imagen en formato JPEG y con las resoluciones requeridas para su publicación.

Espero que sea de utilidad.

Saludos,

lunes, 21 de abril de 2014

M87 - Una galaxia peculiar

La noche del 4 de abril estuve fotografiando la galaxia elíptica gigante M87 situada en el cúmulo de Virgo, es una de las galaxia de mayor tamaño y más luminosas del cúmulo. Tiene una magnitud aparente de 8.6 y un tamaño de 8.3 x 6.6 minutos de arco.

Esta galaxia tiene la particularidad de tener un chorro de materia que sale del centro de la galaxia, y que posiblemente esté producido por la presencia de un agujero negro supermasivo en el centro de esta.

Aunque la fotografía de galaxias, es una tarea difícil desde el interior de una ciudad, y más con un refractor de pequeñas dimensiones, he obtenido un resultado que muestra no solo la galaxia con varias galaxias en el campo de la imagen, sino también he conseguido visualizar el chorro de materia que caracteriza a esta peculiar galaxia.

Imagen final.

Imagen con identificación de las galaxias más brillantes que aparecen en el campo.

Imagen de detalles del chorro de materia.

Imagen invertida del chorro de materia.


Procesado de la imagen.

Detalle de los pasos seguidos para el procesado de la imagen.

El primer paso, como en todas las imágenes, es el preprocesado con darks, bias y flats. Tras esto, he realizado una orientación correcta de la imagen (norte arriba y este a la izquierda), también he recortado los margenes de la imagen, para eliminar los artefactos
introducidos durante la alineación de las imágenes y he aplicado un DBE para corregir los gradientes del fondo de cielo introducidos por la contaminación luminosa.

La imagen resultante en este punto, es:



Como puede verse, la imagen contiene mucho ruido de fondo, por lo que el primer paso es aplicar las técnicas de reducción de ruido.

Primero creamos una máscara y la aplicamos a la propia imagen para proteger las zonas con mejor relación señal/ruido. A continuación aplicamos ATrousWavelet y MultiMedianTransform, a las 4 primeras capas de la imagen con los parámetros:


El resultado de reducir el ruido es.


Con este proceso se ha mejorado el ruido del fondo de cielo, pero se han introducido algunas manchas oscuras y pixeles brillantes, que es preciso eliminar, antes de continuar con el proceso.

Para eleminar los pixels brillantes, con la máscara de protección de las zonas brillante aún aplicada, utilizo PixelMath para reducir los pixels que superan la media de los pixels vecinos. Esto lo realizo con la formula:

x = XPos(); 
y = YPos(); 
xm1 = x-1; 
xp1 = x+1; 
ym1 = y-1; 
yp1 = y+1; 
p11 = Pixel( $T, xm1, ym1 ); 
p12 = Pixel( $T, x,   ym1 ); 
p13 = Pixel( $T, xp1, ym1 ); 
p21 = Pixel( $T, xm1, y   ); 
p22 = Pixel( $T, x,   y   ); 
p23 = Pixel( $T, xp1, y   ); 
p31 = Pixel( $T, xm1, yp1 ); 
p32 = Pixel( $T, x,   yp1 ); 
p33 = Pixel( $T, xp1, yp1 ); 
mean = (p11+p12+p13+p21+p23+p31+p32+p33)/8; 
iif(p22 > mean * 1.1,mean,p22)

$T representa el valor del pixel de la imagen.

Esta formula la he obtenido de la web de Manfred Schwarz:
http://www.astrophoto.at/PixInsight/

Para eliminar las zonas oscuras e igualar más el fondo de la imagen he utilizado PixelMath, con la formula:

iif( $T < 0.0022379,((med($T)-$T)/2)+$T, $T)

Donde 0.0022379 es la mediana de la imagen obtenida mediante la estadística de la misma (proceso Statistics).

Esta formula la publicó Gerald Wechselberger en su magnífica web, donde expone tutoriales de PixInsight.
http://www.werbeagentur.org/oldwexi/PixInsight/PixInsight.html

Tras estas correcciones, el fondo de cielo va mejorando.


A continuación aplico una deconvolución a la imagen, creando una PSF y una máscara de estrellas para proteger las estrellas más brillantes.

Se aplica una máscara a la imagen para proteger el fondo de cielo del proceso de deconvolución, ya que este proceso solo debe aplicarse las estrellas y galaxia.

Los parámetros de la deconvolución.


En la siguiente imagen, puede verse el efecto de la deconvolución. La imagen antes del proceso a la izquierda y tras la deconvolución a la derecha.


Con este proceso se ha mejorado la visibilidad del chorro de materia. También se ha mejorado algo la forma de las estrellas, pero no he forzado demasiado el proceso de deconvolución, para no introducir un exceso de ruido en la imagen de la galaxia.

Tras la deconvolución he aplicado un proceso de reducción del tamaño de las estrellas, explicado en la entrada referente a M64. Aunque en esta ocasión he utilizado un patrón de 5x5 con los parámetros.


Resultado de aplicar MorphologicalTransformation a la imagen. Las estrella en la imagen de la izquierda antes de aplicar el proceso se ven planas, sin forma. Como puede observarse en la imagen de la derecha (tras aplicar la reducción de estrellas), la forma de las estrellas, no es tan plana y siguen un perfil gausiano.


Después de la reducción de estrellas, he efectuado un estirado del histograma y un pequeño ajuste con CurvesTransformation, para dejar el fondo de cielo en una media de 0.05, de forma que se visualiza correctamente con el monitor en el que proceso.

Estirado del histograma con HistogramTransformation.

Ajuste con CurvesTransformation para oscurecer un poco el fondo de cielo. Aunque se ha perdido algo de brillo, el aspecto global de la imagen es mejor que antes del proceso.

Resultado final.


Para finalizar solo queda convertir la imagen a JPEG y con el tamaño deseado para la publicación de las imágenes.

La imagen, junto con los detalles de la misma, puede consultarse en mi web:
http://www.astrosurf.com/jcmoreno/galeria/gx/M87/M87.htm

Saludos,














M64 - Galaxia del Ojo Negro

Las imágenes de esta galaxia las tomé hace unos días, y el procesado de la misma ha supuesto un importante reto, ya que obtener imágenes de galaxias desde el interior de una ciudad, con la contaminación luminosa y con un pequeño refractor de 80 mm. de abertura, es todo un reto.

A esto hay que sumarle, que debido al poco tiempo disponible, he limitado la captura a 30 imágenes de 180 segundos, lo que totalizan una exposición de 90 minutos. Esta exposición es insuficiente para un objeto de este tipo, desde el interior de la ciudad, y en un futuro tendré de aumentar el número de exposiciones, ya que es difícil superar el límite de 180 segundos por captura, pues con este tiempo, la contaminación luminosa desplaza el histograma un 25% de su rango dinámico, situándose las zonas oscuras del cielo con una lectura de unas 12.000 a 14.000 cuentas.

La imagen ha sido capturada con la cámara Atik 314L+, esta cámara se adapta mucho mejor que la Canon a la fotografía de galaxias, ya que tiene un ruido muy bajo, y está refrigerada, con lo que puedo realizar exposiciones individuales de 180 segundos, en las condiciones habituales del cielo urbano. El tamaño del sensor tampoco es mucho problema, ya que los objetos como las galaxias son pequeños, y con poquísimas excepciones (M31, M33), entran de sobras en el campo cubierto por la Atik.

La imagen resultante.


La imagen puede consultarse a tamaño completo en mi web, con información de la misma:
http://www.astrosurf.com/jcmoreno/galeria/gx/M64/M64.htm

Un detalle de la galaxia a resolución completa.


El procesado de la imagen, lo he realizado con PixInsight 1.8, y en esta ocasión, a parte de los procesos de reducción de ruido, he aplicado una deconvolución.

El workspace de trabajo tras el proceso es el siguiente:



Como siempre, he iniciado con un recorte de los extremos de la imagen, para recortar los defectos del registro de las imágenes, después he aplicado un DBE, para corregir el fondo de cielo y el proceso de reducción de ruido.

Después he aplicado el proceso de deconvolución, para lo que he creado una PSF y una máscara de estrellas para proteger los núcleos de las estrellas más brillantes. También he creado una máscara con Range Mask, para seleccionar la parte de la imagen a tratar, pues hay que evitar aplicar la deconvolución sobre el fondo de cielo.

Tras la deconvolución, he aplicado un proceso de reducción de estrellas, para reducir su tamaño y mantener una forma más suave, sin saturar el centro.

Para la reducción de estrellas he creado una máscara para aislarlas, con StarMask.


En la imagen pueden verse los parámetros utilizados, para generar la máscara. Debido a que también se crea la máscara para el núcleo de la galaxia y las estrellas superpuestas a la misma, he retocado con CloneStamp la máscara para que no se aplique a la galaxia.

Se aplica la máscara a la imagen, y después con Morphological Transformation, se aplica una reducción con un patrón 3x3, dos veces, variando la forma del patrón, y se consigue mejorar la forma de las estrellas.


Tras aplicar Morphological Transformation, la imagen pierde algo de brillo, por lo que se recupera aplicando A Trous Wavelet, En la siguiente imagen puede la imagen antes y después de la reducción de estrellas.

 Para finalizar, hay que hacer el estirado del histograma, con la ayuda de STF, he ajustado el apecto deseado de la imagen. Después he transferido estos parámetros a Histogram Transformation, para obtener el aspecto final de la imagen.


Ahora solo falta guardar en formato JPEG, y hacer el ajuste de tamaño para publicar.

Como puede verse, aunque no es fácil, desde un entorno urbano, pueden conseguirse imágenes de galaxias, con una calidad suficiente. Naturalmente no hay nada como un cielo bien oscuro para este tipo de objetos, pero si no disponemos de un lugar de observación alejado de las luces de la ciudad, siempre podemos realizar observaciones y combatir la contaminación luminosa con más procesado y más tiempo de exposición total, a base de muchas exposiciones cortas.