05. Captura
Manejar tu observatorio: CCDciel o NINA/PINS
NightScribe puede entregar el plan de captura a tu software de observatorio y apuntar el telescopio directamente, sin exportar ficheros ni reescribir coordenadas. Hay dos programas soportados, y eliges uno en Herramientas → Configuración… → Integraciones:
CCDciel (ap-i.net/ccdciel) por su servidor JSON-RPC (host y puerto, por defecto el 3277).
NINA (Windows) o PINS (Linux), su versión para Linux, por el plugin comunitario Advanced API v2 (host y puerto, por defecto el 1888).
De uno en uno: el paso Captura maneja el programa que elijas, y cambiar la elección desconecta el otro. En ambos casos, una condición: el programa tiene que estar abierto (y, para NINA/PINS, su plugin Advanced API instalado y activo); NightScribe habla con su API, no con los drivers.
Estado: en pruebas. La integración con NINA/PINS no está terminada: lo que hay es para probarlo y para que nos cuentes qué falta o qué no cuadra, y el resto está previsto para la 0.2. La lista de lo que todavía no hace está justo abajo; CCDciel es el que está completo hoy. Si algo falla, abre una incidencia con el registro (Ayuda → Abrir el registro).
Desde el paso Captura de un proyecto lo lleva la consola Observatory. Su estado va arriba (quién responde, el estado de la montura, la temperatura, la versión) con el STOP rojo siempre a mano, y sus mandos son tres verbos y dos casillas:
Conectar CCDciel / Conectar NINA / PINS es la única entrada, y muestra el estado del observatorio (montura, rueda de filtros, cámara) en el panel. El botón pequeño de encendido que hay junto al estado desconecta; el estado se refresca solo cada par de segundos.
Apuntar el telescopio hace un slew a la posición recién calculada del objetivo. Con Goto astrométrico marcado además resuelve la placa y corrige a la posición real del cielo: la vía fiable para una órbita preliminar. La casilla es una preferencia (su valor por defecto vive en Ajustes → Integraciones) y se recuerda entre sesiones.
STOP para el movimiento del telescopio ahora mismo. Se arma en el instante en que la montura empieza a moverse (un giro, un goto astrométrico o un seguimiento) y se desarma cuando termina: úsalo si la montura se va a un sitio equivocado.
Enviar plan prepara el plan (objeto, tomas × exposición, filtro, binning, ganancia, offset, dither) en el software y lo lee de vuelta (incluidos el binning y el dither que de verdad tiene), así que el panel muestra lo que aterrizó. Un ajuste opcional rechazado (el binning, una ganancia fuera de rango, una rueda que rechaza la ranura) se avisa sin abortar el plan: el objeto, la exposición y el recuento llegan siempre. Si el filtro del plan no está en tu rueda, el filtro se deja como está y la lectura de vuelta lo dice.
Empezar la captura lo lanza, y el mismo botón la para mientras el run está en marcha («Parar captura»): para la cámara, no la montura (eso es STOP). Con Seguir el objeto marcado corre la noche en pasadas en lugar de un bloque (ver abajo), y el botón pasa a «Parar el seguimiento».
La lista de filtros de la tarjeta Exposure plan es la que tiene tu rueda de verdad (se lee del programa al conectar); solo cuando no hay nada conectado aparece la lista clásica L/R/G/B/Ha/OIII/SII.
Qué viaja en vivo y qué va en la secuencia. «Enviar plan» puede fijar en vivo el objeto, la exposición, el nº de tomas, el filtro, el binning, la ganancia, el offset y el contador de dither (CCDciel) o un snapshot de una toma (NINA). La cadencia de autofocus no es un ajuste en vivo en ninguno de los dos programas: viaja con la secuencia exportada (.targets de CCDciel, la secuencia nativa de NINA).¿Por qué coordenadas aparentes y no J2000? Porque una montura apunta al cielo de ahora, no al del año 2000. Precesión, nutación y aberración mueven la posición aparente de una estrella decenas de segundos de arco: más que el campo de muchas cámaras. Con CCDciel, NightScribe hace la conversión por ti para que el objeto caiga en el chip, no fuera de él. NINA/PINS toman J2000 directamente, así que ahí las coordenadas del plan van tal cual.
La última toma, en la ventana
Al pulsar Iniciar captura, aparece una vista previa de la última toma bajo la fila de captura, con su nombre de fichero, filtro, exposición y fecha, y un botón para abrirla en el editor. Se refresca según llegan tomas nuevas y se para cuando termina el run. La imagen llega por red desde el propio programa (fullimage.jpg de CCDciel, el stream de imágenes de NINA/PINS), así que funciona con el observatorio en otra máquina y no necesita carpeta ni ajuste. Con NINA/PINS el FITS se descarga y se abre en el taller; con CCDciel, que por red solo sirve una imagen, el FITS se abre cuando NightScribe puede ver el fichero en disco (misma máquina o carpeta montada).
Dither y autofocus, con el porqué
En Capture options (un bloque plegado del paso Captura) ajustas el dithering (cada N tomas, cuántos píxeles) y el autofocus (cada ciertos minutos o al cambiar la temperatura), más ganancia, offset, binning y los retardos. La app propone los valores para tu objeto y explica cada uno al pasar el ratón por el ⓘ; puedes sobrescribir cualquiera. El razonamiento, en corto:
El dither mueve el campo unos píxeles entre tomas para que los píxeles calientes y el ruido de patrón fijo caigan en píxeles distintos y el apilado los elimine. Un objeto que se mueve (un NEO, un cometa) ya desplaza el campo solo, así que no lleva dither; un tránsito o una HADS no pueden permitirse el hueco, así que se hace antes del run, no durante.
El autofocus mantiene las estrellas pequeñas según se enfría el tubo y cambia el filtro: una estrella desenfocada reparte su luz y pierde relación señal/ruido. En fotometría de cadencia rápida se hace solo antes del run.
Los valores viajan con la secuencia exportada (.targets de CCDciel, JSON de NINA) y, donde la API lo permite, se aplican en vivo; la cadencia completa de autofocus vive en el fichero de secuencia.
Al final del mismo bloque están los darks y el bias de la noche (cuántos, la exposición del dark y la ranura de rueda que usa cada uno). Se ejecutan al final, después de las luces, en ese orden. La ranura importa: un dark se toma con el camino de luz bloqueado, así que no debe ir por el filtro que usaron las luces. Los dos arrancan en la ranura oscura que fijes en Ajustes → Equipo (Dark por convención) y puedes cambiar cualquiera de las dos para una noche concreta aquí. Los cuatro exports los llevan: CCDciel y la secuencia nativa de NINA como pasos reales (DARK/BIAS), el resumen de NINA en su lista Calibration y el CSV como filas con una columna type.
Valores sugeridos, y por qué
Cuando un proyecto todavía no tiene plan, los bloques Exposure plan y Capture options and calibration se abren con los valores que la app cree mejores para tu objeto, tu cámara, tu telescopio y tu cielo: tomas, exposición, dither, autofocus, ganancia, offset, binning. Son solo un punto de partida: cambia cualquiera y pasa a ser tuyo (la app nunca pisa un valor que hayas tocado). El botón Fijar los valores sugeridos los vuelve a aplicar, y el ? junto a cada bloque abre un diálogo que explica, con los números que usó, por qué cada valor es el que es.
La exposición es la delicada: sale del brillo del objeto y luego se acorta para una cámara que satura antes (poco full well, o píxeles grandes con focal corta), respeta los límites de tu cámara y el tope sin traza de un objeto en movimiento, y se comprueba contra tu cielo y tu ruido de lectura. Una sCMOS sensible que satura en segundos recibe tomas cortas; un objeto tenue en un cielo oscuro, más largas.
El número de tomas es el otro delicado: la app llena la ventana de visibilidad de tu objeto, pero nunca pasa del momento en que cruza el campo de la cámara. Un objeto en movimiento arranca centrado (el goto lo deja así), de modo que le queda media altura del lado corto del sensor antes de llegar al borde; la serie se corta ahí, porque después cada toma es una imagen sin el objeto. El cruce sale del tamaño del sensor, tu focal y la velocidad aparente del objeto, y el tiempo por toma entre el que se divide incluye la lectura y descarga de la cámara (su propio número, en el perfil de cámara) más el asentamiento de la montura: una descarga lenta significa menos tomas. Si el campo o la velocidad no se conocen, la app dice que no puede acotar el número en vez de aparentar.
Tu brillo de cielo (Ajustes → Observatorio) alimenta esa comprobación. Con una clave de contaminación lumínica (Ajustes → Integraciones, de lightpollutionmap.info), Consultar la rellena desde el atlas; sin clave, léela del mapa (el botón lo abre en tu sitio). Es el valor cenital y un modelo, así que tómalo como un buen punto de partida, no como una promesa.
Seguir el objeto: N observaciones sin re-apuntar a mano
Un objeto rápido se sale del campo: captúralo sin más y la mitad de la serie acaba sin él. Seguir el objeto (una casilla de la consola, para un objeto en movimiento y con conexión) más Empezar la captura pide un número de observaciones y lleva el run entero: cada observación captura tantas tomas como caben antes de que el objeto llegue al borde del campo (el mismo cruce por el que se acota el recuento), luego el telescopio vuelve a apuntar a la posición nueva del objeto y empieza la siguiente. La app sigue al objeto por el cielo, observación a observación, y sacas el máximo de cada una sin tocar la montura a mano.
Antes de empezar muestra los números: observaciones, tomas por observación, exposición, el coste del re-apuntado y el total, y si cabe en la ventana de visibilidad del objeto. Usa tus números del paso Plan (los campos Frames y Exposure), no una sugerencia nueva; si tu número de tomas es más de las que caben antes de que el objeto llegue al borde del campo, lo dice y lo respeta igual.
Mientras corre siempre sabes por dónde va: una barra de progreso y una línea en el paso Captura dicen qué observación (i de N), qué toma (c de f) y cuánta exposición queda, con el porcentaje del run completo. Parar seguimiento (el mismo botón) detiene la cámara y la montura ya, no al terminar el paso.
El guiado se repone antes de cada observación. Un slew corta el guiado, así que sin esto cada observación se capturaría sin guiar. El run conecta el guiado cuando puede (CCDciel), lo arranca con la calibración que ya tienes (solo se calibra de nuevo si lo pides en Configuración) y espera a que diga que guía antes de capturar. Si no logra arrancarlo, lo dice y captura igual (las exposiciones cortas suelen servir), y tú decides. Desactívalo en Configuración si guías a mano.
Las tomas se agrupan por observación. Las tomas de cada observación se copian a su propia subcarpeta (en la carpeta de captura cuando NightScribe la ve, en el proyecto si no) y el run anota cuántas fueron. El editor FITS entonces las agrupa solo: se acabó adivinar cuántas observaciones hubo. Cuando las subcarpetas no son alcanzables, las agrupa el registro del propio run; si tampoco encaja, el hueco que deja el re-apuntado las separa; el número a mano es el último recurso. El número es una sugerencia: viene precargado y puedes escribir otro, y entonces manda el tuyo.
Dos cosas que hay que saber: necesita un solver de placa (el centrado es un goto astrométrico), y con NINA/PINS cada observación es un fotograma (su captura es un snapshot de una toma) salvo que cargues la secuencia nativa; con CCDciel se respeta el recuento.
Lo que NINA / PINS todavía no hace
Esta es la lista que la 0.2 tiene que cerrar:
Su captura de tipo snapshot toma una exposición, así que Iniciar captura dispara una toma, no todo el número de frames del plan: el panel avisa de que el número de tomas es solo informativo. CCDciel sí respeta el número.
NINA no tiene un estado persistente: Enviar plan fija el filtro de la rueda y el resto lo recuerda NightScribe, en vez de un estado que se pueda leer de vuelta dentro de NINA.
El goto astrométrico necesita un plate solver configurado en NINA; sin él, el apuntado falla y el error se muestra tal cual.
PINS usa el mismo plugin y los mismos ajustes que NINA; solo cambian host y puerto.
Calibración: bias, darks y flats
La pestaña Calibración del editor FITS gestiona la biblioteca de masters y la receta de cada visita. La biblioteca vive en Ajustes → Medida, su única casa: la pestaña la lee, resuelve la receta contra la primera toma de la visita, y Ajustes de calibración… es la puerta hacia allí. Calibrar la visita es una pasada puntual sobre las tomas de la visita, no el interruptor que calibra el apilado: cada motor que aplica la calibración tiene su propia casilla en su propia pestaña, y la de Astrometría (Aplicar la calibración) es de tres estados, con la biblioteca decidiendo hasta que tú eliges.
La biblioteca se indexa, no se copia: señalas tus FITS masters y la app lee de sus cabeceras lo que los hace válidos (cámara, ganancia, temperatura, exposición, filtro). Qué es cada fichero lo dice su propia cabecera (IMAGETYP): Bias, Dark o Flat. Solo cuando la cabecera calla decide la exposición, y de forma estrecha: en cero es un bias, y de cinco segundos en adelante es un dark; lo de en medio no se adivina, y una toma de luz se rechaza sola. Son tres tipos, no cuatro: un «dark de flats» es un Dark a la exposición del flat, y la exposición es lo que el emparejamiento ya mira.
¿Por qué calibrar? Porque tu sensor miente de tres maneras conocidas y repetibles: añade un pedestal electrónico a cada píxel (bias), acumula carga térmica con el tiempo (dark) y multiplica la luz por la sombra del polvo y el viñeteo (flat). Restar bias+dark y dividir por el flat no es estética: es lo que convierte ADU en fotones comparables de una esquina a otra del chip y de una noche a otra. Sin eso, la fotometría del capítulo 06 mide el polvo de tu tren óptico, no la estrella.
¿Por qué el flat es por filtro? Porque las sombras del polvo cambian de escala con la óptica y la rueda, y la respuesta del sensor cambia con el color. Un flat de V no corrige un R: la sombra de la misma mota cae en otro sitio si la rueda aparca distinto.
Con qué se empareja cada pieza, y por qué no con más:
Dark: cámara, ganancia, temperatura del sensor dentro de la tolerancia (por defecto ±3 °C, en Ajustes → Medida) y exposición exacta. La corriente térmica es el nivel, así que los cuatro importan.
Bias: cámara y ganancia. Es el pedestal de lectura y apenas se mueve con la temperatura del sensor.
Flat: cámara y filtro solo. Su forma es la del tren óptico y su nivel se normaliza, así que la ganancia y la temperatura se dejan fuera del emparejamiento a propósito: exigirlas rechazaba flats reales.
Al flat se le quita antes su propio offset: un dark a la exposición del flat (el mismo pozo de darks), o el bias cuando el flat es corto.
La biblioteca dice por qué. Cuando un master que ves no se usa, la receta nombra el más cercano de ese tipo con el criterio que falló y los números («un dark, pero a −16 °C frente a −10 °C, tolerancia 3 °C»), así que «por qué no usa mi dark» tiene respuesta en vez de un encogimiento de hombros. Un flat de más de 30 días se usa pero se avisa: el polvo del tren se mueve y una mota puede haber aparecido o desaparecido.
Cada master tiene dueño. Un master construido con las tomas de un proyecto es de ese proyecto; un bias o un flat se pueden compartir con todos los proyectos. La receta prueba primero los masters del propio proyecto y los compartidos como respaldo, y nunca alcanza por accidente el de otro proyecto; uno que el proyecto no posee se marca como «(compartido)» en la línea de la receta, para que sepas que esos píxeles no son de tus noches. Un proyecto también puede usar el master de otro proyecto con un enlace (una segunda fila sobre el mismo fichero, nunca una copia), y borrar un master quita su fila mientras el fichero se queda en cuanto otra fila lo use.
La app puede construir los masters. Construir maestros… toma una carpeta de tomas de calibración, clasifica cada una por su cabecera, las agrupa por la misma clave con la que empareja la receta (la temperatura del dark redondeada al grado, así que una noche de darks es un master y no un puñado), combina cada grupo con la mediana y escribe el master en la carpeta de la biblioteca. Un grupo de una sola toma se avisa: es una copia de esa toma, no una media. Los originales se borran solo si lo pides, y solo después de que cada master esté escrito e indexado, así que una construcción que falla a medias los deja donde estaban. Usar el maestro de otro proyecto… enlaza uno.
La receta de la visita: al abrir el editor desde una visita, la app resuelve qué master de la biblioteca usa cada pieza, leyendo la cabecera de la primera toma, y avisa de lo que falte (Qué falta, y por qué). Calibrar la visita aplica la receta a todas las tomas; la calibración trabaja en memoria y solo escribe copias FITS si marcas la exportación. Esas copias van a la subcarpeta calibrados/ del proyecto y se registran en la visita como cualquier otro producto. Cada copia lleva la tarjeta NSCALIB: si vuelve a entrar en un run, la app ve que ya está limpia y no le resta el dark ni le divide el flat otra vez (una toma doblemente calibrada no tiene señal visible en la imagen), y lo dicen tanto el run como la pestaña.
Si no tienes flat para un filtro: la opción Model the vignetting from the frames (en Ajustes → Medida, su única casa; la pestaña solo la lee) muestrea el cielo en una rejilla de teselas sobre una veintena de tomas repartidas y ajusta una superficie suave a lo que tienen en común: el viñeteo del tren, que está fijo en el fotograma. Las teselas que una estrella, una galaxia o una mota desplazan fuera de la tendencia las tira el propio ajuste, así que ninguna fuente acaba en el modelo. Corrige el viñeteo (el sistemático que importa, alrededor de una décima de magnitud) y no el polvo: una superficie suave no tiene estructura fina, y para eso está un master real. Se llama modelo y no flat por eso mismo, y un flat real siempre gana: el modelo es solo el respaldo para los filtros para los que la biblioteca no tiene flat.
¿Por qué basta una superficie suave? Porque el viñeteo es suave y vale 0,087 mag, mientras que el polvo vale 0,026 mag: medido contra un master real, el modelo llega al 3,93 % frente al 4,26 % de un flat enmascarado de resolución completa, en 3 s en vez de 20. No necesita dithering ni que las estrellas se muevan, porque las teselas que estropean se descartan solas. Lo puedes abrir con Ver el modelo y juzgarlo: tiene que ser una superficie lisa, sin ninguna estrella ni mota.
Una cosa de la que depende el modelo: se construye de las tomas con el mismo dark o bias restado que la luz. Sin él, el pedestal se queda dentro y comprime la forma del modelo, así que corrige solo parte del viñeteo (la corrección cae a alrededor del 44 % de lo que debería); la app lo dice y te pide indexar un bias para esa cámara.
Para saber más
Este capítulo es el recorrido; la profundidad vive en el repositorio, en los documentos de tema que la propia app abre desde su ?:
docs/SEQUENCES.es.md: la exportación de secuencias, la receta de captura y su sección de resolución de problemas;docs/UFE.es.md: el editor FITS completo, calibración incluida.
Siguiente: 06. Fotometría.