关于 omero-integration
omero-integration 是面向 OMERO 用户的技能,介绍如何通过 Python API 管理显微镜图像与元数据。内容涵盖数据检索、图像分析、ROI 管理及批处理脚本。
主要功能
- 01管理连接与会话
- 02检索项目、数据集和图像
- 03分析像素并渲染图像
- 04创建 ROI 并提取测量值
- 05管理注释和表格数据
- 06编写批处理脚本
适用场景
- 01按数据集检索图像并分析像素
- 02在 ROI 区域测量强度并保存结果
- 03批量处理图像并生成输出
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ crazymsn/ academic-skills --skill omero-integration安装后在 Claude Code 中输入/omero-integration确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/advanced.mdconnection.mddata_access.mdimage_processing.mdmetadata.mdrois.mdscripts.mdtables.md详细介绍
OMERO 集成
概述
OMERO 是一个开源平台,用于管理、可视化和分析显微图像及元数据。通过 Python API 访问图像、获取数据集、分析像素、管理 ROI 和注释,适用于高内涵筛选和显微成像工作流。
何时使用此技能
在以下情况下应使用此技能:
- 使用 OMERO Python API(omero-py)访问显微数据
- 以编程方式获取图像、数据集、项目或筛选数据
- 分析像素数据并创建衍生图像
- 在显微图像上创建或管理 ROI(感兴趣区域)
- 为 OMERO 对象添加注释、标签或元数据
- 在 OMERO 表格中存储测量结果
- 创建用于批处理的服务端脚本
- 执行高内涵筛选分析
核心功能
此技能涵盖八大功能领域。每个领域都在 references/ 目录中有详细说明:
1. 连接与会话管理
文件:references/connection.md
与 OMERO 服务建立安全连接、管理会话、处理身份验证,以及使用组上下文。适用于初始设置和连接模式。
常见场景:
- 使用凭据连接到 OMERO 服务
- 使用现有会话 ID
- 在不同组上下文之间切换
- 使用上下文管理器管理连接生命周期
2. 数据访问与获取
文件:references/data_access.md
浏览 OMERO 的分层数据结构(项目 → 数据集 → 图像)和筛选数据(筛选 → 平板 → 孔)。获取对象、按属性查询并访问元数据。
常见场景:
- 列出某个用户的所有项目和数据集
- 按 ID 或数据集获取图像
- 访问筛选平板数据
- 使用筛选条件查询对象
3. 元数据与注释
文件:references/metadata.md
创建和管理注释,包括标签、键值对、文件附件和评论。将注释关联到图像、数据集或其他对象。
常见场景:
- 为图像添加标签
- 将分析结果作为文件附加
- 创建自定义键值元数据
- 按命名空间查询注释
4. 图像处理与渲染
文件:references/image_processing.md
以 NumPy 数组的形式访问原始像素数据、调整渲染设置、创建衍生图像并管理物理尺寸。
常见场景:
- 提取像素数据以进行计算分析
- 生成缩略图
- 创建最大强度投影
- 修改通道渲染设置
5. 感兴趣区域(ROI)
文件:references/rois.md
使用各种形状(矩形、椭圆、多边形、掩膜、点、线)创建、获取和分析 ROI。提取 ROI 区域的强度统计数据。
常见场景:
- 在图像上绘制矩形 ROI
- 创建用于分割的多边形掩膜
- 分析 ROI 内的像素强度
- 导出 ROI 坐标
6. OMERO 表格
文件:references/tables.md
存储和查询与 OMERO 对象关联的结构化表格数据。适用于分析结果、测量值和元数据。
常见场景:
- 存储图像的定量测量值
- 创建包含多种列类型的表格
- 使用条件查询表格数据
- 将表格关联到特定图像或数据集
7. 脚本与批处理操作
文件:references/scripts.md
创建在服务端运行的 OMERO.scripts,用于批处理、自动化工作流以及与 OMERO 客户端集成。
常见场景:
- 批量处理多张图像
- 创建自动化分析流程
- 生成跨数据集的汇总统计数据
- 以自定义格式导出数据
8. 高级功能
文件:references/advanced.md
涵盖权限、文件集、跨组查询、删除操作及其他高级功能。
常见场景:
- 处理组权限
- 访问导入的原始文件
- 执行跨组查询
- 使用回调删除对象
安装
uv pip install omero-py
要求:
- Python 3.7+
- Zeroc Ice 3.6+
- 可访问 OMERO 服务(主机、端口、凭据)
快速入门
基本连接模式:
from omero.gateway import BlitzGateway
# Connect to OMERO server
conn = BlitzGateway(username, password, host=host, port=port)
connected = conn.connect()
if connected:
# Perform operations
for project in conn.listProjects():
print(project.getName())
# Always close connection
conn.close()
else:
print("Connection failed")
推荐使用上下文管理器的模式:
from omero.gateway import BlitzGateway
with BlitzGateway(username, password, host=host, port=port) as conn:
# Connection automatically managed
for project in conn.listProjects():
print(project.getName())
# Automatically closed on exit
选择合适的功能
用于数据探索:
- 从
references/connection.md开始建立连接 - 使用
references/data_access.md浏览层级结构 - 查看
references/metadata.md了解注释详情
用于图像分析:
- 使用
references/image_processing.md访问像素数据 - 使用
references/rois.md进行基于区域的分析 - 使用
references/tables.md存储结果
用于自动化:
- 使用
references/scripts.md进行服务端处理 - 使用
references/data_access.md批量检索数据
用于高级操作:
- 使用
references/advanced.md管理权限和删除 - 查看
references/connection.md了解跨组查询
常见工作流
工作流 1:检索和分析图像
- 连接到 OMERO 服务(
references/connection.md) - 浏览至数据集(
references/data_access.md) - 从数据集中检索图像(
references/data_access.md) - 将像素数据作为 NumPy 数组访问(
references/image_processing.md) - 执行分析
- 将结果存储为表格或文件注释(
references/tables.md或references/metadata.md)
工作流 2:批量 ROI 分析
- 连接到 OMERO 服务
- 检索包含现有 ROI 的图像(
references/rois.md) - 获取每张图像的 ROI 形状
- 提取 ROI 内的像素强度(
references/rois.md) - 将测量结果存储在 OMERO 表格中(
references/tables.md)
工作流 3:创建分析脚本
- 设计分析工作流
- 使用 OMERO.scripts 框架(
references/scripts.md) - 通过脚本参数访问数据
- 批量处理图像
- 生成输出(新图像、表格、文件)
错误处理
始终使用 try-except 块封装 OMERO 操作,并确保正确关闭连接:
from omero.gateway import BlitzGateway
import traceback
try:
conn = BlitzGateway(username, password, host=host, port=port)
if not conn.connect():
raise Exception("Connection failed")
# Perform operations
except Exception as e:
print(f"Error: {e}")
traceback.print_exc()
finally:
if conn:
conn.close()
其他资源
- 官方文档:https://omero.readthedocs.io/en/stable/developers/Python.html
- BlitzGateway API:https://omero.readthedocs.io/en/stable/developers/Python.html#omero-blitzgateway
- OMERO 模型:https://omero.readthedocs.io/en/stable/developers/Model.html
- 社区论坛:https://forum.image.sc/tag/omero
备注
- OMERO 使用基于组的权限(READ-ONLY、READ-ANNOTATE、READ-WRITE)
- OMERO 中的图像按层级组织:Project > Dataset > Image
- 筛选数据使用:Screen > Plate > Well > WellSample > Image
- 始终关闭连接以释放服务端资源
- 使用上下文管理器自动管理资源
- 像素数据以 NumPy 数组形式返回,供分析使用