-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modify extension to request raw tiles when possible #1
Modify extension to request raw tiles when possible #1
Conversation
This probably needs to be configurable, but works for initial testing.
As noted in comments, OMERO expects resolution indexes to be specified in reverse order compared to Bio-Formats/QuPath.
pixelbuffer is what we actually use to load raw tiles.
I think the |
@muhanadz : build is now passing here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few issues I've encountered while testing:
- Login always fails first time:
However the server is added to the list of server and works if clicked from the extentions menu:
- I cannot load none uint8 + 3 channel images:
Without PR:
I'd expect to be able to load all images since we're getting the raw tiles.
Otherwise valid images load as expected, but will need to further test and confirm that the microservices are being used.
Testing on QuPath 0.4.4 macOS 13.5.1, M1. Happy to switch to a windows environment for less unknown variables if needed.
All of the work here was against QuPath 0.3.2 as agreed approximately a year ago; I don't think we had discussed moving to a newer version of QuPath. I can reproduce the issues above, all of which are a result of not being able to find the session cookie after login. That means there is no communication with the microservice at all because the If you test with QuPath 0.3.2, I'd expect all of this to work (keep in mind this is a public PR if adding screenshots). Before I update this PR, let's decide for sure which QuPath version we're now targeting, as I'd expect 0.4.x and 0.5.x to require different amounts of work. |
I believe the last 3 commits here are sufficient to upgrade from QuPath 0.3.2 to 0.5.1. @muhanadz, if you see any issues with 0.5.1 and the latest build (https://github.com/glencoesoftware/qupath-extension-omero/actions/runs/8257393991?pr=1) just let me know. |
Introduced in 4e819fe: When adding the extension for the first time and trying to add a server, since there are no servers added by default, the JSON deserialisation fails and the
No way currently to avoid the exception and add a server since it's trying to iterate |
660edd4 should fix the issue noted in #1 (comment). |
Thank Melissa for the changes. I can now connect to an omero server and retrieve images fine. I'll continue with the thorough testing on that. Meanwhile a small issue I noticed when logging in. The server gets duplicated from the Then when I connect to a server, |
5d64b83 should fix the issue noted in #1 (comment). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested with connections to different valid servers. Microservices are used when detected, otherwise falls back to previous behaviour. If Microservices are present, able to load multi-channel images not only uint8 but also uint16 uint32 uint64. Tile loading takes 2-3 seconds depends on connection and distance to the server but that's expected and doesn't seem to be an issue. Downstream analysis with QuPath works as expected such as cell detection. Sending ROIs from QuPath to OMERO via the extension work as expected as long as iviewer is installed and configured correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At first glance the proposed changes make sense. Talking to Muhanad, there has been some recent evolution upstream as this extension has been renamed as qupath-extension-omero-web
(but the artifact name is still qupath-extension-omero
) and work has started on a new experimental https://github.com/qupath/qupath-extension-omero extension still released below 0.1.0 that should include native support for OMERO deployments with micro-services amongst others. The QuPath documentation has been updated accordingly - see https://qupath.readthedocs.io/en/stable/docs/advanced/omero.html#omero-extension.
As the above is already confusing, my best suggestion would be to match the upstream name i.e.
- rename this fork (and any of our forks) as
qupath-extension-omero-web
- keep the artifact name as
qupath-extension-omero
like upstream - use a version with a suffix indicating this is our custom build on top of the official QuPath extension release e.g.
0.4.0-gs
or0.4.1-gs
- update the readme to describe the intent of this fork i.e. adding micro-service support to the qupath-extension-omero-web extension
- also include the blurb above to the release notes on the GitHub release page
In addition to the above, should we try to sync the changes made upstream in v0.4.0
? Looking at the [diff
(https://github.com/glencoesoftware/qupath-extension-omero/compare/main...qupath:qupath-extension-omero-web:v0.4.0), the main changes are:
- refactoring of the top-level build configuration
- Gradle wrapper upgrade to 8.6
- miscellaneous changes to the source code - some of them overlapping with changes on this branch e.g.
OmeroWebClientsCommand.java
orOmeroWebImageServerBrowserCommand.java
...so it's clearer that builds are from our fork, not upstream.
…ero into raw-tiles
No objection, but it doesn't look like I have permission to do this.
👍
0095d5a updates to
Done in b178bd2.
Can do when we merge this and tag the release.
See #2. I had intended to push directly to
|
…ero into raw-tiles
Conflicts fixed and latest build is passing, so ready for re-testing as discussed. The |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Performed similar tests mentioned in the previous comment #1 (review), all looks good to me ✅
The OMERO extension version is now listed correctly in the Extension manager
which was "unknown" before:
The GitHub button link redirects to https://github.com/qupath/qupath-extension-omero. Might be worth making a change to redirect it to this repository.
eedc8c5 should fix the GitHub button in the extension manager to point to this repository. Note that is an actual code change, not a build configuration change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The button now redirects to this repository, hopefully this change clears any confusion.
Thanks, looks great.
Thanks @muhanadz. Merging as discussed, in preparation for release. |
If the server can supply raw tiles via microservices, request them directly. This expands the range of data types supported to more than just 3 channel/uint8.
/cc @muhanadz