# annotation-manager2 **Repository Path**: freemanhe/annotation-manager2 ## Basic Information - **Project Name**: annotation-manager2 - **Description**: 标注系统开源代码仓库 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 44 - **Created**: 2026-05-22 - **Last Updated**: 2026-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PyImageManager 医学超声标注数据集的桌面管理工具。基于 **PySide6** 与 **SQLite**,用于在本地集中管理图像、浏览标注,并导出 JSON/CSV。当前为精简版:单仓库、无加密标注、无筛选面板,仅保留导入、列表浏览与导出等核心能力。 [English](README.en.md) ## 能做什么 | 功能 | 说明 | |------|------| | 数据集目录 | 指定本地根目录,自动维护 `annotations.db` | | 批量导入 | 从文件夹导入图像及标注(`annotations.json` / `annotations.csv`) | | 列表浏览 | 分页表格查看数据集中全部图像 | | 图像预览 | 叠加显示框/多边形标注,支持上一张/下一张 | | 属性编辑 | 右侧面板查看并修改切面类型、标准程度等字段 | | 导出标注 | 将**全部图像**导出为 `annotations.json` 或 `annotations.csv` | 精简版**不包含**:左侧筛选面板、加密标注(`.cjson`)、数据集更新/合并、COCO/VOC/YOLO 导出、统计页等。 ## 目录结构 ``` PyImageManager/ ├── ImageManager.py # 程序入口 ├── requirements.txt # Python 依赖 ├── LICENSE # MIT 许可证 ├── config.json # 本地配置(首次设置目录后自动生成,勿提交) ├── db/ │ ├── db.py # SQLite 访问 │ └── config.py # 切面类型、标准程度枚举 ├── iomodule/ │ ├── annotation_io.py # 标注文件解析(JSON / CSV) │ ├── dataset_importer.py # 导入 │ ├── dataset_exporter.py # 导出 │ └── imageio.py # 图像文件读取 ├── ui/ # Qt 界面 └── render/ └── baserenderwidget.py # 标注叠加绘制 ``` ## 环境要求 - Python 3.8 及以上 - Windows / macOS / Linux(图形界面需支持 Qt) ## 安装与运行 解压压缩包后,在项目根目录执行: ```bash pip install -r requirements.txt python ImageManager.py ``` 首次启动:**Settings → Dataset directory**,选择数据集根目录。路径会写入根目录下的 `config.json`。 ## 使用流程 1. **设置目录**:Settings → Dataset directory 2. **导入数据**:File → Import,选择含图像和 `annotations.json` 或 `annotations.csv` 的文件夹 3. **浏览列表**:中央 Image list 分页查看全部记录 4. **查看图像**:双击列表行,切换到 Image view 预览 5. **导出**:Tools → Generate json / Generate csv(导出数据库中的全部图像) ### 菜单说明 | 菜单 | 项 | 作用 | |------|-----|------| | File | Import | 批量导入文件夹 | | Tools | Generate json | 在数据集目录生成 `annotations.json` | | Tools | Generate csv | 在数据集目录生成 `annotations.csv` | | Settings | Dataset directory | 设置/更改数据集根目录 | | View | Right dock | 显示或隐藏右侧属性面板 | ## 数据说明 ### 数据集目录 选定目录后会出现: - `annotations.db` — 图像元数据与标注的 SQLite 数据库 - 按切面类型分子目录存放的图像文件(导入时自动归类) ### 支持的标注文件 | 格式 | 说明 | |------|------| | `annotations.json` | 标准 JSON 标注 | | `annotations.csv` | CSV 标注(以框为主) | 目录中也可放置 `gt_annotations.json`(优先于 `annotations.json` 被读取)。不支持 `.cjson` 加密文件。 导入失败或类型不合法时,可能在源目录生成 `error_annotations.json`、`inconsistent.csv`。 ### 切面类型配置 `db/config.py` 中定义了产科/妇科/甲状腺等切面类型及别名。**新增类型请在该文件对应分组的末尾追加**,避免已有记录的 `image_type` ID 错位。 ## 依赖 ``` PySide6 opencv-python numpy loguru orjson ``` 详见 [requirements.txt](requirements.txt)。 ## 常见问题 **Q:`config.json` 是什么?** 记录上次使用的数据集路径,仅本机使用,可手动删除后重新在界面中设置目录。 **Q:导出包含哪些图像?** 导出数据库中的全部记录(无筛选条件)。 ## 开源许可 本项目采用 [MIT License](LICENSE) 发布。 你可以自由使用、修改和分发本软件(包括商业用途),但需满足: - 在副本或衍生作品中保留版权声明与许可全文; - 软件按「原样」提供,作者不承担任何明示或暗示的担保责任。 ## 作者 Hongyang Zhao — [hyzhao@hnu.edu.cn](mailto:hyzhao@hnu.edu.cn)