Guía simple para usar WBPP sin problemas
WBPP es el acrónimo de Weighted Batch PreProcess, traducido al castellano sería algo como Preprocesamiento por lotes con ponderación. Es un script de PixInsight que automatiza el preprocesamiento de imágenes astronómicas. Lo que hace es cargar tus lights, darks, flats y bias, aplicar las calibraciones correspondientes, alineación de estrellas, integración y creación de la imagen apilada final. El término weighted significa que asigna un peso a cada imagen según su calidad (ruido, FWHM, estrellas, etc.), y así da más importancia a las mejores durante el apilado. Es útil porque te ahorra mucho tiempo y evita errores manuales en cada paso. Lo tenemos en SCRIPT/Preprocessing.

Una vez que hacemos clic, nos aparece una interfaz muy simple e intuitiva;

1- Cómo introducir imágenes
Ahora, lo que tenemos que hacer es introducir tanto las fotos propiamente dichas (cuadros de luz) como las tomas de calibración, como los flats, darks, bias y darkflat si los tenemos. Una cosa muy importante, sobre todo para los usuarios de réflex con intervalómetro, es decir, los que no usan ningún programa de captura y guardan todas las fotos en la tarjeta de la cámara, ES IMPORTANTE SEPARAR LAS IMÁGENES EN CARPETAS y a continuación cargar las imágenes mediante la pestaña de cada clase de tomas como podemos ver en la imagen de abajo

O bien con la opción Directory, que nos permite seleccionar una carpeta entera con todo lo que tenga dentro, si lo que hay dentro está bien ordenado en carpetas, el programa lo leerá y sabrá qué es cada cosa, poniendo todo en su lugar correspondiente.

Para el ejemplo he construido un directorio ad hoc para que veas cómo sería la estructura necesaria para hacerlo bien. La estructura debería ser tal que así:
Solo habría que seleccionar la carpeta raíz, que sería la nombrada como PIPE_NEBULA, y una vez seleccionada, WBPP leería todo el directorio y introduciría cada clase de toma en su lugar correspondiente. Yo he puesto pocas fotos para no eternizarme escribiendo el artículo que será muy apasionante y didáctico, pero también muy largo.
Como podemos comprobar, WBPP ha ordenado cada cosa en su lugar

Para los que usamos software de captura, como NINA, ASIAIR, BakYard EOS, etc., no habría que hacer esta tarea de ordenar todo manualmente, ya que estos programas tienen la función «template» que permite agregar al nombre del archivo qué tipo de toma es, el tiempo de exposición, la solución astrométrica, la temperatura si tienes cómo medirla, etc. Estos programas ya lo dejan todo bien clasificado y simplemente es hacer clic en el directorio principal y ya está.
2- Configurar parámetros de calibración (CALIBRATION)
Bien, ahora toca configurar la forma en que WBPP tratará nuestras imágenes, esto es importante tenerlo claro, ya que no todas las sesiones serán siempre iguales y tal vez toque afinarlos o cambiarlos.
–Revisamos los LIGHTS
Lo que tenemos que hacer a continuación es hacer clic sobre la fila de los lights y se abrirá el display de la derecha desde donde podremos configurar todo lo que nos interese.

Lo primero que encontramos es la opción de optimizar los darks, es importante si sobre todo habéis disparado con intervalómetros y los tiempos de exposición o la temperatura no son idénticos, suele pasar en las DSLR no refrigeradas o con refrigeración pasiva, que no están operadas mediante aplicaciones de captura.
O sea, solo se ha de utilizar si no puedes hacer darks con la misma temperatura y mismo tiempo de exposición que los lights.
Como esta sesión está hecha con una réflex con refrigeración pasiva, pues la hemos activado, con una cámara dedicada donde podemos controlar la temperatura a voluntad, no se debería aplicar, por tanto no marcaríamos la casilla de Optimize Master Dark.
Si lo hacemos, podemos hacer clic en Show Calibration Diagram y nos mostrará un entretenido diagrama, explicando qué es lo que hace con cada grupo de imágenes.

