前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >帮助你开始学习天文学的4个 Python 工具【Programming(Python)】

帮助你开始学习天文学的4个 Python 工具【Programming(Python)】

作者头像
Potato
修改于 2019-11-18 03:59:20
修改于 2019-11-18 03:59:20
1.3K0
举报

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

图片来源:Greg Rakozy via Unsplash
图片来源:Greg Rakozy via Unsplash

NumFOCUS是一个非营利性慈善组织,支持科学计算和数据科学的开源工具包。为了将opensource.com的读者与NumFOCUS社区联系起来,我们正在重新发布一些来自我们博客的最受欢迎的文章。要了解更多关于我们的使命和计划,请访问numfocus.org。如果您有兴趣亲自参与NumFOCUS社区,请查看附近发生的本地PyData事件

天文学与 Python

Python 是一种伟大的科学语言,尤其是天文学语言。 各种各样的软件包,如 NumPySciPy Scikit-ImageAstropy (仅举几例) ,都是对 Python 适用于天文学的最好证明,并且有大量的用例。 [ NumPy、 Astropy 和 SciPy 是 NumFOCUS 财政支持的项目; Scikit-Image 是附属项目。] 自从10多年前离开天文学研究领域,开始第二份软件开发工作以来,我一直对这些软件包的演变很感兴趣。 我在天文学领域的许多前同事在他们的研究工作中使用了大部分(如果不是全部的话)这些软件包。 例如,我一直致力于为智利甚大望远镜(VLT)的仪器实现专业的天文学软件包。

最近我突然想到,Python 包已经发展到了这样一种程度,现在任何人都可以相当容易地构建能够提供高质量数据产品的数据缩减脚本。 天文数据无处不在,而且几乎所有的数据都是公开的——你只需要去寻找它。

例如,运行 VLT 的 ESO 在他们的网站上提供下载数据。 前往 www.eso.org/userportal ,在他们的户网站上创建一个用户名。 如果你从仪器 SPHERE 中寻找数据,你可以下载附近任何拥有系外行星或原恒星盘的恒星的完整数据集。 对于任何一个毕达哥拉斯主义者来说,减少这些数据并使深藏在噪音中的行星或圆盘变得可见都会一令人兴奋。

我鼓励你下载 ESO 或者任何其他的天文成像数据集,然后继续你的冒险之旅。 以下是一些小贴士:

1. 从一个好的数据集开始。 看一下有关带有圆盘或系外行星的恒星的论文,然后进行搜索,例如: http : //archive.eso.org/wdb/wdb/eso/sphere/query 。 请注意,此站点上的某些数据标记为红色,另一些标记为绿色。 红色数据尚未公开可用-可用时会在“发布日期”下显示。

2. 阅读有关您正在使用的数据的仪器的一些信息。 尝试对如何获取数据以及标准数据缩减的外观有基本的了解。 所有望远镜和仪器都有关于此的公开文件。

3. 你需要考虑天文数据的标准问题,并纠正它们:

  • 数据包含在FITS文件中。 您将需要pyfits或astropy (包含pyfits)才能将它们读入NumPy数组。 在某些情况下,数据以多维数据集形式出现,因此您应该沿z轴使用numpy.median将它们转换为二维数组。 对于某些SPHERE数据,您需要在同一张图像上获得同一片天空的两个副本(每个副本都有一个不同的滤镜),您需要使用索引和切片来提取这些副本。
  • 主暗和坏像素图。 所有的仪器都会有特定的的图像作为“暗框”,其中包含快门关闭的图像(完全没有光)。 为此,使用NumPy蒙版数组使用这些元素提取不良像素的蒙版 。 这种不良像素的遮罩将非常重要-在处理数据以最终获得干净的组合图像时,您需要对其进行跟踪。 在某些情况下,它还有助于从所有科学原始图像中减去该主暗度。
  • 仪器通常还将具有一个主平面框架。 这是使用平面均匀光源拍摄的图像或一系列图像。 您将需要以此来划分所有科学原始图像(再次,使用numpy掩码数组使此操作很容易进行划分)。
  • 对于行星成像,使行星对明亮的恒星可见的基本技术依赖于使用日冕仪和称为角差成像的技术。 为此,您需要确定图像上的光学中心。 这是最棘手的步骤之一,需要使用skimage.feature.blob_dog查找嵌入在图像中的一些人工辅助图像。

4. 耐心一点。 可能需要一段时间才能理解数据格式以及如何处理它。 绘制一些像素数据图和直方图可以帮助您理解它。 坚持下去很值得! 您将学到很多有关成像数据和处理的知识。

利用 NumPy、 SciPy、 Astropy、 scikit-image 等提供的工具,再加上一些耐心和持久性,就有可能分析大量可用的天文数据,从而得出一些惊人的结果。 谁知道呢,也许你会是第一个发现以前被忽视的行星的人! 祝你好运!

本文最初发布在NumFOCUS博客上,并经许可重新发布。 它基于Pivigo首席技术官Ole Moeller-Nilsson演讲。 如果您想支持NumFOCUS,则可以在此处捐款或查找世界各地发生的本地PyData事件

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档