Flats

El tema de los flats parece muy complicado, pero lo cierto es que una vez entendido y probado es más fácil de lo que parece.
Lo primero que hice fue leer varias veces las páginas 25-34 del manual de Nebulosity.
En ellas se explica en qué consiste el preprocesado de las imágenes y habla en detalle de los flats, bias y darks.
Muy interesante el apartado «ugly details» de la página 27.

En el manual queda claro como el agua lo que hace Neb2 entre los master flats, darks y bias. Nada de nada.
Es decir los utiliza para procesar las imágenes Lights pero no hace operaciones entre masters. De ahí que cada uno tiene que estar preprocesado como si fuera un light.

En el caso de las Canon basta con hacer un master flat y un master dark.
El master flat consiste en sumar los flats correspondientes y restarle el «master flat dark» que no es otra cosa que un master dark de la duración de los flats.
No hace falta bias porque tanto el master flat dark como el master dark ya lo incluyen y por tanto si utilizáramos un master bias lo único que haríamos es introducir ruido a la imagen.

En el caso de las CCD’s refrigeradas, como las de Pere, se podría prescindir de los darks y utilizar un master flat y un master bias.
En su caso al master flat habría que restarle el master bias.

De esta forma nos tendría que quedar un master flat (sin ruido) y los darks / bias, según sea.
El master flat eliminará el viñeteo y las motas de polvo y los darks / bias restarán el ruido de las cámaras.

Todo esto está muy bien, pero lo mejor sería probarlo.
Así que lo que hice fue pasarme una tarde haciendo flats de distintos tipos y poniéndolos a prueba.

Básicamente probé lo siguiente:
– flats de 10ms y automáticos (AV en DSLR)
– procesado de los flats con SD 1.25 sin normalizar y normalizados.
– aplicar el master flat a dos flats originales para ver el resultado final
(teóricamente debería de dejar una imagen gris homogénea)

————————————————-

– Master Flat Dark: combine 50 Flat Darks con SD 1,25 sin normalizar
– Pre process B&W/RAW 20 flats con master flat dark (Flat – Flat Dark)
– Master Flat: combine 20 flats con SD 1,25

Master Flat 800 01s.jpg

Mismo proceso pero con los flats normalizados antes de hacer el SD 1.25 (el resultado es similar pero se observa un ligero filtrado, la imagen es más suave)
Master Flat Norm 800 01s.jpg

– Repetición del proceso con los Flats Automáticos. (Los automáticos no dieron buen resultado)
Sin normalizar y normalizado (quedan demasiado claros debido al AV)
Master Flat 800 Auto.jpg Master Flat Norm 800 Auto.jpg

Diferencias entre FLATS de 10ms
SD 1,25: _______Mean 11302 Max 18224 Min 0
SD 1,25 Norm: __Mean 46027 Max 65535 Min 100

TESTS

Aplicar master flat a dos flats individuales con distinto histograma.
Tanto el standard como el normalizado dejan una imagen plana de color gris.
Flats individuales
FF800_01s_E_001.jpg FF800_01s_E_002.jpg

Aplicación de master flat SD 1.25 a los flats individuales.

Std pproc_FF800_01s_E_001.jpg std pproc_FF800_01s_E_002.jpg

Aplicación de master flat normalizados SD 1.25 a los flats individuales.

norm pproc_FF800_01s_E_001.jpg norm pproc_FF800_01s_E_002.jpg

Además de los flats también estuve comprbando las diferencias de los DARKS a distintas temperaturas.
Es mucho más rápido un Avg stacking que un SD 1,25
El valor promedio de los Darks es el siguiente:

22C ______Mean Max Min

SD 1,25: _4117 _64912 _3401
Avg : ____4120 _64912 _3572

19C

SD 1,25: _4113 _64912 _3235
Avg : ____4114 _64912 _3524

Está claro cual es el valor del hot pixel. 😉
Así mismo se ve que el Avg da un resultado un pelín más luminoso (resta más a la imagen final)
Esto se observa en el valor más elevado de los mínimos.

Pero en general se podría decir que no hay diferencia apreciable en ese rango de temperatura.

————————————————-

Técnica para capturar los flats. 

En su día estuve a punto de construirme una light box, pero Pere me recomendó que no lo hiciera y que en su lugar probara con la técnica de la camiseta blanca.
Así lo hice y lo cierto es que funciona de maravilla. Puede parecer cutre, sí, pero funciona. 😉
Todos los flats de esta prueba los realicé con el montaje que se ve abajo en la foto.
Realicé los flats un día nublado lo cual ayuda a dispersar la luz y a mantener el histograma muy similar entre frames.

 

