Scripts: Plugins for OMERO, allowing you to add functionality to OMERO
Whether you are writing a script or looking for a script to use, the following list provides an overview of all scripts that have been tested to work with a standard OMERO installation. Other scripts and examples, specialized for particular institutions or third-party extensions, are available from other repositories listed below. Scripts may require other software in addition to OMERO, which will be detailed in the description and should be readily available.
|Correlation Analyser.py||Analysis||Correlate image channel intensities||All||Alex Herbert||aherbert|
|Colocalisation Analyser.py||Analysis||Assess colocalisation of image channels||All||Alex Herbert||aherbert|
|Batch_Image_Export.py||Export||Zip images for download||All||OME team||Core|
|Make_Movie.py||Export||Make movie from image||All||OME team||Core|
|Movie_Figure.py||Figure||Make figure from movie frames||All||OME team||Core|
|Movie_ROI_Figure.py||Figure||Make figure of zoomed ROIs in movie||All||OME team||Core|
|ROI_Split_Figure.py||Figure||Make figure of zoomed ROIs||All||OME team||Core|
|Split_View_Figure.py||Figure||Make split view figure of images||All||OME team||Core|
|Thumbnail_Figure.py||Figure||Make figure of multiple thumbnails||All||OME team||Core|
|Check_original.py||Fixing||Check DropBox imports||All||Pierre Pouchin||PPouchin|
|Rename_Images.py||Fixing||Replaces names||All||Pierre Pouchin||PPouchin|
|Restore_colors.py||Fixing||Fix colors for LIF and LSM files||All||Pierre Pouchin||PPouchin|
|Restore_date.py||Fixing||Fix acquisition date||All||Pierre Pouchin||PPouchin|
|Populate_ROI.py||Import||Generate ROIs from Plate measurements||All||OME team||Core|
|Check Images.py||Import||Validate converted pixel data||All||Alex Herbert||aherbert|
|Image size.py||Import||Check file size||All||Alex Herbert||aherbert|
|Channel_Offsets.py||Util||Generate new images with x,y,z shifts||All||OME team||Core|
|Combine_Images.py||Util||Merge images or Z-stacks to extra dimensions||All||OME team||Core|
|Dataset_To_Plate.py||Util||Convert Dataset of images to Plate||All||OME team||Core|
|Images_From_ROIs.py||Util||Make new image cropped to ROI||All||OME team||Core|
|New_Images_From_ROIs.py||Util||Adapted new images from ROIs allowing cropping through entire T or Z stack||All||Alex Herbert & OME team||Example scripts|
|Dataset_To_Well.py||Util||Convert a Dataset of Images to Fields in a Well||All||Damir Sudar||dsudar|
A note about versions - we use Github branches to manage our various development lines. Scripts for OMERO 5.2 release versions are located on our dev_5_2 branch in the core repository, while the develop branch is for the upcoming OMERO 5.3. Since OMERO 5.2.x has entered maintenance mode, we recommend you work against the develop branch as a default.
OMERO 5 now supports jython and MATLAB scripts natively, see the OMERO 5 scripts documentation for further details.
Other places to find scripts
Below is a list of repositories on Github and elsewhere that have been submitted to the OME team. All of the included scripts and repositories can be downloaded following the instructions below in order to run the scripts locally (although some of them are intended as examples only - check the associated README). Some of the included scripts are also detailed above.
- OMERO scripts - Glencoe Software
- Example scripts - OME Team
- Fixing scripts - Pierre Pouchin
- GDSC OMERO user scripts - Alex Herbert
- QBI-Microscopy scripts - Queensland Brain Institute
- OMEROscripts - Damir Sudar
Downloading and installing scripts
The easiest way to make use of scripts is for your system administrator to upload them to the server. Once a script has been added under the lib/scripts directory, you can run them from the OMERO clients or the command line. Documentation for script developers and admins is available here. However, you will not be notified of any updates to the script, nor will you be able to automatically update them. This means that when your OMERO installation is upgraded, all your additional scripts will be lost.
Therefore, we recommend you use a Github repository to manage your scripts. If you aren't familiar with Git, you can use the Github app for your OS (available for Mac and Windows). The basic workflow is:
- Fork our omero-user-script repository or any other repository you trust (https://github.com/ome/omero-user-scripts/network/members)
- Clone it in your lib/scripts directory (cd lib/scripts; git clone firstname.lastname@example.org:YOURGITUSERNAME/omero-user-scripts.git YOUR_SCRIPTS )
- Save the scripts you want to use into the appropriate sub-directory in your cloned location lib/scripts/YOUR_SCRIPTS
If all you want to do is add scripts from someone else's repository to your server, you can simply clone that repository in your lib/scripts directory and the scripts within it will be added to your script list as described in the OMERO-user-script repository readme.
Developing your own scripts
The easiest way to get started developing scripts for your own site is to fork the github.com/ome/omero-user-scripts repository and clone it somewhere under lib/scripts as described above. Then go into YOUR_SCRIPTS and rename the existing script to match your needs (cd lib/scripts/YOUR_SCRIPTS; git mv Example.py util_scripts/New_function.py). Once you've done that, you can edit and test run the script and then when you're happy with it, you can save it and push it back to your fork for others to see and share.
If you are a biologist with no previous coding experience, you may find the Python for Biologists free online course helpful.
Submitting scripts back to the OME Consortium
If you have modified one of the core scripts or developed your own that you would like to contribute back to the OME Consortium, please get in touch. We can either add your repository to the list above so people can find it, or if the script is likely to have wide appeal, we can look into adding it to the core scripts that are distributed with an OMERO release.
Github core scripts repo - see the readme for suggested directory names for your scripts.