AMI-Reduce管道脚本的接口层。
项目描述
一个用于脚本化AMI-reduce管道的Python包。
有关完整说明,请参阅Staley and Anderson (2015)。如果您在使用drive-ami进行可能导致出版物的工作时,我们要求您引用上述论文以及相关的ASCL条目。
理由
- 从射电天文学的角度来看
此包使从Python脚本化原始AMI数据的简化变得简单。更重要的是,它提供了工具将原始文件分组到数据集中,在每个单独的文件夹下输出每个数据集的UVFITS。它通过从原始数据中提取指向信息来完成此操作,从而产生相当可靠的分组(尽管您可以手动编辑这些,请参阅以下内容)。
在处理数据时,所有来自reduce的输出都保存到相关的日志文件中,保留了用户从交互式界面中通常可以获得的所有信息。同时,所有传递给reduce的模拟命令都记录在每个处理文件的单独日志中,因此可以轻松手动重新运行脚本并调整还原过程。
此外,当运行脚本中列出的命令时,界面会静默解析来自reduce输出的关键信息,例如标记百分比、降雨调制和估计噪声。然后,这些信息以易于机器读取的JSON格式存储到磁盘上,与UVFITS一起(这些信息也可能在未来添加到UVFITS标题中)。
- 从软件工程的角度来看
使用Fortran编写,具有交互式终端界面,reduce管道需要一点技巧才能与调用脚本协作,使得大量文件的自动化处理变得棘手。幸运的是,Python库pexpect提供了一个简单的机制来模拟人类交互,基于这个机制我创建了一个接口类。通过一些精心的修改,绕过了诸如最大路径长度约为32个字符的限制。Python日志库允许我们向用户提供最少的进度信息,同时保留所有可能的调试和科学评估信息。
安装
- 要求:
从命令行(最好在虚拟环境中)
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代表“帮助”。
典型用法是运行driveami_list_rawfiles.py来构建可用数据的完整列表,然后运行driveami_filter_rawfile_listing.py来提取所需目标的条目。最后,driveami_calibrate_rawfiles.py实际使用AMI-REDUCE进行处理。
项目详情
drive-ami-1.0.7.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eb3f73f46157f9bfcc55eeabe3784736323af95ce038d11d918de05d9839204a |
|
MD5 | 28e8a766b234d6399707dc91572a9aaa |
|
BLAKE2b-256 | 207e5115be8fdd0888553081ac5fdeca26548ead28f5185e00950184a05707c8 |