nikolareljin/scancontext

GitHub: nikolareljin/scancontext

这是一款注重隐私的本地化医学影像与报告查看及辅助分析工具。

Stars: 0 | Forks: 0

# 扫描上下文 **本地优先的医学影像查看器、报告组织器和AI辅助标注工具。** 完全在您自己的计算机上运行——无论是Windows、macOS还是Linux。 **快速链接:** [⬇️ 下载](https://github.com/nikolareljin/scancontext/releases/latest) · [🎬 查看演示](#-see-scancontext-in-action) · [🐳 Docker Desktop](https://www.docker.com/products/docker-desktop/) · [🐞 报告问题](https://github.com/nikolareljin/scancontext/issues) · [☕ 捐赠](https://ko-fi.com/nikolareljin) ### 步骤 1 — 安装 Docker Desktop(免费,一次性) ScanContext 在 Docker 中运行。请为您的系统安装 Docker Desktop: **** - Windows: - macOS: - Linux: ### 步骤 2 — 选择如何运行 ScanContext 所有下载项都在 **[发布页面](https://github.com/nikolareljin/scancontext/releases/latest)** 上。 #### 选项 A — ScanContext 应用程序(推荐,最简单) 一个小型桌面应用程序,可一键为您启动和停止 ScanContext——无需脚本,无需管理文件。下载适用于您系统的安装程序: | 系统 | 下载文件 | 安装方式 | |---------|----------|----------| | Windows | `ScanContext__x64-setup.exe` | 双击运行,按照安装程序提示操作 | | macOS | `ScanContext__.dmg` | 打开 `.dmg` 文件,将 **ScanContext** 拖到应用程序文件夹 | | Linux | `ScanContext__amd64.AppImage` | 对文件运行 `chmod +x`,然后双击——或安装 `.deb` / `.rpm` 包 | 然后像打开其他任何应用程序一样打开 **ScanContext**。它会检查 Docker,首次运行时下载应用程序,然后启动它。当准备就绪后,点击 **打开 ScanContext** 在浏览器中启动它。您可以使用窗口——或系统托盘/菜单栏图标——随时 **启动**、**停止** 和 **打开** ScanContext。 #### 选项 B — 下载包(`.zip`) 如果您不想安装应用程序,可以下载软件包并双击启动文件: 1. 从[发布页面](https://github.com/nikolareljin/scancontext/releases/latest)下载 `ScanContext-.zip` 并解压到任意位置(桌面、文档...)。 2. 打开解压后的文件夹并启动它: | 系统 | 操作方式 | |---------|----------| | Windows | 双击 **`Start ScanContext.bat`** | | macOS | 双击 **`Start ScanContext.command`** | | Linux | 在文件夹中运行 `sh ./start.sh` | 首次启动会下载应用程序(需要几分钟)。准备就绪后,您的浏览器将打开 **ScanContext**,并开始简短的引导向导。您可以随时通过 **"?"** 按钮重新打开帮助。 ### 停止运行 - **应用程序(选项 A):** 在窗口中或系统托盘/菜单栏图标上点击 **停止**。 - **软件包(选项 B):** 双击 **`Stop ScanContext.bat`**(Windows)或运行 `sh ./stop.sh`(macOS / Linux)。 您的检查数据和数据在每次运行之间都会保留。 ## 系统要求 - **Windows 10/11**、**macOS 12+** 或现代 **Linux** 桌面环境。 - 已安装并运行 **Docker Desktop**。 - 约 4 GB 可用磁盘空间用于应用程序镜像,外加存放您检查数据的空间。 - 现代浏览器(Chrome、Edge、Firefox 或 Safari)。 ## 功能介绍 - 导入 DICOM 检查、图像、ZIP、PDF 和文本报告。 - 在网页查看器中查看图像和 DICOM;绘制并保存标注。 - 提取并(可选地)将非英语报告翻译为英语。 - 可选地使用 AI 总结报告并建议需要仔细检查的区域——明确标注为“候选发现,非诊断”。 - 导出一份对医生友好的摘要,以便在就诊时分享。 **您的数据始终保存在您的机器上。** 除非您在设置中明确启用云 AI 提供商,否则不会上传任何内容。AI **默认关闭**。 ## 🎬 查看 ScanContext 演示 以下所有内容均来自内置的 **演示检查**——一个完全虚构的胸部 CT 扫描,包含虚构的患者详情。任何地方均未显示真实的医疗数据。 ▶️ **[观看完整演示(约60秒)](docs/showcase/video/walkthrough.webm)** ### 首次运行 — 引导向导 新用户在首次打开 ScanContext 时会收到一个简短的引导向导。 ![首次运行引导向导](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/37b023f24f092023.png) ### 一目了然查看您的检查 仪表板列出了您导入的每项检查,显示导入状态和当前活动的 AI 提供商。 ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c2a6a52b6c092024.png) ### 查看图像 打开一项检查,在内置查看器中滚动切片、缩放以及调整窗宽/窗位。 ![图像查看器](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/e68e6e12e9092025.png) ### 标注发现 您可以自己标记区域,或接受 AI 建议的候选区域。已确认的标记显示为实心蓝色;等待您审核的 AI 建议显示为点状琥珀色。 ![标注覆盖在切片上](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6757e23d02092027.png) ![标注列表](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/75b93aacdc092028.png) ### 阅读和翻译报告 导入的报告按原样显示,并提供可选的英语翻译和 AI 摘要。 ![原始报告](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/3692d547d7092029.png) ### 可选的 AI 审阅 启用 AI 提供商并让 ScanContext 分析一项检查——它会选择最相关的切片并建议值得仔细查看的区域,始终标注为“候选发现,非诊断”。 ![AI 审阅](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2caec45a5e092029.png) ### 导出以与医生共享 将检查导出为对医生友好的 ZIP 文件——包含可读报告和标记的图像。勾选 **匿名化** 可在文件离开您的机器之前剥离患者姓名、机构和日期。 ![带匿名化导出](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8859ce84f5092030.png) ### 随时获取帮助 内置的帮助抽屉包含指南、常见问题解答、安全摘要以及重放引导向导的按钮。 ![帮助抽屉](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/afb9eae8c8092031.png) ## 可选 — 连接 AI 提供商 AI **默认关闭**,完全是可选的——ScanContext 在不使用 AI 的情况下功能完全正常。启用后,它可以总结报告、翻译非英语报告,并建议图像中值得仔细检查的区域——始终标注为“候选发现,非诊断”。 您可以使用以下任何提供商: | 提供商 | 获取密钥/安装 | 备注 | |--------|---------------|------| | **Google Gemini** | | 推荐——有免费层可试用,付费层用于实际使用 | | Anthropic Claude | | 付费 API | | OpenAI | | 付费 API | | Ollama | | 完全本地——无需密钥,任何内容都不会离开您的计算机 | 当云提供商启用时,**您所选择检查** 的图像/报告数据可能会被发送到该提供商——ScanContext 会先剥离患者标识符。Ollama 将所有内容保留在您的机器上。 ### 设置 Google Gemini(推荐) **1. 获取 API 密钥。** 打开 ,使用 Google 帐户登录,点击 **创建 API 密钥**,然后复制它(它看起来像 `AIza…`)。请妥善保管——像对待密码一样对待它。 **2. 启用计费——对医疗隐私很重要。** 新密钥默认在免费层。打开该密钥的 Google Cloud 项目并启用计费(**付费层**): - 最全面的模型(`gemini-2.5-pro`)和可靠的速度需要付费层。 - 您可以在 Google Cloud 中设置**预算上限**,以避免意外费用。 **3. 在 ScanContext 中添加密钥(无需编辑文件)。** 打开 ScanContext,点击顶部栏中的 **设置** 链接,然后: - **AI 提供商**:选择 **Gemini** - 将您的 API 密钥粘贴到 **Gemini API 密钥** 框中(它在本地存储,从不完整显示——仅显示最后4个字符) - 将 **云 AI 已启用** 打开 - (推荐)保持 **AI 前匿名化** 开启 - 点击 **保存设置** 更改会**立即生效——无需重启**。设置页面也是您稍后切换提供商、更改模型或删除已保存密钥的地方。然后打开一项检查并使用 **分析检查**;您需要为每项检查确认使用云服务。
高级选项 — 在 .env 文件中设置密钥 对于无人值守/脚本化设置,可以将相同的值写入 `.env` 文件。编辑后,您必须**停止,然后重新启动** ScanContext 以便重新加载。 ``` AI_PROVIDER=gemini CLOUD_AI_ENABLED=true GEMINI_API_KEY=AIza...your-key... GEMINI_MODEL=gemini-2.5-flash ``` `.env` 文件位置: | ScanContext 安装方式 | `.env` 文件位置 | |----------------------|-----------------| | 下载包(`.zip`) | 在解压后的 `ScanContext-` 文件夹内 | | ScanContext 应用程序 — Windows | `%APPDATA%\com.nikolareljin.scancontext\.env` | | ScanContext 应用程序 — macOS | `~/Library/Application Support/com.nikolareljin.scancontext/.env` | | ScanContext 应用程序 — Linux | `~/.local/share/com.nikolareljin.scancontext/.env` | 如果两者都设置了,应用程序内的 **设置** 值优先。
### 选择哪个 Gemini 模型? | 您的需求… | 设置 `GEMINI_MODEL` 为 | |-----------|------------------------| | 经济、快速,适合日常使用 | `gemini-2.5-flash`(默认) | | 最全面的分析 | `gemini-2.5-pro` | ### 费用是多少? Gemini 按使用量收费,并且 ScanContext 仅在您要求它分析检查时才会调用它。每项检查的成本**在设计上是有上限的**——无论扫描有多少切片,ScanContext 最多审查大约十几个采样图像,因此大型扫描的成本与小型扫描相同。 | 模型 | 分析一次扫描/系列的成本 | |------|--------------------------| | `gemini-2.5-flash` | 约 **2–3 美分** | | `gemini-2.5-pro` | 约 **10–20 美分** | 即使大量使用——一个月内 100 次检查——使用 Flash 大约花费 **2–3 美元**,使用 Pro 大约花费 **10–20 美元**。总结或翻译文本报告的成本不到一美分。价格由 Google 制定;当前费率:。 ## 故障排除 - **“Docker 未安装”/“未运行”。** 安装 Docker Desktop,打开它,等待它显示 **“正在运行”**——然后再次启动 ScanContext。 - **应用程序提示缺少 Docker 但已安装(macOS)。** 确保 Docker Desktop 至少启动过一次;ScanContext 应用程序会在标准位置查找它。 - **端口已被占用。** 打包的应用程序使用您机器上的端口 `5173` 和 `8000`(Orthanc 在内部运行,不暴露)。如果 `5173` 被占用,请在 `.env` 文件中更改 `FRONTEND_PORT` 并重新启动。`8000` 内置于应用程序中且必须保持空闲——如果被占用,请释放它而不是更改 `BACKEND_PORT`。 - **首次启动缓慢。** 首次运行会下载应用程序镜像(需要几分钟)。后续启动会很快。 - **仍然无法解决?** 提交问题: ### Windows:Docker Desktop 无法启动(未检测到虚拟化) 如果 Docker Desktop 显示 *“无法启动,因为未检测到虚拟化支持”*,这是 Windows/PC 的设置问题。有两种独立的解决方法——大多数人只需要其中一种: **修复 A — 在 PC 的 BIOS/UEFI 中启用虚拟化。** 重新启动并按启动屏幕上显示的设置键(通常是 **Del**、**F2**、**F10** 或 **Esc**)。找到虚拟化设置——Intel:*Intel Virtualization Technology* / *VT-x*;AMD:*SVM Mode* / *AMD-V*(位于高级、CPU 配置或安全设置下)——将其设置为 **Enabled**(启用),保存并退出,然后重新打开 Docker Desktop。 **修复 B — 修复 Windows 功能和 WSL。** 1. 按 Windows 键,输入 `Windows features`,打开 **启用或关闭 Windows 功能**,**取消勾选 Hyper-V 和虚拟机平台**,点击确定并**重启**。 2. 打开 **Windows PowerShell**(搜索框 → 输入 `Windows PowerShell`)并运行 `wsl --update`。如果提示 WSL 未安装,请运行 `wsl --install`(右键 PowerShell → *以管理员身份运行*)并**重启**。 3. 打开 Docker Desktop 并点击 **重试**。 Docker 自身的指南: ## 💛 支持 ScanContext ScanContext 是**免费**的,由一位独立开发者构建。如果它为您节省了时间或减少了担忧,一次性 **10 美元的捐赠** 有助于保持其维护和改进——任何金额都有帮助: **☕ ** ## 隐私与安全 - ScanContext 不是诊断工具,也不能替代专业医疗建议。 - 医疗文件可能包含个人健康信息。请保管好您下载的文件夹和任何导出文件。 - 云 AI 是可选加入的。启用后,图像/报告数据可能会发送到您选择的提供商;ScanContext 会先剥离患者标识符。 - 该匿名化处理仅在您使用**付费**提供商套餐时才能提供真正的隐私保护。在 Google Gemini 的**免费层**,您的匿名数据仍可能被 Google 用于改进其模型——请使用**付费层**处理真正的医疗数据,或使用 **Ollama** 将所有内容保留在您自己的机器上。 由 **Nik Reljin** 构建和维护 · [GitHub](https://github.com/nikolareljin) · [LinkedIn](https://www.linkedin.com/in/nikolareljin)
标签:AI辅助, Docker, 免费软件, 医疗健康, 医疗图像, 医疗设备, 图像处理, 安全防御评估, 开源, 报告查看, 数据隐私, 本地优先, 标注工具, 桌面应用, 请求拦截