python处理FITS文件 2:astropy.io.fits介绍及打开FITS文件

astropy这个库有很多功能,因为本文主要涉及FITS文件,因此仅仅使用astropy.io.fits

1介绍

astropy.io.fits包提供FITS文件操作的函数接口,使得用户可以忽略FITS文件实现的底层细节,可以像操作正常文件和数组一样处理一个非常复杂的文件。
FITS文件的格式可以参考本博客中的相关文章。

2打开FITS文件

from astropy.io import fits
hdul=fits.open(fits_image_filename)

注意fits_image_filename是一个fits文件的文件名,实际使用时填写对应的路径和文件名,如果没有路径,默认为当前路径下的文件。
open()函数有几个可选参数,之后会提到。默认模式下函数返回一个对象HDUList,就是一个HDU的列表。HDU是FITS文件最高级的FITS结构,由头文件和数据单元组成。
列表是python的基本数据结构之一,有丰富的函数操作,可以像正常列表做索引等基本操作。
因为一个FITS文件可能会由很多个HDU组成,所以需要通过索引选择其中一个,如hdul[0]选择第一个HDU。
通过HDUList.info()可以得到文件的信息
这里写图片描述
可以看出代码中使用的文件共有五个HDU,第一个没有数据单元,之后四个名为SCI文件。
可以通过之前所提到的索引选择任意一个HDU进行处理

3关闭FITS文件

hdul.close()

及时关闭HDUList对象有助于减少内存消耗,在文件很大很多时需要格外注意。
使用上下文管理器可以很方便解决这个问题
hduclose
即使出现异常,HDUList同样可以关闭

4.打开较大的文件

使用open()函数的控制参数memmap=True控制数据数组通过mmap内存映射获取,而不是一次性读入内存。

下一篇:处理fits文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

greatofdream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值