// "Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows."
| name | omero-integration |
| description | Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows. |
OMERO is an open-source platform for managing, visualizing, and analyzing microscopy images and metadata. Access images via Python API, retrieve datasets, analyze pixels, manage ROIs and annotations, for high-content screening and microscopy workflows.
This skill should be used when:
This skill covers eight major capability areas. Each is documented in detail in the references/ directory:
File: references/connection.md
Establish secure connections to OMERO servers, manage sessions, handle authentication, and work with group contexts. Use this for initial setup and connection patterns.
Common scenarios:
File: references/data_access.md
Navigate OMERO's hierarchical data structure (Projects โ Datasets โ Images) and screening data (Screens โ Plates โ Wells). Retrieve objects, query by attributes, and access metadata.
Common scenarios:
File: references/metadata.md
Create and manage annotations including tags, key-value pairs, file attachments, and comments. Link annotations to images, datasets, or other objects.
Common scenarios:
File: references/image_processing.md
Access raw pixel data as NumPy arrays, manipulate rendering settings, create derived images, and manage physical dimensions.
Common scenarios:
File: references/rois.md
Create, retrieve, and analyze ROIs with various shapes (rectangles, ellipses, polygons, masks, points, lines). Extract intensity statistics from ROI regions.
Common scenarios:
File: references/tables.md
Store and query structured tabular data associated with OMERO objects. Useful for analysis results, measurements, and metadata.
Common scenarios:
File: references/scripts.md
Create OMERO.scripts that run server-side for batch processing, automated workflows, and integration with OMERO clients.
Common scenarios:
File: references/advanced.md
Covers permissions, filesets, cross-group queries, delete operations, and other advanced functionality.
Common scenarios:
uv pip install omero-py
Requirements:
Basic connection pattern:
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")
Recommended pattern with context manager:
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
For data exploration:
references/connection.md to establish connectionreferences/data_access.md to navigate hierarchyreferences/metadata.md for annotation detailsFor image analysis:
references/image_processing.md for pixel data accessreferences/rois.md for region-based analysisreferences/tables.md to store resultsFor automation:
references/scripts.md for server-side processingreferences/data_access.md for batch data retrievalFor advanced operations:
references/advanced.md for permissions and deletionreferences/connection.md for cross-group queriesreferences/connection.md)references/data_access.md)references/data_access.md)references/image_processing.md)references/tables.md or references/metadata.md)references/rois.md)references/rois.md)references/tables.md)references/scripts.md)Always wrap OMERO operations in try-except blocks and ensure connections are properly closed:
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()