¿A qué debo ajustar mi "ganancia" (gain) y "offset"?
Nota 2: Aunque "offset" puede traducirse en español como "desplazamiento" hemos preferido mantener el término original ya que es el que se utiliza principalmente entre los aficionados a la astronomía hispanohablantes.
¿A qué debo ajustar mi "ganancia" (gain) y "offset"?
Antes de contestar la pregunta es útil conocer un poco sobre el trasfondo de la misma. Especificamente, ¿qué demonios hacen la ganacia y el offset? Antes de responder necesitamos una breve introducción sobre como se transforman los fotones que capturas en las intensidades que ves en la pantalla. Si quieres, puedes saltar a "Vale, entonces ¿a qué debo ajustar mi ganacia y offset?".
¿Cómo se convierten las señales de mi CCD a valores de intensidad?
Cuando se lee cada uno de los pixeles de la CCD, hay una cantidad de voltaje que se corresponde con el número de fotones que se recogieron y convirtieron en electrones. Dicho voltaje es una señal analógica que debe convertirse en una señal digital para obtener un número que corresponda a la intensidad. Esta conversión se realiza en el conversor analógico - digital (CAD). Para llevarla a cabo existe una especificación que encontramos frecuentemente en las cámaras, la ganacia general del sistema, que suele estar especificada como un número determinado de electrones por UAD (unidad-analógica-digital o, dicho de otra manera, las intensidades en bruto (raw) que puedes ver en tu imagen en programas como Nebulosity). Una cámara puede tener una ganacia general del sistema de algo así como 0.7 e-/UAD o 1.3 e-/UAD, etc. Eso significa que cada electrón que se registra corresponde a 0.7 o 1.3 unidades de intensidad "brutas".
Hay cuatro limitaciones esenciales que tenemos que tener en cuenta cuando hablamos del proceso de CAD:
1) No hay salidas fraccionadas de UAD. Esto es, un electrón en cualquiera de los dos sistemas de arriba acabará siendo registrado como 1 UAD. No se puede tener media UAD (tampoco puedes tener medio electrón).
2) Tu CAD tiene un valor mínimo de 0 y un número total de pasos de intensidad de 2(# de bits en tu CAD). Para un CAD de 16 bits sería 0-65,535. Para un CAD de 8 bits sería 0-255, etc.
3) El 0 es diabólico y 65,535 es malo pero no diabólico. Cuando tu señal se topa con cualquiera de ellos pierdes información. Si el cielo está en cero y tu débil galaxia está en cero, por mucho que estires no la harás aparecer. 0*1 = 0*100 = 0.
4) Tu CCD tiene un número limitado de electrones que puede mantener llamado "profundidad de pozo". Puede ser 20,000 e-, 40,000 e-, etc. Ten en cuenta que para todas las cámaras que conozco que permiten ajustar la ganancia y el offset (Orion Starshoot, Meade DSIs, cámaras QHY, etc.) la profundidad del pozo es < 65,536. Esto será fundamental para mi razonamiento de un poco más abajo.
¿Qué hacen la ganancia y el offset?
Teniendo presente todas estas cosas, ya podemos describir que hacen los controles de ganacia y offset sobre la cámara. Al salir de la CCD y justo antes de entrar en el CAD normalmente existe un pre-amplificador (que puede estar en el mismo chip del CAD). Lo que hace este pre-amplificador es incrementar la señal en una cantidad variable y desplazarla también una cantidad variable. El incremento se llama ganancia (gain) y el desplazamiento "offset".
Pensemos que tenemos píxeles que se corresponderían a 0.1, 0.2, 1.1 y 1.0 UAD y que el CAD es capaz de trabajar con números fraccionarios. Como en realidad no es capaz, los transformaría en 0, 0, 1 y 1 UAD. Han ocurrido dos cosas no deseables. Lo primero es que el 0.1 y 0.2 se han convertido en el mismo número y que 1.1 y 1.0 se han convertido también en el mismo número. Hemos distorsionado la realidad y fallado en representar con fidelidad los cambios sutiles de intensidad. Este fallo se llama error de cuantización. Lo segundo es que los dos primeros se han convertido en 0 y, tal y como apuntamos más arriba, 0 es como un malvado agujero negro de la información.
¿Qué pasaría si los escalaramos x10 veces antes de convertirlos en números (esto es, introducir una ganacia)? Tendríamos 1, 2, 11 y 10. ¡Esto está mucho mejor! Simplemente con la ganancia hemos arreglado los dos problemas. En realidad la situación suele ser distinta y el umbral del CAD para cambiar de 0 a 1 puede ser tan grande como para necesitar un buen número de electrones para que nos movamos del 0 al 1. Aquí es donde podemos inyectar un desplazamiento (el offset, un voltaje de corriente continua) en la señal para asegurarnos que todas las señales que pudieran estar saliendo del CCD se conviertan en un número distinto de cero.
La pega de la ganancia: la profundidad de bits y el rango dinámico
Según hemos visto en el ejemplo de arriba, parece que todos deberíamos usar montones de ganancia. ¡Cuanta más mejor!. ¡Demonios, si además la imagen sale más brillante! Muchas veces me preguntan sobre este tema con la idea preconcebida de que la ganancia hace a la cámara más sensible. En realidad no. La ganancia no hace a la cámara más sensible. De hecho incrementa el ruido tanto como la señal y por tanto no ayuda a mejorar la relación señal / ruido (RSR). La ganacia compensa entre el rango dinámico y el error de cuantización.
Vimos más arriba que reduce el error de cuantización. Incrementando la señal podemos conseguir que las diferencias en la parte fraccionaria se conviertan en diferencias en números enteros. ¿Qué tiene esto que ver con el rango dinámico?
Usemos otro ejemplo. Tenemos una cámara con una ganancia de 1. Por tanto, 1 e-/UAD. Tenemos otra cámara que funciona con 0.5 e-/UAD. Supongamos que tenemos un pixel con 1k e-, otro con 10k e-, otro con 30k e- y otro con 50k e-. En nuestra cámara de 1 e-/UAD tendremos claramente intensidades de 1000, 10000, 30000 y 50000. En nuestra cámara de 0.5e-/UAD tendremos intensidades de 2000, 20000, 60000 y 65535. ¿Qué? ¿Por qué no 100000? Bueno, nuestra cámara de 16 bits tiene un límite fijo de 65536. Cualquier cosa por encima de ese límite se recorta. Por lo tanto, mientras que la cámara de 1e-/UAD puede representar fielmente el rango completo, la cámara de 0.5 e-/UAD no. Su rango dinámico está limitado.
¿Cómo determinan los fabricantes la ganacia y el offset para las cámaras que no permiten a sus usuarios ajustarlos?
Supongamos que estamos fabricando en este caso una cámara real, para lo cual vamos a usar números de verdad. Fijémonos por ejemplo en el sensor Kodak KAI-2020. El chip tiene una profundidad de pozo fijada en 45k e-. Por lo tanto queremos mantener 45000 valores de intensidad en el rango 0-65,535. Una manera sencilla de conseguirlo es ajustar la ganancia a 45,000 / 65,536 o, lo que es lo mismo, a 0.69 e-/UAD. Adivina a que valor tiene fijo la ganancia la SBIG ST-2000 (que usa este chip)... 0.6e-/UAD. ¿Qué pasa con la QSI 520ci? 0.8 e-/UAD. Como 45k e- es un valor típico en los chips actuales (variando un poco), los dos fabricantes han decidido ajustar las cosas de manera ligeramente diferente para tratar con esa pequeña variación. De hecho la SBIG recortará la parte superior cuya respuesta empieza a ser no lineal más rápidamente, pero las dos se encuentran en el mismo rango y las dos fijan el valor.
¿Por qué? Porque no hay ningún motivo para dejar que los usuarios lo ajusten. Supongamos que dejamos a los usuarios ajustarlo y lo hacen a 5 e-/UAD. Pues para 45k e- de cuenta de electrones máxima con 5 e-/UAD acabamos con un máximo de 9000 UAD y por tanto introducimos un error de cuantización bastante grande. 10, 11, 12, 13 y 14 e- se convertirían todos en el mismo valor de 2 UAD en la imagen perdiendo, por tanto, todo el detalle que estás intentando conseguir desesperadamente. Por otro lado ¿qué pasa si el usuario la fija en 0.1 e-/UAD? Bueno, en ese caso estamos convirtiendo todas las cuentas de electrones a 100, 110, 120, 130 y 140 ADU y deberíamos preguntarnos cual es el sentido de irnos saltando 10 UAD por electrón. De hecho también habrías conseguido que 6553 e- fuera la profundidad del pozo efectiva del chip y, por tanto, 6553:1 sería el rango dinámico máximo en vez de 45000:1. ¡Uyuyuy! Todo ese precioso detalle en el centro de la galaxia se habría destruido y quedaría totalmente saturado. Podrías haber preservado todo el detalle y no haber perdido nada de nada (puesto que cada electrón cuenta por > 1 UAD) si hubieras dejado la ganancia en ~0.7 e-/UAD.
¿Que pasa con el offset? Bueno, es fácil averiguar cual es el mínimo valor que va a producir un chip y sumar suficiente desplazamiento en el proceso de CAD para conseguir que nunca vaya a llegar a 0.
Vale, entonces ¿a qué debo ajustar mi ganacia y offset?
Los mejores valores para tu cámara no tienen que ser los mejores para otras cámaras. En concreto, cada fabricante hace las cosas de manera distinta. Por ejemplo, en una Meade DSI III que probé hace poco, funcionando con la ganacia a tope (al 100%) conseguía llegar a llenar el pozo en 65535 UAD. Funcionando por debajo del 100% llegaba a llenar el pozo a 40,000, 30,000 o 10,000 UAD. Por tanto no tiene sentido funcionar por debajo del 100% de ganancia en esta cámara. En una CCD Labs Q8-HR que tengo, incluso con ganancias de 0 y 1 (en su escala de 0-63), la cámara llega al 65535 en objetos brillantes (como por ejemplo el techo de encima de mi mesa). Por lo tanto no tiene sentido usar esta cámara con ganancias superiores a 0 o 1.
¿Por qué no tiene sentido? La cámara solo puede almacenar 25k e-. Si una ganacia de 0 o 1 me lleva a 0.38 e-/UAD (de tal manera que los 25k e- se convierten en 65535), funcionar con 0.1 e-/UAD solo va a servirme para limitar mi rango dinámico. Cualquier electrón solitario se convierte directamente en más de 2 UAD.
Entonces ¿cómo los ajusto? (tio, ¡como te enrollas!)
1) Toma una imagen bias y busca el valor más pequeño en ella. ¿Es, como mínimo, pogamos que 100 y menos que mil o unos pocos miles?. Si lo es, tu offset está bien. Si es demasiado bajo, incrementa el offset. Si es alto, bájalo. Repite este paso hasta que consigas una imagen bias cuyo valor más bajo este en el rango 100-1000. No te preocupes por la precisión ahora, no importará para nada al final. Ya conoces tu offset. Ajústalo y olvídate de él. Nunca más lo cambies.
2) Apunta tu cámara a algo brillante o símplemente ponla en tu mesa sin lente ni tapón y toma una imagen. Mira el valor máximo de la imagen. ¿Está bastante por debajo de 65k? Si lo está, aumenta la ganancia. ¿Está a 65k? Si lo está, baja la ganancia. Si estás tomando una imagen sobre un objeto real (los diurnos son especialmente interesantes para esto) puedes mirar el histograma y comprobar el "monte" en la parte más clara ya que la cámara está llegando a llenar los pozos. Queremos tener ese "monte" aproximadamente en 65,535 más o menos un poquito. Si fuiste demasiado tímido incrementando la ganacia podrás obtener "lo máximo de tu chip" pero también te encontrarás con la no-linealidad. Tendrás más posibilidades de encontrarte, por ejemplo, con colores raros en zonas saturadas. Si dejaras que ese "monte" se recortara por la derecha perderías un poco pero lo que has perdido son datos no-lineales en cualquier caso (todo esto asume, por cierto, un chip ABG que son los que tiene todas las cámaras en cuestión). Guarda esa ganancia, fíjala y olvídate. Nunca más la cambies.
Realizando este sencillo proceso diurno de dos pasos tendrás ajustados esos parámetros a la perfección. Te habrás asegurado que nunca te encontrarás con el diabólico cero y de que el rango dinámico de tu chip se ajuste lo mejor posible a tu CAD. De nuevo, todas las cámaras con las que estamos trabajando tienen una profundidad de pozo por debajo de 65,535 y por lo tanto estamos seguros de que tenemos suficientes UADs para acomodar cualquier electrón que registres con su propio valor de intensidad.
Advertencia
Todo lo de arriba asume que tienes más UADs disponibles que electrones. Esto es verdad para las cámaras de las que hemos hablado pero no es una verdad universal. Por ejemplo, si tienes un CAD de 8 bits, una ganacia variable es bastante importante para que puedas ajustar un buen equilibrio entre el error de cuantización y el rango dinámico. Puede ser correcto que te cargues el núcleo de la galaxia para conseguir sus débiles brazos y funcionar con 1 o 2 e-/UAD en vez de 10 o 50 o 200 e-/UAD. Esto ocurre en DSLRs de 12 bits con sus 4096 tonos de intensidad pero no tanto con DSLRs de 14 bits y sus 16,384 tonalidades.
Por favor ten en cuenta que nada de lo que se ha expuesto aquí tiene en cuenta el ruido. La situación es incluso "peor" cuando tenemos en cuenta el ruido real. Si el ruido en la imagen es 8 UAD significa que los 3 bits menos significativos son básicamente inútiles. Ese rango dinámico de 45,000:1 es en realidad 45,000:8 o 5,626:1 y por lo tanto no eres realmente capaz de identificar cada uno de los electrones. Pero este es un tema para otro día (Googlea "información Shannon" si te interesa).
- Login to post comments

