Skip to content

Zarr extension for stacked / concatenated virtual views #288

@jbms

Description

@jbms

Splitting out discussion from #287

See Ryan's comment here:

#287 (comment)

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions