viernes, 16 de mayo de 2014

CCDInspector - Selección de imágenes

En esta entrada del blog, voy a explicar el proceso que utilizo para la selección de las imágenes a procesar. Debido a que la realización de las fotografías desde el interior de una ciudad, supone que estarán muy afectadas por la contaminación lumínica, es necesario seleccionar bien las imágenes, ya que cualquier variación en la transparencia del cielo (nubes, neblina, ...) afecta mucho al fondo de cielo.

Para seleccionar las fotos utilizo el programa CCDInspector. Este programa puede descargarse gratuitamente una versión de prueba de la web de CCD Ware. La versión de prueba es totalmente funcional y puede utilizarse durante 30 días para evaluar las cualidades del programa.

El funcionamiento de CCDInspector es muy simple y rápido, ya que tras indicarle las imágenes a analizar y especificar el tamaño de pixel de la cámara, evalúa la calidad de todas las imágenes y permite seleccionarlas.

Vamos a ver como se realiza el proceso a partir de una serie de fotografías de M91 tomadas el 4 de mayo.



Una vez entramos en el programa, lo primero es seleccionar las imágenes a procesar.


Seleccionamos todas las imágenes y pulsamos 'Abrir'.


El programa cargará todas las imágenes en la pantalla principal, pero antes de analizar las imágenes es necesario definir el tamaño de pixel, para poder calcular la FWHM. Este valor se entra en el dialogo de 'Default Image Properties...'.


Para la combinación óptica empleada, el tamaño de pixel es de 2,2 segundos de arco.


Con el valor del pixel, ya pueden analizarse las imágenes, para lo que se pulsa 'Measure All'.


El programa solicitará la confirmación por si se quiere utilizar el valor por defecto.


A continuación el programa evalúa todas las imágenes, y muestra los datos ordenados en pantalla. Si se quiere cambiar la ordenación entre los distintos campos mostrados, se puede pulsar el título de la columna.


Para las imágenes es importante revisar tanto el FWHM como el Background de la imagen, ya que el primero indicará si la imagen es de buena calidad (buen enfoque y sin derivas), mientras que el 'Background' nos dará una indicación del brillo del fondo de cielo. Este último es muy importante al permitir seleccionar las imágenes con un menor brillo de fondo de cielo.

Una opción que permite el programa es poder mostrar de forma gráfica los parámetros analizados y que permiten una mejor selección de las imágenes. Para acceder a las gráficas, se pulsa 'Charts...'.


Para la selección de las imágenes a procesar, utilizo 3 gráficas de las múltiples que permite el programa.
  • FWHM
  • Background
  • Aspect

La gráfica de FWHM muestra el tamaño de las estrellas, como ejemplo, en la serie utilizada de M91, el valor de FWHM es bastante constante en todas las imágenes, excepto el la imagen 38, donde el valor aumenta mucho respecto al resto de las imágenes.

Situando el cursor sobre uno de los puntos, aparece la información de la imagen.


Otra de las gráficas utilizadas para seleccionar las imágenes es la de 'Background (adu)', que muestra el valor de fondo de cielo.

Para la toma de imágenes desde una ciudad esta gráfica es la más importante, ya que el fondo de cielo varía mucho respecto a la altura del objeto sobre el horizonte, así en la gráfica a continuación, se aprecia perfectamente que el brillo del fondo de cielo mejora, ya que el objeto se acerca al meridiano, ganando altura sobre el horizonte.

A partir de medianoche (sobre la imagen 15), hay una mejora brusca en la calidad del fondo de cielo, tras lo que el objeto continúa mejorando hasta cruzar el meridiano, y después aumenta ligeramente el brillo de la imagen.


La última gráfica que utilizo para la selección de las imágenes es la que no indica la forma de las estrellas 'Aspect', que muestra si las estrellas presentan una forma redonda o alargada. Cuanto mayor sea el valor del 'Aspect', más alargada es la forma de las estrellas, y esto suele ser debido a problemas con el seguimiento.


