上传形状奇怪的合身图像
Uploading a fits image with an odd shape
我正在尝试上传适合的图片,但它一直显示相同的错误 "Invalid dimensions for image data"。
我发现这是因为拟合图像的形状很奇怪 (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()
图像立方体 image_data
只是一个 numpy 数组,因此您只需访问它的一部分即可获得二维形状。例如,这将绘制 40x40 图像:
plt.imshow(image_data[0,:,:])
通常以 FITS 或 HDF5(或其他格式)存储的图像可能会以 3D 形状出现,即使只存储了一张图像。这允许在访问此类数据时更通用地编写软件;总是处理 3D 形状比编写单独处理偶尔出现的 2D 情况的代码要容易得多。
编辑:更仔细地阅读你的问题,看起来你可能正在使用一些 API 希望图像数据是二维的?同样的建议通常适用;对数组进行切片或整形,然后以这种方式保存。
我正在尝试上传适合的图片,但它一直显示相同的错误 "Invalid dimensions for image data"。
我发现这是因为拟合图像的形状很奇怪 (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()
图像立方体 image_data
只是一个 numpy 数组,因此您只需访问它的一部分即可获得二维形状。例如,这将绘制 40x40 图像:
plt.imshow(image_data[0,:,:])
通常以 FITS 或 HDF5(或其他格式)存储的图像可能会以 3D 形状出现,即使只存储了一张图像。这允许在访问此类数据时更通用地编写软件;总是处理 3D 形状比编写单独处理偶尔出现的 2D 情况的代码要容易得多。
编辑:更仔细地阅读你的问题,看起来你可能正在使用一些 API 希望图像数据是二维的?同样的建议通常适用;对数组进行切片或整形,然后以这种方式保存。