备注
单击 here 要下载完整的示例代码,请执行以下操作
访问存储在MEF扩展名中的数据¶
FITS文件通常包含大量多维数据和表格。这个例子打开一个FITS文件,其中包含来自Chandra的HETG-s仪器的信息。
示例使用 astropy.utils.data
要下载多扩展FITS(MEF)文件, astropy.io.fits
调查头部,以及 astropy.table.Table
去探索数据。
By: Lia Corrales, Adrian Price-Whelan, and Kelle Cruz
许可证:BSD
使用 astropy.utils.data
子包下载本例中使用的FITS文件。同时导入 Table
从 astropy.table
分装和 astropy.io.fits
from astropy.utils.data import get_pkg_data_filename
from astropy.table import Table
from astropy.io import fits
下载FITS文件
event_filename = get_pkg_data_filename('tutorials/FITS-tables/chandra_events.fits')
显示有关FITS文件内容的信息。
fits.info(event_filename)
Filename: /home/bk/.astropy/cache/download/url/333246bccb141ea3b4e86c49e45bf8d6/contents
No. Name Ver Type Cards Dimensions Format
0 PRIMARY 1 PrimaryHDU 30 ()
1 EVENTS 1 BinTableHDU 890 483964R x 19C [1D, 1I, 1I, 1J, 1I, 1I, 1I, 1I, 1E, 1E, 1E, 1E, 1J, 1J, 1E, 1J, 1I, 1I, 32X]
2 GTI 3 BinTableHDU 28 1R x 2C [1D, 1D]
3 GTI 2 BinTableHDU 28 1R x 2C [1D, 1D]
4 GTI 1 BinTableHDU 28 1R x 2C [1D, 1D]
5 GTI 0 BinTableHDU 28 1R x 2C [1D, 1D]
6 GTI 6 BinTableHDU 28 1R x 2C [1D, 1D]
扩展名1,EVENTS,是一个包含每个X射线光子击中钱德拉的HETG-s探测器的信息的表格。
使用 Table
阅读表格
events = Table.read(event_filename, hdu=1)
打印事件表的列名。
print(events.columns)
<TableColumns names=('time','ccd_id','node_id','expno','chipx','chipy','tdetx','tdety','detx','dety','x','y','pha','pha_ro','energy','pi','fltgrade','grade','status')>
如果列包含单位信息,它将具有 astropy.units
对象。
print(events['energy'].unit)
eV
打印存储在能量列中的数据。
print(events['energy'])
energy
eV
---------
13874.715
2621.1938
12119.018
3253.0364
14214.382
1952.7239
3267.5334
3817.0366
2252.7295
6154.1094
...
4819.8286
12536.866
2599.5652
15535.768
6653.0815
14362.482
14653.954
6652.827
9672.882
1875.9359
Length = 483964 rows
Total running time of the script: (0分55.586秒)