NoConvergence: WCS весь мир в пикс - PullRequest
1 голос
/ 31 января 2020

Я пытаюсь преобразовать некоторые RA и De c для объектов, которые у меня есть в изображении .fits, в значения пикселей, но каждый раз, когда я запускаю WCS.all_world в pix, я получаю следующую ошибку:

NoConvergence: 'WCS.all_world2pix' failed to converge to the requested accuracy.
After 2 iterations, the solution is diverging at least for one input point.

Как мне избежать этого? Я пытался изменить допуск, но, похоже, ничего не помогло.

Это код, который я использую:

coordinates_ID = zip(ID, RA, Dec)  
pixRA = []
pixDec = []

    #read in the fits file
insciim = fits.open('/home/myname/image.fits')

#working from a copy to avoid overwriting the images
sciim = np.copy(insciim)

#getting the header from the fits file
header = sciim[0].header
header["CTYPE1"] = "RA---TAN-SIP"
header["CTYPE2"] = "DEC--TAN-SIP"

w = wcs.WCS(insciim[0].header)

for i in coordinates_ID:
    pixra, pixdec = w.all_world2pix(i[1], i[2], 1)
    pixRA.append(pixra)
    pixDec.append(pixdec)


test = (pixRA, pixDec)

size = (200, 200)

cut = Cutout2D(sciim[0].data, test, size).data

plt.imshow(cut, origin='lower', cmap='viridis')
plt.colorbar()

img_file = "/home/myname/test.fits"
img_hdu = fits.PrimaryHDU(cut, header=sciimheader)
img_hdu.writeto(img_file, overwrite=True)

Я должен заявить, что адрес_ координаты - это 3 сжатых таблицы (например, три списка). ) координат объектов на моем изображении и соответствующих им имен. Может кто-нибудь определить, что может заставить меня получить ошибку, которую я получаю?

...