Skip to main content

napari/OMERO interoperability

Project description

napari-omero

License Version conda-forge 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 plugin

This package provides a napari reader plugin that accepts OMERO resources as "proxy strings" (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 a napari dock widget

The main OMERO browser widget can 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")

Or, to launch napari with this widget added automatically, run:

napari_omero

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 or 3.7 due to omero-py Ice dependencies. First install omero-py:

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

# then install this repo from github
pip install git+git://github.com/tlambert03/napari-omero

issues

  • experimental & definitely still buggy! Feel free to report issues.
  • remote loading can be very slow still... though this is not really an issue of this plugin. Datasets are wrapped as delayed dask stacks, and remote data fetching time can be significant. Plans for asynchronous rendering may eventually improve the subjective performance... but remote data loading will likely always be a limitation here.

contributions

Contributions are welcome. Please submit a PR.

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.0rc2.tar.gz (10.2 MB view hashes)

Uploaded Source

Built Distribution

napari_omero-0.1.0rc2-py3-none-any.whl (19.5 kB view hashes)

Uploaded Python 3

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