如何使用pyfits打开压缩的fits文件?
下面的代码读入了主hdu,它是一个图像。结果是一个NoneType对象。
# read in file
file_input_fit = "myfile.fits.fz"
hdulist = pyfits.open(file_input_fit)
img = hdulist[0].data在pyfits.open() "disable_image_compression=True“中使用关键字似乎无效。
发布于 2013-12-31 09:23:06
如果主HDU上的.data属性为None,这意味着主HDU不包含任何数据。您可以通过检查文件信息来确认:
hdulist.info()很有可能你正在尝试读取一个多扩展名的FITS文件,而你正在寻找的数据在另一个城堡里,我的意思是,HDU。disable_image_compression=True不会有帮助,因为它禁用了对压缩图像的支持:)
ETA:事实上,瓦片压缩的FITS图像永远不会在主HDU中,因为它在内部存储为二进制表,只能是扩展HDU。
发布于 2014-12-03 04:09:05
这作为评论会更好,但我没有发表评论的名声,所以我被迫写了一个答案。然而,答案是相同的--即压缩数据存储在第二个HDU中。这条评论只是为了展示我在这里的压缩图像上的样子(在使用OP的确切行打开文件之后):
>>> hdulist.info()
Filename: /tmp/test.fits.fz
No. Name Type Cards Dimensions Format
0 PRIMARY PrimaryHDU 6 ()
1 CompImageHDU 9 (24576, 6160) float32 https://stackoverflow.com/questions/20844385
复制相似问题