滤波器组数据中窄带漂移信号搜索分析工具
项目描述
TURBO_SETI
turboSETI 是一种用于在滤波器组数据(频率 vs. 时间)中搜索窄带漂移信号的分析工具。该代码的主要目的是希望有一天能找到外星起源的信号!!它可以在数百种漂移率(Hz/sec)中搜索数据。它可以处理 .fil 或 .h5 文件格式。
注意:此代码稳定,但目前正在开发新功能。
一些专家视角的细节
- 基于Python,使用Numba的taylor树来提高性能。
- 预先计算的
漂移索引数组
。 - 输出包含每个命中信息的纯文本文件。
- 将输出读取器集成到pandas DataFrame中。
最初基于 dedoppler
dedoppler;它是基于 rawdopplersearch.c
gbt_seti/src/rawdopplersearch.c
)
依赖项
- Python 3.7+
- astropy
- numpy
- blimpy 2.0.34+(Python的Breakthrough Listen I/O方法:https://github.com/UCBerkeleySETI/blimpy)
- pandas
- toolz
- fsspec
- dask
- dask[bag]
- numba
- cloudpickle
- cupy(仅限NVIDIA GPU模式)
安装
如果您尚未安装blimpy,请按照以下方式安装:
python3 -m pip install --user -U blimpy
然后,安装turbo_seti
python3 -m pip install --user -U turbo_seti
NVIDIA GPU用户
已包含NUMBA即时(JIT)CPU性能增强。但是,如果您在将要执行turbo_seti的计算机上具有NVIDIA GPU硬件,则可以获得显著的额外性能提升。按照以下步骤启用GPU增强处理:
- 安装pypi包"cupy":
python3 -m pip install cupy
- 以这种方式运行可执行文件:
turboSETI <输入HDF5文件路径> -g y [其他选项]
使用方法
预期输入文件格式
目前,turboSETI
命令行和FindDoppler
对象期望Filterbank HDF5文件(.h5)或Filterbank SIGPROC文件(.fil)。如果提供SIGPROC文件,它将自动转换为与SIGPROC文件位于同一目录的HDF5文件。
作为命令行使用
使用数据运行:turboSETI <输入HDF5文件路径> [选项]
有关程序参数的解释:turboSETI -h
作为Python包使用
from turbo_seti.find_doppler.find_doppler import FindDoppler
fdop = FindDoppler(datafile=my_HDF5_file, ...)
fdop.search(...)
作为Python包的示例使用
import time
from blimpy import Waterfall
from turbo_seti.find_doppler.find_doppler import FindDoppler
H5DIR = "/path_to_seti_data/voyager/"
H5PATH = H5DIR + "Voyager1.single_coarse.fine_res.h5"
OUT_DIR = "/path_to_output_directory"
print("\nUsing HDF5 file: {}\nHeader and data shape:".format(H5PATH))
# -- Get a report of header and data shape
wf = Waterfall(H5PATH)
wf.info()
# -- Instantiate FindDoppler.
print("\nInstantiating the FindDoppler object.")
fdop = FindDoppler(datafile=H5PATH, max_drift=4, snr=25, out_dir=OUT_DIR)
# -- Search for hits and report elapsed time.
print("\nBegin doppler search. Please wait ...")
t1 = time.time()
fdop.search()
elapsed_time = time.time() - t1
print("\nFindDoppler.search() elapsed time = {} seconds".format(elapsed_time))
示例DAT文件输出
# -------------------------- o --------------------------
# File ID: Voyager1.single_coarse.fine_res.h5
# -------------------------- o --------------------------
# Source:Voyager1
# MJD: 57650.782094907408 RA: 17h10m03.984s DEC: 12d10m58.8s
# DELTAT: 18.253611 DELTAF(Hz): -2.793968
# --------------------------
# Top_Hit_# Drift_Rate SNR Uncorrected_Frequency Corrected_Frequency Index freq_start freq_end SEFD SEFD_freq Coarse_Channel_Number Full_number_of_hits
# --------------------------
001 -0.392226 30.612128 8419.319368 8419.319368 739933 8419.321003 8419.317740 0.0 0.000000 0 858
002 -0.373093 245.707984 8419.297028 8419.297028 747929 8419.298662 8419.295399 0.0 0.000000 0 858
003 -0.392226 31.220652 8419.274374 8419.274374 756037 8419.276009 8419.272745 0.0 0.000000 0 858
示例控制台日志(级别=INFO)输出
注意,粗通道号作为日志名称的后缀出现。例如,“find_doppler.8”表示在粗通道号8(相对于0)的find_doppler.py中的日志。
Using HDF5 file: /seti_data/voyager/Voyager1.single_coarse.fine_res.h5
Header and data shape:
--- File Info ---
DIMENSION_LABELS : ['frequency' 'feed_id' 'time']
az_start : 0.0
data_type : 1
fch1 : 8421.386717353016 MHz
foff : -2.7939677238464355e-06 MHz
ibeam : 1
machine_id : 20
nbeams : 1
nbits : 32
nchans : 1048576
nifs : 1
rawdatafile : guppi_57650_67573_Voyager1_0002.0000.raw
source_name : Voyager1
src_dej : 12:10:58.8
src_raj : 17:10:03.984
telescope_id : 6
tsamp : 18.253611008
tstart (ISOT) : 2016-09-19T18:46:13.000
tstart (MJD) : 57650.78209490741
za_start : 0.0
Num ints in file : 16
File shape : (16, 1, 1048576)
--- Selection Info ---
Data selection shape : (16, 1, 1048576)
Minimum freq (MHz) : 8418.457032646984
Maximum freq (MHz) : 8421.386717353016
Instantiating the FindDoppler object.
find_doppler.0 INFO {'DIMENSION_LABELS': array(['frequency', 'feed_id', 'time'], dtype=object), 'az_start': 0.0, 'data_type': 1, 'fch1': 8421.386717353016, 'foff': -2.7939677238464355e-06, 'ibeam': 1, 'machine_id': 20, 'nbeams': 1, 'nbits': 32, 'nchans': 1048576, 'nifs': 1, 'rawdatafile': 'guppi_57650_67573_Voyager1_0002.0000.raw', 'source_name': 'Voyager1', 'src_dej': <Angle 12.183 deg>, 'src_raj': <Angle 17.16777333 hourangle>, 'telescope_id': 6, 'tsamp': 18.253611008, 'tstart': 57650.78209490741, 'za_start': 0.0}
Begin doppler search. Please wait ...
find_doppler.0 INFO File: /seti_data/voyager/Voyager1.single_coarse.fine_res.h5
drift rates (min, max): (0.000000, 4.000000)
SNR: 25.000000
Starting ET search using /seti_data/voyager/Voyager1.single_coarse.fine_res.h5
find_doppler.0 INFO Parameters: datafile=/seti_data/voyager/Voyager1.single_coarse.fine_res.h5, max_drift=4, min_drift=0.0, snr=25, out_dir=/seti_data/voyager/, coarse_chans=None, flagging=False, n_coarse_chan=None, kernels=None, gpu_backend=False, precision=2, append_output=False, log_level_int=20, obs_info={'pulsar': 0, 'pulsar_found': 0, 'pulsar_dm': 0.0, 'pulsar_snr': 0.0, 'pulsar_stats': array([0., 0., 0., 0., 0., 0.]), 'RFI_level': 0.0, 'Mean_SEFD': 0.0, 'psrflux_Sens': 0.0, 'SEFDs_val': [0.0], 'SEFDs_freq': [0.0], 'SEFDs_freq_up': [0.0]}
find_doppler.0 INFO Top hit found! SNR 30.612128, Drift Rate -0.392226, index 739933
find_doppler.0 INFO Top hit found! SNR 245.707984, Drift Rate -0.373093, index 747929
find_doppler.0 INFO Top hit found! SNR 31.220652, Drift Rate -0.392226, index 756037
FindDoppler.search() elapsed time = 9.972093105316162 seconds
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
turbo_seti-2.3.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aa74855d0b8c6ce5c6f6829d3a46d52a1a28813b9c5522546d8b6338e20f826a |
|
MD5 | 6d1490368ff101c8dd6180528615d18b |
|
BLAKE2b-256 | cdaed16f70d81ccc38f0dd346be128b9f1698b8890d1e3bda87fe88e1d8c04c2 |