Skip to main content

napari/OMERO interoperability

Project description

napari-omero

License Version Python Version CI

This package provides interoperability between the OMERO image management platform, and napari: a fast, multi-dimensional image viewer for python.

It provides a GUI interface for browsing an OMERO instance from within napari, as well as command line interface extensions for both OMERO and napari CLIs.

demo

Features

  • GUI interface to browse remote OMERO data, with thumbnail previews.
  • Loads remote nD images from an OMERO server into napari
  • Planes are loading on demand as sliders are moved ("lazy loading").
  • session management (login memory)
  • OMERO rendering settings (contrast limits, colormaps, active channels, current Z/T position) are applied in napari

as a napari dock widget

To launch napari with the OMERO browser added, install this package and run:

napari_omero

The OMERO browser widget can also be manually added to the napari viewer:

import napari
from napari_omero import OMEROWidget

with napari.gui_qt():
    viewer = napari.Viewer()
    viewer.window.add_dock_widget(OMEROWidget(), area="right")

as a napari plugin

This package provides a napari reader plugin that accepts OMERO resources as "proxy strings" (e.g. Image:<ID>) or as OMERO webclient URLS.

viewer = napari.Viewer()

# omero object identifier string
viewer.open("Image:1", plugin="omero")

# or URLS: https://help.openmicroscopy.org/urls-to-data.html
viewer.open("http://yourdomain.example.org/omero/webclient/?show=image-314")

these will also work on the napari command line interface, e.g.:

napari Image:1
# or
napari http://yourdomain.example.org/omero/webclient/?show=image-314

as an OMERO CLI plugin

This package also serves as a plugin to the OMERO CLI

omero napari view Image:1
  • ROIs created in napari can be saved back to OMERO via a "Save ROIs" button.
  • napari viewer console has BlitzGateway 'conn' and 'omero_image' in context.

installation

Requires python 3.6, 3.7 or 3.8 due to omero-py Ice dependencies. It's easiest to install omero-py from conda, so the recommended install procedure is to first create a new conda environment (here called "omero") with omero-py installed from the ome channel, and then use pip to install napari-omero (until we have a conda package available).

conda create -n omero -c ome python=3.7 omero-py
conda activate omero
pip install napari-omero

issues

This is alpha software & some things will be broken or sub-optimal!
  • experimental & definitely still buggy! Bug reports are welcome!
  • remote loading can be very slow still... though this is not strictly an issue of this plugin. Datasets are wrapped as delayed dask stacks, and remote data fetching time can be significant. Plans for asynchronous rendering in napari and tiled loading from OMERO may eventually improve the subjective performance... but remote data loading will likely always be a limitation here.

contributing

Contributions are welcome! To get setup with a development environment:

# clone this repo:
git clone https://github.com/tlambert03/napari-omero.git
# change into the new directory
cd napari-omero
# create conda environment
conda env create -f environment.yml
# activate the new env
conda activate napari-omero

To maintain good code quality, this repo uses flake8, mypy, and black. To enforce code quality when you commit code, you can install pre-commit

# install pre-commit which will run code checks prior to commits
pre-commit install

The original OMERO data loader and CLI extension was created by Will Moore.

The napari reader plugin and GUI browser was created by Talley Lambert

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

napari-omero-0.1.1rc1.tar.gz (10.2 MB view details)

Uploaded Source

Built Distribution

napari_omero-0.1.1rc1-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file napari-omero-0.1.1rc1.tar.gz.

File metadata

  • Download URL: napari-omero-0.1.1rc1.tar.gz
  • Upload date:
  • Size: 10.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for napari-omero-0.1.1rc1.tar.gz
Algorithm Hash digest
SHA256 f51b41b8c2aa97e93a60fb1ecbb4eba1f9baaaf15258d7f0dfcb88e5c9480363
MD5 d954ba8f44a6c8d7cc98de6c9f5d445d
BLAKE2b-256 8bc340016fc972635fd926f1be9e7712fe9a3bd043cd4443c0121fb1829f3349

See more details on using hashes here.

File details

Details for the file napari_omero-0.1.1rc1-py3-none-any.whl.

File metadata

  • Download URL: napari_omero-0.1.1rc1-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for napari_omero-0.1.1rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 9903ef1ebb76477d904e1ddc5e07200172510b1ab53ad99102edc2f1537d540c
MD5 c837a7ce6eff08e14bdbd19cb5b97630
BLAKE2b-256 36ed6289182c8f7acd9ce33d201b278e27ce573f8b111d82e0072522c4ce2b2a

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