验证记录 · 0.1.0

日期:2026-09-12;Windows,Python 3.12.14。只记录实际完成的验证。

数值、格式和边界

pytest34 项通过。覆盖:

AFNI HEAD/BRIK 与旧式 Analyze 由 NiBabel 后端读取,本次没有真实文件实测,不纳入上述已验证列表。GIFTI 检查顶点数;同一表面/半球/顺序依赖调用者提供正确配对文件。

ruff check src tests examples 通过。前端 TypeScript 检查与 Vite 构建通过。第三方库存在弃用警告,不影响本次测试;依赖快照见 requirements-tested-windows-py312.txt。

实际浏览器

应用内 Browser 初始化被运行环境阻止(node:process 导入限制)。随后使用独立 Playwright + 本机 Chrome 的 headless 实例,不接入用户浏览器配置或登录态。

实际完成:点击合成演示启动后台提取、WebGL 场景、相机切换、深浅主题、PNG 下载、矩阵页、八视图加载、质控页、ZIP 下载、本地 file:// HTML 离线展示。未出现页面脚本错误。八视图 PNG 与界面截图已人工查看。

证据文件在 .work/browser-qa/validation.json、界面截图、PNG 和 ZIP。其中发现并修复了后台任务完成与界面异步结果加载之间的竞态。

另对 Schaefer 100 场景、带 job 参数的结果直达链接和390 px移动宽度进行检查,无页面脚本错误或水平溢出。截图见 interface-preview.png;独立证据见 standard-atlas.json

真实数据

ADHD-200 原始样本:已下载并读取,未运行空间预处理

官方匿名 S3 下载 Brown/sub-0026001 的一个 BOLD、一个 T1 和适用 JSON:

当前系统有 Docker 客户端,但 Docker Linux engine 未运行,dcm2niix 也未安装。故本次没有完成 DICOM 转换或完整 fMRIPrep 实跑。已实现可检查、可执行的外部命令适配器;命令参数与目录边界由测试检查。

ADHD 预处理影像:完成真实文件到 FC 的技术验证

通过 Nilearn 官方 fetch_adhd(n_subjects=1) 下载 NITRC 预处理样本 0010042,影像为 61 × 73 × 61 × 176,TR=2 s。

由于旧发布没有在现有说明中明确区分具体 MNI 模板版本,本次在影像自身网格定义三个人工测试分区,验证体素读取、均值提取、motion6 + WM/CSF 回归、矩阵与报告导出。176 帧全部保留。该结果是程序验证,不是标准解剖网络结果或疾病分析

脚本:examples/validate_real_adhd.py。记录和结果在 .work/real-adhd-validation/。没有将该样本未经确认地绑定到 AAL/Schaefer 研究图谱。

标准图谱演示

成功下载并解析 Schaefer 100 / Yeo7 / 2 mm 图谱。生成该真实图谱上的合成 BOLD,并在4 mm网格提取120时间点、100脑区;使用现有 Hyper-Brain 缓存里匹配的 MNI152NLin6Asym 参考脑。八视图、完整矩阵和可旋转三维均已生成。

演示影像与信号是合成数据,不能作为人群研究结果。图谱、T1参考和坐标来自已标明的资源。脚本:examples/prepare_atlas_demo.py

安装与发布

库在独立 .venv 中通过 pip 安装,依赖安装时默认 PyPI 文件源出现 TLS 错误,改用清华 PyPI 镜像后完成。此环境网络问题未通过关闭证书校验处理。

构建 wheel / sdist 并执行 twine 元数据检查;再从 wheel 安装到独立目标目录,确认导入与静态资源不依赖父仓库。实际文件清单与 SHA-256 见 dist/build-manifest.json

本次未上传 PyPI、GitHub 或任何外部发布站点;原项目已跟踪文件无修改。