首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切片RGB适合图像时保持WCS坐标

切片RGB适合图像时保持WCS坐标
EN

Stack Overflow用户
提问于 2019-02-22 04:19:24
回答 1查看 220关注 0票数 1

我有一个RGB拟合图像的集合,我想用WCS在轴上绘制蓝色的框架。我使用以下命令对图像进行切片以获取蓝色:

代码语言:javascript
复制
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信息:

代码语言:javascript
复制
wcs1 = WCS(image1[0].header)

但我有一个问题,因为NAXIS =3(图像宽度,高度和平面),而WCSAXES =2 (RA和Dec)。该错误指出在核心WCS关键字中检测到3个维度,并告诉我使用naxis kwarg选择/减少维度。我又运行了一次,但用的是:

代码语言:javascript
复制
wcs1 = WCS(image1[0].header, naxis=2)

但这也不起作用,因为找不到CTYPE3。有人能帮我解决这个问题吗?谢谢

这是我试图拆分的图像:http://nova.astrometry.net/user_images/2677994#annotated

我不能分享实际的文件,但它是RHS上的"new-image.fits“文件。

EN

回答 1

Stack Overflow用户

发布于 2020-07-06 02:47:37

我也有同样的问题,并且发现了astropy,https://github.com/astropy/astropy/issues/10527的一个bug

以下是我处理数据立方体的解决方法

代码语言:javascript
复制
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)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54815583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档