Developer
-
What is Ivy?
- Ivy is dependency manager which OMERO uses to organize the various jar depends of the server and client components. Similar to Maven, Ivy uses description files -- ivy.xml -- to define the various transitive dependencies for each artifact.
-
Sample code?
Sample code is provided on the developer sites for each product.
OMERO: See OmeroClients for general API usage or CodeExamples for a general list of examples.
BioFormats: See Bio-Formats as a Java library, Export, and Matlab
-
Where can I get the source code for your applications?
The source is maintained in git and can be browsed via gitweb.
See the Downloads page for instructions on accessing the source code.
-
How do I build on Windows?
For building everything except for the C++ bindings, OmeroContributing provides details for checking out and building. OmeroCpp has info for compiling the C++ code with Visual Studio.
-
How do I build OMERO from Eclipse?
After checking out the source, you will need to run:
./build.py build-eclipseto have the Eclipse paths properly setup. After that you can either import the top-level OMERO_HOME/.project or any of the individual projects under components. For more information, see the OmeroDevelopement page on the OMERO server trac.
-
How do I run OMERO.importer from Eclipse?
After checking out the source, you will need to run:
./build.py build-eclipseto have the Eclipse paths properly setup. After that you can import either the top-level OMERO_HOME/.project or the individual importer project under components/tools. For more information, see the OmeroDevelopement page on the OMERO server trac.
-
Where can I track issues and daily builds?
Most of the projects are built per commit, and builds along with unit tests, and javadocs (or similar) can be found at http//hudson.openmicroscopy.org.uk
Issues for server, clients and the model are all tracked on a single trac site http://trac.openmicroscopy.org.uk/omero
-
How do I add Structured Annotations to an object(image/project/dataset...)?
Structured annotations permit the attachment of data and metadata outside the OMERO data model to certain types within the model. More details about structure of annotations is available here.
-
How do I login to OMERO?
If you wish to log in by OMERO.insight please follow the instruction on: OMERO.insight.
If you wish to log in by OMERO.web please go to one of the following urls:
http://your_host/webadmin
http://your_host/webclient
-
What frame of reference does OME uses to map ROI to a picture?
In OMERO, ROIs are defined by one or more Shapes (e.g. Rectangle, Ellipse), allowing an ROI to span multiple Z and T sections.
The position of a Shape on an image plane is given by x and y coordinates from the top left of the image.
Different shapes, listed here are measured differently:
e.g.
- Rectangle has x and y to define the location of the top, left of a rectangle,
whereas
-
Ellipse has cx and cy to denote the x, y coordinates of the ellipse center.
-
How do I use closeOnDestroy & detachOnDestroy?
closeOnDestroy and detachOnDestroy are used to decide whether or not a session will persist after your current client disconnects. If a session is left alive (detached and not closed), then other processes can attach to it and continue processing where the first client left off. If multiple clients connect to a session at the same time, only the setting (closeOnDestroy or detachOnDestroy) of the last session to disconnect will be taken into account. Before that, the session is kept alive.
By default, the setting is "closeOnDestroy". Therefore, if you plan on re-using a session, use detachOnDestroy before calling client.closeSession(). Otherwise, you don't need to worry about either of these methods.
-
Rules configuration in OMERO model?
At one point in time, it was suggested that rule based validation of OMERO model objects would be beneficial. While this is still true, the implementation and usage overhead of such a feature was deemed too high at this point. Right now these rules are unimplemented and unused even though some may still appear in OMERO model DSL files.
-
Is there a database diagram?
The OMERO database schema is reasonably large and complex so a diagram is not the greatest way to represent it. As it has been requested a few times we generated one for version 4.1. We would not recommend trying to work from it.
It is available here but is a very large pdf:
Database Diagram for OMERO 4.1 generated March 2010
The PDF has two layers so in an application that supports layers the lines can be turned off to see the tables easier.If anyone can recommend a good application for generating a diagram from either a Postgres database or direct from the SQL please get in touch.
-
In OMERO what are atime/ctime/mtime, and how are they used?
These stand for:
- access time
- creation time
- modification time
They are to allow clients to write as much information as is available on the linux file system into the database. These values are left in the user space, i.e. the server doesn't try to control them, for example when you access a file the
atimeis NOT incremented.These are defined in "file system" terms as opposed to "biologist" frame of reference, where creation could be the "acquisition" timestamp. This acquisition information is stored in the OME data model.
-
Can OMERO store images as doubles?
Can you store images back to OMERO from Matlab as doubles? They seem to be rounded to integers.
If you access the pixel values through the API, you can write images back to OMERO as doubles. The values will be stored correctly and if retrieved using the API the values will be correct.
The OMERO rendering engine does not yet support this data type. We have a ticket for that: see #1303. Therefore the OMERO clients cannot display this data correctly at present.
The values are stored correctly and will be viewable through the clients when the rendering engine has been update to full 32 bit data.

