Skip to content

Vectortile investigation#227

Open
will-moore wants to merge 22 commits intoome:masterfrom
will-moore:vectortile_investigation
Open

Vectortile investigation#227
will-moore wants to merge 22 commits intoome:masterfrom
will-moore:vectortile_investigation

Conversation

@will-moore
Copy link
Copy Markdown
Member

@will-moore will-moore commented Jan 29, 2019

This is the first steps towards support of large numbers of ROIs in iviewer.

PR opened in 2019 and again in 2025, and updated to use an OMERO.table of the Shapes in the Image to support loading shapes by tile/region.

It uses a OpenLayers VectorTile layer to load shapes by tile.

Setup...

Screenshot 2025-03-27 at 15 51 32

Limitations / questions:

  • Currently we only allow loading of Shapes for the 100% zoom level. We don't have a "Pyramid" of objects as we do for tiles. If we want to be able to browse the whole image to see which regions have some ROIs in them, we'll need to think how to store a Pyramid of ROIs. Currently, clicking on a shape in the ROI Table browses to that shape at 100% zoom so you can see it.
  • In this PR, if the image has more ROIs than a single "page" then we use a VectorTile layer and TiledRegions source instead of the Vector layer and source/Regions class. This means that all the shape drawing and manipulation code in the source/Regions class is not available, so we can't drag, edit or draw shapes. If we want to support this in future we could possibly:
    • Use a VectorTile layer for showing existing shapes and add a Vector layer + Regions overlay to allow drawing new shapes.
    • OR investigate the drawing and editing of shapes in a TiledRegions source. This would probably involve splitting the existing source/Regions class to separate the drawing & editing code from the ol.source.Vector base class to allow reuse. Possibly a lot of refactoring!

Testing

  • Open the image in iviewer.
  • Loading ROIs tab should load the first 500 ROIs as before (SLOW!)
  • Then the centre panel loads ROI tiles for current T index.
  • Moving through T should load ROI on the image for new Time-point.
  • Pagination controls above the ROI table should work as expected (previous < and next > buttons and a range slider) and reload ROIs for the chosen page.
  • Clicking Shapes in the ROI table should take you to that shape and show it selected.
  • Clicking Shapes on the Image should select them and highlight the corresponding shape in the table IF that shape is currently loaded in the table. If NOT, we need a call to work out which page of ROIs the shape belongs to, then we load that page of the table (SLOW)!!
  • See that show/hide of shapes is working
  • Known issue: Labels aren't scaled correctly for Tiled ROIs - we don't have access to the image's scale in the same was as for Vector layer.
  • No creation or editing of ROIs is currently possible if > 500 ROIs. Otherwise this should behave as normal.

@will-moore
Copy link
Copy Markdown
Member Author

This was just to aid the discussion at ome/design#99, not to be merged or tested yet...

@will-moore
Copy link
Copy Markdown
Member Author

As discussed with @jburel, the ROI table pagination alone is a big win (allows access to all ROIs) and could be released ahead of the ROI Tiling. Moved that to #231.

@will-moore will-moore closed this Feb 6, 2019
will-moore added a commit to will-moore/omero-iviewer that referenced this pull request Feb 21, 2019
will-moore added a commit to will-moore/omero-iviewer that referenced this pull request Feb 21, 2019
@will-moore will-moore mentioned this pull request Feb 21, 2019
@will-moore will-moore reopened this Mar 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant