首页 > 解决方案 > 上传形状奇特的适合图像

问题描述

我正在尝试上传适合的图像,但它一直显示相同的错误“图像数据的尺寸无效”。

我发现这是因为拟合图像的形状很奇怪(1、40、40)。有没有办法解决这个问题并在不使用 AplPy 的情况下上传实际图像?

file1 = "Downloads/PVDiagramtest1.fits"
image_data = fits.getdata(file1)
print(image_data)
print(image_data.shape)

plt.figure()
plt.imshow(image_data)
plt.show()

标签: pythonastropy

解决方案


图像立方体image_data只是一个 numpy 数组,因此您只需要访问它的一部分即可获得 2D 形状。例如,这将绘制 40x40 图像:

plt.imshow(image_data[0,:,:])

通常,以 FITS 或 HDF5(或其他格式)存储的图像可能会以 3D 形状出现,即使只存储了一张图像。这允许在访问此类数据时更普遍地编写软件;始终处理 3D 形状比编写单独处理偶尔出现的 2D 情况的代码更容易。

编辑:更仔细地阅读您的问题,看起来您可能正在使用一些希望图像数据为 2D 的 API?相同的建议通常适用;切片或重塑数组,然后以这种方式保存。


推荐阅读