The following documentation is for developers wishing to write OMERO client code or extend the OMERO server. Instructions on downloading, installation and administering OMERO can be found under the System Administrator Documentation of the main site.
OMERO is an open source client/server system written in Java for visualizing, managing, and annotating microscope images and metadata. The OMERO Application Programming Interface allows clients to be written in Java, Python, C++ or MATLAB. OMERO releases include a Java client OMERO.insight, a Python-based web client OMERO.web and the Command Line Interface as an OMERO development tool, which also uses Python. There is also an ImageJ plugin. OMERO can be extended by modifying these clients or by writing your own in any of the supported languages (see figure). OMERO also supports a Scripting Service which allows Python scripts to be run on the server and called from any of the other clients.
OMERO is designed, developed and released by the Open Microscopy Environment, with contributions
from Glencoe Software, Inc. OMERO is released under the GNU General Public License (GPL)
with commercial licenses and customization available from Glencoe Software, Inc.. You can
read about how OMERO has developed since the project started in the
We ask contributors to sign once the Contributor License Agreement (CLA) .
When signed, please do send the agreement to
contributors at openmicroscopy.org.
For help with any aspect of OMERO, see details of our forums and mailing lists.
Introduction to OMERO
Using the OMERO API
Scripts - plugins for OMERO
- OMERO.web framework
- OMERO.web installation for developers
- Creating an app
- Release an app
- Linking from Webclient
- Webclient Plugins
- Editing OMERO.web
- Embedding an OMERO.web viewport in a web page
- Writing OMERO.web views
- Writing page templates in OMERO.web
- Cross Site Request Forgery protection
- The OMERO.web client application
With the release of OMERO 5.3.0, the OMERO.insight desktop client has entered maintenance mode, meaning it will only be updated if a major bug is discovered. Instead, the OME team will be focusing on developing the web clients. As a result, coding against this client is no longer recommended. Technical documentation can be found at https://omero-insight.readthedocs.io/en/latest/.
More on API Usage
OMERO can be extended by modifying these clients or by writing your own in any of the supported languages.
The OME Data Model
Authentication and Security
OMERO.server in depth
- OMERO.server overview
- Extending OMERO.server
- Import under OMERO.fs
- OMERO.server image rendering
- Collection counts
- How To create a service
- OMERO sessions
- Aspect-oriented programming
- OMERO events and provenance
- Using server queries internally
- OMERO throttling
- OMERO rendering engine
- Scaling Omero
- The server’s view of administrator restrictions
- Model graph operations
- Java classes for model graph operations