pyoof是一个python包,它在单碟射电望远镜的天文光束图上执行离焦(oof)全息术。
pyoof的Python项目详细描述
pyoof是一个python包,包含了在单碟射电望远镜的天文光束图上执行离焦(oof)全息术所需的所有工具。它基于原始的oof全息纸,
- Out-of-focus holography at the Green Bank Telescope
- Measurement of antenna surfaces from in- and out-of-focus beam maps using astronomical sources
以及由Bojan Nikolic开发的software。
pyoof软件包在b.nikolic描述的相对较好的信噪比下,根据一组束流图(望远镜观测)计算孔径相位分布图。利用非线性最小二乘法,可以得到一组方便的多项式系数来表示孔径分布。一旦计算出这一点,就可以知道主菜上的像差。
我们目前正在Effelsberg radio telescope:卫星上测试pyoof包。
安装
安装pyoof包最简单、更方便的方法是通过pip
pip install pyoof
也可以从源代码进行安装。克隆github存储库并执行!
python setup.py install
从源代码可以安装开发人员版本,请注意这一点。 我相信未来:微笑:,所以请安装python 3。 很遗憾,该软件包的Windows版本当前不可用。
依赖关系
到目前为止,pyoof包使用普通的python包,建议首先安装anaconda发行版,尽管使用pip
也可以。
Pyoof有以下严格要求:
- Python3.5或更高版本
- setuptools:用于包 安装。
- NumPy1.11或更高版本
- SciPy:0.15或更高版本
- astropy:1.3或更高版本(推荐2.0)
- pytest2.6或更高版本
- matplotlib1.5或更高版本:提供绘图 功能。
- PyYAML3.11或更高版本。
对于将来的版本,依赖关系将减少。
用法
使用pyoof包是直接的。首先以建立的fits文件格式定义观测数据,然后执行!
importpyooffrompyoofimportaperture,telgeometry# Extracting observation data and important informationoofh_data='path/to/file.fits'# fits file with special formatdata_info,data_obs=pyoof.extract_data_pyoof(oofh_data)# Effelsberg telescope definitioneffelsberg=[telgeometry.block_effelsberg,# Blockage distributiontelgeometry.opd_effelsberg,# OPD function50.,# Primary dish radius'effelsberg'# Telescope name]pyoof.fit_beam(data_info=data_info,# informationdata_obs=[beam_data,u_data,v_data],# observed beammethod='trf',# opt. algorithm 'trf', 'lm' or 'dogbox'order_max=5,# it will fit from 1 to order_maxillum_func=aperture.illum_pedestal,# or illum_gausstelescope=effelsberg,# telescope propertiesresolution=2**8,# standard is 2 ** 8box_factor=5,# box_size = 5 * pr, pixel resolution)
对于不耐烦的:安静:,请参阅jupyter笔记本示例oof_holography.ipynb。
许可证
pyoof是根据3条bsd样式的许可证授权的—请参阅license.rst文件。
联系人
如果你对准则或理论部分有任何疑问,请不要犹豫并提出问题。您也可以直接给我发送电子邮件:
- tcassanelli位于gmail.com