python中天文干涉仪数据集的接口

pyuvdata的Python项目详细描述


pyuvdata

电路生成状态codecovdoi快速全息反卷积)可见性保存文件。

动机

三个主要目标是:

  1. 为数据格式之间的转换提供一个高质量的、有据可查的路径
  2. 用最少的软件支持直接使用python中的数据集
  3. 通过可读代码和高质量的在线文档提供精确的数据定义
  4. < > >

    套餐详情

    pyuvdata有三个主要的用户类:

    • uvdata:支持干涉数据(可见性)和相关元数据
    • uvcal:支持干涉校准解决方案(基于天线)和 相关元数据(注意,这是一个相当新的对象,请将其视为beta版本)
    • uvbeam:支持主光束(电场或功率)和相关元数据 (请注意,这是一个新的对象,而且非常具有实验性,请将其视为alpha版本)

    uvdata文件标准注释

    • miriad已经用aipy风格的miriad文件进行了彻底的测试。 使用ATCA文件进行测试
    • uvfits符合aips备忘录117(截至2015年5月)。它是根据 FHD,CASA和AIPS。然而,aips仅限于<;80个天线和casa uvfits 导入似乎不支持255个天线。
    • uvh5是基于hdf5的文件格式,由hera collaboration定义, 有关详细信息,请参见uvh5备忘录。注意这是一个 新格式仍在开发中,请考虑它是测试版, 但我们将努力使未来的版本向后兼容当前的格式。 它可能与其他组定义的其他干涉HDF5文件不兼容。
    • FHD(只读支持,根据MWA和纸张数据进行测试)
    • CASA测量装置(只读支持)

    uvcal文件格式

    • calfits:pyuvdata中定义的新格式,详细信息请参见calfits备注。 请注意,此格式是最近定义的,可能会在以后的版本中更改, 基于用户需求。认为是测试版,但我们会努力 使未来版本向后兼容当前格式。
    • FHD校准文件(只读支持)

    uvbeam文件格式

    • 规则网格适合电子场和电源光束
    • 非标准healpix适用于e-field和power光束(在imagehdu中 而不是支持频率、极化和电场矢量轴的二进制表)
    • 对cst-beam文本文件的读取支持,具有为 元数据,详细信息:cst设置文件

    开发中

    • uvdata:uvh5文件格式(beta版本),请注意这可能不是 与其他组定义的其他干涉HDF5文件兼容。
    • uvcal:object和calfits文件格式(beta版)
    • uvbeam:对象和beamfits文件格式(alpha版本)

    已知问题和计划改进

    • uvdata:相位(和uvw坐标上的精度)只知道 在3km基线上良好至2cm(这受到测试文件精度的限制, 有关详细信息,请参见阶段化备忘录。
    • uvdata:当前不支持多光谱窗口或多个源
    • uvdata:添加对编写casa测量集的支持
    • uvbeam:支持相控阵天线波束(如mwa波束)。
    • uvcal/uvdata:对数据应用校准的方法。
    • 包版本检测可能会导致直接从 一些用户的回购协议(请参见问题590

    有关详细信息,请参见问题日志

    社区指南

    为这个包添加新的文件格式或地址 问题日志中的问题 非常受欢迎,bug报告和特性请求也是如此。 请参阅我们的《贡献指南》。

    版本控制

    我们使用generation.major.minor版本号格式。我们使用生成 对于非常显著的改进或重大重写,数字 表明包装有重大变化(计划每3-4个月发布一次) 以及用于发布较小增量更新的minor编号(旨在 大约每月发布一次,通常不包括破坏API 变化)。我们尽力提供一个重要的时期(通常是两个主要时期 对api的所有中断更改发出的弃用警告。 我们跟踪我们的更改日志中的所有更改。

    文档

    有关示例使用和开发人员api文档的教程位于 阅读文档

    历史记录

    pyuvdata最初是在低频21cm社区开发的,用于支持 校准与前景数据的开发与交换 减法管道。特别关注支持漂移和 相控阵模式。

    引文

    请引用我们的joss论文引用pyuvdata:

    Hazelton等人(2017),PyuvData:天文干涉仪的接口 python中的数据集,《开源软件杂志》,2(10),140,doi:10.21105/joss.00140

    广告链接bibtex条目

    安装

    为了便于安装,可通过conda获得最新的稳定版本 (首选:conda install-c conda forge pyuvdata)或pip(pip install pyuvdata)。

    特定功能需要一些可选的依赖项, 它不会由conda或pip自动安装。 有关安装可选依赖项的详细信息,请参见依赖项。

    (可选)安装开发版本

    使用克隆存储库 git克隆https://github.com/radioastronomysoftwaregroup/pyuvdata.git

    导航到pyuvdata目录并运行pip安装。 (注意python setup.py install不起作用)。 请注意,这将尝试自动安装任何缺少的依赖项。 如果您使用anaconda或其他包管理器,您可能希望首先安装 依赖项,如依赖项中所述

    要在不依赖项的情况下安装,请运行pip install--no deps

    编译二进制扩展模块以便成功运行 导入pyuvdata从git签出的顶级目录,运行: python setup.py build_ext--就地

    依赖关系

    必需:

    • numpy>;=1.15
    • scipy
    • Astropy=2.0

    可选:

    • h5py(用于读写uvh5格式)
    • python casacore(用于使用casa测量集)
    • healpy(用于处理healpix格式的梁)
    • pyyaml(用于处理cst beam文件的设置文件)

    numpy和astropy版本很重要,因此请确保它们是最新的。

    我们建议使用conda安装所有依赖项。如果要安装 python casacore和healpy,需要添加conda forge作为通道 (conda config—添加频道conda forge)。

    如果不想使用conda,那么pypi上也提供了大多数包 (除了python casacore,请参阅下面该包的详细信息)。

    安装python casacore

    Python CAasCORE需要CASACORC++库。安装方便 使用conda(python casacore在conda forge上)。

    如果您不想使用CONDA,则可以使用CAASCORE C++库 通过kern套件的ubuntu。在OSX上,Casacore是 可通过ska sa brew tap获得。 python casacore库(带有手动安装说明)位于 https://github.com/casacore/python-casacore

    测试

    使用pytest包执行测试套件。 从源pyuvdata目录运行pytestpython-m pytest

    API

    python数据的主要接口是通过uvdata对象。它提供 从所有支持的文件格式(uvfits、miriad、uvh5、fhd、 CASA测量装置),并输出到uvfits、miriad和uvh5格式和can 直接与之互动。同样,主要校准和光束 接口通过uvcal和uvbeam对象。uvdata的属性, uvcal和uvbeam对象在uvdata_参数、uvcal_参数中描述 以及uvbeam_参数说明,请访问https://pyuvdata.readthedocs.io rel="nofollow">https://pyuvdata.readthedocs.io或 这里

    维护人员

    pyuvdata由rasg管理器维护,当前包括:

    • 亚当·比尔兹利(亚利桑那州立大学)
    • bryna hazelton(华盛顿大学)
    • 丹尼尔·贾克OBS(亚利桑那州立大学)
    • 保罗·拉普兰特(宾夕法尼亚大学)
    • 乔纳森·波伯(布朗大学)

    请使用《贡献指南》中讨论的频道 用于与代码相关的讨论。如果需要,您可以私下联系我们 rasgmanagers@gmail.com

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
Java+Brave+Zipkin:问题是,跟踪总是一样的   swing能否取消Java中的特定TimerTask?   java以编程方式重新运行失败的TestNG测试   java DefaultMessageListenerContainer未从IBM MQ读取消息   使循环结果显示在一个数组到一个数组中。Java中的toString   tomcat java。lang.NoClassDefFoundError在对GlassFish/Payara部署战争时出错   Java中的增量算法   Java中lambda类的类名是什么意思?   java图像url无法加载安卓 Imageview实际图像为“PNG”格式   java如何使用JPA使库对象数据库持久化?   java如何让onClickListener从另一个活动接收意图信息   运行时如何使Java程序反复启动   java如何在Spring上的ApacheCamel中一开始就并行运行两条路由?   java如何使用SeleniumWebDriver从以下div获取文本   将Google电子表格API与JAVA一起使用时,引用中的excel公式单元格值未更新   fileinputstream如何在Java中读/写HashMap对象到文件?   使用java调用Postgresql的过程   仅在集合中使用java方法