Comments (1)
Thanks for opening the issue. This is something I've also run into using vizarr with napari-lazy-openslide
.
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 napari
, each resolution is represented as a separate ndarray with it's own shape
. To this end, napari
can inspect the available resolutions and determine how to fetch slices of data.
Viv extends deck.gl's TileLayer
, which fetches tiles based on tileSize
and maxZoom
alone. It has no knowledge of what resolutions are available, and implicitly also makes the assumption that tileSize
is consistent across resolutions (which is not necessarily true for OME-Zarr either).
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 loaders.gl
is the hope that we can work with the deck.gl community to unify these interfaces (e.g. PixelSource
). cc: @kylebarron
from vizarr.
Related Issues (20)
- v0.3 support HOT 10
- Missing JS assets when running in notebook HOT 5
- channel_axis is length undefined HOT 2
- OME-HCS Compatibility with vizarr HOT 4
- Is it possible to use vizarr for visualizing high-resolution streaming images? HOT 1
- View OME-NGFF collection of Images HOT 8
- Visualzation of ROIs embedded in ome.zarr? HOT 7
- Vizarr demo for Jupyterlab and JupyterLite in the browser HOT 1
- Example image link is broken HOT 3
- 3D visualization of volumetric data (e.g. segmentations) HOT 3
- View zarr loaded with napari_lazy_openslide HOT 6
- Allow setting z/t plane
- Issue with tissue image display HOT 4
- Channel range widget input HOT 1
- Support bioformats2raw layout HOT 11
- Counter-intuitive layer ordering
- colab notebook not working with zarr HOT 2
- Loading issue for OME-NGFF 0.4 dataset with large number of channels HOT 2
- Allow to set position via URL HOT 1
- Use naming convention for event listener names
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vizarr.