Recapitulemos: La opción «Optimize Master Dark» en WBPP (Weighted Batch Preprocessing) de PixInsight permite ajustar el master dark para que coincida mejor con el nivel de ruido térmico de los light frames, sobre todo si hay diferencias en el tiempo de exposición o en la temperatura entre ellos.
¿Cómo funciona? Internamente, WBPP escala el master dark mediante un factor calculado para minimizar la diferencia estadística (varianza) entre los light frames y el dark escalado. Es un proceso similar al que hace la opción «Optimize» de la herramienta ImageCalibration.
Ventajas:
- Compensa discrepancias si los darks no se hicieron exactamente con los mismos parámetros que los light (tiempo, temperatura).
- Reduce el ruido térmico residual mejor que un dark no optimizado si las condiciones varían un poco.
- Ahorra tiempo evitando tener que crear darks diferentes para cada combinación de exposición y temperatura.
Importante: No se ha de usar con dark flats ni con bias, solo con darks aplicados directamente a los lights. Solo se ha de utilizar si no puedes hacer darks exactamente iguales a los lights.
Tanto el apartado de los darks como el de los flats y los bias, los dejaremos por defecto y no tocaremos nada. ¡Si funciona, no lo arregles! je je.
Me gustaría explicar otra cosa, imaginemos que por equivocación, hemos metido unos lights dentro de la carpeta de darks y ahora no queremos renombrarlos porque es un engorro, pues bien, tenemos la opción Add Custom, simplemente hacemos clic sobre ella

Y nos aparece el cuadro de diálogo, donde le diremos que en realidad NO son darks aunque se llamen asi, que son lights y que los trate como tal. Pondremos todos los datos, incluyendo el tiempo de exposición, y OK.
Automáticamente veremos cómo en la casilla de los Lights, se han agregado los archivos indicados, pero ahora mataré dos pájaros de un tiro, resulta que no son de la misma exposición, pero nosotros queremos que se procesen todas juntas. La ventana de los Lights se ha abierto al agregar esos archivos extra, pues bien, para conseguir que los procese todos juntos y como sabemos la diferencia de tiempo de exposición que hay entre los dos grupos o sets de imágenes, simplemente lo calcularemos con una simple resta y lo escribiremos en la casilla de Calibration exposure tolerance, como son 300″-180″=120″, si nos fijamos en la primera captura donde el valor de tolerancia es de 2″, WBPP hace dos grupos diferentes y nos haría dos másters finales diferentes, ¡mirad cómo están separados!

Pero si subimos la tolerancia como mínimo la diferencia de tiempo de exposición que hay entre ambos, que es de 120″, automáticamente agrupará todas las fotos en un set único y nos sacará solo un máster de la suma de todas ellas.

Llegados a este punto, vamos a ver todas las opciones que tenemos a la derecha, para qué sirve cada una, y cómo configurarlo según el setup óptico con el que están hechas las fotos.
En primer lugar encontramos el selector de umbral o diferencia entre exposiciones que ya hemos visto antes, y la primera opción que podemos configurar es Linear Defects Correction que por defecto viene desactivada, no hace falta activarla si tienes una cámara con sensor CMOS y/o has hecho darks, pero si tienes una cámara con sensor CCD o simplemente no has hecho darks, sí es conveniente activarla. Esto es debido a que la tecnología CCD leía la información por filas hasta completar toda la imagen, mientras que la tecnología CMOS lee la información píxel a píxel descartando los píxeles defectuosos en el mismo momento.
El Rejection Limit o límite de rechazo, nos permite escoger hasta qué umbral de brillo queremos rechazar en cada fila, o columna o ambas, filas y columnas. Esto garantizará un cálculo más preciso de las estadísticas de cada columna o fila, sin ningún sesgo o desviación de los valores hacia los píxeles brillantes. El valor está expresado en unidades sigma respecto al ruido de fondo.
El otro parámetro que podemos configurar es sobre qué queremos que haga la corrección, si sobre filas, sobre columnas o todo a la vez.