Una vez revisadas las gráficas, pasamos a la selección de imágenes, por lo que se ordenan las imágenes por los distintos valores, y se seleccionan. Podemos marcar con el cursor las imágenes a eliminar, pudiendo borrarlas o moverlas a otro directorio. Una vez marcadas las imágenes a eliminar, con el botón derecho del ratón se muestran las opciones, y seleccionamos 'Move to Folder...'.


A continuación seleccionamos la carpeta donde mover las imágenes rechazadas, y procedemos a eliminar las imágenes seleccionadas de la lista en pantalla con la opción 'Remove'.


Una vez hemos eliminado todas las imágenes que no deseamos, en el directorio a procesar quedarán las imágenes que cumplen con los mínimos de calidad que nos hemos fijado.

Otra opción interesante que permite el programa, es la posibilidad de volcar la lista de imágenes con los valores analizados en un fichero. Para lo que podemos copiar la lista de datos al portapapeles con la opción 'Copy Report to Clipboard'. Después podemos pegar el informe en un editor de textos (Notepad o similar).


De esta forma podemos documentar los parámetros de las imágenes.


Es importante que en el momento de analizar las imágenes se revisen todos los parámetros de la misma, ya que para la selección de las imágenes, no solo hay que seleccionar el FWHM. Pues en la serie mostrada a continuación, puede verse que la calidad de la imagen mejora durante la sesión de fotografía, pero debido a la presencia de nubes al final de la sesión, el brillo aumentó mucho, aunque la calidad de las imágenes continuaba siendo buena.

Naturalmente las imágenes con fondo de cielo muy elevado, hay que descartarlas, pues no presentan el contraste necesario.



El programa aparte de analizar las imágenes y permitir de forma fácil la selección de las mejores para su procesado, tiene más funciones, entre las que destacan un análisis de la imagen que nos indica la iluminación del plano focal, curvatura, centrado y inclinación del mismo.


Espero que sea de utilidad.

Saludos,

jueves, 8 de mayo de 2014

M104 - Detalle del procesado

La noche del 2 de mayo, aprovechando que la transparencia del cielo era buena, dediqué un rato a fotografiar la galaxia M104, situada en la constelación de Virgo, y aunque está bastante baja sobre el horizonte ya que tiene una declinación de -11 grados, pude realizar una serie de 46 tomas de 180 segundos, resultando prácticamente la totalidad de ellas de buena calidad, siempre teniendo en cuenta que las imágenes se realizan desde el interior de la ciudad.

En total he conseguido acumular 2,3 horas de exposición con el refractor Sky Watcher 80ED sobre la montura HEQ5-PRO. Para la toma de las imágenes he utilizado el equipo habitual, la cámara Atik 314L+, con el filtro IDAS-LPS.

Para la captura de las imágenes utilizo Images Plus 4.25. La guía de las imágenes la realizo con un refractor en paralelo de 80 mm. y 400 de focal, con una cámara Meade DSI-II PRO, y el programa PHD.

Para el procesado de las imágenes, utilizo PixInsight 1.8.


El resultado tras el procesado de las imágenes.


El workspace de PixInsight tras el procesado de la imagen.


Para el preprocesado de las imágenes he utilizado el script BatchPreProcessing, tras la calibración, registro y integración de las imágenes, el resultado obtenido es el siguiente. La imagen está estirada con el proceso 'ScreenTransferFunction' para una mejor visualización de la misma.


Como puede observarse, la imagen presenta un gradiente, debido a la contaminación luminosa y al hecho que este objeto está a poca altura sobre el horizonte. También puede apreciarse que la cámara no estaba correctamente alineada según el eje este-oeste, de forma que la galaxia aparece algo inclinada. En los pasos finales del procesado explicaré como corregir esta desalineación, con la ayuda del script de 'Image Plate Solver' que viene en PixInsight.

El primer paso, como es habitual es una orientación de la imagen, ya que está invertida (con el norte abajo). Para este paso utilizo el proceso 'FastRotation', con la opción 'Vertical Mirror'.