flats-con-camiseta.jpg

Como resumen general:

– Técnica de la camiseta durante el día apuntando al norte.
– Flats de pocos ms sin pasar del 50% del histograma. (hacer 50 o más)
– Darks de la misma exposición que los flats. (hacer 50 o más)
– Preprocesar los flats con el master flat dark
– Normalizar los flats
– Apilar con SD 1.25 para obtener el master flat

En cuanto a los darks yo suelo sacarlos justo después de la sesión, siempre y cuando no haya variado la temperatura en más de 2-3ºC. Como se ve en la tabla anterior para temperaturas de alrededor de los 20º no se aprecia diferencia de ruido.

Espero que os haya servido el detalle. 😉

Esta entrada fue publicada en Astrofotografía, Flats, Darks y Bias. Guarda el enlace permanente.

6 respuestas a Flats

  1. Peter dijo:

    Excelente resumen. Solo un comentario: creo que capturas los Flats demasiado oscuros y me da la impresión que los estás saturando en el negro.
    Fíjate que según tus comentarios has obtenido las siguientes diferencias:

    Diferencias entre FLATS de 10ms
    SD 1,25: _______Mean 11302 Max 18224 Min 0
    SD 1,25 Norm: __Mean 46027 Max 65535 Min 100

    En el primero tienes un nivel máximo de 18224, lo cuál deja mucho margen hasta 65535, que es el máximo posible con 16 bits. Sin embargo, el mínimo es 0, o sea, negro absoluto. Esto puede significar dos cosas: o tienes un pixel que no funciona y no devuelve nada (raro, ya que yo creo que en ese caso devolvería ruido) o que estás saturando el negro

    Me da la impresión de que sería mejor aumentar ligeramente la exposición para aprovechar el rango dinámico de la cámara y obtener unos flats con más detalle

  2. Dani dijo:

    Pedro, este post va a dar para mucho porque pensando sobre tu comentario me vienen más preguntas y dado que yo voy con centrino a 1,6 y tu con el Quad Core a 2,8 😉 …..

    Sin duda tiene que ser que se esté saturando el negro.
    El único procesado que tienen los flats individuales son los flat darks.
    De ahí que al «eliminar el ruido» aparece el 0 lo que significa que he saturado el negro tal y como tu indicas. Si no hubiera aplicado el master flat dark tendría algo de señal, ni que fuera el nivel de bias.

    Ahora bien, y aquí una duda, se supone que al normalizar se aprovecha todo el rango dinámico encajando las curvas en su valor máximo y estirándolas hasta sus niveles máximos sin saturar ¿no?
    Siguiendo con este argumento si alguno o todos los flats originales estuvieran saturados no afectaría al centrado que realiza la normalización pero sí a la forma de la curva resultante del estiramiento de la imagen sumada final respecto a la no normalizada ¿no?

    Esto tendría que provocar diferencias importantes en la relación Mean/Max que de otro modo si no hubiera saturación alguna debería de ser idéntica.
    No sé si mi razonamiento es correcto, pero he hecho la división y existe una diferencia importante. 0,620 contra 0,702. 12% inferior la primera, no normalizada, respecto a la que sí lo está.

    Ya me contarás.

  3. Pere dijo:

    Un comentari, per que el tema dels flats te teeela:

    1.- Els flats han de ser entre 1/3 i 1/2 del rang dinàmic del CCD. Aixó és deu a que normalment la resposta dels CCD no és lineal en tot el rang, només en el primer 1/2.
    Per un CCD de 16 bits el flat ha de tenir valos màxims de 20000-30000 ADUS.
    Per un CCD de 12 bits valors de 1500-2000 ADUS.

    2.- Han d’estar normalitzats (convertir a valors entre 0 i 1), ja que l’operació de cal.libració de flats és una divisió i no una substracció. Els programes de cal.libració fan aquest procés automaticament (p.ex. MaximDl) i despres de normalitzar afegeixen una constant (pedestal) per que mai hi hagi una divisió per zero.

    3.- És molt important un bon Master-Bias fet amb més de 50 subexposicions. Els Flats son de curta durada per tant els afecta més el soroll de lectura que el soroll tèrmic.

    4.- Existeix el «soroll de cal.libració». Quant cal.librem una Light amb un Master-Flat correm el risc d’introduir el propi soroll del Flat. Per aixó és convenient que el Master-Flat estigui fet a partir de 20-25 flats individuals apilats amb un algoritme Sigma reject o similar.

    Per les tasques de cal.libració amb DSLR’s recomanan el programa ImagesPLus:
    http://www.mlunsold.com

    I per CCD’s el MaximDl és molt bo i es pot automatitzar molt. Un scrip del gurú Russell Croman:
    http://www.rc-astro.com/resources/rc_console.html

    Un programet senzill peró amb resultats espectaculars:
    http://www.gralak.com/Sigma/index.html

    I també crec que PixInsight està preparant un algoritme de combinació d’imatges, segons C.Sonnestein.

    VAYA ROOOOOLLO!! 😉

  4. Peter dijo:

    Este post está haciendo que suba la temperatura de mi cerebro. Creo que voy a tener que hacer unos darks de mi actividad cerebral para ver si después de quitar el ruido térmico queda alguna idea decente…

    Después de dar muchas vueltas a todo lo que se ha comentado he llegado a las siguientes conclusiones (aviso de antemano que todo son pajas mentales sin respaldo empírico):

    1.- Como dice Pere, la respuesta del CCD no debe ser lineal, pero normalmente los dispositivos electrónicos están diseñados para que la banda lineal sea la central, y es en los extremos donde deja de serlo. Por tanto lo más lógico sería aprovechar la banda entre 1/3 y 2/3 (o 1/4 – 3/4) del rango dinámico del sensor, evitando llegar a los extremos
    2.- Si se ha capturado una muestra de N flats y no se normalizan, entonces creo que lo mejor es que al hacer el apilado se utilice el Average en lugar de un SD, ya que si han habido variaciones de luz (como nos pasó a Daniel y a mí el otro día), el SD descartará una cantidad importante de muestras correctas
    3.- Si en cambio hemos normalizado los flats, entonces lo mejor sí que será aplicar el SD, ya que en teoría todos las imágnes tendrán una distribución de luz muy similar y el SD permitirá eliminar el ruido aleatorio que pueda aparecer en algún píxel
    4.- Es posible que el hecho de que Daniel encuentre una diferencia tan grande en la relación Mean/Max entre el Master Flat obtenido a partir de las imágenes normalizadas y no normalizadas se deba a lo que explico en los puntos anteriores

    Finalmente, y en referencia a un par de conversaciones que hemos tenido con Daniel, creo que hay un error de concepto en el tema del «Normalizado». El caso es que da la impresión de que Normalizar consiste en estirar el histograma para aprovechar al máximo el rango dinámico, pero creo que esto no es correcto, ya que se perdería la relación entre los píxels luminosos y los oscuros.

    Me explico con un ejemplo:

    supongamos que tenemos una imagen con 2 píxels, y uno tiene una luminosidad de 100 y el otro de 80. Si quiero expandir el histograma al máximo digamos que lo que obtendría en la imagen normalizada sería un píxel con luminosidad 65545 (supongamos que trabajamos con 16 bits) y el otro valdría 100 (en realidad valdría 0, pero supongamos también que añado un valor de pedestal mínimo de 100)

    Esto claramente no es correcto, ya que en la imágen original tenía que aplicar un factor de 100/80 = 1.25 para convertir el valor 80 en 100. Sin embargo en el la imagen normalizada parece que el factor sería de 65536/100 = 655, cosa que obviamente no puede ser.

    Por tanto, la normalización, más que estirar el histograma debería ser un escalado del mismo para que los píxels con mayor luminosidad sean siempre del mismo valor.

  5. Pere dijo:

    Cuando hablamos de «normalizar» se trata de convertir los valores de histograma de un rango de 0 a 65535 (16 bits) a otro rango de 0 a 1.

    Y los sensores CCD, que la mayoria son KAF o KAI de Kodak y HAD o HD de Sony, solo eran en la primera mitad del rango. Los detectores modernos son casi absoltamente lineales .

  6. Dani dijo:

    Contesto por pasos:

    Pere:
    1- Respuesta en frecuencia del CCD
    Aquí tenemos varios problemas, según veo yo.
    Por un lado está la respuesta al número de fotones, digamos la saturación de cada píxel del sensor de 0 – 4096 y por otro lado la respuesta en frecuencia que provocan los filtros. (microfiltros que forman la matriz de bayer y el filtro IR)
    Encuentro gráficas de la segunda pero no de la respuesta neta sin filtros de ningún tipo. Además está el problema añadido de que los CMOS de canon son propietarios y al no disponer de las características del sensor tampoco puedo buscarlos/encontrarlos en la web y por tanto compararlos contra los Kodak o Sony.

    Este es un link interesante sobre pruebas muy detalladas pero sólo aparecen modelos hasta la 350D cuyo chip es diferente al de la 400D

    http://www.astro.utoronto.ca/~stefan/br.ps

    También en este link si buscáis «Digital camera sensor performance data» encontraréis una tabla detalladísima pero no tiene la información que nos hace falta para el sensor de la 400D
    http://www.clarkvision.com/imagedetail/digital.sensor.performance.summary/

    2- Normalización
    Estoy de acuerdo con el tema de la división y de la cte. pedestal no obstante me intriga saber exactamente que hace para normalizar la imagen.
    ¿Mueve el punto más luminoso al máximo del 65535 y escala la parte baja?
    Eso es lo que dice Pedro y tendría sentido puesto que así todos los puntos «más» luminosos quedarían alineados y se «escalaría» el resto de la curva hacia la parte baja para aprovechar todo el rango dinámico hasta llegar a 100 «tu constante pedestal».
    ¿Pero es eso lo que hace?… he buscado en el manual y según éste eso es lo que parece que hace:

    «The Normalize entry in the Processing menu will go through all selected frames and attempt to put them all in a common intensity range by taking care of offset and scaling differences across frames. After normalization, all frames should have their minimum at about 100 and their maximm at about 65535. Do this before you do any alignment of the frames…»

    Si como indica después de normalizar todos los frames tienen que tener un máximo brillo de aprox 65K significa que mueve el punto brillante a la derecha y reescala a la baja. De ahí que sea muy importante no saturar el negro, para que la curva no quede recortada. 🙂

    El step 3 recomienda normalizar si se va a utilizar el SD stacking.
    http://www.stark-labs.com/nebulositytutorials/files/Processing_HowTo.pdf

    3- Master BIAS
    En nuestro caso «DSLRs» es un master dark de la misma duración que el Flat 10ms en mi ejemplo. Este master dark incluye el Bias.

    4- # de Counts
    En la última toma de flats que acabo de hacer he hecho 100 a 10ms cuando la luz posicionaba el histograma de la mitad hacia arriba y 100 más a 10ms cuando la luz de la tarde dejaba la curva de la mitad para abajo del histograma.
    Con esto veré las «potenciales» diferencias de respuesta del CMOS de la Canon.
    Por supuesto también he hecho 100 Bias. En total 6 GB de info que procesaré en breve.

    5- Links
    Me he mirado tus links y especialmente el del programa sigma.
    Luego lo he contrastado con lo que hace el Neb2 y he descubierto que estoy haciendo cosas mal 😉 pa variar claro… 😀

    En cualquier caso el Nebulosity hace el equivalente al Sigma.
    De hecho indica que su SD es equivalente al sigma cliping de otros programas.

    Artículo muy interesante sobre el tema escrito por el autor de Nebulosity
    http://www.stark-labs.com/blog/files/StackingMethods.php

    Pedro:
    Aquí van algunos comentarios a tu respuesta.

    En la página 41 del manual de Nebulosity 2 http://www.stark-labs.com/downloads_files/Nebulosity2Docs.pdf explica el tema de la normalización.

    En las siguientes explica todo el tema de apilado y distingue entre Avg vs. Adaptative Stacking. Ver pág 43.

    En la 44 describe cómo opera el SD.
    Te recomiendo leer todo ese capítulo y de la página 24 – 34 que es donde describe las técnicas de pre procesado de la imagen (Flats, Darks, Bias y Lights)

    De la 45 – 49 detalla los distintos tipos de apilado (Traslación, Drizzle, etc…) En especial el de Drizzle de la página 47 promete.
    Aunque en este link hacen una comparación entre Drizzle y CIM y por lo que veo sólo vale la pena cuando el sampleado es realmente «undersample». Debido al mal seeing no es nuestro caso 😉

    Buscar «Drizzle and CIM»
    http://www.stark-labs.com/wiki/doku.php?id=tutorials:nebulosity:kip_s_advanced_guide

    Por último he encontrado muy interesantes las comparaciones de resize a la hora de exportar el jpg a tamaño pequeño de la pág 56, aunque si lo trabajas con PS este paso lo harás desde allí y no desde el Nebulosity.

    Un parámetro que no tenía activo en Nebulosity era «Use adaptative stacking 16 bit» del menú Preferences. Es importante para que aproveche lo mejor del sum y el average sorteando sus desventajas. También explicado en el apartado de Preferences del manual.

    Otro que tenía diferente era el formato de FITs. Conviene tenerlo en ImagePlus puesto que las imágenes bajan a 7 MB en lugar de 20 (se activa por defecto el check box compressed FIT)

    Aquí otro link interesante sobre las distintas opciones de apilado.
    http://www.stark-labs.com/blog/files/StackingComparison.php

    En fin que según 7 timer (y lo que veo en el cielo) hoy tengo buena noche y si no descanso un poco me va a arder el centrino que tengo debajo del pelo 🙂

Los comentarios están cerrados.