跳转到主要内容

Qt小部件库,用于搜索、查看文档流

项目描述

一个Qt小部件库,用于搜索保存的bluesky数据,以及从磁盘或实时查看文档流。

这是一个原型,可能被完全重写、废弃或转移到其他库中。

启动演示

创建一个自定义conda环境。

conda create -n bluesky_browser python=3 \
    bluesky jsonschema matplotlib ophyd pyqt \
    pyzmq qtpy suitcase-jsonl tornado traitlets  \
    -c lightsource2-tag
conda activate bluesky_browser

克隆并安装。

git clone https://github.com/NSLS-II/bluesky-browser
cd bluesky-browser
pip install -e .

运行演示。

bluesky-browser --demo

以上在临时目录中生成示例数据,并启动一个Qt应用程序来浏览这些数据。它假设有两个数据目录,abcxyz,它们可能来自两个仪器或来自同一仪器的“原始”数据和“处理”数据。目录可以通过日期范围或任何自定义Mongo查询进行搜索。点击搜索结果会弹出一个新的选项卡,显示更详细的信息。有两个查看区域,便于比较数据。右键单击并拖动选项卡可以在两个区域之间移动。

要自定义和扩展此功能,请生成配置文件

bluesky-browser --generate-config

并且编辑它。如果bluesky-browser配置文件位于其运行的当前目录中,它会自动发现并应用该配置文件。(未来我们将添加一个适当的搜索路径,包括其他标准位置。)

预期范围

  • 从任何数据经纪人目录(由MongoDB或JSONL等支持)中搜索已保存的数据。

  • 查看和比较运行的数据。使用“提示”作为默认值,以指导如何查看给定的运行,并让用户从中进行调整。

  • 执行基本的绘图操作,不达到完整数据分析GUI的水平(例如,没有非线性曲线拟合),但允许一些交互式调整,以提供有用的数据视图。

  • 查看从RunEngine(通过某些消息总线)流式传输的实时数据。

  • 可扩展,提供针对特定于束线或仪器的视图的可能性。

当前功能

  • 搜索多个目录(例如,多个束线)中的已保存数据,并对搜索结果进行排序。

  • 在单独的选项卡中查看选定的搜索结果,或在单个选项卡中“重叠”显示。

  • 查看来自已保存或流式传输数据的标题、基线读数和线图。

  • “重叠”任意组运行,包括已保存数据、流式传输数据或两者的组合。

路线图

  • 实现与最佳努力回调功能相匹配的特性。
    • 表格

    • 网格

    • 峰值统计

  • 添加图像堆栈查看器。

  • 允许用户交互式地更改要绘制的对象。(提示只是默认值。)

  • 添加一种方法来仅对实时数据(来自RE)运行查看器部分。

  • 在标题选项卡顶部添加“摘要”小部件。

  • 添加与手提箱的集成以导出文件,首先从CSV开始。

  • 添加上下文菜单(右键单击)作为执行重叠等操作的替代方法。

  • 支持“渐进式搜索”,逐步细化搜索结果。

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面