热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python六角星绘制_教你用Python模拟黑洞测量成像,了解天体测量最重要的方法VLBI...

【新智元导读】哈佛学生写的Python模块,用于模拟和操作VLBI数据并使用正则化最大似然法生成图像,模拟黑洞成像的算法。进入Github飙升榜TOP3
8b1734d480044c6a8496da2210988efa.png

【新智元导读】哈佛学生写的Python模块,用于模拟和操作VLBI数据并使用正则化最大似然法生成图像,模拟黑洞成像的算法。进入Github飙升榜TOP 3,超过1000星。

为了拍到本次的黑洞照片,科学家总共使用了8台亚毫米射电望远镜,构建成超级“虚拟”望远镜——事件视界望远镜(EHT),分别在南极、智利、墨西哥、美国夏威夷、美国亚利桑那州、西班牙同时对黑洞展开观测。

延伸阅读:为什么黑洞是红的?为什么爱因斯坦又对了?答案是黑洞背后的超算

8台望远镜组成的EHT口径13000公里,约等于地球直径。而EHT能够实现,则要归功于甚长基线干涉测量VLBI(Very-long-baseline interferometry)

677d9df55729cd9e6ed8cfb3f18ff31d.png
VLBI是什么

VLBI是一种在电波天文学中使用的天文干涉测量方法。简单来说就是使用多个天文望远镜,同时观测一个天然的射电天体或有无线电信标的人造天体,从而得以模拟出一个巨形望远镜获得的观测效果。

bd97f9a40240ef6e54eb444ea2f85ecd.gif

接下来,各观测站将观测数据实时传送或记录在磁盘上运送到VLBI数据处理中心,然后进行数据回放和互相关计算;再利用得到的互相关谱数据,计算得到信号到达各观测站的时间差(时延观测值)及其变化率(时延率观测值);最后利用这些VLBI观测值计算目标的角位置(赤经和赤纬)。

7af2e6e0555534e69efc919c4bb746d8.png

VLBI的测量精度可以达到百分之几角秒、千分之几角秒甚至更高。对于人造天体,如人造地球卫星、绕月卫星和深空探测器等的VLBI测轨,则利用VLBI观测值,综合测距、测速数据,进行精确的轨道测定。

5c930d3211d974893be99c8079b6c6f6.png

VLBI在天体物理方面主要应用于类星体、射电星系核、星际脉泽源等致密射电源毫角秒级的精细结构研究和精确定位等。在天体和大地测量中,它在建立天球参考系、测定地球自转全部参数和地面参考系的基准点等方面具有不可取代的作用。

我国在VLBI领域有哪些成果

根据中科院报道,以我国学者为首,在国际合作中用VLBI测量银河系中心黑洞的边界和银河系精细结构的工作,近年来取得重大进展,赢得国际同行瞩目;在天球和地面参考系建立方面,上海和乌鲁木齐VLBI站多年以来是亚洲大陆的基准站之一。

中科院VLBI天文测量系统由上海(25米天线)、北京(50米天线)、昆明(40米天线)、乌鲁木齐(25米天线)四个VLBI观测站和上海VLBI数据处理中心组成。

fb83fb7027bab9461fc4770f7c609494.png

中科院上海天文台自上世纪90年代起,也开始了VLBI应用于深空探测的研究,参加了多次国际合作的深空探测,如欧空局的惠更斯探测器与卡西尼宇宙飞船分离后飞向土卫六过程的VLBI测量。

用Python模拟和操作VLBI数据

听起来好像里我们非常遥远。不过,感谢Github,我们普通人也有机会接触VLBI。

哈佛大学物理系EHT理论和计算天体物理学研究生、博士生候选人Andrew Chael,在Github上创建了ehtim (eht-imaging)项目。

6dcfb0e203aa1ce5059b296fbcd82cb5.png

Andrew目前在Black Hole Initiative工作,主要研究领域是使用新的尖端方法来模拟和成像EHT的黑洞目标人马座A*(Sgr A*,后面的星号读作“star”或“星”)和室女A星系(也称为梅西尔87、M87或NGC 4486)。

ehtim主要通过一些Python模块来模拟和操作VLBI数据,并使用正则化最大似然法生成图像。包含几个用于加载、模拟和操作VLBI数据的主类。

主要的类有Image、Array、Obsdata、Imager和Caltable,提供了加载图像和数据的工具,并从真实的uv轨道生成模拟数据、校准、检查和绘制数据,以及从各种数据集生成图像,使用各种数据术语和正则化器进行极化。

安装过程非常简单,首先clone该项目

git clone https://github.com/achael/eht-imaging.git

然后进入项目根目录,运行

pip install .

此时应该会自动安装大多数所需的库,例如astropy,ephem,future,h5py,html,networkx,numpy,pandas,matplotlib,requests,scipy,skimage。

如需使用快速傅里叶变换,必须单独安装NFFT及其pynnft包装器。最简单的方法是使用conda来安装:

conda install -c conda-forge pynfft

或者,首先按照NFFT说明安装NFFT,**这里一定要确保在编译时使用**:

--enable-openmp

然后再用pip安装pynfft,按照README的教程将安装链接到NFFT的位置;最后,重新安装ehtim。pynfft的安装地址:

GitHub - pyNFFT/pyNFFT: A pythonic wrapper around the NFFT library

注意事项

用于读写.oifits文件的oifits_new代码是Paul Boley的软件包的略微修改版本,该功能目前仍在开发中,可能无法与所有版本的python或astropy一起使用。

oifits项目地址:

Index of /pages/~pboley/oifits

同时这个项目版本较旧,如有任何问题请邮件联系:

achael@cfa.harvard.edu

参考链接:

科学时报:VLBI——深空探测的重要手段----中国科学院



推荐阅读
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 在Conda环境中高效配置并安装PyTorch和TensorFlow GPU版的方法如下:首先,创建一个新的Conda环境以避免与基础环境发生冲突,例如使用 `conda create -n pytorch_gpu python=3.7` 命令。接着,激活该环境,确保所有依赖项都正确安装。此外,建议在安装过程中指定CUDA版本,以确保与GPU兼容性。通过这些步骤,可以确保PyTorch和TensorFlow GPU版的顺利安装和运行。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在Mac系统中安装Hexo时,如果遇到“Error: Cannot find module './build/Release/DTraceProviderBindings’”错误,可以通过以下步骤解决:首先确保已正确安装Node.js和npm,然后尝试运行`npm install hexo --no-optional`。若问题依然存在,建议检查环境变量配置,并参考Hexo官方文档进行进一步排查。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 在安装 iOS 开发所需的 CocoaPods 时,用户可能会遇到多种问题。其中一个常见问题是,在执行 `pod setup` 命令后,系统无法连接到 GitHub 以更新 CocoaPods/Specs 仓库。这可能是由于网络连接不稳定、GitHub 服务器暂时不可用或本地配置错误等原因导致。为解决此问题,建议检查网络连接、确保 GitHub API 限制未被触发,并验证本地配置文件是否正确。 ... [详细]
  • 为了优化用户体验,本文探讨了如何调整下拉菜单的宽度。通过合理设置宽度,可以提升界面的美观性和易用性。文章提供了具体的代码示例,帮助开发者实现这一目标。例如,可以通过 CSS 或 JavaScript 来动态调整下拉菜单的宽度,确保其在不同设备和屏幕尺寸上都能保持良好的显示效果。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
author-avatar
mobiledu2502931957
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有