2026-05-20-02-02-37 支持位姿输入与导入

This commit is contained in:
2026-05-20 02:09:39 +08:00
parent 7099bfde8d
commit 1ddca18116
5 changed files with 453 additions and 13 deletions

View File

@@ -0,0 +1,50 @@
# 需求分析-2026-05-20-02-02-37
## 开始时间
2026-05-20-02-02-37
## 原始需求摘要
用户要求将“可视化工具栏”中的“模型位姿”数值变成可编辑输入,允许直接输入数值调整模型;同时新增“导入位姿数据”选项,并与“导出全部 NII.GZ”中的位姿数据 JSON 格式匹配。
## 业务目标
- 提升模型位姿精调效率,支持滑条、按钮和数值输入三种方式共用同一位姿状态。
- 支持把已导出的位姿 JSON 再导入当前项目,恢复 activePose、保存位姿列表并继续驱动三维融合视图、右侧映射视图和分割导出。
- 保持医疗影像工具栏界面紧凑、可读、可控。
## 输入与输出
- 输入:
- 用户在模型位姿数值框中输入旋转、平移、缩放数值。
- 用户选择位姿 JSON 文件导入。
- 输出:
- 当前 `modelPose` 实时更新。
- 可选保存位姿列表 `modelPoses` 更新并写入后端。
- 右侧逆向分割映射视图和 NIfTI 分割导出继续使用当前位姿。
## 影响范围
- `WebSite/src/components/ReverseWorkspace.tsx`
- `工程分析/经验记录.md`
- 本次需求、实现、测试文档。
## 关键约束
- 位姿输入需要沿用现有 `poseStepConfig` 的最小值、最大值和精度。
- 导入格式必须兼容当前导出的 `pose-data.json`,尤其是 `activePose``modelPoses`
- 导入失败需要给出明确错误,不破坏当前位姿。
- 用户导入保存位姿列表后,要继续通过 `PATCH /model-poses` 持久化。
## 风险点
- 数字输入的中间态可能为空或非法,需要避免把 `NaN` 写入位姿状态。
- 导入的 JSON 可能包含不完整或越界数值,需要归一化和 clamp。
- 默认位姿不能丢失;导入外部 `modelPoses` 时应保留或补齐默认/俯视/侧视。
## 默认假设
- 导入位姿数据优先读取导出 JSON 中的 `activePose`;如果没有,则读取第一个可用的 `modelPoses[0].pose` 或对象自身作为单个位姿。
- 如果导入文件包含 `modelPoses`,则将其作为保存位姿列表导入并持久化。
- 如果只导入单个位姿,则仅更新当前位姿,不覆盖保存列表。