用于编写ami reduce管道脚本的接口层。
drive-ami的Python项目详细描述
用于编写AMI-reduce管道脚本的python包。
有关详细说明,请参见Staley and Anderson (2015)。 如果您在工作中使用drive ami导致发布,我们要求您引用 上面的论文,以及相关的ASCL entry。
基本原理
- 从射电天文学的角度来看:
这个包使得原始ami数据的脚本缩减变得很简单 来自python。此外,它还提供了将原始文件分组到 数据集,为单个文件夹下的每个数据集输出uvfits。 它从原始数据中提取指向信息, 产生相当可靠的分组(尽管您可以手动编辑这些分组, 见下文)。
处理数据时,reduce的所有输出都保存到 附带的日志文件,保留通常 可从交互界面供用户使用。 同时,传递给reduce的所有模拟命令都是 为处理的每个文件记录在单独的日志中,因此 手动重新运行脚本并修补还原过程。
另外,当运行脚本中列出的命令时 悄悄地分析关键信息,如标记百分比, 来自reduce输出的雨调制和估计噪声。 然后将这些数据存储到磁盘中,并与uvfits一起轻松地放入 机器可读的json格式。 (将来也可以将它们添加到“uvfits”标题中。)
- 从软件工程的角度来看:
- 用fortran编写,带有交互式终端接口,reduce 流水线需要一点哄骗来与调用脚本协作, 使大量文件的自动处理变得棘手。 幸运的是,python库pexpect提供了一个简单的机制 为了模拟人与人之间的交互,我在此基础上构建了一个接口类。 限制,如最大路径长度的32个字符被规避。 用一些小心的方法。 python日志库允许我们向用户提供 最少的进度信息,同时保留所有可能的信息 用于调试和科学评估。
安装
- 需求:
从命令行(最好在virtualenv中):
git clone git://github.com/timstaley/drive-ami.git cd drive-ami pip install numpy #Workaround for buggy scipy/numpy combined install. pip install .
用法
命令行脚本与包一起安装。 他们的源文件可以在https://github.com/timstaley/drive-ami/tree/master/bin找到。 有关详细信息,请运行例如:
driveami_list_rawfiles.py -h
其中-h是“help”的缩写。
典型的用法是运行driveami_list_rawfiles.py以生成完整的 可用数据的列表,后跟driveami_filter_rawfile_listing.py 提取所需目标上的条目。 最后,driveami_calibrate_rawfiles.py实际上使用 AMI-减少。