数据存储

HDF5 数据管理:订阅、定时/手动保存与历史回读,含绘图一体化面板。

概述

quatm/GUI/h5storage/ 提供 HDF5 数据存储 GUI(由旧单文件拆出的包,公开符号在 包级再导出):汇总 / 单流 / 图像三类数据管理器订阅数据,按预约时刻、周期或 Looper 指令自动保存,也可手动把当前快照后台写入 .h5 文件并从文件回读历史测量 。

组件

组件模块说明
H5StorageGuimain_window.py主窗口:数据标签页、保存/定时保存控件与 plot 管理
H5StorageDataMgrdata_manager.py三类数据管理器宿主:订阅管理、保存/回读、清空
H5SaveWorkerworkers.py工作线程写 .h5,磁盘 I/O 不阻塞 Qt 事件循环
H5DataPlotter / EventPlotterplotters.py测量数据 / 事件数据的绘图标签页
XAxisWidget / YAxisWidgetaxes.pyx 轴与各 y 轴的数据选择、过滤链配置
BinningWidget / FilterWidget / FittingWidgetwidgets.py / fitting.pybinning、过滤与 ODR 拟合处理链

保存方式(H5StorageDataMgr)

方法说明
toggle_scheduled_save开关预约时刻保存(到时自动保存并提示)
toggle_regular_save开关每 N 小时的周期自动保存
scheduled_save_by_looper响应 Looper 的保存指令(final / intermittent)
savetoFile把当前数据快照后台写入 .h5 文件
loadFromFile从既有 .h5 文件加载历史测量并刷新界面
selectDatadir自选 h5 目标文件(避免回滚到每日默认名)
clear清空三类数据管理器的全部缓存

用法

from quatm.GUI.h5storage import H5StorageGui   # 包级再导出

win = H5StorageGui(parent=parent)
win.show()

数据保存由后台 H5SaveWorker 完成:GUI 线程先拷贝数据快照再交给 worker,因此 HDF5 磁盘写入不会卡住界面。