包含处理事实的有用方法的模块
pyfact的Python项目详细描述
一个带有实用程序的python包,用于处理事实成像切伦科夫望远镜
使用安装
$ pip install pyfact
这会自动处理可安装的依赖项。 和皮普在一起。
但是,如果要使用gui事件查看器,则需要 在安装matplotlib之前安装tk,因为它取决于 TKAGG后端。
功能:
fact包含几个函数来转换实际使用的时间 将数据转换为更标准的格式,反之亦然。
例如:
fromfactimportrun2dt# convert fact fNight format to python datetime object:date=run2dt("20150101")
子模块
绘图
用于将数据打印到事实相机视图中的实用程序。基于matplotlib。
importmatplotlib.pyplotaspltimportfact.plottingasfactplotfromnumpy.randomimportnormal# create some pseudo data with shape (10, 1440):data=normal(30,5,(10,1440))factplot.camera(data[0])plt.show()
或者您可以启动一个交互式查看器,它允许您单击 事件和保存图像:
fromfact.plottingimportViewerfromnumpy.randomimportpoisson# pseudo data:data=poisson(30,(10,1440))# call the Viewer with data and a label for the colorbar:Viewer(data,"label")
还有一些功能可以从交付的 源文件:
fromfact.plottingimportget_pixel_coordspixel_x,pixel_y=get_pixel_coords()
事实数据库
此模块包含peeweeModels用于factdatamysql数据库。 这些是由peewee自动创建的,并提供了在python中查询此数据库而不编写原始sql查询的方法。
例如,要获得实际运行的总次数,您可以执行以下操作:
fromfact.factdbimportconnect_database,RunInfoconnect_database()# this uses the credentials module if no config is givennum_runs=RunInfo.select().count()
一些便利功能已经实现。 要获取包含每个源和运行类型的观察时间的pandas.DataFrame,可以执行以下操作:
fromfact.factdbimportconnect_database,get_ontime_per_source_and_runtypeconnect_database()num_runs=RunInfo.select().count()print(get_ontime_by_source_and_runtype())
不使用peewee即可下载数据库并将其读取到pandas数据帧:
fromfactimportcredentialsimportpandasaspdfactDB=credentials.create_factdb_engine()runInfo=pd.read_sql_table(table_name="RunInfo",con=factDB)
辅助服务
要在aux中读取的实用程序将文件放入pandas数据帧。
fromfact.auxservicesimportMagicWeatherfromdatetimeimportdateweather=MagicWeather(auxdir='/fact/aux/')df=weather.read_date(date(2016,1,1))