65 lines
2.5 KiB
Markdown
65 lines
2.5 KiB
Markdown
# 实现方案-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`。
|
||
- 验证本机和公网入口。
|