Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-25-00-07-30.md

65 lines
2.5 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-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`
- 验证本机和公网入口。