HIC-Brain 0.2 验证记录
日期:2026-09-10。环境:Windows、Python 3.12.14、Node.js 24.19.0;浏览器使用独立 Chromium / WebGL 2 软件渲染。下列为本轮实际执行的检查,0.1 的历史数据检查另见 原验收记录。
核心与结构身份
- Python:138 项测试通过,包含原有 100 项与新增 38 项图谱、空间、映射和视图测试。
- 前端:5 项结构身份测试通过;TypeScript 检查与生产构建通过。
- Ruff 检查通过。第三方许可生成器验证 21 个运行时包和 14 个补充许可来源。
- 保留普通边稳定 ID、原始连接权重和完整超边成员。数值 ID
1 与字符串 ID "1" 的超边可分别选择;不会因成员相同而合并自定义超边。
- 验证不同 ROI 顺序映射、源文件不变、非连续图像标签、错误 / 重复 / 缺失标签、整数溢出、非有限值、4D 输入、空间单位、qform / sform、空间重叠、MNI 左右半球冲突、无效相机等情况。
- 单元测试仅使用合成输入,不需要网络、公开数据集或图谱下载。
测试过程中出现上游 Starlette / scikit-image 的弃用提示;没有失败测试。测试通过不代表任意硬件、任意新图谱均已验证。
图谱与真实上传
五个标准目录项已实际下载并生成表面:AAL SPM12 90 / 116(MNIColin27)及 Schaefer2018 100 / 200 / 400、7 网络(MNI152NLin6Asym)。它们的分区影像、标签、参考脑和来源缓存独立于安装包。
本轮从已有上传副本重新读取 ABIDE1、ABIDE2、ADHD、MDD、ADNI 各一个输入,全部经过正式上传、解析、计算和结果接口,5/5 成功。MDD 仍明确选择已记录的列范围,仅验证数值解析;没有确认其解剖映射。没有因矩阵尺寸相同而自动绑定图谱。
另生成明确标为 Synthetic 的 90、116、200、400 ROI 时序,用正式上传与分析接口生成网络,再绑定已知图谱顺序。Python 与 HTTP 的 ROI 身份、图 / 超图结构及数值一致,数值比较容差为 rtol=1e-10, atol=1e-12。这些示例用于验证界面,不是患者结果或疾病模型。
三维交互
- 116 ROI 检查全部四种风格、深浅两种皮肤;显示全部 267 条普通边、112 条超边及 116 个缩写时,切换不改变结构。
- 90、200、400 ROI 检查包络、骨架、分区表面切换;节点、连接、超边和标签数量与源结果一致。标准球棍及八种组合另在 116 ROI 上检查。
- 通过实际画布拖动、右键平移、滚轮缩放、复位和透明脑内拾取,验证相机及选择。
- 节点、普通边和超边详情与成员表、热图联动;选择后切换风格保持同一对象;“仅看所选”与“恢复全局”可用。
- 当前视角 PNG 从实际画布导出;JSON 导出的连接矩阵、普通图及原生超图与原始分析一致。保存 / 重开、导入 JSON 恢复相机与选择已检查。
- NiiVue 实际加载参考影像和分区,不只检查空画布;检查切片组件没有报错,并查看渲染截图。
- 自定义图谱经过网页 NIfTI / TSV 上传:5 个合成 ROI、非零世界坐标平移、合成参考影像。5 ROI 图谱绑定 116 行输入被拒绝;匹配的 5 行输入成功。相机按自定义表面位置居中;三条共线 / 共面超边均回退为骨架,完整成员和两个同成员不同类型 ID 保留。
浏览器检查使用软件渲染,不作为 GPU 帧率基准。400 个长缩写同时出现仍可能拥挤;系统保留全部标签并提供用户主动隐藏标签、搜索、旋转 / 缩放、仅看所选。复杂结构降低几何精度,不自动删除边或超边。
安装与离线
新建 Python 3.12 环境,从 wheel 安装 [web] 及全部依赖;pip check 无依赖冲突。隔离模式确认导入来自安装环境 site-packages,不是源码目录。
安装环境执行以下检查:
- 禁止网络连接后,Python 分析与五个已缓存标准图谱读取通过。
- 使用安装包启动本地服务,上传合成矩阵、运行独立计算任务,与同环境 Python API 比较,结果一致。
- 浏览器阻断所有非本地 HTTP(S) 请求,八种展示组合与切片核查成功;没有外部请求、页面异常或失败的资源响应。网页脚本随 wheel 分发。
首次获取尚未安装的标准图谱需要网络;完全离线机器可导入已经取得且许可允许使用的匹配 NIfTI、标签表和参考脑。
构建 wheel / sdist,执行元数据检查与内容检查。发行包包含代码、网页、文档和合成测试,不包含用户数据、已安装图谱、工作区数据库、历史结果或本机数据根目录。具体安装依赖见 Windows Python 3.12 依赖快照。此记录不表示已发布到 PyPI 或 GitHub。
复现
python -m pytest -q
python -m ruff check src tests
cd frontend
npm ci
npm run check
npm test
npm run build
cd ..
python -m build
python -m twine check dist/hic_brain-0.2.0*
交互验证使用本地独立测试浏览器、真实文件上传和结果接口。测试截图、数据副本、下载缓存与浏览器检查日志保存在本轮本地工作区,不作为科研结果分发。