我有一个RGB拟合图像的集合,我想用WCS在轴上绘制蓝色的框架。我使用以下命令对图像进行切片以获取蓝色:
from astropy.wcs import WCS
from astropy.io import fits
image1 = fits.open('fits_file.fits')
data1 = image1[0].data
image1_slice_blue = data1[2,:,:]当我绘制这个图时,轴对应于像素数,而不是WCS坐标。我尝试使用以下命令从文件中获取WCS信息:
wcs1 = WCS(image1[0].header)但我有一个问题,因为NAXIS =3(图像宽度,高度和平面),而WCSAXES =2 (RA和Dec)。该错误指出在核心WCS关键字中检测到3个维度,并告诉我使用naxis kwarg选择/减少维度。我又运行了一次,但用的是:
wcs1 = WCS(image1[0].header, naxis=2)但这也不起作用,因为找不到CTYPE3。有人能帮我解决这个问题吗?谢谢
这是我试图拆分的图像:http://nova.astrometry.net/user_images/2677994#annotated
我不能分享实际的文件,但它是RHS上的"new-image.fits“文件。
发布于 2020-07-06 02:47:37
我也有同样的问题,并且发现了astropy,https://github.com/astropy/astropy/issues/10527的一个bug
以下是我处理数据立方体的解决方法
import urllib.request
from io import BytesIO
from astropy.io import fits
from astropy.wcs import WCS
# download image into memory
url = 'https://sha.ipac.caltech.edu/applications/Spitzer/SHA/servlet/ProductDownload?DATASET=level1&ID=382262290'
response = urllib.request.urlopen(url)
hdulist = fits.open(BytesIO(response.read()))
# reproduce bug
try:
wcs = WCS(hdulist[0].header)
except ValueError:
hdulist[0].header['NAXIS'] = 2
wcs = WCS(hdulist[0].header)https://stackoverflow.com/questions/54815583
复制相似问题