跳转到主要内容

Breakthrough Listen SETI观测的Python实用工具

项目描述

Build Status Documentation Status codecov JOSS status

Python版本的Breakthrough Listen I/O方法。

滤波器组+原始文件读取器

此存储库包含用于与Sigproc滤波器组(.fil)、HDF5(.h5)和guppi原始文件(.raw)交互的Python 2/3读取器,这些文件用于Breakthrough Listen对智能生命的搜索。Sigproc滤波器组(.fil)、guppi原始(.raw)文件。

安装

系统依赖项

如果未安装系统依赖项,有时pip安装可能会失败。为了解决这个问题,请确保您已安装curl并使用以下命令安装所需的系统依赖项

Debian/Ubuntu
curl https://raw.githubusercontent.com/UCBerkeleySETI/blimpy/master/dependencies.txt | xargs -n 1 sudo apt install --no-install-recommends -y

手动安装

可以直接从这个存储库通过pip安装最新版本

python3 -m pip install -U git+https://github.com/UCBerkeleySETI/blimpy

或者,可以从github 仓库安装最新版本的开发代码,然后运行python setup.py installpip install .(如果需要,使用sudo),或者使用以下终端命令

python3 -m pip install -U https://github.com/UCBerkeleySETI/blimpy/tarball/master

要安装运行单元测试所需的所有内容,请运行

python3 -m pip install -e .[full]

您需要numpyh5pyastropyscipymatplotlib作为依赖项。一个pip install应该会拉入numpy、h5py和astropy,但您可能还需要单独安装scipy和matplotlib。要与压缩文件交互,您还需要hdf5plugin包。

请注意,h5py通常需要按以下方式安装

$ python3 -m pip install --no-binary=h5py h5py

命令行工具

安装后,以下命令将显示元数据(标题)值以及有关数据矩阵的一些信息

watutil -i

安装后可用的其他命令行工具

  • bldice,从滤波器组文件(.fil或.h5文件)中提取更小的频率区域。
  • calcload,计算为加载给定滤波器组文件中的整个数据数组所需的Waterfall max_load值。
  • dsamp,从Filterbank文件到另一个Filterbank文件的降采样(仅时间维度)。
  • fil2h5,将.fil文件转换为.h5格式。
  • h52fil,将.h5文件转换为.fil格式。
  • matchfils,检查两个.fil文件是否相同。
  • peek,显示Filterbank文件数据矩阵中的选定值。
  • rawhdr,显示原始guppi文件的标题字段。
  • rawutil,在guppi原始文件中绘制数据。
  • srcname,修补.h5文件中的标题source_name字段。
  • stax,对于具有相同频率范围的一组.h5或.fil文件,创建单个PNG文件中的垂直堆叠瀑布图。
  • stix,对于单个非常大的Filterbank文件,创建单个PNG文件中的水平或垂直堆叠瀑布图。
  • watutil,Filterbank文件的详细信息/读取/写入/绘图工具。

使用上述任何命令行工具的-h标志可以显示它们的可用参数。

以.fil或.h5格式读取blimpy滤波器组文件

blimpy.Waterfall提供用于与滤波器组数据交互的Python API。它支持所有BL滤波器组数据产品;请参阅此示例Jupyter笔记本以获取概述。

从python、ipython或jupiter笔记本环境。

from blimpy import Waterfall
fb = Waterfall('/path/to/filterbank.fil')
#fb = Waterfall('/path/to/filterbank.h5') #works the same way
fb.info()
data = fb.data

读取guppi原始文件

可以使用guppi.py中的GuppiRaw类读取Guppi原始格式

from blimpy import GuppiRaw
gr = GuppiRaw('/path/to/guppirawfile.raw')

header, data = gr.read_next_data_block()

from blimpy import GuppiRaw
gr = GuppiRaw('/path/to/guppirawfile.raw')

for header, data_x, data_y in gr.get_data():
    # process data

注意:大多数用户应从滤波器组文件开始分析,这些文件大小较小,并且已从guppi原始文件生成。

在Docker中使用blimpy

每次在Travis上成功构建后,都会将blimpy映像推送到公共仓库。如果您已安装Docker,可以运行以下命令来拉取我们的映像,这些映像为您设置了环境和依赖项。

docker pull fx196/blimpy:py3_kern_stable

以下是使用Docker中blimpy的更完整指南

进一步阅读

Breakthrough Listen使用的数据格式的详细概述可在我们的数据格式论文中找到。Breakthrough Listen项目的数据文件存档可在seti.berkeley.edu/opendata获得。

如果您有任何请求或问题,请告诉我们!

项目详情


下载文件

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

源分布

blimpy-2.1.4.tar.gz (89.3 kB 查看散列)

上传时间

构建分布

blimpy-2.1.4-py3-none-any.whl (104.3 kB 查看散列)

上传时间 Python 3

支持者:

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