Adding web apps to OMERO

Comb Bio Seminar

8th December 2014

Will Moore

OMERO & web

Presentation Outline

  • My background
  • OME Project
  • OMERO
  • OMERO.web framework
  • App example: OMERO.figure

My background

  • Biochemistry at Bath Uni
  • PhD with Paul Clarke, Ninewells, Dundee
  • Postdoc with Jason Swedlow
  • MSc in Applied Computing
  • Joined OME team in 2007
    • OMERO.editor (Java)
    • OMERO.scripts (Python)
    • OMERO.web (Python, JS etc)

OME

Open Microscopy Environment

A typical microscopy
workflow

Interoperability

OMERO is a server with clients

OMERO API

OMERO.web framework


OMERO.web documentation

webgateway API


See WebGateway documentation

Show a Dataset of images


  # urls.py
  url( r'^dataset/(?P<datasetId>[0-9]+)/$', views.dataset ),
                    
  # views.py
  @login_required()
  def dataset(request, datasetId, conn=None, **kwargs):
    ds = conn.getObject("Dataset", datasetId)
    return render_to_response('dataset.html', {'dataset': ds})
                    

  <!-- dataset.html -->
  <html><body>

    <h1>{{ dataset.getName }}</h1>

    {% for i in dataset.listChildren %}
      <img src="{% url 'webgateway.views.render_thumbnail' i.id %}" />
      {{ i.getName }}
    {% endfor %}

  </body></html>
                    
See Creating an app documentation

App examples

OMERO.figure

http://will-moore.github.io/figure/

Services used by OMERO.figure

OMERO.figure tech

Future work

  • New OMERO.figure features
    • ROI support
    • Free form Labels
    • and lots more...
  • Improve webgateway coverage
    • Web apps are increasingly using json services
    • Need more complete json API
    • json services can be used by other clients

Thank you

  • Jason Swedlow
  • OME team