Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-24-10-45-43.md

3.0 KiB
Raw Blame History

实现方案-2026-05-24-10-45-43

实现方案文档路径

工程分析/实现方案-2026-05-24-10-45-43.md

修改目标

  • 定位并修正分割映射显示为空心线段的问题,使二维映射区域默认填充显示。
  • 为模型位姿增加 X/Y/Z 镜像翻转开关,并贯通保存、导入、导出、前后端类型和渲染。
  • 修改“构件分别导出”包结构,将所有构件文件集中到同一目录层级。
  • 为项目库 DICOM 首页预览增加滚轮缩放、拖拽平移和位置重置。
  • 修正 DICOM 切片编号显示与滑块样式。
  • 同步更新 Docker部署/README.md,说明容器构建会包含这些前后端能力和生产模式注意事项。

涉及路径

  • WebSite/src/components/ProjectLibrary.tsx
  • WebSite/src/components/ReverseWorkspace.tsx
  • WebSite/src/types.ts
  • WebSite/server.ts
  • Docker部署/README.md
  • 工程分析/需求分析-2026-05-24-10-45-43.md
  • 工程分析/实现方案-2026-05-24-10-45-43.md
  • 工程分析/测试方案-2026-05-24-10-45-43.md
  • 工程分析/经验记录.md

技术路线

  1. 使用 rg 定位分割映射、DICOM 预览、位姿控件、导出包逻辑。
  2. 梳理现有 ModelPoseValue 与服务端导出函数,增加镜像字段和默认值。
  3. 在前端三维/二维变换路径中使用统一位姿对象,新增镜像按钮组。
  4. 调整二维分割映射绘制逻辑,优先使用闭合轮廓填充;对 sparse/edge-only 结果提供填充兜底。
  5. 修改导出包 separate 模式的目录结构。
  6. 为项目库 DICOM 画布加入 viewport statescale、offset、dragging、reset。
  7. 封装或局部实现 DICOM 切片显示编号反向映射与暗色菱形 range 样式。
  8. 更新 Docker 部署说明。

执行步骤

  1. 创建本次三件套,最终执行前再次阅读 经验记录.md
  2. 阅读相关源码和 API确认现有数据结构。
  3. 修改类型、服务端和前端实现。
  4. 更新 Docker 部署文档。
  5. 执行 npm run lintnpm run build
  6. 重新部署并验证本机、公网、关键 API。
  7. 追加经验记录。
  8. 提交并推送 Gitea。

兼容性与回滚方案

  • 新增镜像字段设置默认值,旧状态文件和旧位姿导出没有该字段时按不翻转处理。
  • 导出包结构改变只影响 separate 模式;如需回滚,可恢复服务端包路径生成逻辑。
  • DICOM 显示缩放/拖动仅改变前端视图,不改变后端切片、导出或空间基准。
  • 所有历史文档可从 Git 历史恢复。

预计文件变更

  • 前端组件和类型文件。
  • 后端导出、位姿解析和体素坐标变换逻辑。
  • Docker 部署说明。
  • 本次工程分析与经验记录。

提交与部署策略

  • commit message2026-05-24-10-45-43 修正分割显示镜像导出与DICOM交互
  • 提交范围包含本次源码、Docker 文档和工程分析文档。
  • 部署使用 NODE_ENV=production npm run serve -- --host 0.0.0.0 --port 4000,并保留现有 frpc 容器公网入口。