2.2 KiB
2.2 KiB
需求分析-2026-05-20-02-32-47
开始时间
2026-05-20-02-32-47
原始需求摘要
用户要求优化“导出全部 NII.GZ”:
- 选择导出全部时,改为压缩包形式一次导出。
- 如果选择分割影像,需要同时导出不同类别 ID 与名称/类别名对应的 JSON 文件。
- 分割影像导出范围可选择“所有类别”或“可见类别”。
业务目标
- 避免多文件连续触发下载,形成一个可归档、可转移的导出包。
- 让分割影像与类别语义元数据成对导出,便于 ITK-SNAP 查看后再对照系统内 STL 构件层级。
- 保留“只导出当前可见构件”的轻量检查场景,同时支持“导出全部构件”的完整交付场景。
输入与输出
- 输入:
- 导出内容选择:DICOM 原始影像、分割影像、位姿数据。
- 分割类别范围:所有类别或可见类别。
- 当前模型位姿。
- 输出:
- 一个
.tar.gz导出包。 - 包内按选择包含 DICOM NIfTI、分割 NIfTI、位姿 JSON。
- 若包含分割影像,同时包含类别映射 JSON。
- 一个
影响范围
WebSite/server.tsWebSite/src/lib/api.tsWebSite/src/components/ReverseWorkspace.tsx- 本次工程分析文档和经验记录。
关键约束
- NIfTI 导出仍必须使用真实 DICOM 维度、spacing 和当前模型位姿。
- 分割类别范围不能影响 DICOM 原始影像和位姿数据导出。
- 类别 JSON 必须与实际导出的分割标签值一致。
- 前端仍使用后端直链下载,避免重新引入 blob URL。
风险点
- DICOM NIfTI 和分割 NIfTI 都可能较大,包生成会有一定耗时。
- 当前项目已有 tar.gz 归档工具,若强行实现 zip 可能引入额外复杂度;本轮默认使用
.tar.gz压缩包。 - “可见类别”需要读取项目持久化的
moduleStyles.visible,不能只看前端临时状态。
默认假设
- “压缩包形式”按项目现有归档方式实现为
.tar.gz。 - 顶部“导出全部 NII.GZ”使用压缩包;右侧单独 NII/NII.GZ 导出按钮继续导出单个分割 NIfTI。
- 分割类别范围默认为“可见类别”,符合当前右侧映射视图的显示语义。