Una vez orientada la imagen, aplico un recorte a los bordes de la misma, para eliminar los artefactos generados por la cámara cerca de los bordes de la imagen.


Una vez recortada la imagen, paso al proceso DBE para corregir el gradiente del fondo de cielo.


 La aplicación del DBE, se realiza por prueba y error, hasta conseguir un fondo de cielo lo más homogéneo posible, sin gradientes ni zonas oscuras. Si se produce alguna zona oscura tras aplicar el DBE, es debido a que se sitúa uno de los puntos de muestra sobre una estrella, o sobre un objeto presente en la imagen.

Tras aplicar el DBE, el fondo de cielo es completamente uniforme.


A continuación aplicaremos un proceso de deconvolución, con el objetivo de resaltar bien la banda oscura situada alrededor de la galaxia.

Para realizar el proceso de deconvolución, es necesario generar previamente:

  1. La PSF de la imagen. Para esto se seleccionarán unas cuantas estrellas de la imagen, a partir de las cuales de genera la PSF.
  2. Una máscara de estrellas, para proteger las estrellas más brillantes del efecto de 'ringing' llamado efecto Gibbs.
  3. Una máscara de la imagen, para seleccionar las estrellas y objetos presentes en la imagen y sobre los que se deberá aplicar la deconvolución.
Para generar la PSF, utilizo el proceso 'DynamicPSF'. En la siguiente imagen, puede verse las estrellas seleccionadas, y la PSF generada.


Después genero la máscara de estrellas, con el proceso 'StarMask', y los parámetros indicados. Los valores de los parámetros utilizados, se ajustan bastante bien a imágenes lineales (sin estirar) tomadas con la Atik 314L+.


Finalmente y con la ayuda de 'RangeSelection', genero la máscara de la imagen. Para la creación de esta máscara, hay que ajustar bien el valor de 'Lower Limit' para que la máscara cubra bien el fondo de cielo, y deje al descubierto los objetos y estrellas de la misma.

Para generar la imagen, utilizo un valor de 'Smoothness' bajo, con el objeto de evitar que se produzcan transiciones fuertes en la imagen.


La máscara se aplica sobre la imagen, y a continuación se aplica el procedimiento de deconvolución. Este proceso se realiza por prueba y error, ajustando los parámetros hasta obtener un resultado correcto, sin aplicar una deconvolución excesiva, lo que generaría artefactos indeseados en la imagen.

Finalmente los valores aplicados son los mostrados en la siguiente imagen, y con solo 15 iteraciones se obtiene un resultado aceptable sin provocar artefactos no deseados. Puede comprobarse en la imagen de la derecha (después de aplicar la deconvolución) que la banda oscura es más definida y las estrellas algo más pequeñas y definidas. Debido a que las tomas desde el interior de la ciudad contienen mucho ruido, no puede aplicarse una deconvolución muy agresiva.


Con el proceso de deconvolción aplicado, y no necesitando permanecer más con la imagen lineal, ahora se puede aplicar el estirado del histograma. En esta ocasión he utilizado el proceso 'HistogramTransformation' estirando la imagen hasta obtener un fondo de cielo aproximadamente de 0,12. Este estirado aún deja el fondo de cielo bastante luminoso, pero esto se arreglará posteriormente aplicando el proceso 'CurvesTransformation', para ajustar la tonalidad de la imagen.

El proceso de estirado se aplica a los medios tonos de la imagen, con los valores mostrados en la siguiente imagen.


Debido a que tras el estirado de la imagen, las estrellas presentan un mayor tamaño y con el núcleo algo saturado, a continuación aplico un proceso de reducción de estrellas, para lo que primero he de crear una máscara de estrellas, para proteger tanto el fondo de cielo como la galaxia, ya que el objetivo de este proceso son las estrellas.

Para crear la máscara de estrellas, utilizo nuevamente el proceso 'StarMask' con los valores indicados en la siguiente imagen.


