面向共聚焦显微镜 Z-stack 的 Windows 工程分析工具。V3.2.2 使用 PySide6,提供焦面 Z 定位、ROI 亚像素稳健中心、逐层中心漂移、ZEN 兼容最大强度投影、Gaussian EDF 和 FOV 面型分析。
- ZEN MIP:
I_MIP(x,y)=max_z I(x,y,z),始终使用原始 XY 分辨率,不依赖高度网格、清晰度或 Gaussian 拟合。 - Gaussian EDF:逐点定位焦面后,以 Z 向高斯权重融合;它与 MIP 是不同结果类型,标题、公式和导出身份均分离。
- 焦面 Z:只计算当前选择的共聚焦亮度或 Laplacian 清晰度信号,并按离散峰值、三点抛物线或高斯方法定位;图中直接标出最终焦面 Z。
- FOV 面型:高度单位为 μm;
PV=max(residual)-min(residual),RMS 为平面残差的均方根;Rx/Ry 为拟合平面相对 X/Y 方向的倾角(°)。 - 稳健中心:明暗双极性 Otsu → 主轮廓筛选 → Sobel 法向剖面 → 二次插值亚像素边缘 → 两轴 MAD 标准化 → Huber IRLS 中心。
- 状态含义:
Valid表示证据足够;Invalid表示识别/数据不足;Error表示运行异常。V3.2.2 未定义规格上下限,因此不输出 Pass/Fail。
图像数组使用左上角为原点,X 向右、Y 向下;ROI 和亚像素中心均使用原始图像像素坐标。X/Y 物理尺寸独立保存。面型视图延续显微镜左手显示习惯,Z 轴向下为正。
推荐双击 Run-ZStack-Analyzer.bat。它会创建项目自己的 .venv,仅在依赖文件变化、关键导入失败或指定 -Repair 时安装依赖。首次安装需要可访问 Python 包源,支持 64 位 Python 3.10–3.12。
也可手动运行:
python -m pip install -r requirements.txt
python .\zstack_focus_analyzer.py应用设置和分析预设保存在 %LOCALAPPDATA%\ZStackFocusAnalyzer,不写入安装目录;配置使用独立 schema 版本和原子替换,迁移前自动备份。默认无遥测、无外部上传。
- 导入尺寸一致的 Z-stack 文件夹;文件按自然顺序读取并生成来源哈希。
- 在右侧设置 Z 起点/步距、像素尺寸、投影方式、焦面信号和定位方式。
- 如需 ROI,在主图按住
Shift拖拽;中心识别 ROI 应只包含一个完整主目标。 - 在左侧选择焦面、ROI 中心或 FOV 面型并运行;层号用于浏览原始层,
MIP按钮恢复投影主图。 - FOV 面型通过“显示视图”在 3D、ZEN MIP、高度图和残差图间切换,各视图支持滚轮缩放。
- 只有与当前数据、ROI 和参数一致的有效结果才能导出。
demo_zstack/ 是面型与 Gaussian EDF 黄金样本;demo_zen_mip_zstack/ 包含 ZEN MIP 参考输出。
zstack_app/models.py:输入、ROI、投影、高度图和稳健中心数据契约。zstack_app/services/:图像身份、焦面/面型、稳健中心和原子导出服务。zstack_app/ui/:PySide6 工程工作区、参数检查器、图像 ROI 与无边框窗口。zstack_app/state.py、workers.py:显式工作流状态、运行 ID、取消和 Qt 线程边界。zstack_focus_analyzer.py:V3 启动入口及 V2.7.1 数值兼容 API。
python -m pytest -q
python .\tests\capture_v3_ui.py
python -m pip install -r requirements-build.txt
python .\build_release.py构建使用 PyInstaller onedir 和稳定 Inno Setup AppId,自动验证打包程序启动、黄金样本、静默安装、安装后启动与卸载。输出位于 release/,包含 Setup、SHA-256 和构建清单。安装包未签名时 Windows SmartScreen 可能显示“未知发布者”。
正式版本发布在 GitHub Releases。V3.2.2 为 Windows x64 按用户安装包,无需管理员权限;分析预设保存在 %LOCALAPPDATA%\ZStackFocusAnalyzer,升级和卸载不会主动删除该目录。