El siguiente parámetro es el Subframe Weighting o Ponderación de los Subframes o fotos individuales, es importantísimo porque determina de qué manera el programa evalúa la imagen, es decir, hace una estimación de la calidad intrínseca de cada imagen individual, la opción PSF Signal Weight es la que viene por defecto y parece ser la más robusta de todas. Quisiera aclarar una cosa, las opciones que vienen por defecto, suelen ser las que en una abrumadora mayoría de casos, funcionan mejor, lo cual no quiere decir que sean infalibles, pero antes de ponerlas por defecto, el equipo de PixInsight ha hecho pruebas para determinar qué opción es la que mejor funciona en la mayoría de los casos.

Lo siguiente es el Image Registration o registro de las imágenes individuales entre sí, si nos fijamos, hay una casilla desmarcada donde podemos rechazar la última imagen de referencia Reuse last reference frames, es decir, si por ejemplo tenemos un grupo de imágenes ya alineadas entre sí y queremos añadir más imágenes de una nueva sesión, pero no queremos volver a hacer el trabajo de volver a alinear todas otra vez entre sí, esta casilla la dejaremos sin marcar, si la marcamos, se volverán a alinear/registrar todas las fotos, tanto las que ya están alineadas, como las nuevas, con la consiguiente pérdida de tiempo, así que salvo que sea un caso muy concreto, esta casilla, siempre desmarcada.

Si ahora hacemos clic en la ruedecita o engranaje de la derecha, accederemos al panel de configuración del método para hacer el registro/alineamiento, como que el presente artículo quiere ser breve y la finalidad es haceros la vida fácil, no me entretendré a explicar cada uno de ellos, simplemente lo dejaremos en modo automático y dejaremos que WBPP haga todo el trabajo.

El siguiente punto es el Local Normalization que como su propio nombre indica, lo que hace es igualar el peso de todas las imágenes teniendo las mejores como referencia, gracias a Subframe Weighting que hemos visto cómo funciona en epígrafes anteriores. También tiene dos casillas desactivadas: Interactive Mode y el ya visto y explicado anteriormente Reuse last reference frames. El modo interactivo simplemente permite calcular el valor de normalización manualmente, el segundo punto ya lo hemos explicado pero en este caso lo que haría sería normalizar otra vez todo lo que ya habíamos normalizado, por eso siempre desactivado. Sobre el panel de control, que se abre pulsando sobre la ruedecita de la esquina superior derecha, diré lo mismo que antes, es muy extenso para este artículo, perderíamos la brevedad y se haría demasiado largo y tedioso, simplemente lo dejamos como viene por defecto, pero os animo a investigar y hacer vuestras pruebas.

Ahora viene uno de los más fáciles de configurar, pero no menos importante, el Image Integration, las dos opciones marcables/desmarcables, vienen marcadas por defecto, lo cual quiere decir que es lo que mejor funciona en la mayoría de los casos, el Autocrop es muy recomendable para recortar los bordes donde han quedado píxeles con nula información, y el Automatic integration mode es obvio cuál es su utilidad.

De todas formas el panel de configuración es bastante intuitivo y no demasiado complicado de configurar, si lo abrimos lo podremos comprobar. El método de combinación, nos da a elegir varias opciones, la más común sería el average, la media o valores centrales, la mínima y la máxima, el Average es la que viene por defecto. El algoritmo de rechazo o Rejection Algorithm es la función matemática que aplicará el script para deshacerse de los valores que no interesan, que se alejan demasiado de la media, las funciones sigma y clipping van muy bien en imágenes con muchas trazas de satélites o trazas de aviones, etc.

