Package: omero-figure
OMERO.figureAn OMERO.web app for creating figures from images in OMERO.For full details seeSUPPORT.md.RequirementsOMERO.web 5.6.0 or newer.Installing from PyPIThis section assumes that an OMERO.web is already installed.Install the app usingpip:NB: You need to ensure that you are runningpipfrom the python environment
whereomero-webis installed. Depending on your install, you may need to
callpipwith, for example:/path/to_web_venv/venv/bin/pip install ...$ pip install -U omero-figureAdd figure custom app to your installed web apps:$ omero config append omero.web.apps '"omero_figure"'Display a link to ‘Figure’ at the top of the webclient:$ omero config append omero.web.ui.top_links '["Figure", "figure_index",
  {"title": "Open Figure in new tab", "target": "_blank"}]'Add ‘Figure’ to the ‘Open with’ options, available from context menu on
the webclient tree:$ omero config append omero.web.open_with '["omero_figure", "new_figure",
  {"supported_objects":["images"], "target": "_blank", "label": "OMERO.figure"}]'Now restart OMERO.web as normal.Enabling figure exportThis section assumes that an OMERO.server is already installed.Figures can be exported as PDF or TIFF files using a script that runs on the OMERO.server. This script needs to be uploaded to the OMERO.server and its dependencies
installed in the OMERO.server virtual environment.The script can be uploaded using two alternative workflows, both of which require you to have the correct admin privileges.
To find where OMERO.figure has been installed using pip, run:$ pip show omero-figureThe command will display the absolute path to the directory where the application is installed e.g.~/<virtualenv_name>/lib/python3.6/site-packages. Go to that directory.Option 1: Connect to the OMERO server and upload the script via the CLI. It is important to be in the correct directory when uploading so that the script is uploaded with the full path:omero/figure_scripts/Figure_To_Pdf.py:$ cd omero_figure/scripts
$ omero script upload omero/figure_scripts/Figure_To_Pdf.py --officialOption 2: Alternatively, before starting the OMERO.server, copy the script from the figure install/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.pyto the OMERO.serverpath/to/OMERO.server/lib/scripts/omero/figure_scripts. Then restart the OMERO.server.Now install the script’s dependencies:InstallreportlabPDF python package.
This needs to be installed in the virtual environment where theOMERO.serveris installed. Depending on your install, you may need to
callpipwith, for example:/path/to_server_venv/venv/bin/pip install ...$ pip install "reportlab<3.6"Optional: Figure legends can be formatted using Markdown syntax. To see this correctly in the exported PDF info page, we needPython Markdown:$ pip install markdownUpgrading OMERO.figureAfter upgrading OMERO.figure with:$ pip install -U omero-figureYou need to update the Figure export script using one of the 2 options described
above. If usingOption 1, you need toreplacethe existing script:# Get the ID of the existing Figure_To_Pdf script:
$ omero script list

# Replace the script
$ cd omero_figure/scripts
$ omero script replace <SCRIPT_ID> omero/figure_scripts/Figure_To_Pdf.pyDevelopmentWe use Grunt for various tools.
Seehttp://figure.openmicroscopy.org/2014/05/01/testing-with-jshint-jasmine-grunt.htmlfor an introduction.Install Node fromhttps://nodejs.org, then:$ cd omero-figure
$ npm installInstall Grunt CLI as described onhttp://gruntjs.com/using-the-cli.To build various resources intoomero_figure/staticrun:$ grunt buildThis will concatenate js files into a single figure.js file,
compile the underscore templates into templates.js and also
copy the shape-editor.js from node_modules.During development, you will want to peform the concatenation
(concat) and template compilation (jst) tasks whenever
the JavaScript or template files change. This can be achieved
with:$ grunt watchIt is also possible to develop figure in docker without installing anything locally.
The Docker image is built on top ofopenmicroscopy/omero-web-standalone:latest, so you will have a fully functional
omero-web environment while developingomero-figure.
First build the Docker image:$ docker build -t figure-devel .To developomero-figureyou can either make all the changes within the Docker container itself by running:$ docker run -ti -e OMEROHOST=YOUR_HOST -p 4080:4080 figure-develThe preferred option is to mount the repository containing the omero-figure code. Make the changes locally and see the changes in the docker container. To do so, run:::$ docker run -ti -e OMEROHOST=YOUR_HOST -p 4080:4080  -v /PATH_TO_GIT_REPO/omero-figure:/home/figure/src figure-develAfter starting the container, rundocker psin another terminal to find the ID of the container. Then run:$ docker exec -u 0 -it CONTAINER_ID bash   # replace CONTAINER_ID by the correct value
$ cd /home/figure/src
$ grunt watchRelease processThis repository usesbump2versionto manage version numbers.
To tag a release run:$ bumpversion releaseThis will remove the.dev0suffix from the current version, commit, and tag the release.To switch back to a development version run:$ bumpversion --no-tag [major|minor|patch]specifyingmajor,minororpatchdepending on whether the development branch will be amajor, minor or patch release. This will also add the.dev0suffix.Remember togit pushall commits and tags.LicenseOMERO.figure is released under the AGPL.Copyright2016-2022, The Open Microscopy Environment