-1

我遇到了 python、pyfits 和 numpy 的问题。我正在用通常的方式打开一个 fit 文件

file = pyfits.open('file.fits', memap = True)

打电话时

file.info()

它告诉我,包含的数据集具有形状 (2,1024,1024,546):

No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU      12   (2, 1024, 1024, 546)   float32

然后,我继续将此数组导入到一个 numpy 数组中

data = file[0].data

当我想显示这个数组的形状时,使用

print (data.shape)

它显示了形状

(546,1024,1024,2)

我不知道,为什么要这样做。重要的是要知道哪个维度属于哪个轴。

任何帮助表示赞赏!非常感谢。

4

1 回答 1

1

请参阅http://docs.astropy.org/en/stable/io/fits/appendix/faq.html#what-c​​onvention-does-astropy-use-for-indexing-such-as-of-image-coordinates

FITS 轴(如 中所示.info())方法,按NAXISn关键字排序,按 FORTRAN 顺序排列。Numpy,它基于 Python,而 Python 又基于 C,使用 C 有序轴。

(顺便说一句,请注意独立的 pyfits 模块已弃用,astropy.io.fits应改为使用)。

于 2016-11-29T09:58:25.230 回答