Y para acabar esta parte, un punto importantísimo como es Astrometric Solution, digo que es importantísimo, porque muchas herramientas fundamentales de PixInsight la usan para poder trabajar, como por ejemplo, el Spectrophotometric Flux Calibration, Spectrophotometric Color Calibration, Multiscale Gradient Correction, etc., nos conviene tener activada la opción Interactive in case of failure, porque a veces los programas de captura se lían y no escriben bien las coordenadas o el tamaño de píxel del sensor, la focal efectiva del tubo, etc., cuando esto pasa y si tenemos activada esta casilla, nos abrirá la ventana del Image Solver para poder poner los datos manualmente, normalmente no suele pasar, pero hay veces que pasa.

También puede ser que estemos usando un programa de captura que no tenga la opción de incrustar la solución astrométrica en los archivos de salida, entonces podemos decirle a WBPP cuáles son las coordenadas abriendo el panel de control pulsando sobre la ruedecita, ahí podremos poner todos los datos manualmente y obligar al script a hacer eso, aunque siempre lo podremos hacer después, dentro de PixInsight con el script Image Solver.

3-CONFIGURAR PARÁMETROS DE POST-CALIBRADO (Post-Calibration)
En la siguiente pestaña, podremos configurar aspectos vitales de la imagen final, como por ejemplo cómo tratar los canales de color si es una foto en color, la forma de interpolar los píxeles o el drizzle*, también podremos activar o desactivar la integración rápida y la manera en que el script lo hará.

Empezamos por Channels configuration, este apartado permite elegir si queremos que se calibren los tres canales juntos o por separado, obviamente si elegimos por separado la calibración va a ser más lenta, pero nos va a corregir la aberración cromática de ciertas ópticas, ya que calibrará por separado cada canal y después los volverá a alinear entre sí, mitigando el tema de la aberración cromática, así que podemos elegir Separate RGB y no olvidar marcar Recombine RGB.

El siguiente parámetro es el Drizzle Configuration, pero ¿qué es el Drizzle y por qué es tan importante? Técnicamente el drizzle es una técnica de reconstrucción de imagen que permite mejorar la resolución y el detalle de una imagen final, especialmente útil cuando se ha hecho submuestreo con cámaras de píxeles pequeños o telescopios de focal larga.
Consiste en combinar múltiples imágenes ligeramente desalineadas (dithered) para recuperar información espacial perdida.
El Drizzle no inventa datos, sino que aprovecha el ligero desplazamiento (dither) entre las diferentes capturas para “recolocar” la información real en una malla de píxeles más fina. Esto puede aumentar la resolución efectiva y recuperar detalle que de otra manera se perdería con una simple interpolación. Obviamente se debe hacer dithering con los valores recomendados según píxel y focal, podéis calcular el dithering que necesitáis en este sitio web: LINK
En cambio, en una interpolación de píxeles al uso, lo que se hace es estimar valores nuevos entre píxeles a partir de los valores de los píxeles vecinos. No añade información real, solo suaviza o redefine lo que ya hay, en cierta manera inventa información, el Drizzle NO.
Tengamos en cuenta que no siempre hay que usar Drizzle por obligación, a continuación aclaramos cuándo es bueno usarlo, y cuándo no:
Cuándo vale la pena utilizar Drizzle:
Tienes muchas imágenes (frames): Cuantas más imágenes, mejor funciona. Idealmente, más de 30-40.
Has aplicado dithering durante la captura: Los desplazamientos entre capturas son esenciales para que el drizzle tenga datos nuevos en cada imagen.
Tu imagen está submuestreada: Es decir, los píxeles de la cámara son muy pequeños comparados con la resolución óptica del telescopio. En ese caso, el drizzle puede recuperar detalle real.
Cámaras DSLR u OSC con matriz Bayer: La opción CFA drizzle puede mejorar significativamente la nitidez y el color.
Cuándo no vale la pena utilizar Drizzle:
Tienes pocas imágenes: Con menos de 15-20, no hay suficientes datos para construir la información “extra”.
No has hecho dithering: Si las imágenes están alineadas exactamente, el drizzle no puede añadir ningún detalle nuevo.
Imágenes muy ruidosas o con baja señal: El drizzle puede amplificar el ruido si no hay suficiente información.
Con cámaras monocromáticas con binning 2×2: No tendrás suficiente resolución para beneficiarte de ello.
Una vez claros estos conceptos, si activamos Drizzle, debemos saber que lo podemos hacer sin incrementar la dimensión del archivo (X1) y hasta un máximo de X4, cuanto más alto más grande será el resultado y más pesado será el proceso. Si tenemos varios grupos de imágenes, debemos hacer clic en Apply to all groups.

