Files
REVOXELSEG_DICOM/工程分析/需求分析-2026-06-23-13-38-48.md

56 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求分析-2026-06-23-13-38-48
## 开始时间
2026-06-23-13-38-48
## 原始需求摘要
用户指出“逆向工作区”现有 `X拉伸``Y拉伸``Z拉伸` 都是等比例拉伸,希望新增一种可直接沿某一个轴拉伸模型的方式。该方式仍要求旋转 X/Y/Z 为 0 或 90 度整数倍,并且拉伸某轴时对应的平移 X/Y/Z 为 0后续缩放、自动微调匹配工作区都应使用新拉伸后的模型。
## 业务目标
- 在保留现有等比例自动拉伸的基础上,新增单轴非等比例拉伸能力。
- 单轴拉伸后的模型位姿要成为统一数据源,后续缩放、保存、导出、逆向分割映射和自动微调匹配都沿用该位姿。
- 保持旧项目和旧位姿数据兼容,旧数据没有单轴拉伸字段时按 `1` 处理。
## 输入与输出
- 输入:当前 `WebSite/src/components/ReverseWorkspace.tsx` 的拉伸交互、`ModelPose` 类型、`server.ts` 位姿归一化/导出/自动匹配逻辑、项目库预览逻辑。
- 输出:新增轴向拉伸系数、逆向工作区单轴拉伸按钮和状态反馈、前后端统一识别并应用单轴拉伸后的位姿。
## 影响范围
- 前端类型与组件:
- `WebSite/src/types.ts`
- `WebSite/src/components/ReverseWorkspace.tsx`
- `WebSite/src/components/AutoMatchWorkspace.tsx`
- `WebSite/src/components/ProjectLibrary.tsx`
- 后端:
- `WebSite/server.ts`
- 工程文档:
- 本次需求分析、实现方案、测试方案
- `工程分析/经验记录.md`
## 关键约束
- 必须按 `工程分析/代码编纂工作流.md` 执行。
- 单轴拉伸启用条件:
- 旋转 X/Y/Z 均为 0 或 90 度整数倍。
- 拉伸 X/Y/Z 时,对应平移 X/Y/Z 为 0。
- 新增字段必须向后兼容,不破坏已有项目状态、位姿 JSON、自动匹配结果和导出包。
- 自动匹配可继续只微调平移与统一缩放,但评分和结果展示必须基于单轴拉伸后的模型。
## 风险点
- 前端三维视图和二维映射如果使用不同变换顺序,会导致所见与导出/自动匹配不一致。
- 后端导出和自动匹配若未同步新增轴向拉伸字段,会出现页面正确但结果错误。
- 旧保存位姿缺少新字段时,如果归一化不完整,可能导致 `NaN` 或类型检查失败。
- 单轴拉伸按钮过多可能挤压现有工具栏,需要保持紧凑可读。
## 待确认问题或默认假设
- 默认将新增单轴拉伸理解为 DICOM/融合视图坐标系下的 X/Y/Z 非等比例拉伸。
- 默认保留现有 `X拉伸/Y拉伸/Z拉伸` 等比例行为,并新增另一组 `X轴/Y轴/Z轴` 单轴拉伸按钮。
- 默认单轴拉伸会把对应平移自动归零,而不是仅提示用户手动归零。