如何在Python中将PNG和FITS数据正确组合到一个Matplotlib图形中?
我有一个4545x4545像素的FITS文件,文件头包含坐标系。由于DS9(另一种查看和处理FITS图像的软件)能够更好地处理彩色地图缩放,因此我想到:如何在Python中将PNG和FITS数据正确组合到一个Matplotlib图形中?,python,matplotlib,astropy,fits,ds9,Python,Matplotlib,Astropy,Fits,Ds9,我有一个4545x4545像素的FITS文件,文件头包含坐标系。由于DS9(另一种查看和处理FITS图像的软件)能够更好地处理彩色地图缩放,因此我想到: 使用DS9打开FITS文件以调整图像的颜色贴图 将此图像保存在PNG文件中 在matplotlib中加载此PNG文件,并从原始FITS文件中添加标题,以便我可以将坐标系添加到PNG文件中 但是坐标显示不正确,因为像素化在每一步都会改变为不同的值。如何才能正确地执行此操作 这是我的代码的相关部分: from astropy.io import f
from astropy.io import fits
import matplotlib.pyplot as plt
import aplpy
from wcsaxes import WCSAxes
from astropy import wcs
import sys
import matplotlib.image as mpimg
image_fits = 'image_in.fits'
image_png = 'image_in.png' # this came from the one before, has different pixelization
image_data_png = mpimg.imread(image_png)
image_head_fits = fits.getheader(image_fits)
hdu_list = fits.open(image_fits)
F = aplpy.FITSFigure(hdu_list, figure=plt.figure(1))
fig = plt.figure()
mywcs = wcs.WCS(image_head_fits)
ax = WCSAxes(fig,[0.1, 0.1, 0.8, 0.8],wcs=mywcs)
fig.add_axes(ax)
ax.imshow(image_data_png)
plt.savefig('image_out.png')
pyavm()用于将FITS头添加到png图像中。你也可以看看。下面是一个相当复杂的示例,说明如何做到这一点:。这些都不是答案,但它们可能会为您指明正确的方向pyavm()的目的是为png图像添加FITS标题。你也可以看看。下面是一个相当复杂的示例,说明如何做到这一点:。这些都不是答案,但它们可能会为你指明正确的方向