开启天文之路的 4 个 Python 工具
创始人
2024-03-02 05:35:11
0

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

天文学与 Python

对科学界而言,尤其是对天文学界来说,Python 是一种伟大的语言工具。各种软件包,如 NumPySciPyScikit-ImageAstropy,(仅举几例) ,都充分证明了 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. 必须考虑天文数据的标准问题,并予以校正:

    1. 数据以 FITS 格式文件保存。需要使用 pyfits 或者 astropy (包含 pyfits )将其读入到 NumPy 数组。有些情况下,数据是三维的,需要沿 z 轴使用 numpy.median 将数据转换为二维数组。有些 SPHERE 数据在同一幅影像中包含了同一片天空的两份拷贝(各自使用了不同的滤波器),这时候需要使用 索引切片 将它们分离出来。
    2. 全黑图 master dark 和 坏点图 bad pixel map 。所有仪器都有快门全关(完全无光)状态拍摄的特殊图片,使用 NumPy 掩膜数组 从中分离出坏点图。坏点图非常重要,你在合成最终的清晰图像过程中,需要持续跟踪坏点。有些情况下,这还有助于你从原始科学数据中扣除暗背景的操作。
    3. 一般情况下,天文仪器还要拍 标准响应图 master flat frame 。这是对均匀的单色标准光源拍摄的一张或者一组图片。你需要将所有的原始数据除以标准响应之后再做后续处理(同样,使用 Numpy 掩膜数组实现的话,这仅仅是一个简单的除法运算)。
    4. 对行星影像,为了使行星在明亮恒星背景下变得可见,需要仰仗 日冕仪 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: https://opensource.com/article/19/10/python-astronomy-open-data

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

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

相关内容

AI+Python数据分析...
教学大纲 01 课程性质和目的 数据分析与可视化为数据科学与大数据...
2026-05-06 20:23:25
#AJamesMcCart...
#AJamesMcCarthy天文酷图#
2026-04-02 10:32:56
#wonders-of-t...
#wonders-of-the-cosmos天文酷图#
2026-04-02 08:07:09
AI天文模型“星衍”突破天...
2月20日,清华大学自动化系成像与智能技术实验室戴琼海院士团队、天...
2026-02-24 10:50:44
突破天文观测深度极限,AI...
AI模型星衍概念图 暗弱天体蕴藏着理解宇宙起源与演化的关键信息。...
2026-02-23 16:48:48
什么是miniQMT,相比...
什么是miniQMT,相比大QMT有什么特点? 迅投 miniQM...
2026-01-22 09:51:16

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...