跳转到主要内容

用于查询ATNF脉冲星目录的Python模块

项目描述

PSRQpy

本模块旨在提供一个用于查询ATNF脉冲星目录的Python接口。这是一个非官方包,并且未经ATNF的认可或授权。

该模块的完整文档可以在此处找到。

欢迎任何评论或建议。

安装

要从源代码安装,克隆git存储库并运行以下命令

python setup.py install --user

作为用户安装,或

sudo python setup.py install

作为root安装。

也可以使用pip安装此模块,如下所示

pip install psrqpy

或在一个Conda环境中使用

conda install -c conda-forge psrqpy

要求

安装代码的要求是

示例

对目录的简单查询,例如,仅返回所有脉冲星的频率,将是

import psrqpy

q = psrqpy.QueryATNF(params='F0')

# get frequencies as an astropy table
t = q.table

print(t['F0'])

您可以查询多个参数,例如

import psrqpy

q = psrqpy.QueryATNF(params=['F0', 'F1', 'RAJ', 'DecJ'])

# get values as an astropy table
t = q.table

print(t['F0'])

您可以查询特定的脉冲星,例如

import psrqpy

q = psrqpy.QueryATNF(params=['F0', 'F1', 'RAJ', 'DecJ'], psrs=['J0534+2200', 'J0537-6910'])

# get values as an astropy table
t = q.table

# print the table
print(t)
  JNAME          F0       F0_ERR       F1      F1_ERR     RAJ      RAJ_ERR     DECJ     DECJ_ERR
                 Hz         Hz       1 / s2    1 / s2                                           
---------- ------------- ------- ------------- ------ ------------ ------- ------------ --------
J0534+2200     29.946923   1e-06  -3.77535e-10  2e-15 05:34:31.973   0.005 +22:00:52.06     0.06
J0537-6910 62.0261895958 1.3e-09 -1.992272e-10  4e-17 05:37:47.416    0.11 -69:10:19.88      0.6

您可以设置搜索条件,例如

import psrqpy
q = psrqpy.QueryATNF(params=['Jname', 'f0'], condition='f0 > 100 && f0 < 200', assoc='GC')

其中 assoc=GC 用于寻找所有球状星团中的脉冲星。

当生成查询时,整个目录会被下载并存储在 QueryATNF 对象中,作为一个 pandas DataFrame。因此,查询可以被重复使用来访问不同参数、不同脉冲星或使用不同条件的数据,无需重新下载目录。我们最初可能只想查询频率大于 10 Hz 的脉冲星频率,使用

import psrqpy
q = psrqpy.QueryATNF(params=['F0'], condition='F0 > 10')
freqs = q.table['F0']

使用同一个 QueryATNF 对象,我们可以改为获取频率小于 10 Hz 的脉冲星的频率导数,使用

q.condition = 'F0 < 10'
q.query_params = 'F1'

fdot = q.table['F1']

在这些情况下,整个目录(没有任何条件应用和所有可用参数)作为 pandas DataFrame 可通过以下方式访问

catalogue = q.catalogue

您还可以生成基于最新目录信息的美丽周期与周期导数图,只需三行代码即可,例如

from psrqpy import QueryATNF
query = QueryATNF(params=['P0', 'P1', 'ASSOC', 'BINARY', 'TYPE', 'P1_I'])
query.ppdot(showSNRs=True, showtypes='all')

给出

PPdot

开发和支持

代码开发通过包的 GitHib 仓库 完成。任何贡献都可以通过从该仓库的 fork 和 pull request 模型进行,必须遵守 MIT 许可证。有关代码或支持请求的任何问题都可以通过仓库的 问题跟踪器 提交。

测试套件

提供了许多 PSRQpy 内部函数的测试。这些测试可以从仓库的基本目录运行(在安装了 pytestpytest-socket 模块后,例如使用 pip

pytest

这些测试不包括在 pip 安装的代码版本中。

目录的版权和引用

关于目录及其背后的软件的使用,以下声明适用

PSRCAT 是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,许可证版本为 3 或(根据您的选择)任何更高版本。PSRCAT 是希望它将是有用的,但没有任何保证;甚至没有关于其商业性或特定用途适合性的暗示性保证。有关详细信息,请参阅 GNU 通用公共许可证。

PSRCAT 使用 "evaluateExpression: A Simple Expression Evaluator"。版权所有 © 1996 - 1999 Parsifal Software,保留所有权利。

程序和数据库是澳大利亚天文台国家设施、CSIRO 的财产,并受 CSIRO 法律声明和免责声明 的约束。

如果您在出版物中使用了 ATNF 脉冲星目录的信息,我们希望您通过引用出版物 "The ATNF Pulsar Catalogue", R. N. Manchester, G. B. Hobbs, A. Teoh & M. Hobbs, Astronomical Journal, 129, 1993-2006 (2005) 以及引用网址 http://www.atnf.csiro.au/research/pulsar/psrcat 以获取更新版本表示认可。

如果您使用此代码访问目录或生成图表,我将非常感谢(除了引用上述的 ATNF 脉冲星目录 论文URL 外),您还考虑引用此软件的 JOSS 论文

@article{psrqpy,
  author = {{Pitkin}, M.},
   title = "{psrqpy: a python interface for querying the ATNF pulsar catalogue}",
  volume = 3,
  number = 22,
   pages = 538,
   month = feb,
    year = 2018,
 journal = "{Journal of Open Source Software}",
     doi = {10.21105/joss.00538},
     url = {https://doi.org/10.21105/joss.00538}
}

许可证

此代码受 MIT 许可证 的许可。

© Matt Pitkin,2017

PyPI version Anaconda-Server Badge version Build Status codecov Documentation Status status DOI ASCL

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

psrqpy-1.2.10.tar.gz (509.7 kB 查看哈希值)

上传时间

构建分布

psrqpy-1.2.10-py2.py3-none-any.whl (66.1 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面