2026-05-25-00-07-30 优化自动匹配对比视图与采样设置
This commit is contained in:
64
工程分析/实现方案-2026-05-25-00-07-30.md
Normal file
64
工程分析/实现方案-2026-05-25-00-07-30.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# 实现方案-2026-05-25-00-07-30
|
||||
|
||||
## 实现方案文档路径
|
||||
|
||||
`工程分析/实现方案-2026-05-25-00-07-30.md`
|
||||
|
||||
## 修改目标
|
||||
|
||||
- 移除自动匹配页候选轨迹表格和低价值统计卡片。
|
||||
- 在“匹配结果”下方新增双栏 DICOM/STL 映射对比视图。
|
||||
- 同一个切片滑条同时控制两个视图。
|
||||
- 显示模式支持“所选骨骼区域”和“得分可视化”。
|
||||
- 骨骼区域默认空选。
|
||||
- 采样切片改为数量输入,按数量均匀筛选。
|
||||
- 调整默认权重:非骨区域惩罚 0.1、移动惩罚 0、缩放惩罚 0。
|
||||
- 为大 STL preview JSON 响应增加 gzip 发送,缓解 HTTP/2 大响应错误。
|
||||
|
||||
## 涉及路径
|
||||
|
||||
- `WebSite/src/components/AutoMatchWorkspace.tsx`
|
||||
- `WebSite/src/components/ReverseWorkspace.tsx`
|
||||
- `WebSite/server.ts`
|
||||
- `WebSite/src/types.ts`
|
||||
- `Docker部署/README.md`
|
||||
- `工程分析/经验记录.md`
|
||||
|
||||
## 技术路线
|
||||
|
||||
- 从 `ReverseWorkspace.tsx` 导出 `VoxelizationMappingView`,在自动匹配页复用。
|
||||
- 自动匹配页维护 `previewSlice` 和 `mappingMode` 状态,双视图传入同一个切片。
|
||||
- 为对比视图构造仅包含选中骨骼构件的 `moduleStyles`。
|
||||
- 采样切片数量通过 `buildUniformSampleSlices(total, count)` 生成 0-based 数组。
|
||||
- 自动匹配页不再显示候选轨迹表,保留关键位姿差值和操作按钮。
|
||||
- 后端新增 JSON gzip helper,`/models/:fileName/preview` 使用该 helper 返回大 preview。
|
||||
|
||||
## 执行步骤
|
||||
|
||||
1. 查看 `VoxelizationMappingView` 当前导出和 props。
|
||||
2. 修改自动匹配页面布局、状态和默认值。
|
||||
3. 修改采样切片生成逻辑与接口入参。
|
||||
4. 修改 STL preview 路由的大 JSON 发送方式。
|
||||
5. 执行 `npm run lint`、`npm run build`。
|
||||
6. 重启服务并验证健康检查与 preview 请求。
|
||||
7. 提交并推送 Gitea。
|
||||
|
||||
## 兼容性与回滚方案
|
||||
|
||||
- 自动匹配接口保留原 `sampleSlices` 字段,前端只是从数量生成。
|
||||
- 预览 gzip helper 只在客户端声明支持 gzip 时启用,不支持时仍走普通 JSON。
|
||||
- 若双视图性能不理想,可降低显示级别或只在有选中骨骼时加载。
|
||||
|
||||
## 预计文件变更
|
||||
|
||||
- 2 个前端组件。
|
||||
- 1 个后端服务文件。
|
||||
- 1 个类型文件。
|
||||
- 1 个 Docker 说明。
|
||||
- 工程分析三件套和经验记录。
|
||||
|
||||
## 提交与部署策略
|
||||
|
||||
- Commit message 使用 `2026-05-25-00-07-30 优化自动匹配对比视图与采样设置`。
|
||||
- 构建通过后重启 `tmux` 会话 `revoxelseg-dicom`。
|
||||
- 验证本机和公网入口。
|
||||
Reference in New Issue
Block a user