Open
Description
Splitting out discussion from #287
See Ryan's comment here:
Stacking/virtual views are implemented in tensorstore here: https://google.github.io/tensorstore/driver/stack/index.html
A few points that I think need to be addressed:
- Specifying cropping and other coordinate transforms (see https://google.github.io/tensorstore/index_space.html#index-transform for inspiration)
- URL syntax to support (see Add ZEP 8 (URL syntax) draft zeps#48 for one possible solution)
- Recommendations for avoiding confused deputy problem (https://en.wikipedia.org/wiki/Confused_deputy_problem)
- Efficient representation: if you have just a small number of component arrays, then just specifying them in json directly works fine, but if you have a very large number of component arrays, it would be better to have a data structure that enables loading them on demand. The tensorstore stack driver internally constructs a non-regular (i.e. variably chunked) grid in-memory to represent the stack, which enables efficient access; each grid cell contains the tensorstore spec that indicates how to access the data within that cell. This grid could instead be stored as a zarr array (where each element of the zarr array represents one variably-sized grid cell of the concenated array); the data type would be string or json or similar and would somehow specify a reference to (a portion of) another zarr array.
Metadata
Metadata
Assignees
Labels
No labels