alterlab-omero について
alterlab-omeroは、OMERO Python APIで顕微鏡画像とメタデータを管理・分析するスキルです。画像取得、ピクセル処理、ROI、アノテーション、サーバー側の一括処理を扱います。
主な機能
- 01OMEROへの接続とセッション管理
- 02プロジェクト・データセット・画像の参照
- 03ピクセル取得と派生画像の作成
- 04ROIの作成と領域強度の分析
- 05アノテーションとOMEROテーブルの管理
- 06サーバー側バッチスクリプトの作成
活用シーン
- 01データセットの画像を分析用に取得
- 02ROI内のピクセル測定値を集計
- 03画像を一括処理して結果を保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-omeroインストール後、Claude Code で/alterlab-omeroを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/advanced.mdconnection.mddata_access.mdimage_processing.mdmetadata.mdrois.mdscripts.mdtables.md詳細
OMERO 連携
概要
OMERO は、顕微鏡画像とメタデータを管理、可視化、分析するためのオープンソースプラットフォームです。Python API を使って画像にアクセスし、データセットを取得し、ピクセルを分析し、ROI とアノテーションを管理して、ハイコンテントスクリーニングや顕微鏡ワークフローに活用できます。
このスキルを使用する場面
次の場合に、このスキルを使用してください:
- 顕微鏡データへのアクセスに OMERO Python API(omero-py)を使用する
- 画像、データセット、プロジェクト、またはスクリーニングデータをプログラムで取得する
- ピクセルデータを分析し、派生画像を作成する
- 顕微鏡画像上の ROI(関心領域)を作成または管理する
- OMERO オブジェクトにアノテーション、タグ、またはメタデータを追加する
- OMERO テーブルに測定結果を保存する
- バッチ処理用のサーバーサイドスクリプトを作成する
- ハイコンテントスクリーニング分析を実施する
対象外
| シナリオ | 代わりに使用 |
|---|---|
| NCI Imaging Data Commons から公開されているがんの放射線画像/病理画像 DICOM をダウンロードする | alterlab-imaging-data-commons |
| ローカルファイルの全スライド画像をタイリングまたは前処理する | alterlab-histolab |
| エンドツーエンドの計算病理モデル(セグメンテーション、グラフ、トレーニング) | alterlab-pathml |
| 臨床 DICOM ファイルを読み取る、または匿名化する | alterlab-pydicom |
主な機能
このスキルでは、8 つの主要な機能領域を扱います。それぞれについて、references/ ディレクトリに詳しく記載されています。
1. 接続とセッション管理
ファイル:references/connection.md
OMERO サーバーへのセキュアな接続を確立し、セッションを管理し、認証を処理して、グループコンテキストを操作します。初期設定や接続パターンに使用します。
一般的なシナリオ:
- 認証情報を使って OMERO サーバーに接続する
- 既存のセッション ID を使用する
- グループコンテキストを切り替える
- コンテキストマネージャーで接続のライフサイクルを管理する
2. データへのアクセスと取得
ファイル:references/data_access.md
OMERO の階層的なデータ構造(Projects → Datasets → Images)とスクリーニングデータ(Screens → Plates → Wells)をたどります。オブジェクトを取得し、属性でクエリを実行して、メタデータにアクセスします。
一般的なシナリオ:
- ユーザーのすべてのプロジェクトとデータセットを一覧表示する
- 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 クライアントとの連携のために、サーバー側で実行する OMERO.scripts を作成します。
一般的なシナリオ:
- 複数の画像をバッチ処理する
- 自動化された解析パイプラインを作成する
- データセット全体の要約統計を生成する
- カスタム形式でデータをエクスポートする
8. 高度な機能
ファイル: references/advanced.md
権限、ファイルセット、グループ横断クエリ、削除操作など、その他の高度な機能について説明します。
一般的なシナリオ:
- グループ権限を扱う
- インポートされた元ファイルにアクセスする
- グループ横断クエリを実行する
- コールバックを使用してオブジェクトを削除する
インストール
# 1. Install a prebuilt ZeroC Ice 3.6 wheel for your Python version and OS first
# (Glencoe Software builds; links on the OMERO.py page below)
uv pip install /path/to/zeroc_ice-3.6.5-<python>-<platform>.whl
# 2. Then OMERO.py
uv pip install omero-py
要件(omero-py 5.23.x、2026-09 現在):
- Python 3.10 以降および NumPy 2
- ZeroC Ice:omero-py は
zeroc-ice>=3.6.5,<3.7を指定しています。PyPI には Python 2.7/3.7 用の 3.6.5 ホイールしかないため、ビルド済みホイールがない場合、pip は Ice をソースからコンパイルしようとします。Ice 3.7/3.8 はサポートされていません。ホイールの一覧については https://omero.readthedocs.io/en/stable/developers/Python.html を参照してください。 - OMERO サーバーへのアクセス(ホスト、ポート、認証情報)。
omeroCLI を使用する場合はOMERODIRを設定してください
クイックスタート
基本的な接続パターン:
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) - スクリプトパラメーターを通じてデータにアクセスします
- 画像をバッチ処理します
- 出力(新しい画像、テーブル、ファイル)を生成します
エラー処理
OMERO の操作は必ず try-except ブロックで囲み、接続が適切に閉じられるようにしてください:
from omero.gateway import BlitzGateway
import traceback
conn = None # bind first so the finally block is safe if the constructor raises
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 配列として返されます
AlterLab Academic Skills スイートの一部です。