Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-20-02-02-37.md

2.4 KiB
Raw Blame History

实现方案-2026-05-20-02-02-37

实现方案文档路径

工程分析/实现方案-2026-05-20-02-02-37.md

修改目标

让“模型位姿”每一项都支持直接数字输入,并新增导入位姿数据功能,兼容当前导出的位姿 JSON导入后同步当前位姿和保存位姿列表。

涉及路径

  • WebSite/src/components/ReverseWorkspace.tsx
  • 工程分析/需求分析-2026-05-20-02-02-37.md
  • 工程分析/实现方案-2026-05-20-02-02-37.md
  • 工程分析/测试方案-2026-05-20-02-02-37.md
  • 工程分析/经验记录.md

技术路线

  1. 增加位姿归一化辅助函数:
    • 对每个位姿字段按 poseStepConfig 执行数字校验、clamp 和默认值补齐。
    • 对导入的保存位姿列表补齐默认/俯视/侧视,并去重。
  2. 模型位姿数值输入:
    • 将原只读数值改成 <input type="number">
    • 使用现有 step/min/max/precision。
    • 输入合法时立即更新 modelPose,继续触发三维与二维映射联动。
  3. 导入位姿数据:
    • 新增隐藏 file input 与“导入”按钮。
    • 读取 JSON兼容 { activePose, modelPoses }{ pose }、直接 pose 对象三种形式。
    • 导入 modelPoses 时调用现有 commitSavedPoses 持久化。
  4. 反馈与容错:
    • 导入成功设置提示;导入失败设置 fusionError
    • 清空 file input value允许重复导入同一文件。

执行步骤

  • 更新 ReverseWorkspace.tsx 的 import、ref、辅助函数和 handlers。
  • 调整模型位姿 UI将保存按钮组改为保存/导入两个操作。
  • 将数值展示替换为可编辑数字输入。
  • 运行 npm run lintnpm run build
  • 重新部署并验证服务。

兼容性与回滚方案

  • 旧滑条、加减按钮、保存位姿、重命名位姿逻辑继续保留。
  • 导入功能只读本地 JSON不改后端接口。
  • 如导入格式异常,只提示错误,不覆盖当前状态。

预计文件变更

  • ReverseWorkspace.tsx位姿数字输入、导入按钮、JSON 解析与归一化。
  • 工程分析文档:新增本次三份文档并追加经验记录。

提交与部署策略

  • Commit message2026-05-20-02-02-37 支持位姿输入与导入
  • 显式暂存本次相关文件,避免提交历史删除状态。
  • 推送到 Gitea origin/main 后,沿用 tmux 会话 revoxelseg-dicom 重新部署。