-
Notifications
You must be signed in to change notification settings - Fork 18
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
resolution levels not a factor of 2 #101
Comments
Thanks for opening the issue. This is something I've also run into using vizarr with To my knowledge, this is an assumption that deck.gl makes about image pyramids, so I'm not sure what it would take to support. In Viv extends deck.gl's It is my impression that to add this support, we'd either need to implement our own TileLayer or (preferably) improve the existing deck.gl TileLayer. Fundamentally, the challenge I see is that there is no standard in-memory representation for ndarrays in JavaScript (akin to the numpy-like interface). This means that deck.gl's TileLayer is designed around tile source formats, making requests directly for individual tiles, rather than interfaces that represent multi{scale,dimensional} data. A primary motivation in moving our loaders to |
I just tried another example where the factor between resolutions wasn't 2: The previously created example is still behaving strangely, https://hms-dbmi.github.io/vizarr/?source=https://minio-dev.openmicroscopy.org/idr/v0.4/idr0082/9846318.zarr/ so I'm not sure what the issue is with that sample... |
When using OMERO to provide a OME-Zarr interface via https://github.com/will-moore/omero-web-zarr
the size of each pyramid resolution is determined by the pyramid in the original file.
For svs images, the resolution levels are often not a factor of 2. e.g. sample image
https://downloads.openmicroscopy.org/images/SVS/77917.svs
Sizes of resolutions (X, Y) are:
The OME-Zarr spec doesn't specify any down-sampling info, so this should be valid, and I believe this is handled correctly in
napari
, although there are other async issues and tiles being re-loaded on every zoom that prevent me from testing this properly.It seems that vizarr assumes that each resolution is a factor of 2 smaller than the previous, so that in the image above, we get tiles incorrectly overlaid when moving from one resolution to the next:
Initial view is very-much smaller than expected (appears in the top-left of the screen):
I don't know if this can be handled in Vizarr, or if it needs to be handled at a lower level in deck.gl etc?
The text was updated successfully, but these errors were encountered: