fits文件的读取与查看
fits文件读取与查看
fits文件的结构
一个fits文件包括多个HDU(两个以上),开头一个是Primary HDU,储存着类似于观测日期等的信息,剩下的是Bin HDU,储存着观测数据
每个HDU由header 和data组成,data中储存着数据,header表示相应的信息,储存着和Primary HDU一样的信息,并且描述第几列的数据是什么,类型是什么
TTYPE1=‘obsid’表示第一列的数据是obsid,TFORM1和TDISP1表示第一列的数据的格式(format)
python读取fits文件
使用astropy包读写fits文件(astropy需要下载)
from astropy.io import fits
#读取文件
lamost=fits.open('dr5_stellar.fits')
#查看HDU
lamost.info()
#查看第二个HDU的header
lamost[1].header
#查看第二个HDU的data
lamost[1].data
#按照关键字搜索第二个HDU的数据(例子中是查看lamost数据的赤经)
lamost[1].data.field('ra')
astropy的官方文档
python关闭fits文件
及时关闭文件以减小内存消耗
lamost.close()
fits文件转DataFrame格式
pandas的DataFrame格式操作星表更加方便,然而你将各列数据从fits文件中提取出来再写成字典,再转成DataFrame格式很不方便,而且在后续使用中可能会出现Big-endian 和 little-endian 相关的报错,这里介绍另一种简单不出错的方法
from astropy.table import Table
lamost = Table.read('dr5_stellar.fits', hdu=1)
lamost = lamost.to_pandas()
这个方法需要你知道你的数据在哪个HDU里面,一些特殊的format格式可能无法识别,比如这个LAMOST DR5里面有一种format是J,就不识别了,会给你报warning,你需要看一下不识别的那一列是不是需要的数据,如果不是,那就不重要了。
topcat操作fits文件
当数据文件比较大,而你只需要其中的一部分数据时,可以使用topcat把文件切割一下
- 下载topcat,进入官网,根据提示下载,不同的系统不一样
topcat官网
注:topcat基于Java,需要先下载Java JRE,打开https://java.com/zh-CN/download/,下载默认版本即可 - 运行topcat,读取较大的fits文件
选择File,选择Load Table,选择Filestore Browser,然后找到你的fits文件,topcat支持很多种数据类型,比如CSV,ASCII,读取时选择相应的Table Format即可,如果是读取fits文件则不需要选择Table Format,读取fits文件特别快,几个G的文件也是一瞬间,读入后topcat都会认为他们是table - 查看数据
双击读入的文件,就可以查看全部的数据
如下图点击这里,可以查看所有列名
出来是这样的
可以看到第几列表示什么(具体的意义还是要看数据发布人的文档)勾选表示显示这列,不勾选表示不显示,比如我只需要他的ra,dec和teff,勾选这三项,然后双击数据文件打开,就只有这三项
保存文件
先选中,然后点击保存按钮,选中保存位置,写一个文件名即可保存,这样保存的数据就只有ra,dec和teff三列,保存文件的格式也是多样化的,取决于你的选择查看文件的统计量
点击
会出现下图
可以很方便的看到每个量的平均值,最大值,最小值将两个星表中的数据按照ra,dec进行交叉匹配
当你读取了两个以上的星表时,点击这个标志
会出现下图
选择table1,table2,在RA column和Dec column中选择你的赤经,赤纬,Max error就是你的交叉半径,一般是1角秒,Match Selection 和join Type都可以选择,一般默认就行,想要调整可以看一下topcat的官方文档将自己的星表与服务器的星表进行交叉匹配
点击
会出现
VizieRTable ID/Alias选择你想要交叉的服务器星表,比如2MESS,Gaia DR2,Local Table选择你自己的星表,输入赤经赤纬即可,其他一般默认,最后一行的Block size指的是一次交叉多少行,把他调大可以减少交叉时间,但是如果网络波动导致中断,那么前面交叉的数据也传不回来,没有稳定的VPN建议不要动这个参数
更多topcat操作请参考topcat官网
fits文件的读取与查看相关推荐
- pptx文件无法读取_如何在未安装Office的情况下查看PPTX,DOCX或XLSX文件中的图像...
pptx文件无法读取 There's nothing more frustrating than finally getting the screenshot or image you asked f ...
- astropy对fits文件的基础操作
astropy读取fits文件汇总 from astropy.io import fits hdu_list = fits.open(image_file) hdu_list.info() image ...
- vc++从txt文件中读取数据
数值分析课上老师说要将数据写在txt文件上,然后让程序从txt文件中读取数据.让本来C++已经遗忘了很久的我们无从下手,在网上也查看了很多,发现大多都是扯淡,放在VC++编辑器上发现并不能运行,不知道 ...
- android中XMl文件的读取
废话不多说了直接上代码: 新建一个Xml文件用于读取: test.xml <Languages cat="1"><lan id="1"> ...
- php csv文件的读取,写入,输出下载操作详解
2019独角兽企业重金招聘Python工程师标准>>> php对csv文件的读取,写入,输出下载操作. 代码: <?php $file = fopen('text.csv',' ...
- springboot读取linux文件_SpringBoot读取Resource下文件的几种方式
最近在项目中涉及到Excle的导入功能,通常是我们定义完模板供用户下载,用户按照模板填写完后上传:这里待下载模板位置为resource/excelTemplate/test.xlsx,尝试了四种读取方 ...
- python文件的读取和写入
最近一直在做数据的处理,其中要包括读写文件,现在总结一下用到的python读写文件的三种方式. 1.第一种是经常使用的readline和write的方法,该方法主要以字符串的形式进行读写. 读文件: ...
- Django框架(上传Excel文件并读取)
博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...
- python读文件和写文件-python开发--从文件中读取数据和写入文件
#! /usr/bin/env python -*- coding:utf-8 -*- """ @Author:gcan @Email:1528667112@qq.com ...
- python输入文件名读取文件_[Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...
1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...
最新文章
- EBGAN, LSGAN, BEGAN
- C#隐藏任务栏区图标(非右下角托盘)
- python分析推特_用Python关注者的关注者抓取Twitter数据的最快方法
- 用户层关闭杀毒软件安全保护
- 史上最详 Thymeleaf 使用教程
- 令用EclipseJ2EE创建的Dynamic Web project目录结构与用MyEclipse创建的Web project一样
- python数字图像处理(6):图像的批量处理
- 中调用view_在 View 上使用挂起函数
- html文字logo
- 微信小程序怎么做店铺?
- 小程序超过2M限制的方法——分包加载
- 墨菲定律: If anything can go wrong,it will.
- 全面认识数据指标体系
- python基础资料(Learn|Codecademy好用的工具)
- 关于UE4坐标换算涉及到的知识
- RocketMQ4.0源码分析之-路由管理
- how to assign more that 31 VFs to one VM
- iOS 开发: 仿QQ
- Java学习--排序算法之插入法排序
- HDU-5976-Detachment
热门文章
- PHP的性能演进(从PHP5.0到PHP7.1的性能全评测)
- 游戏美术师的火绝对不是捧出来的!不看不知道游戏模型师这么吃香
- Activity透明主题的一个坑
- Java Poi 根据文字内容 插入 word 图片
- 网站安全性之js注入
- windows server域服务器作用,windows server 2012 r2AD域搭建以及域的简单功能介绍
- html中fixed属性,CSSposition属性中:fixed使用详解
- python画地球代码_python的pygame模拟太阳-地球-月亮-金星等动态示意图代码分析
- the little schemer 笔记(10.1)
- 数字转型遇阻 ,Riverbed重塑APM工具