Conversión de coordenadas FITS (NuSTAR) a WCS

Estoy tratando de convertir algunas coordenadas de píxeles que tengo en coordenadas WCS, idealmente en una región WCS para usar en un análisis más detallado.

Hasta ahora he podido cargar y analizar un archivo NuSTAR FITS, hacer algunos análisis para hacer mis selecciones y obtener las coordenadas de píxeles de la imagen. Por ejemplo, después de mi análisis terminaría seleccionando un rectángulo de xvalores de píxeles 480 a 518 y yvalores de 478 a 516.

Después de eso, traté de usar el módulo astropy WCS para convertirlos, pero no parece encontrar los datos requeridos en el encabezado para hacer la conversión y solo dice que el píxel 480 da la coordenada 480. Eso o simplemente lo estoy haciendo Ocurre algo.

Así que revisé el encabezado FITS y encontré que algunas teclas ( TCRPX, TCRVL, TCDLT) dan el píxel de referencia, la coordenada del grado del píxel de referencia y los valores de escala del eje del píxel.

Pero ahora estoy realmente atascado ya que lo que necesito obtener es un archivo de región como los producidos por ds9, en el formato de:

# Region file format: DS9 version 4.1
global color=green dashlist=8 3 width=1 font="helvetica 10 normal roman" select=1 highlite=1 dash=0 fixed=0 edit=1 move=1 delete=1 include=1 source=1
fk5
circle(19:58:21.593,+35:11:57.46,10")

Para luego ejecutar esto a través de la nuproductsherramienta.

TL; DR: ¿Alguien sabe cómo convertir las coordenadas de píxeles físicos de NuSTAR FITS en coordenadas FK5?


EDITAR: Escribí un código para extraer las coordenadas . Convierte el píxel a grado fino, pero convirtiendo el FK5 α ángulo a sexagesimal no funciona correctamente por... alguna razón.


EDIT2: Todo funciona ahora, aquí hay un cuaderno donde reviso todo en caso de que alguien tenga un problema similar. Extraigo la ascensión recta y la declinación en grados de las coordenadas de píxeles proporcionadas por el archivo FITS y luego convierto estos grados en ángulos sexagesimales (h:m:s). Según mis pruebas, parece funcionar bastante bien, los resultados son un poco malos debido a lo que supongo que son algunos errores aritméticos de punto flotante.

¿En qué lenguaje de programación trabajas? Además, no me queda del todo claro lo que quiere como salida, y no estoy familiarizado con esta herramienta 'nuproducts'. ¿Por qué los grados, en los que ha convertido las coordenadas de píxeles como dice en EDIT, son insuficientes?
Estoy trabajando en Julia ahora. Básicamente, los datos de NuSTAR deben calibrarse antes de que sean adecuados para el análisis científico y hay algunas etapas para esa calibración, una de las etapas requiere que seleccione una región de origen (como un archivo .reg, generalmente creado seleccionando manualmente un área usando DS9) antes de obtener los datos finales completamente calibrados/limpiados. Los archivos FITS almacenan datos como coordenadas de píxeles XY, pero el archivo de región debe estar en WCS, por lo que convierto ángulos X, Y a FK5. El problema ahora es que para convertir el ángulo que obtengo en grados (que es correcto) a hh: mm: ss es diferente a lo que genera DS9
¿Cuál es la discrepancia entre la salida de DS9 y lo que obtienes?
Ajá, descubrí lo que hice mal, estaba siendo estúpido y convirtiendo grados a h:m:s como si fueran ángulos en un círculo, lo cual no funciona para la ascensión recta ya que va de -90 a 90, no 0 a 360. Ahora que lo arreglé ( aquí hay un cuaderno donde funciona ) todavía está un poco fuera de 10 ^ -5, pero supongo que son solo algunos errores de coma flotante que se acumulan en el camino.

Respuestas (2)

Puede cargar sus archivos FITS en astrometry.net (o usar una API) y obtener las coordenadas. Opcionalmente, puede recuperar nuevos archivos FITS con las coordenadas incluidas en los metadatos. Desde allí podrá continuar con su procesamiento.

Y, en lugar de cargar todo, también puede instalar una copia del paquete astrometry.net localmente si está ejecutando Linux.

Este ejercicio lo hice con IRAF mediante las funciones geomap y geotran. Hay una versión PYRAF de IRAF, pero nunca he probado la versión de python. Usando estas rutinas, puede encontrar la ecuación de transformación sin importar el encabezado. Lo que necesita saber son algunos objetos estándar de WCS conocidos y coordenadas de píxeles.