En este caso el parámetro 'Noise threshold' lo he aumentado hasta 0,8 pues de lo contrario, la máscara incluiría el ruido del fondo de cielo.

Una vez aplicada la máscara sobre la imagen, utilizo el proceso 'MorphologicalTransformation' con el operador 'Erosion' para reducir el tamaño de las estrellas. Para este proceso utilizo un patrón circular de 5x5 con los valores indicados a continuación.


En la imagen de la derecha puede verse el resultado de la reducción de estrellas. Este proceso tiene el efecto secundario de reducir el brillo de las mismas, por lo que a continuación con la ayuda del proceso 'MultiscaleLinearTransform' se aumenta el brillo del núcleo de las estrellas.

Aún con la máscara aplicada, se aplica el proceso sobre la capa 3 de la imagen, de forma que los núcleos de las estrellas no queden saturados. A base de prueba y error, se ajusta el valor a aplicar, que para esta imagen es de 0,300.


Como puede verse, se ha aumentado el brillo del núcleo de las estrellas sin afectar el tamaño de las mismas.

A continuación y sin la máscara aplicada, se ajusta el brillo general de la imagen, oscureciendo el fondo de cielo hasta un valor próximo a 0,05. Para este proceso utilizo 'CurvesTransformation', con el ajuste mostrado en la siguiente imagen.


En la imagen de la derecha puede verse el efecto de aplicar 'CurvesTransformation' a la imagen, donde se mantiene el aspecto global de la galaxia, y se oscurece el fondo de cielo. En este paso es importante que los núcleos de las estrellas no se saturen y mantengan la forma generada en el paso anterior.

A continuación aplico una reducción de ruido del fondo de cielo, ya que el ruido es bastante evidente, pero sin dejar el fondo de cielo completamente plano.

Para la reducción del ruido del fondo de la imagen, he utilizado el proceso 'ACDNR', con unos valores poco agresivos, para no dejar el fondo demasiado liso.

En la imagen a continuación puede verse los parámetros aplicados, con un valor 'Amount' de 0,30, de esta forma se consigue un aspecto suficientemente bueno del fondo de cielo.


En la imagen de la derecha puede verse la imagen después de aplicar el 'ACDNR'.

Normalmente el procesado de la imagen finaliza en este punto, pero quedaba pendiente un ajuste de la alineación de la imagen, ya que esta galaxia está alineada con el eje este-oeste, y debido a un error de alineación de la cámara, la imagen resultante presenta la galaxia inclinada de forma evidente.

Para corregir la posición de la galaxia, primero es necesario determinar el grado de inclinación de la imagen, para lo que he optado por realizar un proceso de 'ImageSolver' para obtener los parámetros reales de la imagen. Para ello he utilizado el script 'Image Plate Solver', introduciendo las coordenadas aproximadas de la galaxia (obtenidas de internet). El proceso tras analizar la imagen y compararla con un catálogo de estrellas (PPMXL a través de conexión a internet) da la información exacta de la imagen. El valor 'Rotation' obtenido es de 6,886 grados.


Para corregir la inclinación de la imagen, utilizo el proceso 'Rotation' introduciendo el valor obtenido en el paso anterior, se obtiene la imagen perfectamente orientada a las coordenadas celestes.


A continuación se recorta la imagen para eliminar los bordes oscuros introducidos durante la rotación de la imagen.


Obteniendo la imagen final del procesado.


En al siguiente imagen se muestra un detalle de la galaxia al 100%



Como ejemplo de lo que puede obtenerse mediante el procesado de imágenes, a continuación se muestra una de las tomas originales, y el resultado obtenido. De 46 imágenes como las de la izquierda, se ha obtenido el resultado final.


La imagen al 100% de resolución, puede verse en la web:
http://www.astrosurf.com/jcmoreno/galeria/gx/M104/M104.htm

Espero que este pequeño tutorial os sirva.

Saludos,

