我正在尝试上传一个fits图像,但它始终显示相同的错误“图像数据的无效尺寸”。
我发现这是因为fits图像有一个奇怪的形状(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()
发布于 2019-07-26 17:09:58
图像立方体image_data
只是一个numpy数组,所以您只需要访问其中的一个片段就可以得到一个2D形状。例如,这将绘制40x40图像:
plt.imshow(image_data[0,:,:])
通常情况下,以FITS或HDF5 (或其他格式)存储的图像可能以3D形式出现,即使只有一个图像存储。这使得软件在访问这类数据时可以更普遍地编写;总是处理3D形状比编写单独处理偶发2D案例的代码要容易。
编辑:仔细阅读你的问题,看起来你可能使用了一些API,希望图像数据是2D的?同样的建议通常适用;对数组进行切片或整形,然后以这种方式保存它。
https://stackoverflow.com/questions/57227705
复制相似问题