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.mdpour établir la connexion - Utilisez
references/data_access.mdpour naviguer dans la hiérarchie - Vérifiez
references/metadata.mdpour les détails des annotations
Pour l'analyse d'images :
- Utilisez
references/image_processing.mdpour l'accès aux données de pixels - Utilisez
references/rois.mdpour l'analyse basée sur les régions - Utilisez
references/tables.mdpour stocker les résultats
Pour l'automatisation :
- Utilisez
references/scripts.mdpour le traitement côté serveur - Utilisez
references/data_access.mdpour la récupération de données par batch
Pour les opérations avancées :
- Utilisez
references/advanced.mdpour les permissions et la suppression - Vérifiez
references/connection.mdpour les requêtes multi-groupes
Workflows courants
Workflow 1 : Récupérer et analyser des images
- Se connecter au serveur OMERO (
references/connection.md) - Naviguer vers le dataset (
references/data_access.md) - Récupérer les images du dataset (
references/data_access.md) - Accéder aux données de pixels en tant que tableau NumPy (
references/image_processing.md) - Effectuer l'analyse
- Stocker les résultats en tant que table ou annotation de fichier (
references/tables.mdoureferences/metadata.md)
Workflow 2 : Analyse ROI par batch
- Se connecter au serveur OMERO
- Récupérer les images avec les ROI existantes (
references/rois.md) - Pour chaque image, obtenir les formes ROI
- Extraire les intensités de pixels dans les ROI (
references/rois.md) - Stocker les mesures dans la table OMERO (
references/tables.md)
Workflow 3 : Créer un script d'analyse
- Concevoir le workflow d'analyse
- Utiliser le framework OMERO.scripts (
references/scripts.md) - Accéder aux données via les paramètres du script
- Traiter les images en batch
- 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
- Documentation officielle : https://omero.readthedocs.io/en/stable/developers/Python.html
- API BlitzGateway : https://omero.readthedocs.io/en/stable/developers/Python.html#omero-blitzgateway
- Modèle OMERO : https://omero.readthedocs.io/en/stable/developers/Model.html
- Forum communautaire : https://forum.image.sc/tag/omero
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