实验浏览器
Quatm 主窗口:实验浏览、队列管理、多窗口 MDI 工作区。
Quatm 提供了完整的可视化图形界面。以下是所有 GUI 组件的详细文档。
| 组件 | 文档 | 简介 |
|---|---|---|
| 🔍 实验浏览器 | → | 主窗口:文件树、队列/准备台/循环器与 MDI 实验窗口 |
| ⚙️ 实验管理器 | → | 核心执行引擎:测量→序列→单次运行的生命周期管理 |
| 📋 实验队列 | → | 任务队列表格:优先级排序、状态跟踪、暂停/终止/重启 |
| 📝 准备台 | → | 参数暂存、复制、循环构建后推入队列 |
| 🔁 循环器 | → | 条件循环:根据测量结果自动切换实验组 |
| 🪟 实验窗口 | → | 单实验控制:动态参数网格、提交/扫描与 JSON 参数 |
| 🎛️ 参数系统 | → | FloatBox/BoolBox/ComboBox:参数 GUI 控件体系 |
| 🌲 属性编辑器 | → | 基于 ParameterTree 的键值浏览 |
| 📈 实时绘图 | → | 实时一维数据流:多曲线、缩放、订阅管理 |
| 💡 LED指示灯 | → | 红/绿 LED 状态灯:径向渐变动画 |
| 🧱 GUI基础类 | → | BWidget/BMainWindow/BFrame,窗口持久化 |
| 📷 图像监视器 | → | 自动刷新图像显示:订阅图像/掩码流、降噪与亮斑检测 |
| 📊 分析管理器 | → | 分析进程的启动/停止/状态监控 |
| 📡 数据流监视器 | → | 多类型数据流:曲线/图像/消息三合一监视 |
| ✏️ 序列编辑器 | → | 代码编辑 + 解析模拟与输出通道时序可视化 |
| ⚡ 进程管理器 | → | 五类后台进程(Server/Driver/GUI/Viewer/Monitor) |
| 🔌 设备管理器 | → | PyVISA 设备发现与驱动绑定 |
| 💾 数据存储 | → | HDF5 存储/加载 + 定时自动保存 |
| ⏱️ 自动保存 | → | 定时保存时间表编辑器 |
| 📈 实时滚动图 | → | 实时滚动折线/散点图:运行平均 + 多曲线 |
| 📐 数据模型 | → | DictSyncModel:字典/列表到 Qt 表格映射 |
| 🔧 实验辅助 | → | ODT 对准 + 电场补偿 + 压电镜 + Verdi 对准 |
| 🎚️ 参数框 | → | 紧凑型标签-数值实时参数显示 |
| 🗂️ 可折叠组件 | → | 手风琴式可折叠面板对话框 |
| 🧩 实验参数面板 | → | 实验参数控制面板 |
| 🔌 DAC 控制器 | → | FPGA DAC 手动设置工具 |
| 🧵 后台工作线程 | → | QRunnable 后台工作线程:信号驱动 |
| ⏱️ 时序浏览器 | → | 实验时序可视化(DAC+TTL 图表) |
| 📊 滚动波形窗口 | → | 多通道实时滚动波形显示 |
| 📡 订阅编辑器 | → | 数据/图像流订阅管理 |
| 📋 表格参数 | → | 实验参数树表格编辑节点 |
| 🎯 远程 ROI | → | 可远程同步的 ROI 组件 |
| 🖼️ 图像查看器 | → | 科学图像查看器(线剖面+LUT) |
| 🔔 属性检查器 | → | 属性健康轮询+异常告警 |
| 📐 辅助绘图工具 | → | 通用测量数据绘图(多Y轴+滤波+拟合) |
┌──────────────────────────────────────┐
│ Browser(主窗口) │
├────────────────┬─────────────────────┤
│ FileSelector │ QMdiArea │
│ (实验文件树) │ ExperimentWindow │
│ │ (单实验控制窗口) │
├────────────────┴─────────────────────┤
│ 顶部停靠:实验队列 / 准备台 / 循环器 │
├──────────────────────────────────────┤
│ ExperimentManager(执行引擎) │
└──────────────────────────────────────┘
| 主题 | 模块 |
|---|---|
| 队列/准备台表格模型 | widgets/models.py(ScheduleModel / PrepModel) |
| 订阅编辑 | editors/subscription_editor.py |
| 自动保存时间表 | editors/auto_save_editor.py |
| 属性树编辑 | entries/property_editor.py |
| 实时更新绘图 | entries/updating_plot.py |
| 滚动波形 / 实时滚动图 | entries/scrollwindow.py、entries/live_plot.py |
| 数据流监控 | streammonitor/ |
| 图像监控 / 图像查看 | entries/image_monitor.py、entries/image_group.py |
| 对准辅助 | alignment/(odt / comp / verdi helper) |
| 压电镜控制 | entries/piezo_mirror_controler.py |
| H5 数据管理 | h5storage/ |
主程序 实验浏览器 与各独立工具通常由进程管理器(ProcessManager)按类别启动, 也可在程序中直接实例化对应主窗口类(见各组件页面用法)。
Quatm 主窗口:实验浏览、队列管理、多窗口 MDI 工作区。
核心实验执行引擎:从实验队列取任务并按测量/序列/运行层级调度。
任务队列表格面板:维护实验任务的优先级排序、状态跟踪与生命周期管理(暂停/终止/休眠/删除)。
实验参数暂存与编辑区:在推入队列前预览、排序和微调任务。
条件循环执行器:根据测量结果自动决定是否重复、跳转或终止实验循环。
单实验控制窗口:动态参数网格、提交/扫描与参数持久化。
BasicManager 参数管理器体系:把实验属性映射为数值/布尔/下拉/频率控件。
基于 ParameterTree 的属性查看与编辑工具。
订阅数据流并持续更新的实时绘图项及其控件容器。
LED 状态指示灯:支持绿/红/青配色、径向渐变与亮灭两种外观。
BWidget、BMainWindow、BFrame:带几何持久化和属性通信的 Qt 基类。
自动更新的图像显示控件:订阅图像/掩码流、降噪与亮斑检测、级别与 ROI 配置。
树形视图面板:管理分析脚本的启动、停止、状态监控与自动重启。
数据流监控:数据/图像/命令/消息多标签监控与单流面板。
实验代码编辑与序列模拟:语法高亮、解析与输出通道时序可视化。
分布式进程面板:按 Servers/Driver/GUI/Viewer/Monitor 分类启停后台进程。
PyVISA 设备发现与驱动绑定:枚举、查询、选择仪器并关联驱动文件。
HDF5 数据管理:订阅、定时/手动保存与历史回读,含绘图一体化面板。
实时滚动绘图:环形缓冲、滑动平均与数据流订阅。
自动保存时间点列表编辑器:配置一组(勾选 + 日期时间)的周期保存时刻。
光镊对准、杂散场补偿:实验自动化校准与优化工具集。
DictSyncModel/ListSyncModel:将 Python 字典/列表自动映射为 Qt 表格。
CollapsibleDialog:可折叠/展开的树形对话框。
与实验参数绑定的输入控件:浮点、布尔与下拉参数框,改动即写回参数。
DefaultExp + Dashboard:从设备数据库自动构建的整机参数控制面板。
FPGA 的简易手动控制界面:16 路 DAC 电压与 32 路 TTL 位掩码设置。
Worker/WorkerSignals:通用 QRunnable 后台线程封装。
FPGA 实验时序可视化:DAC 与 TTL 输出通道随时间变化的图表查看器。
多通道实时滚动数据查看窗口:子图缓冲、数据流订阅与动态刷新。
管理数据/图像流的订阅列表:添加、删除与热更新已订阅的数据源。
基于 QTableWidget 的 numpy 结构化数组编辑器,用于参数树。
通过中心属性库发布颜色/位置/尺寸、可远程同步的 ROI 组件。
科学图像查看主窗口:中央图像显示器加行/列线剖面与直方图色标停靠面板。
属性分发看门狗:验证 Properties 中枢确实在广播更新。
通用测量数据绘图组件:数据源/多 y 轴、过滤、分箱与拟合。