pyfits:读取压缩的拟合文件

时间:2013-12-30 17:26:47

标签: compression pyfits

如何使用pyfits打开压缩拟合文件?

下面的代码读入主要的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”似乎无效。

2 个答案:

答案 0 :(得分:3)

如果主HDU上的.data属性为None,则表示主HDU不包含任何数据。您可以通过检查文件信息来确认:

hdulist.info()

您可能正在尝试阅读多扩展FITS文件,而您正在寻找的数据位于另一座城堡,我的意思是HDU。 disable_image_compression=True无效,因为这会禁用对压缩图像的支持:)

ETA:实际上,平铺压缩的FITS图像永远不会位于主HDU中,因为它在内部存储为二进制表,只能是扩展HDU。

答案 1 :(得分:1)

作为评论会更好,但我不具备发表评论的声誉,因此我不得不写一个答案。然而,答案是相同的 - 即压缩数据存储在第二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