4- PIPELINE (resumen de procesos)
Pues como su nombre indica, el pipeline es un resumen, un índice de los procesos que se van a aplicar a las diferentes imágenes, qué peso tendrá cada proceso y cuántas imágenes hay en cada grupo, si miramos el panel lateral, podremos deshabilitar lo que queramos o si hemos definido algo por error.

5-PRESETS (Ajustes predefinidos)
Pulsamos en SELECT y se abrirá el cuadro de diálogo donde podremos ajustar nuestras preferencias.
1- Máxima calidad menor velocidad
2- Calidad media y velocidad un poquito más rápida
3- Mínima calidad pero máxima velocidad
6-GROUPING KEYWORDS (palabras clave de agrupamiento)
De las mejores cosas que tiene WBPP. Te permite cargar imágenes de diferentes sesiones y que cada grupo de imágenes se calibre con sus flats, darks y bias de cada sesión distinta (los flats siempre deben ser nuevos), con tan solo un clic.
El truco está en elegir la palabra correcta, lo más común es elegir la palabra SESSIO, pero puedes poner el nombre que te dé la gana, eso sí, las carpetas deben tener todas ese nombre. Tú puedes tener imágenes de 4 noches, dentro de la carpeta SESSIÓ, y dentro de ella, puedes tener SESSIO_1, SESSIO_2, SESSIO_3, y SESSIÓ_4 (por ejemplo), y dentro de cada carpeta puedes tener más carpetas con los flats, darks y bias de cada sesión, solo habrá que escribir la palabra clave al lado de la cruz verde y pulsarla. Yo he elegido la palabra NIT, y dentro de la carpeta NIT, tengo varias carpetas que contienen los lights y los flats de cada noche concreta, simplemente debo escribir la palabra clave NIT (no tengo bias ni darks porque reutilizo los masters de sesiones pasadas y ahorro tiempo de proceso), voy a Directory, busco la carpeta NIT, la selecciono, y WBPP abrirá todos los archivos ordenados por noches diferentes, cada una con sus flats pertinentes sin mezclar ninguna imagen.
Mirad cómo queda después de cargarlo todo:

Cada noche o sesión de fotos, tiene su correspondiente sesión de datos de calibración, pero las tomas lights, o sea, las fotos individuales, se registrarán todas juntas y también se integrarán todas juntas, lo cual nos hará tener una relación señal/ruido mucho mejor que si lo hiciéramos por separado y después integráramos los masters de cada noche. Si damos un vistazo al pipeline lo veremos perfecto lo que acabo de explicar:

Y ya solo nos quedaría decirle a WBPP dónde debe dejar los resultados, yo lo he enviado a la unidad D: que es un disco duro externo, al pulsar en Diagnostics, se abrirá un resumen con recomendaciones o no (si todo está bien).

Nos avisa de una cosa muy común en Windows como es la longitud de los nombres tanto de rutas como de lo que sea, no pueden tener más de 256 caracteres, es un problema de Windows, no de PixInsight. Le damos a OK y a continuación a Run, nos volverá a salir por última vez el warning, pulsamos en Continue y ya solo queda esperar el resultado final que estará en la carpeta de destino con todos los archivos y todos los masters que creará WBPP.

Aún queda mucho por explicar de WBPP, las muchísimas cosas que se pueden hacer con él, creo que el resumen que he hecho puede servir a la gente que no lo tiene del todo claro, espero que así sea y sirva de algo.
Pronto volveré con más artículos sobre PixInsight y cómo usarlo sin sufrimientos.
¡Hasta pronto!