diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 86cb569..0babd9a 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3180,7 +3180,7 @@ dependencies = [ [[package]] name = "spectral-insight-mission-plan" -version = "0.0.1" +version = "0.0.2" dependencies = [ "byteorder", "chrono", diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index b7c8711..5265a66 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -38,7 +38,8 @@ "icons/icon.ico" ], "resources": [ - "../update.md" + "../update.md", + "../说明书.md" ], "windows": { "nsis": { diff --git a/说明书.md b/说明书.md new file mode 100644 index 0000000..266e6cb --- /dev/null +++ b/说明书.md @@ -0,0 +1,181 @@ +# Spectral Insight Mission Plan - 用户说明书 + +## 概述 + +Spectral Insight Mission Plan 是一款设备自动采集任务规划软件,用于生成和管理多光谱/高光谱设备的采集任务计划。 + +软件支持四种设备类型:**Pika L**(高光谱 400-1000nm)、**Pika NIR**(高光谱 1000-1700nm)、**单反相机**、**深度相机**。 + +--- + +## 快速开始 + +### 新建任务计划 +1. 启动软件,点击「新建任务计划」 +2. 点击「添加任务」创建一个新的采集任务 +3. 填写任务信息:数据保存路径、计划执行时间、卤素灯预热时间 +4. 点击「添加子任务」选择设备类型(Pika L / Pika NIR / 单反 / 深度) +5. 填写子任务的设备参数(曝光时间、帧率、采集间隔等) +6. 为每个子任务生成或选择航线文件 +7. 点击「保存」保存任务计划到 JSON 文件 + +### 打开已有任务 +1. 启动软件,点击「打开已有文件」 +2. 选择之前保存的 `.json` 任务文件 + +--- + +## 主界面说明 + +软件界面为单栏布局,从上到下依次为: + +### 工具栏 +- **返回**:回到首页 +- **保存**:保存当前任务计划 +- **计算**:自动计算各任务的开始/结束时间 +- **校验**:检查任务计划是否有错误或警告 +- **查看路径**:打开一个 `.RecordLine3` 文件查看路径详情 + +### 任务计划信息 +显示当前任务数量、文件路径,并提供「添加任务」按钮。 + +### 扫描区域配置(可折叠) +设置采集区域的 XY 坐标范围(单位:cm),以及画布背景参考图。 + +### 任务列表(树形展开) +每个 Task 可展开/收起,包含: +- **数据保存路径**:采集数据存储目录 +- **计划时间**:任务执行时间 +- **卤素灯预热**:高光谱任务的卤素灯预热时间 + +### 子任务列表(树形展开) +每个 SubTask 可展开/收起,包含设备参数: +- **Pika L / Pika NIR**:曝光时间(ms)、帧率(fps) +- **单反 / 深度相机**:采集间隔(s) +- **航线文件路径**:关联的路径文件(`.RecordLine3`) + +### 校验结果(自动折叠) +校验后显示错误和警告信息。 + +--- + +## 任务管理 + +### 添加任务 +点击「添加任务」按钮,自动生成新任务,ID 自动递增。 + +### 复制任务 +点击任务标题右侧的「复制」按钮,复制当前任务及其所有子任务。复制后的任务时间重置为默认值。 + +### 删除任务 +点击任务标题右侧的「删除」按钮,确认后删除。 + +### 添加子任务 +在任务内点击「添加子任务」,弹出设备类型选择窗口。已添加的设备类型不可重复添加。 + +### 删除子任务 +点击子任务标题右侧的「删除」按钮,确认后删除。 + +### 顺序约束 +- 高光谱子任务(Pika L / Pika NIR)必须排在单反和深度相机之前 +- 每个任务必须至少包含一个高光谱子任务 + +--- + +## 扫描区域配置 + +在「扫描区域配置」中设置 XY 坐标范围(单位:cm): +- **X min / X max**:X 轴扫描范围 +- **Y min / Y max**:Y 轴扫描范围 + +这些配置会被路径规划器使用,作为绘制矩形框的默认区域。 + +### 背景参考图 +点击「浏览」选择一张图片作为画布底图(如地图、现场照片等),辅助绘制扫描区域。点击「清除」移除背景图。 + +--- + +## 路径规划 + +路径规划器用于在画布上绘制扫描区域并生成航线文件。 + +### 进入路径规划 +在子任务的航线文件行点击「生成航线」按钮。 + +### 画框 +1. 点击工具栏「画框」按钮(变黄色表示进入画框模式) +2. 在画布上按住鼠标拖拽,绘制一个矩形扫描区域 +3. 松开鼠标,框自动添加到列表中 +4. 可重复画多个框,每个框用不同颜色标识 +5. 点击「完成画框」退出画框模式 +6. 点击「清除」移除所有框 + +### 生成航线 +1. 设置相机参数:FOV(视场角)、安装高度、覆盖率 +2. 设置速度参数:Y 轴定位速度、X 轴扫描速度、X 轴回起点速度 +3. 选择扫描模式:蛇形来回(Zigzag)或单向回起点(OneWay) +4. 点击「生成航线」,系统根据所有矩形框生成路径 +5. 点击「保存路径」,选择保存位置,生成 `.RecordLine3` 文件 +6. 路径文件路径自动填入子任务 + +### 设备默认 FOV +从子任务进入路径规划时,FOV 自动按设备类型设为默认值: + +| 设备 | FOV | +|------|-----| +| Pika L | 17.6° | +| Pika NIR | 21.7° | +| 单反 | 74° | +| 深度 | 90° | + +--- + +## 路径查看 + +### 从工具栏查看 +点击「查看路径」按钮,选择 `.RecordLine3` 文件,弹窗显示路径详情: +- **左侧**:统计信息 + 数据表格(显示每条路径记录的 6 个参数) +- **右侧**:画布预览(含背景图、扫描区域虚线框、路径扫描线和箭头方向) + +### 从子任务查看 +子任务的航线文件路径不为空时,「查看」按钮可用,点击直接打开该路径文件查看。 + +--- + +## 文件格式 + +### 任务文件(JSON) +保存整个任务计划的 JSON 文件,包含所有 Task、SubTask、扫描配置、背景图路径等信息。 + +### 航线文件(.RecordLine3) +二进制格式文件,结构如下: +- 前 8 字节(1 个 double):表示后面有多少个 double +- 后续每 48 字节(6 个 double)为一条路径记录: + - `targetYPosition`:目标 Y 位置 + - `speedTargetYPosition`:到目标 Y 位置的速度 + - `targetXMinPosition`:X 开始位置 + - `speedTargetXMinPosition`:到 X 开始位置的速度 + - `targetXMaxPosition`:X 结束位置 + - `speedTargetXMaxPosition`:到 X 结束位置的速度 + +### 默认配置文件(JSON) +程序运行目录下自动生成: +- `scan_defaults.json`:扫描区域 XY 默认值 +- `planner_defaults.json`:路径规划器参数默认值(FOV、速度、模式等) +- `background_default.txt`:背景图路径 + +--- + +## 快捷键 + +| 快捷键 | 功能 | +|--------|------| +| F12 | 打开/关闭开发者工具(DevTools) | + +--- + +## 版本信息 + +当前版本:v0.0.2 + +查看 `update.md` 获取完整更新日志。