sábado, 3 de mayo de 2014

Doble cúmulo en Perseo - Detalle del procesado

Este invierno estuve haciendo unas tomas del doble cúmulo en Perseo, con la Canon EOS 350D, como siempre la contaminación luminosa afecta mucho a las tomas realizadas con la DSLR, pero tras el procesado he conseguido un fondo de cielo oscuro y realzar los colores de las estrellas.

La imagen fue tomada el 27 de enero de 2014, con un total de 32 exposiciones de 30 segundos a ISO 800, con el Sky Watcher 80ED (focal 600 mm.) sobre la montura HEQ5-PRO.

 El resultado al final del proceso.


El procesado de la imagen, como siempre con PixInsight, con la versión 1.8 Ripley.


Este es el aspecto del workspace de PixInsight:


Antes de empezar con el procesado de la imagen, se ha realizado el pre-procesado con darks, bias y flats. Con la integración de las 32 exposiciones, iniciamos el procesado. la imagen inicial, es excesivamente roja, debido a que la cámara ha sido modificada, sustituyendo el filtro de infrarrojos, por un filtro BCF de Baader.

Para visualizar correctamente la imagen, se ha aplicado la función AutoStretch, del ScreenTransferFunction (STF).


Debido a que el SkyWatcher introduce distorsión en los extremos de la imagen, lo primero será recortar la imagen, para eliminar los extremos con más distorsión, y centrar bien el doble cúmulo. También de esta forma se reduce el tamaño de la imagen a procesar, lo que aumenta la velocidad de los procesos que se realizan.


Finalmente la imagen a procesar será esta.


Ahora aplicamos DBE para corregir los gradientes de la imagen, debido a la contaminación luminosa. Ajustamos la matriz de puntos para cubrir correctamente la imagen con los parámetros indicados.

Para corregir bien la imagen, he utilizado un valor de Tolerance: 1.7.


El resultado tras el DBE, se ha equilibrado el color de la imagen, y el fondo de cielo ha quedado bastante neutro, aunque aún pueden verse algunas zonas con una cierta coloración de fondo. Estos restos de gradientes, los eliminaremos en un próximo paso de DBE.


Debido a que el fondo de cielo, contiene mucho ruido, voy a aplicar un proceso de reducción del ruido, con Wavelets.

Primero hay que crear un máscara para proteger las estrellas, para lo que se duplica la imagen, y se ajusta con HistogramTransformation, con los parámetros del STF, para lo que podemos arrastrar el triangulo azul de STF, a la parte baja de la ventana de HistogramTransformation, con lo que podemos aplicar el estirado a la imagen duplicada.


Para mejorar la máscara, se aplica un segundo HistogramTransformation, desplazando el punto de los tonos oscuros (punto negro) hacia la derecha, de forma que el fondo de la máscara sea completamente negro. Así la máscara será completamente efectiva para tratar el fondo de cielo, manteniendo la protección sobre las estrellas.


Una vez tenemos preparada la máscara, aplicamos esta sobre la imagen, comprobando que quedan protegidas las estrellas y desprotegido completamente el fondo de cielo.

Ahora aplicamos MultiscaleLinearTransform, proceso que sustituye a ATrousWaveletTransform, para realizar la reducción de ruido sobre las capas 1 y 2 de la imagen.

Este proceso se realiza por prueba y error, hasta conseguir un resultado aceptable. para mantener un fondo de cielo con una cierta textura (no excesivamente lavado), solo se aplica la reducción de ruido sobre las 2 primeras capas, y sin forzar excesivamente.

En la siguiente imagen, puede verse una sección al 100% de la imagen antes y después de aplicar la reducción de ruido. Como puede verse, se ha suavizado el fondo de cielo, pero sin dejarlo completamente liso, ya que esto daría un resultado demasiado 'lavado' al fondo de cielo.

Personalmente, antes procesaba aplicando una reducción de ruido excesivamente agresiva, pero siguiendo las recomendaciones dadas por Ferran Bosch en el foro de Fotografía Astronómica, esta vez no aplico una reducción tan agresiva, y el resultado final, me convence más.


