处理和绘制干涉可见性的实用程序。

uvplot的Python项目详细描述


一个简单的软件包,可以绘制出清晰的去投影干涉可见度图,通常称为uvplots。 它可以安装在NRAO CASA package中(请参阅下面的说明),并具有将可见性从MS表格式导出到ASCII的功能在Python Package Index上可用

https://travis-ci.org/mtazzari/uvplot.svg?branch=masterhttps://img.shields.io/pypi/v/uvplot.svghttps://img.shields.io/github/release/mtazzari/uvplot/all.svghttps://img.shields.io/badge/License-LGPL%20v3-blue.svghttps://zenodo.org/badge/105298533.svg

当前版本实现基本的绘图功能。

路线图上的功能:
  • 处理具有不同通道数的光谱窗口的MS表;
  • 选择要导出的特定频道;
  • 将可见性从ascii导入ms表。

如果您感兴趣、有功能请求或遇到问题,请考虑创建一个Issue或编写一个email。我很高兴收到你的反馈!

安装

uvplot适用于Python>;=2.7和>;=3.6,可以安装:

pip install uvplot

要使uvplot在casa中可用,请从shell运行:

casa-pip install uvplot

其中,casa pip是一个可以在https://github.com/radio-astro-tools/casa-python下载的工具

要将uvplot升级到系统上的新版本,只需运行:

pip install --upgrade uvplot

要在casa内部升级uvplot,请使用–no deps选项防止casa pip自动升级numpymatplotlib(casa内部不允许这样做,并且会导致错误):

casa-pip install --upgrade --no-deps uvplot

uvplot已经在casa版本上进行了测试>;=4.7.0。

功能

1)绘制可见性

这是一个绘图示例:

example uv plot

使用uvplot创建:

importnumpyasnpfromuvplotimportUVTable,arcsecfromuvplotimportCOLUMNS_V0# use uvplot >= 0.2.6wle=0.88e-3# Observing wavelength         [m]dRA=0.3*arcsec# Delta Right Ascension offset [rad]dDec=0.07*arcsec# Delta Declination     offset [rad]inc=np.radians(73.)# Inclination    [rad]PA=np.radians(59)# Position Angle [rad]uvbin_size=30e3# uv-distance bin [wle]uv=UVTable(filename='uvtable.txt',wle=wle,columns=COLUMNS_V0)uv.apply_phase(dRA,dDec)uv.deproject(inc,PA)uv_mod=UVTable(filename='uvtable_mod.txt',wle=wle,COLUMNS_V0)uv_mod.apply_phase(dRA=dRA,dDec=dDec)uv_mod.deproject(inc=inc,PA=PA)axes=uv.plot(label='Data',uvbin_size=uvbin_size)uv_mod.plot(label='Model',uvbin_size=uvbin_size,axes=axes,yerr=False,linestyle='-',color='r')axes[0].figure.savefig("uvplot.png")

从版本v0.2.6开始,有必要提供参数 当读取ascii uvtable时。可以指定参数 作为UVTable()命令的参数,或作为2nd行 在ASCII文件中可用的列格式为:

FORMAT          COLUMNS                                                 COLUMNS_LINE (copy-paste as 2nd line in the ASCII file)
COLUMNS_V0      ['u', 'v', 'Re', 'Im', 'weights']'# Columns      u v Re Im weights'
COLUMNS_V1      ['u', 'v', 'Re', 'Im', 'weights', 'freqs', 'spws']'# Columns      u v Re Im weights freqs spws'
COLUMNS_V2      ['u', 'v', 'V', 'weights', 'freqs', 'spws']'# Columns      u v V weights freqs spws'

导入一个包含5列的ascii uvtable,其中包含uvplot<;0.2.6:

fromuvplotimportUVTableuvt=UVTable(filename='uvtable.txt',format='ascii',columns=COLUMNS_V0)

当uvplot>;=0.2.6时:

fromuvplotimportUVTablefromuvplotimportCOLUMNS_V0# ['u', 'v', 'Re', 'Im', 'weights']uvt=UVTable(filename='uvtable.txt',format='ascii',columns=COLUMNS_V0)

2)将可见性从MS table导出到uvtable(ASCII)

一旦在CASA内部安装了uvplot(见上面的说明), 通过从casa外壳执行这些行,可以将ms table.ms中的可见性导出到ascii表

CASA<1>:fromuvplotimportexport_uvtableCASA<2>:export_uvtable("uvtable.txt",tb,vis='mstable.ms')

生成的uvtable.txt将包含u,v坐标(以米为单位),Re(v),Im(v)可见性测量(以Jansky为单位), 以及权重该表还将报告平均波长(所有选定光谱窗口之间的平均值):

# Extracted from mstable.ms.
# wavelength[m] = 0.00132940778422
# Columns:  u[m]    v[m]    Re(V)[Jy]       Im(V)[Jy]       weight
-2.063619e+02       2.927104e+02    -1.453431e-02   -1.590934e-02   2.326950e+04
3.607948e+02        6.620900e+01    -1.680727e-02   1.124862e-02    3.624442e+04
5.752178e+02        -6.299933e+02   5.710317e-03    6.592049e-03    4.719500e+04
-9.198434e+02       -1.374651e+03   1.313417e-03    4.299262e-03    4.259890e+04
9.623210e+01        -4.631573e+02   7.731462e-03    -8.803369e-03   4.801395e+04
9.348914e+01        -5.191096e+02   3.759772e-03    4.754967e-04    4.748304e+04
1.108410e+03        -1.396906e+03   3.222965e-03    -5.164917e-03   4.690977e+04
[...]

默认情况下,导出所有光谱窗口中的所有通道。但是,也可以指定 要导出的光谱窗口和通道。在export_uvtable()函数的文档中提供了更多详细信息

许可和归属

如果您在出版物中使用uvplot,请引用Zenodo reference

@misc{uvplot_mtazzari,
  author       = {Marco Tazzari},
  title        = {mtazzari/uvplot: v0.1.1},
  month        = oct,
  year         = 2017,
  doi          = {10.5281/zenodo.1003113},
  url          = {https://doi.org/10.5281/zenodo.1003113}
}

uvplot是根据lgplv3许可证授权的免费软件。有关更多详细信息,请参阅许可证。

版权所有2018 Marco Tazzari和撰稿人

文件

查看documentation

变更日志

查看所有版本中的更改列表here

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

推荐PyPI第三方库


热门话题
java Requestcontextholder在spring 4中具有并发访问权限。IBMWebSphere上的x Web应用程序?   java如何下载、设置和使用Eclipse?   java如何组合这些mysql语句   java JDBC无法连接到openshift上的mysql数据库   如果存在允许正确处理的重载,java对于方便的方法来说是否可行?   使用hibernate序列的java Spring MVC不存在   具有路径的java Selenium ChromeDriver负载扩展问题   读一本书。java中的java文件   退出队列时,Java队列程序结果为空   Java lambda返回带有重复代码问题的列表   java使用意图从其他活动传递数据并在listview中显示   java如何在java中创建JSON输出   java Android:在不破坏或暂停活动的情况下关闭显示   支持Android电视和手机的java多apk   关于Java应用程序测试和调试的一组问题   如何在JavaSE中使用jdbcRealmShiro进行授权   在java中是否有一个无异常检查的URL解析实用程序?   当页面上有多个相同类型的元素时,java会选择一个特定的元素   递归需要帮助发现java代码中的缺陷