欢迎使用Quatm

欢迎来到 Quatm 用户指南!无论你是刚开始搭建实验控制系统,还是希望从 LabView、Matlab 迁移到开源方案,这里都能帮你快速上手。

什么是 Quatm?

Quatm 是一个专为量子物理实验设计的开源控制框架。它把设备驱动、时序管理、数据采集和分析这些常见需求整合在一起,让你只需关注实验本身,而不是底层的软件细节。了解更多 →

Quatm 不提供

  • 硬件:Quatm 是纯软件框架,实验所需的仪器设备需要你自行采购和维护。
  • 实验方案:Quatm 提供控制的工具,具体的实验逻辑和物理方案由你定义。

Quatm 提供

  • 完整的控制架构:设备驱动、时序控制、参数管理和数据分析,开箱即用。
  • 灵活的部署方式:单机运行、控制端—客户端分离,随需选择。
  • 活跃的社区支持:持续迭代、问题追踪和用户交流。

Quatm 适合我吗?

如果你的实验涉及超冷原子、离子阱、量子光学、量子化学等领域,需要精确控制多个仪器设备和全自动化实验测量,Quatm 会是理想的选择。

特别适合以下场景:

  • 🧪 长期使用 LabView 或 Matlab,想迁移到开源、可定制的方案
  • 🔌 多种厂商硬件混杂,需要一个统一的控制层
  • 🚀 希望将实验流程自动化,解放科研精力

💡 提示:如果你已经在使用全套 Artiq 生态,其原生支持已非常完善,Quatm 可能不是最佳选择。

系统架构

Quatm 采用分布式微服务架构,每个组件(硬件驱动、分析例程、GUI 面板)作为独立操作系统进程运行,通过 ZeroMQ 消息进行通信:

┌─────────────────────────────────────────────────────┐
│                    GUI 层                            │
│  实验浏览器 │ 参数编辑器 │ 图像监视器 │ 数据分析管理      │
└──────────────┬──────────────────────────────────────┘
               │ ZMQ PUB/SUB + RPC
┌──────────────┼──────────────────────────────────────┐
│              通信层 (quatm.servers)                   │
│  DataClient │ ImageClient │ CommandClient │ Properties │
└──────────────┬──────────────────────────────────────┘
               │
┌──────────────┼──────────────────────────────────────┐
│     实验层                 │      分析层               │
│  Experiment 基类          │  吸收成像 │ 高斯拟合       │
│  realtime() 时序控制       │  亮斑检测 │ 图像切片       │
│  参数扫描与队列管理         │  数据平均 │ 拟合加速       │
└──────────────┬──────────────────────────────────────┘
               │
┌──────────────┴──────────────────────────────────────┐
│                    驱动层                             │
│  FPGA │ Andor │ BlackFly │ Rigol │ Valon │ Thorlabs │
│  DDS │ Toptica │ PI Stage │ 监控设备 (温度/磁场/真空)   │
└─────────────────────────────────────────────────────┘

各层职责

层级模块职责
GUI 层quatm.GUIQt 图形界面,实验管理、设备控制、数据可视化
通信层quatm.serversZMQ 发布/订阅消息、RPC 远程调用、分布式属性同步
实验层quatm.experiment声明式实验时序、参数扫描、设备属性管理
分析层quatm.analysis实时图像处理、曲线拟合、离子检测(Cython 加速)
物理层quatm.physics光偶极阱建模、Stark 位移、散射率、Feshbach 共振
驱动层quatm.drivers统一硬件抽象,支持 300+ 种实验室仪器
监控层quatm.monitor温度、磁场、真空等环境参数持续监测

这种架构确保:故障隔离(一个组件崩溃不影响全局)、并行处理(图像分析与实验时序同时运行)、网络透明(组件可分布在不同机器)。

文档导航

系统学习 Quatm 的最佳路径:

章节你将学到
快速开始安装 Python 环境,配置 device_db.py 接入设备,编写并运行第一个实验
实验编辑指南Experiment 基类的完整生命周期,NumberValue/BoolValue/StringCombo 参数类型,delay() 和 realtime 时序控制
设备与驱动TTLOut/DAC/genericAttr 三种属性模式,校准文件使用,自定义驱动开发
数据与分析DataClient/ImageClient 通信,HDF5 存储结构,图像分析、离子检测等内置模块
通信层ZMQ 发布/订阅通信、DataClient/ImageClient/CommandClient、分布式属性系统
GUI 组件实验浏览器、参数编辑器、序列编辑器、图像监视器的使用与定制
物理模型库原子数据库、光偶极阱建模、Stark 位移与散射率计算
监控设备温度控制器、高斯计、波长计、真空规等环境监测设备
部署指南单机、客户端—控制端分离、多控制端集群的部署架构
最佳实践单一职责、Mixin 复用、设备状态检查、异常安全关闭
应用案例MOT 装载优化、吸收成像、Rabi 振荡等完整案例
代码贡献提交 Issue、发起 Pull Request、代码审查流程

🚀 建议路径:快速开始 → 实验编辑指南 → 设备与驱动 → 应用案例。其余章节可按需查阅。


快速开始

从零开始搭建 Quatm 实验控制环境,只需几分钟即可运行第一个实验。

实验编辑指南

深入了解 Quatm 实验框架的核心 API,掌握从基础实验到高级控制的完整编写方法。

设备与驱动

Quatm 原生支持 50+ 品牌、100+ 种实验仪器——涵盖科学相机、信号源、激光器、运动平台、DAQ 与环境监测。

数据与分析

Quatm 数据管理架构、实时监控、图像处理与分析工具的完整文档。

GUI 组件

Quatm 基于 Qt 的图形界面——12 个核心组件,覆盖实验浏览、参数编辑、任务调度、数据可视化和设备监控。

通信层

Quatm 分布式通信与数据管理系统 — 基于 ZeroMQ 的进程间通信框架

部署指南

在实际实验环境中部署和运行 Quatm 框架的指南。

实验框架

Quatm 实验调度、任务管理、序列编辑与运行监控的核心组件文档。

应用案例

通过真实实验案例了解 Quatm 框架在量子物理研究中的广泛应用。

实验最佳实践

编写可靠、高效的 Quatm 实验脚本的建议与技巧。

物理模型库

量子物理实验的物理建模与计算工具

代码贡献指南

如何对Quatm项目贡献您的智慧

监控设备

实验室环境监测设备驱动 — 温度控制器、高斯计、示波器、激光控制器、真空规

工具函数

Quatm 通用工具函数 — 变密度采样等辅助功能