用于编写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日志库允许我们向用户提供 最少的进度信息,同时保留所有可能的信息 用于调试和科学评估。

安装

需求
  • 您将需要AMI Reduce的工作安装(自然)
  • pexpect用于与ami reduce接口。 (作为python设置的一部分自动安装。)
  • astropy用于计算 坐标距离等。 (作为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-减少。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jsonify使用Jackson来定义嵌套对象   在Swing中禁用java图形调试   java Selenium Webdriver拖放在Jenkins上不起作用   java我对一个显示器的问题有一个非常不切实际的询问   java增强的“for”循环导致ArrayIndexOutOfBoundsException   ArrayAdapter适用于Java中的安卓编程,字符串数组   linux在Ubuntu上通过PulseAudio播放Java音频文件时出错   java在Spring应用程序中加载内部(类路径)和外部属性文件   java使用Maven连接到mySQL   Java应用程序的设计   websocket在电报api java中与dc的连接   java XMLStreamException,因为xml中的(&N)   java从控制台输出到JTextArea   Java导出文本文件   java实现parseInt方法   java为什么servlet容器会同步对特定资源/servlet的多个请求的访问?   循环中的Java“while”变量   用Java编程一个国际象棋游戏,gameOver布尔不起作用   java如何获得真正的JPanel大小?