ROIs in OMERO.web
Tuesday Group Meeting
18th August, 2015
Will Moore
Talk outline
- Current state of ROI support
- Use cases:
- ROI Annotations
- Large ROI counts
- Editing of ROIs in webclient
- Adding ROIs to OMERO.figure
- Others? (3D ROIS ?!)
- Current work: Shape Editor
- Next: Shape Editor | OMERO.figure | webclient
Current state of ROI support
- Show ROI count in general pane
- In image viewer we load all ROIs as json on "Show ROIs"
- All Shapes shown in table (and ROIs if >1 shape)
- Shapes are shown on image for currently selected plane
- Click shape in table -> shown in viewer
- NO creating or editing of ROIs or Shapes
-
Filter Shapes
&
Load external ROIs
(CRS4)
Use Case: ROI Annotations
- Teaching applications: CRS4 & Virtual Microscope
- Need different categories (namespaces?) of Shapes
- Annotations have name, description? etc?
- Linked to external resources / terms E.g. Ontology
- Filter by type, owner, etc?
- First question: use Tags, Map Annotations or something else?
Use Case: Large ROI counts
- Loading ALL ROIs & shapes for image fails if there are too many
- Could load shapes for current plane only (for multi-plane images)
- For even larger numbers, might need to load by region or
render shapes on tiles
- Editing ROIS & shapes is harder, but probably not needed?
Use Case: Create shapes in web
- Need to support same use-cases as in Insight
- But, room for improvement of usability
- No restriction on 1 shape per plane per ROI
- Create new shapes with chosen Color, Line thickness etc
- While creating shapes, allow tweaking of last-added shape
- No support for 'smooth' shapes & Arrows
- ImageJ can serve as useful example of what users want
Use Case: Adding shapes to OMERO.figure...
...Adding shapes to OMERO.figure
- Don't need "ROI" support - just need "shapes"
- Shapes on figures tend to have NO fill (outline only)
- Want to add shapes from OMERO onto figures, AND draw shapes in figure
- 2 Use cases:
- 'Page' shapes - Drawn across whole page
- 'Panel' shapes - Attached to image panel
- Copy and paste a 'crop' region -> Rectangle and vice versa
- Need to be able to export shapes to PDF & TIFF figures
- Image panel rotation will be tricky (not supported)?
Getting Started: Editing shapes
- Couldn't find an existing shape editing library with desired functionality. E.g:
- Decided to try creating a toolkit using Raphael.js (as in webclient ROIs and OMERO.figure panel selection)...
Shape Editor
- In order to support shapes in OMERO.figure (and webclient?), started working on
shape-editor-js
- Handles shapes only (No ROIs)
- Currently only supports Line, Arrow, Rectangle, Ellipse.
- Poly-lines etc to come later
- No shape fill colors (transparent)
- Followed ImageJ behaviour for creation & tweaking of shapes
Next Tasks: OMERO.figure
- Integrate Shape Editor into OMERO.figure (Done)
- Export of shapes on PDF and TIFF figures
- Import of shapes from OMERO
- Copy & Paste of shapes / crop-regions etc
Next Tasks: Shape Editor
- Fix model - E.g. 'lineWidth' -> 'strokeWidth'
- Polygon & Freehand shapes
- Any need for Polyline or other shapes?
- Dashed lines
- Support for rotated images?!?
Next Tasks: ROI editing in webclient?
Saving ROIS/shapes to OMERO
- Can save 'Arrow' to OMERO with line.markerStart = 'Arrow' but not
supported in Insight
- Can save a 'Polygon' but can't distinguish it from 'Freehand' shape
- Use shape.strokeDashArray for dashed shapes. Insight support?