python项目读取chime/frb数据
cfod的Python项目详细描述
蜂鸣器/FRB打开数据
读取蜂鸣器/FRB打开数据释放的实用程序。
安装
pip install cfod
注意:目前只支持Python 2.7
。
用法
要从数据发布中读取单个数据文件,
fromcfodimportchime_intensityascifn=`astro_5941664_20180406203904337770_beam0147_00245439_02.msgpack`intensity,weights,fpga0,fpgaN,binning,frame0_nano,nrfifreq,rfi_mask=ci.unpack_data(fn)
其中:
intensity
是一个二维强度数组。weights
是强度数组对应的2d数组权重。fpga0 (int)
是数据块的起始fpga计数。(内部用于跟踪时间,可以忽略)。fpga计数以2.56us的速率递增。fpgaN (int)
是数据块读取中的fpga计数数binning (int)
是来自环形缓冲区的数据的下采样frame0_nano
是从fpga时间戳到utc时间戳(当前不支持)的转换。nrfifreq
是实时rfi系统屏蔽的频率数(当前不支持)。rfi_mask
当前不受支持
要同时读取多个数据文件,可以使用以下命令,
fromcfodimportchime_intensityascifns=['file1','file2','file3']intensity,weights,fpga0s,fpgaNs,binning,rfi_mask,frame0_nanos=ci.unpack_datafiles(fns)
要将.msgpack
文件转换为filterbank.fil
格式,可以从命令行运行msgpack2fil
。您需要在引号中提供路径名通配符。要查看所有命令行选项,请运行帮助:
msgpack2fil --help
CHIME/FRB数据有16384个频率信道,但PRESTO和SIGPROC默认只分配最多4096个信道的内存。在尝试读取16384 filterbank文件之前,您需要更新sigproc中的reader.h
和header.h
并重新编译,或者您可以让msgpack2fil
子带数据至少有一个因子4(使用--fscrunch
参数)。确保提供dm for subband dedispersion(使用--subdm
参数)以减轻子带擦除。
拆卸
pip uninstall cfod