您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

开启天文之路的 4 个 Python 工具 | Linux 中国

时间:2020-07-28 10:38:07  来源:  作者:

 

开启天文之路的 4 个 Python 工具 | Linux 中国

 

使用 NumPy、SciPy、Scikit-Image 和 Astropy 探索宇宙

• 来源:linux.cn • 作者:Gina Helfrich,ph.d. • 译者:SilentDawn •

(本文字数:2442,阅读时长大约:3 分钟)

天文学与 Python

对科学界而言,尤其是对天文学界来说,Python 是一种伟大的语言工具。各种软件包,如 NumPy 、 SciPy 、 Scikit-Image 和 Astropy ,(仅举几例) ,都充分证明了 Python 对天文学的适用性,而且有很多用例。(NumPy、Astropy 和 SciPy 是 NumFOCUS 提供资金支持的项目;Scikit-Image 是个隶属项目)。我在十几年前脱离天文研究领域,成为了软件开发者之后,对这些工具包的演进一直很感兴趣。我的很多前天文界同事在他们的研究中,使用着前面提到的大部分甚至是全部工具包。以我为例,我也曾为位于智利的超大口径望远镜(VLT)上的仪器编写过专业天文软件工具包。

最近令我吃惊的是,Python 工具包竟然演进到如此好用,任何人都可以轻松编写 数据还原 (data reduction) 脚本,产生出高质量的数据产品。天文数据易于获取,而且大部分是可以公开使用的,你要做的只是去寻找相关数据。

比如,负责 VLT 运行的 ESO,直接在他们的网站上提供数据下载服务,只要访问 www.eso.org/UserPortal 并在首页创建用户就可以享有数据下载服务。如果你需要 SPHERE 数据,可以下载附近任何一个包含 系外行星(exoplanet)或者 原恒星盘(proto-stellar discs)的恒星的全部数据集。对任何 Python 高手而言,通过还原数据发现深藏于噪声中的行星或者原恒星盘,实在是件令人兴奋的事。

我鼓励你下载 ESO 或其它天文影像数据,开启你的探索历程。这里提供几条建议:

  1. 首先要有一个高质量的数据集。看一些有关包含系外行星或者原恒星盘的较近恒星的论文,然后在 http://archive.eso.org/wdb/wdb/eso/sphere/query 之类的网站检索数据。需要注意的是,前述网站上的数据有的标注为红色,有的标注为绿色,标注为红色的数据是尚未公开的,在相应的“发布日期”处会注明数据将来公开的时间。
  2. 了解一些用于获取你所用数据的仪器的信息。尽量对数据的获取有一个基本的理解,对标准的数据还原之后应该是什么样子做到心中有数。所有的望远镜和仪器都有这方面的文档供公开获取。
  3. 必须考虑天文数据的标准问题,并予以校正:数据以 FITS 格式文件保存。需要使用 pyfits 或者 astropy (包含 pyfits )将其读入到 NumPy 数组。有些情况下,数据是三维的,需要沿 z 轴使用 numpy.median 将数据转换为二维数组。有些 SPHERE 数据在同一幅影像中包含了同一片天空的两份拷贝(各自使用了不同的滤波器),这时候需要使用 索引 和 切片 将它们分离出来。全黑图(master dark)和 坏点图(bad pixel map)。所有仪器都有快门全关(完全无光)状态拍摄的特殊图片,使用 NumPy 掩膜数组 从中分离出坏点图。坏点图非常重要,你在合成最终的清晰图像过程中,需要持续跟踪坏点。有些情况下,这还有助于你从原始科学数据中扣除暗背景的操作。一般情况下,天文仪器还要拍 标准响应图(master flat frame)。这是对均匀的单色标准光源拍摄的一张或者一组图片。你需要将所有的原始数据除以标准响应之后再做后续处理(同样,使用 Numpy 掩膜数组实现的话,这仅仅是一个简单的除法运算)。对行星影像,为了使行星在明亮恒星背景下变得可见,需要仰仗 日冕仪(coronagraph)和 角差分成像(angular differential imaging)技术。这一步需要识别影像的光学中心,这是比较棘手的环节之一,过程中要使用 skimage.feature.blob_dog 从原始影像中寻找一些人工辅助影像作为帮助。
  4. 要有耐心。理解数据格式并弄清如何操作需要一些时间,绘出像素数据曲线图或者统计图有助于你的理解。贵在坚持,必有收获!你会从中学到很多关于图像数据及其处理的知识。

