mcpField
O
omero-integration

omero-integration

github.com/crazymsnデータ・データベース2336 回インストール22 週間前に更新
リポジトリ

omero-integration について

omero-integrationは、Python APIで顕微鏡画像やメタデータを扱うOMEROユーザー向けのスキルです。データ取得、画像解析、ROI管理、バッチ処理スクリプトを扱います。

主な機能

  1. 01接続とセッションの管理
  2. 02プロジェクト、データセット、画像の取得
  3. 03ピクセル解析と画像レンダリング
  4. 04ROIの作成と測定値の抽出
  5. 05アノテーションとテーブルデータの管理
  6. 06バッチ処理スクリプトの作成

活用シーン

  1. 01データセットから画像を取得してピクセル解析
  2. 02ROI内の強度を測定して結果を保存
  3. 03画像を一括処理して出力を生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/crazymsn/academic-skills --skill omero-integration

インストール後、Claude Code で/omero-integrationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
advanced.md
connection.md
data_access.md
image_processing.md
metadata.md
rois.md
scripts.md
tables.md

詳細

OMERO 連携

概要

OMERO は、顕微鏡画像とメタデータの管理、可視化、解析を行うオープンソースのプラットフォームです。Python API を通じて画像にアクセスし、データセットを取得し、ピクセルを解析し、ROI やアノテーションを管理できます。ハイコンテンツスクリーニングや顕微鏡ワークフローに利用できます。

このスキルを使用するタイミング

このスキルは、次のような場合に使用します:

  • OMERO Python API(omero-py)を使って顕微鏡データにアクセスする作業を行う場合
  • プログラムから画像、データセット、プロジェクト、またはスクリーニングデータを取得する場合
  • ピクセルデータを解析し、派生画像を作成する場合
  • 顕微鏡画像上に ROI(関心領域)を作成または管理する場合
  • OMERO オブジェクトにアノテーション、タグ、またはメタデータを追加する場合
  • 測定結果を OMERO テーブルに保存する場合
  • バッチ処理用のサーバーサイドスクリプトを作成する場合
  • ハイコンテンツスクリーニング解析を実行する場合

主な機能

このスキルは 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

権限、ファイルセット、グループをまたぐクエリ、削除操作、その他の高度な機能を扱います。

よくあるシナリオ:

  • グループの権限を処理する
  • 元のインポートファイルにアクセスする
  • グループをまたぐクエリを実行する
  • コールバックを使ってオブジェクトを削除する

インストール

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: 画像の取得と解析
  1. OMERO サーバーに接続します(references/connection.md)
  2. データセットに移動します(references/data_access.md)
  3. データセットから画像を取得します(references/data_access.md)
  4. ピクセルデータを NumPy 配列として取得します(references/image_processing.md)
  5. 解析を実行します
  6. 結果をテーブルまたはファイルアノテーションとして保存します(references/tables.md または references/metadata.md)
ワークフロー 2: ROI のバッチ解析
  1. OMERO サーバーに接続します
  2. 既存の ROI を持つ画像を取得します(references/rois.md)
  3. 各画像について ROI 形状を取得します
  4. ROI 内のピクセル強度を抽出します(references/rois.md)
  5. 測定値を OMERO テーブルに保存します(references/tables.md)
ワークフロー 3: 解析スクリプトの作成
  1. 解析ワークフローを設計します
  2. OMERO.scripts フレームワークを使用します(references/scripts.md)
  3. スクリプトパラメーターを通じてデータにアクセスします
  4. 画像をバッチで処理します
  5. 出力(新しい画像、テーブル、ファイル)を生成します

エラー処理

OMERO の操作は必ず try-except ブロックで囲み、接続が適切にクローズされるようにしてください:

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()

追加リソース

注意事項

  • OMERO はグループベースの権限(READ-ONLY、READ-ANNOTATE、READ-WRITE)を使用します
  • OMERO の画像は階層構造で整理されています: Project > Dataset > Image
  • スクリーニングデータは Screen > Plate > Well > WellSample > Image の構造を使用します
  • サーバーリソースを解放するため、接続は必ずクローズしてください
  • 自動的なリソース管理にはコンテキストマネージャーを使用してください
  • ピクセルデータは解析のために NumPy 配列として返されます

コメント