数据立方体的切换轴(fits文件)

2024-06-26 12:54:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有些问题,我找不到任何解决问题的办法。在

我尝试在python中创建一个datacube,其中三个轴是(RA,DEC,z),即2个天空位置和红色偏移。 我想我生成立方体的代码是可行的,我将立方体定义为:

cube     = np.zeros([int(size_x),int(size_y),int(Nchannel)])

其中xy是像素坐标,红移在通道中被切片。有了这个立方体,我用一些线的强度填充它。最后,我定义了我的.fits标题,如下所示:

^{pr2}$

问题是,我的立方体拟合是在“坏”的方向。当我用ds9打开时,z轴不是红移z轴。。。 我怀疑标题不正确,但在哪里可以指定fits标题中的轴? 干杯


Tags: 代码标题size定义npdecint天空
1条回答
网友
1楼 · 发布于 2024-06-26 12:54:59

轴实际上是颠倒的,FITS使用Fortran约定(列主要顺序),而Python/Numpy使用C约定(行主要顺序)。 http://docs.astropy.org/en/latest/io/fits/appendix/faq.html#what-convention-does-astropy-use-for-indexing-such-as-of-image-coordinates

因此,对于立方体,需要将轴定义为(z, y, x)

In [1]: import numpy as np

In [2]: from astropy.io import fits

In [3]: fits.ImageHDU(data=np.zeros((5,4,3))).header
Out[3]: 
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -64 / array data type                                
NAXIS   =                    3 / number of array dimensions                     
NAXIS1  =                    3                                                  
NAXIS2  =                    4                                                  
NAXIS3  =                    5                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups          

相关问题 更多 >