处理和绘制干涉可见性的实用程序。
uvplot的Python项目详细描述
一个简单的软件包,可以绘制出清晰的去投影干涉可见度图,通常称为uvplots。 它可以安装在NRAO CASA package中(请参阅下面的说明),并具有将可见性从MS表格式导出到ASCII的功能在Python Package Index上可用
当前版本实现基本的绘图功能。
- 路线图上的功能:
- 处理具有不同通道数的光谱窗口的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自动升级numpy和matplotlib(casa内部不允许这样做,并且会导致错误):
casa-pip install --upgrade --no-deps uvplot
uvplot已经在casa版本上进行了测试>;=4.7.0。
功能
1)绘制可见性
这是一个绘图示例:
使用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表
生成的uvtable.txt将包含u,v坐标(以米为单位),Re(v),Im(v)可见性测量(以Jansky为单位),
以及权重该表还将报告平均波长(所有选定光谱窗口之间的平均值): 默认情况下,导出所有光谱窗口中的所有通道。但是,也可以指定
要导出的光谱窗口和通道。在export_uvtable()函数的文档中提供了更多详细信息CASA<1>:fromuvplotimportexport_uvtableCASA<2>:export_uvtable("uvtable.txt",tb,vis='mstable.ms')
# 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
[...]
许可和归属
如果您在出版物中使用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和撰稿人
文件
变更日志
查看所有版本中的更改列表here。