¿Por qué las características de la subtrama proyectada de WCS están en el lugar incorrecto en matplotlib?
Tengo un archivo de ajustes sobre un objeto astronómico. Puedo trazarlo así:
from astropy.io import fits
from astropy.wcs import WCS
hdul = fits.open(fitsfilename)[0]
wcs = WCS(hdul.header)
fig = plt.figure(figsize=(12,12))
fig.add_subplot(111, projection=wcs)
plt.imshow(hdul.data)
Esto funciona y produce una bonita foto:
Me gustaría agregar algunas características adicionales a esta trama, que no funciona. Por ejemplo, intentemos agregar un círculo a 119 °, -67 ° 30 '. Expando el código por:
plt.scatter([119],[-67.5],c='r',s=500)
Lo que obtengo es:
Lo que realmente no es lo que queríamos, el círculo está alrededor de 118 ° 5 ', -67 ° 5', no donde se supone que debe estar (119 °, -67 ° 30 ').
¿Qué me estoy equivocando o cuál es una buena solución para este problema?
Nota: cuando ejecutowcs = WCS(hdul.header)
, Recibo una advertencia:
ADVERTENCIA: VerifyWarning: Verificación de errores informados: [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: La tarjeta 'A_2_0' no es estándar FITS (cadena de valor no válida: '3.29341755408e-05'). Se corrigió la tarjeta 'A_2_0' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: Nota: astropy.io.fits usa indexación basada en cero. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'A_1_1' no es estándar FITS (cadena de valor no válida: '1.51709339878e-05'). Se corrigió la tarjeta 'A_1_1' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'A_0_2' no es estándar FITS (cadena de valor no válida: '5.17973753556e-06'). Se corrigió la tarjeta 'A_0_2' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'B_2_0' no es estándar FITS (cadena de valor no válida: '2.97627426087e-06'). Se corrigió la tarjeta 'B_2_0' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'B_1_1' no es estándar FITS (cadena de valor no válida: '2.71948126373e-05'). Se corrigió la tarjeta 'B_1_1' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'B_0_2' no es estándar FITS (cadena de valor no válida: '1.66848449653e-05'). Se corrigió la tarjeta 'B_0_2' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'AP_1_0' no es estándar FITS (cadena de valor no válida: '1.79541533196e-06'). Se corrigió la tarjeta 'AP_1_0' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'AP_0_1' no es estándar FITS (cadena de valor no válida: '9.20624843151e-07'). Se corrigió la tarjeta 'AP_0_1' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'AP_2_0' no es estándar FITS (cadena de valor no válida: '-3.29292923201e-05'). Se corrigió la tarjeta 'AP_2_0' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'AP_1_1' no es estándar FITS (cadena de valor no válida: '-1.51738446887e-05'). Se corrigió la tarjeta 'AP_1_1' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'AP_0_2' no es estándar FITS (cadena de valor no válida: '-5.18321445978e-06'). Se corrigió la tarjeta 'AP_0_2' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'BP_1_0' no es estándar FITS (cadena de valor no válida: '8.99029048217e-07'). Se corrigió la tarjeta 'BP_1_0' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'BP_0_1' no es estándar FITS (cadena de valor no válida: '1.15967736014e-06'). Se corrigió la tarjeta 'BP_0_1' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'BP_2_0' no es estándar FITS (cadena de valor no válida: '-2.97837492348e-06'). Se corrigió la tarjeta 'BP_2_0' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'BP_1_1' no es estándar FITS (cadena de valor no válida: '-2.71998518336e-05'). Se corrigió la tarjeta 'BP_1_1' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'BP_0_2' no es estándar FITS (cadena de valor no válida: '-1.66872388359e-05'). Se corrigió la tarjeta 'BP_0_2' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'WCSR_PRJ' no es estándar FITS (cadena de valor no válida: '3.6679e-07'). Se corrigió la tarjeta 'WCSR_PRJ' para cumplir con el estándar FITS. [astropy.io.fits.verify] ADVERTENCIA: VerifyWarning: la tarjeta 'WCSR_PIX' no es FITS estándar (cadena de valor no válida: '8.2565e-05'). Se corrigió la tarjeta 'WCSR_PIX' para cumplir con el estándar FITS. [astropy.io.fits.verify]
Así que esto podría ser relevante; pregunta de cómo solucionarlo todavía se mantiene.