omero-integration

Par mkurman · zorai

Plateforme de gestion de données de microscopie. Accédez aux images via Python, récupérez des jeux de données, analysez des pixels, gérez les ROI/annotations, traitez en lot, pour les workflows de criblage à haut contenu et de microscopie.

npx skills add https://github.com/mkurman/zorai --skill omero-integration

Intégration OMERO

Aperçu

OMERO est une plateforme open-source pour gérer, visualiser et analyser les images de microscopie et les métadonnées. Accédez aux images via API Python, récupérez les datasets, analysez les pixels, gérez les ROI et les annotations, pour le screening à haut contenu et les workflows de microscopie.

Quand utiliser cette compétence

Cette compétence doit être utilisée quand :

  • Vous travaillez avec l'API Python OMERO (omero-py) pour accéder aux données de microscopie
  • Vous récupérez des images, datasets, projets ou données de screening par programme
  • Vous analysez les données de pixels et créez des images dérivées
  • Vous créez ou gérez des ROI (régions d'intérêt) sur les images de microscopie
  • Vous ajoutez des annotations, tags ou métadonnées aux objets OMERO
  • Vous stockez les résultats de mesure dans les tables OMERO
  • Vous créez des scripts côté serveur pour le traitement par batch
  • Vous effectuez une analyse de screening à haut contenu

Capacités principales

Cette compétence couvre huit domaines de capacités majeurs. Chacun est documenté en détail dans le répertoire references/ :

1. Gestion des connexions et sessions

Fichier : references/connection.md

Établissez des connexions sécurisées aux serveurs OMERO, gérez les sessions, gérez l'authentification et travaillez avec les contextes de groupe. Utilisez ceci pour la configuration initiale et les motifs de connexion.

Scénarios courants :

  • Se connecter au serveur OMERO avec des identifiants
  • Utiliser les ID de session existants
  • Basculer entre les contextes de groupe
  • Gérer le cycle de vie de la connexion avec les context managers

2. Accès aux données et récupération

Fichier : references/data_access.md

Naviguez dans la structure hiérarchique des données OMERO (Projets → Datasets → Images) et les données de screening (Screens → Plates → Wells). Récupérez les objets, interrogez par attributs et accédez aux métadonnées.

Scénarios courants :

  • Lister tous les projets et datasets d'un utilisateur
  • Récupérer des images par ID ou dataset
  • Accéder aux données de plaques de screening
  • Interroger les objets avec des filtres

3. Métadonnées et annotations

Fichier : references/metadata.md

Créez et gérez les annotations incluant les tags, les paires clé-valeur, les pièces jointes et les commentaires. Liez les annotations aux images, datasets ou autres objets.

Scénarios courants :

  • Ajouter des tags aux images
  • Joindre les résultats d'analyse en tant que fichiers
  • Créer des métadonnées personnalisées clé-valeur
  • Interroger les annotations par namespace

4. Traitement et rendu d'images

Fichier : references/image_processing.md

Accédez aux données de pixels bruts en tant que tableaux NumPy, manipulez les paramètres de rendu, créez des images dérivées et gérez les dimensions physiques.

Scénarios courants :

  • Extraire les données de pixels pour l'analyse computationnelle
  • Générer des images miniatures
  • Créer des projections d'intensité maximale
  • Modifier les paramètres de rendu des canaux

5. Régions d'intérêt (ROI)

Fichier : references/rois.md

Créez, récupérez et analysez les ROI avec diverses formes (rectangles, ellipses, polygones, masques, points, lignes). Extrayez les statistiques d'intensité des régions ROI.

Scénarios courants :

  • Dessiner des ROI rectangulaires sur les images
  • Créer des masques polygonaux pour la segmentation
  • Analyser les intensités de pixels dans les ROI
  • Exporter les coordonnées de ROI

6. Tables OMERO

Fichier : references/tables.md

Stockez et interrogez les données tabulaires structurées associées aux objets OMERO. Utile pour les résultats d'analyse, les mesures et les métadonnées.

Scénarios courants :

  • Stocker les mesures quantitatives pour les images
  • Créer des tables avec plusieurs types de colonnes
  • Interroger les données de table avec des conditions
  • Lier les tables à des images ou datasets spécifiques

7. Scripts et opérations par batch

Fichier : references/scripts.md

Créez OMERO.scripts qui s'exécutent côté serveur pour le traitement par batch, les workflows automatisés et l'intégration avec les clients OMERO.

Scénarios courants :

  • Traiter plusieurs images en batch
  • Créer des pipelines d'analyse automatisés
  • Générer des statistiques récapitulatives sur les datasets
  • Exporter les données dans des formats personnalisés

8. Fonctionnalités avancées

Fichier : references/advanced.md

Couvre les permissions, les filesets, les requêtes multi-groupes, les opérations de suppression et autres fonctionnalités avancées.

Scénarios courants :

  • Gérer les permissions de groupe
  • Accéder aux fichiers importés originaux
  • Effectuer des requêtes multi-groupes
  • Supprimer les objets avec des callbacks

Installation

uv pip install omero-py

Configuration requise :

  • Python 3.7+
  • Zeroc Ice 3.6+
  • Accès à un serveur OMERO (hôte, port, identifiants)

Démarrage rapide

Motif de connexion basique :

from omero.gateway import BlitzGateway

# Se connecter au serveur OMERO
conn = BlitzGateway(username, password, host=host, port=port)
connected = conn.connect()

if connected:
    # Effectuer les opérations
    for project in conn.listProjects():
        print(project.getName())

    # Toujours fermer la connexion
    conn.close()
else:
    print("Connection failed")

Motif recommandé avec context manager :

from omero.gateway import BlitzGateway

with BlitzGateway(username, password, host=host, port=port) as conn:
    # La connexion est gérée automatiquement
    for project in conn.listProjects():
        print(project.getName())
    # Automatiquement fermée à la sortie

Sélectionner la bonne capacité

Pour l'exploration de données :

  • Commencez par references/connection.md pour établir la connexion
  • Utilisez references/data_access.md pour naviguer dans la hiérarchie
  • Vérifiez references/metadata.md pour les détails des annotations

Pour l'analyse d'images :

  • Utilisez references/image_processing.md pour l'accès aux données de pixels
  • Utilisez references/rois.md pour l'analyse basée sur les régions
  • Utilisez references/tables.md pour stocker les résultats

Pour l'automatisation :

  • Utilisez references/scripts.md pour le traitement côté serveur
  • Utilisez references/data_access.md pour la récupération de données par batch

Pour les opérations avancées :

  • Utilisez references/advanced.md pour les permissions et la suppression
  • Vérifiez references/connection.md pour les requêtes multi-groupes

Workflows courants

Workflow 1 : Récupérer et analyser des images

  1. Se connecter au serveur OMERO (references/connection.md)
  2. Naviguer vers le dataset (references/data_access.md)
  3. Récupérer les images du dataset (references/data_access.md)
  4. Accéder aux données de pixels en tant que tableau NumPy (references/image_processing.md)
  5. Effectuer l'analyse
  6. Stocker les résultats en tant que table ou annotation de fichier (references/tables.md ou references/metadata.md)

Workflow 2 : Analyse ROI par batch

  1. Se connecter au serveur OMERO
  2. Récupérer les images avec les ROI existantes (references/rois.md)
  3. Pour chaque image, obtenir les formes ROI
  4. Extraire les intensités de pixels dans les ROI (references/rois.md)
  5. Stocker les mesures dans la table OMERO (references/tables.md)

Workflow 3 : Créer un script d'analyse

  1. Concevoir le workflow d'analyse
  2. Utiliser le framework OMERO.scripts (references/scripts.md)
  3. Accéder aux données via les paramètres du script
  4. Traiter les images en batch
  5. Générer les sorties (nouvelles images, tables, fichiers)

Gestion des erreurs

Enveloppez toujours les opérations OMERO dans des blocs try-except et assurez-vous que les connexions sont correctement fermées :

from omero.gateway import BlitzGateway
import traceback

try:
    conn = BlitzGateway(username, password, host=host, port=port)
    if not conn.connect():
        raise Exception("Connection failed")

    # Effectuer les opérations

except Exception as e:
    print(f"Error: {e}")
    traceback.print_exc()
finally:
    if conn:
        conn.close()

Ressources supplémentaires

Remarques

  • OMERO utilise des permissions basées sur les groupes (READ-ONLY, READ-ANNOTATE, READ-WRITE)
  • Les images dans OMERO sont organisées hiérarchiquement : Project > Dataset > Image
  • Les données de screening utilisent : Screen > Plate > Well > WellSample > Image
  • Toujours fermer les connexions pour libérer les ressources du serveur
  • Utiliser les context managers pour la gestion automatique des ressources
  • Les données de pixels sont retournées en tant que tableaux NumPy pour l'analyse

Skills similaires