Skip to main content

OMERO figure creation app

Project description

Image.sc forum https://github.com/ome/omero-figure/workflows/OMERO/badge.svg https://badge.fury.io/py/omero-figure.svg

OMERO.figure

An OMERO.web app for creating figures from images in OMERO.

For full details see SUPPORT.md.

Requirements

  • OMERO.web 5.6.0 or newer.

Installing from PyPI

This section assumes that an OMERO.web is already installed.

Install the app using pip:

$ pip install -U omero-figure

Add 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 export

This 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-figure

The 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 --official

Option 2: Alternatively, before starting the OMERO.server, copy the script from the figure install /omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py to the OMERO.server path/to/OMERO.server/lib/scripts/omero/figure_scripts. Then restart the OMERO.server.

Now install the script’s dependencies:

  • Install reportlab PDF python package. This needs to be installed in the virtual environment where the server is run.

$ pip install reportlab
  • Optional: Figure legends can be formatted using Markdown syntax. To see this correctly in the exported PDF info page, we need Python Markdown:

$ pip install markdown

Upgrading OMERO.figure

After upgrading OMERO.figure with:

$ pip install -U omero-figure

You need to update the Figure export script using one of the 2 options described above. If using Option 1, you need to replace the 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.py

Development

We use Grunt for various tools. See http://figure.openmicroscopy.org/2014/05/01/testing-with-jshint-jasmine-grunt.html for an introduction.

Install Node from https://nodejs.org, then:

$ cd omero-figure
$ npm install

Install Grunt CLI as described on http://gruntjs.com/using-the-cli.

To build various resources into omero_figure/static run:

$ grunt build

This 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 watch

To update the demo figure app at http://figure.openmicroscopy.org/demo/ we have a grunt task that concats and moves js files into demo/. It also replaces Django template tags in index.html and various js code fragments with static app code. This is all handled by the grunt task:

$ grunt demo

This puts everything into the omero-figure/demo/ directory. This can be tested locally via:

$ cd demo/
$ python -m SimpleHTTPServer

Go to http://localhost:8000/ to test it. This will not install the script and dependencies required to export the figure as PDF.

To update the figure.openmicroscopy.org site:

It is also possible to run the demo in docker without installing anything locally:

$ docker build -t figure-demo .
$ docker run -ti --rm -p 8000:8000 figure-demo

Release process

This repository uses bump2version to manage version numbers. To tag a release run:

$ bumpversion release

This will remove the .dev0 suffix from the current version, commit, and tag the release.

To switch back to a development version run:

$ bumpversion --no-tag [major|minor|patch]

specifying major, minor or patch depending on whether the development branch will be a major, minor or patch release. This will also add the .dev0 suffix.

Remember to git push all commits and tags.

License

OMERO.figure is released under the AGPL.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omero-figure-4.4.2.tar.gz (590.0 kB view details)

Uploaded Source

Built Distribution

omero_figure-4.4.2-py3-none-any.whl (640.8 kB view details)

Uploaded Python 3

File details

Details for the file omero-figure-4.4.2.tar.gz.

File metadata

  • Download URL: omero-figure-4.4.2.tar.gz
  • Upload date:
  • Size: 590.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for omero-figure-4.4.2.tar.gz
Algorithm Hash digest
SHA256 624e73fcd69176731f1211946baf8b103b7513e000ef482c84407e526ce91c5d
MD5 477a708f0c33fca91f5177b15f0a91ed
BLAKE2b-256 18d346831fd5fa1fb3811170c8d2388e32ebaf419ba3a20238bbc988a4431661

See more details on using hashes here.

File details

Details for the file omero_figure-4.4.2-py3-none-any.whl.

File metadata

  • Download URL: omero_figure-4.4.2-py3-none-any.whl
  • Upload date:
  • Size: 640.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for omero_figure-4.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 236c5bc196391b32fb050a62893ed7b1efb5c61a5f09db75cb4cb998b5930387
MD5 bef5b10f6c3c3290d119cff7a50e0a09
BLAKE2b-256 5e3072090d8c085e3b72363c48f20a5d26fc7dfbc9e6f517f6e7b45de3c1433e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page