ROI `shape` loading improvements and strategies
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 222
- Forks
- 105
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 1
Description
OMERO currently does not support a scalable strategy for loading a large number of shapes in the forms of regions of interest (ROI).
There are instances were users are creating and using images with large numbers of ROIs, sometimes in the regions of hundreds of thousands.
The current implementation in the JSON API returns ROIs as a composite object, containing shapes, details and other meta data. This results in a 13 second load time for a single HTTP request from the eel OMERO server and subsequently is limited to returning only 500 JSON array items.
Solution
-
Reduce server load by only fetching the exact data required to list all ROIs (this will still require a limit on max ROIs)
-
Add ability for loading ROIs by a viewport size and an x, y position for images of a high resolution
-
Add function for loading ROIs by timepoint
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the JSON API's list-ROIs documentation and its composite response of shapes and metadata. Trace the current ROI listing path and measure the request behavior described in the issue. Done means a scoped loading strategy that reduces unnecessary data and supports viewport position, viewport size, and timepoint filtering.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100