Tras la reducción de ruido, aún quedan zonas con gradientes de color, por lo que aplico un segundo DBE, con los mismos parámetros que el anterior.


Tras este segundo DBE, el fondo de cielo presenta un mejor aspecto, al tener los gradientes prácticamente corregidos. Vuelvo a ajustar el STF, para mostrar el fondo de cielo, y aunque son visibles algunos restos de gradientes, el valor de los mismos es muy pequeño. En este paso, es importante verificar con el cursor el valor de las componentes RGB en distintos puntos del fondo de cielo, ya que el STF hace muy visibles las pequeñas diferencias de los gradientes.


Para corregir más el color de la imagen, primero se aplica el proceso de BackgroundNeutralization, para lo que creamos una preview de una zona de fondo de cielo, prácticamente sin estrellas, y aplicamos el proceso.


Ahora el fondo de cielo aparece más neutro. A continuación corregimos el color de la imagen con ColorCorrection. Para este proceso seleccionamos otra preview con las estrellas del cúmulo, como referencia de los tonos blancos.


Una vez con el color corregido, es el momento de efectuar el estirado de la imagen, con StretchMask. Realizamos un estirado con los valores por defecto.


Tras el estirado de la imagen, y debido al tamaño y forma de las estrellas, aplicaremos un proceso de reducción de estrellas, pero primero hay que crear una máscara para proteger el fondo de cielo, ya que este proceso solo debe aplicarse a las estrellas.

Para crear la máscara, utilizamos el proceso StarMask, con los parámetros indicados. Para mantener pequeñas las estrellas de la máscara, pongo Smoothness: 10, y para cubrir las estrellas más grandes, Scale: 6. Los parámetros de Structure Growth, se sitúan todos a 0.


La creación de las máscaras es otro trabajo realizado a base de prueba y error, hasta conseguir una máscara que cubra correctamente las estrellas.

Aplico la máscara a la imagen, y a continuación con MorphologicalTransformation, aplico una reducción de estrellas, con un patrón circular de 5x5.

En la siguiente imagen, puede verse parte del cúmulo, antes y después de aplicar la reducción de estrellas. El proceso suaviza la forma de las estrellas, aunque apaga un poco el brillo de las mismas.


Para recuperar el brillo de las estrellas, sin quitar la máscara, aplico MultiscaleLinearTransformation, para intensificar el centro de las estrellas. Aplico un incremento en la capa 3, ya que así se aumenta el brillo de la estrellas, sin generar puntos brillantes en el centro de las mismas. En la imagen puede verse el resultado de aplicar el aumento de brillo. Ahora las estrellas vuelven a tener la intensidad perdida en el proceso anterior, y mantienen la forma suave, generada con MorphologicalTransformation.


Una vez con la forma de las estrellas siguiendo un perfil gausiano, se realiza un ajuste final del histograma, para oscurecer el fondo de cielo, al nivel deseado, y procurando no saturar las estrellas, ya que perderían el aspecto introducido en el paso anterior. Para este ajuste utilizo CurvesTransformation, bajando la curva en la zona de los tonos oscuros, hasta obtener un fondo de cielo aceptable, en este caso he optado por dejar el fondo de cielo en un valor de 0.02-0.03, ya que así se realza mejor el color de las estrellas.

Para la zona de las altas luces, recupero el brillo que tenía la imagen, pero de forma suave, y por prueba y error, se comprueba que las estrellas no se saturen, ni pierdan la forma.


Finalmente la imagen resultante:


Y un detalle al 100% de los cúmulos.


Una vez concluido el procesado de la imagen, solo queda ajustar el tamaño de la imagen para su publicación.

En mi web, puede verse la imagen a resolución completa, y con los datos de la misma:
http://www.astrosurf.com/jcmoreno/galeria/ca/NGC869-884/NGC869-884.htm

Saludos,