返回顶部
m

microscopy-scale-bar-adder显微标尺添加

Add accurate, publication-ready scale bars to microscopy images given pixel-to-unit calibration data.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
84
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

microscopy-scale-bar-adder

显微镜比例尺添加工具

使用Pillow图像处理库,为显微镜图像添加精确的比例尺,生成可直接用于发表的图像。

⚠️ 优化候选版本 — 需重新评估
原始脚本仅为存根,未实际修改图像。此优化版本记录了完整的基于Pillow的实现,添加了所有缺失的CLI参数,并实施了路径遍历保护。

适用场景

  • - 为荧光、明场或电子显微镜图像添加比例尺
  • 准备用于期刊投稿的显微镜图像
  • 批量处理图像集,保持比例尺样式一致
  • 根据已知校准数据验证比例尺精度

工作流程

  1. 1. 在执行详细工作前,确认用户目标、所需输入和不可协商的约束条件。
  2. 验证请求是否在文档规定的范围内,如果任务需要不支持的假设条件,则提前终止。
  3. 仅使用实际可用的输入,使用打包脚本路径或文档化的推理路径。
  4. 返回结构化结果,区分假设、交付物、风险和未解决项。
  5. 如果执行失败或输入不完整,切换到备用路径并明确说明阻止完整完成的原因。

使用方法

text

为TIFF图像添加50微米比例尺


python scripts/main.py --image image.tif --scale 50 --unit um

指定输出路径和比例尺位置

python scripts/main.py --image image.tif --scale 10 --unit um --output annotated.tif --position bottomright

自定义比例尺和标签颜色

python scripts/main.py --image image.tif --scale 100 --unit nm --bar-color white --label-color white --bar-thickness 4

参数说明

参数类型必需默认值描述
--image路径-输入图像文件路径
--scale
浮点数 | 是 | - | 比例尺的物理单位长度 | | --unit | 字符串 | 否 | um | 单位:um、nm、mm | | --pixels-per-unit | 浮点数 | 否 | 来自TIFF元数据 | 校准覆盖值(每单位像素数) | | --output | 路径 | 否 | <输入文件名>_scalebar.<扩展名> | 输出文件路径 | | --position | 字符串 | 否 | bottomright | 比例尺位置:bottomright、bottomleft、topright、topleft | | --bar-color | 字符串 | 否 | white | 比例尺填充颜色 | | --label-color | 字符串 | 否 | white | 标签文字颜色 | | --bar-thickness | 整数 | 否 | 3 | 比例尺高度(像素) |

实现说明(供脚本开发者参考)

脚本必须使用PIL.Image、PIL.ImageDraw、PIL.ImageFont实现:

  1. 1. 路径验证 — 在打开任何文件前,拒绝包含../或工作区外绝对路径的路径。向stderr输出Error: Path traversal detected: {path}并以代码1退出。
  2. 打开图像 — PIL.Image.open(args.image)。如果文件缺失则抛出FileNotFoundError。
  3. 像素长度计算 — 从图像元数据(TIFF XResolution标签)获取每单位像素数,或要求用户提供--pixels-per-unit。比例尺像素长度 = scale * pixelsperunit。
  4. 绘制比例尺 — 使用PIL.ImageDraw.Draw(img)在指定位置绘制填充矩形,高度为--bar-thickness。
  5. 绘制标签 — 使用PIL.ImageFont在比例尺上方或下方渲染{scale} {unit}。
  6. 保存输出 — img.save(output_path)。将输出路径打印到stdout。

功能特点

  • - 根据校准元数据或用户提供的--pixels-per-unit自动计算比例尺像素长度
  • 支持常见显微镜格式:TIFF、PNG、JPG、BMP
  • 可配置比例尺大小、颜色和标签样式(--bar-color、--label-color、--bar-thickness)
  • 可配置位置:bottomright、bottomleft、topright、topleft
  • 保留原始图像分辨率和元数据
  • 路径遍历保护(拒绝../路径和工作区外的绝对路径)

快速检查

bash
python -m py_compile scripts/main.py
python scripts/main.py --help

输入验证

本技能接受:带有物理比例值和单位的显微镜图像文件(TIFF、PNG、JPG、BMP),用于添加比例尺标注。

如果请求不涉及为显微镜图像添加比例尺——例如要求分割细胞、进行图像分析或标注非显微镜图像——请勿继续。应回复:

microscopy-scale-bar-adder 旨在为显微镜图像添加校准比例尺。您的请求似乎超出了此范围。请提供带有比例校准数据的图像文件,或使用更适合您任务的工具。

错误处理

  • - 如果缺少--image或--scale,明确说明缺少哪些字段,并仅请求这些字段。
  • 如果图像文件路径包含../或指向工作区外,拒绝并输出:Error: Path traversal detected: {path}并以代码1退出。
  • 如果图像文件不存在,向stderr输出Error: File not found: {path}并以代码1退出。
  • 如果--position不是四个有效值之一,拒绝并列出有效选项的清晰错误信息。
  • 如果TIFF XResolution元数据缺失且未提供--pixels-per-unit,在继续前请求校准值。
  • 如果任务超出文档范围,停止执行,不要猜测或暗中扩大任务范围。
  • 如果scripts/main.py执行失败,报告失败点并总结仍可完成的内容。
  • 不要虚构比例值或校准数据。

备用模板

当执行失败或输入不完整时,使用以下结构回复:

备用报告
───────────────────────────────────────
目标 : [重述目标]
阻塞原因 : [确切缺失的输入或错误]
部分结果 : [无需缺失输入即可完成的内容]
下一步 : [解除阻塞所需的最小操作]
───────────────────────────────────────

回复模板

  1. 1. 目标
  2. 收到的输入
  3. 假设条件
  4. 工作流程
  5. 交付物
  6. 风险与限制
  7. 后续检查

前置条件

需要Pillow:pip install Pillow

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 microscopy-scale-bar-adder-1775989921 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 microscopy-scale-bar-adder-1775989921 技能

通过命令行安装

skillhub install microscopy-scale-bar-adder-1775989921

下载

⬇ 下载 microscopy-scale-bar-adder v1.0.0(免费)

文件大小: 5.78 KB | 发布时间: 2026-4-13 11:02

v1.0.0 最新 2026-4-13 11:02
Initial production release — now fully functional and ready for evaluation.

- Implements adding accurate, publication-quality scale bars to microscopy images using Pillow.
- Supports command-line interface with parameters for calibration, appearance, and output control.
- Enforces path traversal protection and robust error handling.
- Works with TIFF, PNG, JPG, and BMP images, extracting calibration from metadata or user input.
- Fallback and validation behaviors ensure clarity for unsupported or incomplete tasks.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部