综合应用 NumPy、SciPy、Astropy、scikit-image 及其它工具,结合耐心和恒心,通过分析大量可用的天文数据分析实现重大的发现是非常有可能的。说不定,你会成为某个之前被忽略的系外行星的第一发现者呢。祝你好运!


NumFOCUS 是个非盈利组织,维护着一套科学计算与数据科学方面的杰出开源工具集。如果想了解我们的任务及代码,可以访问 numfocus.org 。如果你有兴趣以个人身份加入 NumFOCUS 社区,可以关注你所在地区的 PyData 活动 。

本文基于 Pivigo CTO Ole Moeller-Nilsson 的一次 谈话 ,最初发布于 NumFOCUS 的博客,蒙允再次发布。如果你有意支持 NumFOCUS,可以 捐赠 ,也可以参与遍布全球的 PyData 活动 中你身边的那些。


via: opensource.com

作者: Gina Helfrich, Ph.D. 选题: lujun9972 译者: silentdawn-zz 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

 



Tags:Linux 中国   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
这些快速参考指南让系统管理员的生活和日常工作变得更轻松,而且它们都是免费提供的。• 来源:linux.cn • 作者:Seth Kenlon • 译者:Xingyu.Wang •(本文字数...【详细内容】
2020-08-06  Tags: Linux 中国  点击:(55)  评论:(0)  加入收藏
使用 NumPy、SciPy、Scikit-Image 和 Astropy 探索宇宙• 来源:linux.cn • 作者:Gina Helfrich,ph.d. • 译者:SilentDawn •(本文字数:2442,阅读时长大约:3 分...【详细内容】
2020-07-28  Tags: Linux 中国  点击:(97)  评论:(0)  加入收藏
Mailmerge 是一个可以定制群发邮件的命令行程序,它可以处理简单和复杂的邮件。• 来源:linux.cn • 作者:Brian "bex" Exelbierd • 译者:SilentDawn •(本文...【详细内容】
2020-07-26  Tags: Linux 中国  点击:(85)  评论:(0)  加入收藏
7-11 12:24:47 对于新用户来说,在安装 Linux Mint 20 后,你需要做一些事,让你的体验更比以往任何时候都好。 来源:https://linux.cn/article-12404-1.html 作者:Ankush Das 译者:...【详细内容】
2020-07-11  Tags: Linux 中国  点击:(65)  评论:(0)  加入收藏
你想学习 shell 脚本编程吗?或者你想提升现有的 bash 知识?我收集了以下免费的资源来帮助你学习 shell 脚本编程。 来源:https://linux.cn/article-12379-1.html 作者:Ankush...【详细内容】
2020-07-04  Tags: Linux 中国  点击:(52)  评论:(0)  加入收藏
如果你在 macOS 上运行的项目需要没有安装的 Python 版本,请试试 pyenv。 来源:https://linux.cn/article-12241-1.html 作者:Matthew Broberg 译者:geekpi 即使对于有经验的开...【详细内容】
2020-05-25  Tags: Linux 中国  点击:(85)  评论:(0)  加入收藏
导弹和军用直升机上的电子设备需要工作在极端条件下。美国国防承包商 麦考密克·史蒂文森公司(McCormick Stevenson Corp.)在部署任何物理设备之前都会事先模拟...【详细内容】
2020-05-10  Tags: Linux 中国  点击:(81)  评论:(0)  加入收藏
一级互联网服务提供商(ISP)将其高速光纤网络连接在一起,形成互联网的骨干网,实现在不同地理区域之间高效地传输流量。-- Tim Greene(作者) 互联网会产生大量的计算机到计算机的...【详细内容】
2020-04-24  Tags: Linux 中国  点击:(53)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(13)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(21)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(21)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(34)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(26)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(16)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(24)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条