Skip to main content

@tissuumaps/storage

Official data provider distribution for TissUUmaps: implementations of the data provider interfaces of @tissuumaps/core for images, labels, points, shapes and tables.

Installation​

npm install @tissuumaps/storage

Its peer dependencies @tissuumaps/core, openseadragon, ome-zarr.js and zarrita are installed automatically by npm 7+, pnpm and Bun; with Yarn, install them yourself.

Entry points​

Each format has its own entry point, so that only the providers you use are bundled; the package root exports all of them.

Entry pointData providers
@tissuumaps/storage/csvCSV tables
@tissuumaps/storage/geojsonGeoJSON shapes
@tissuumaps/storage/hdf5HDF5 tables
@tissuumaps/storage/ome-zarrOME-Zarr images, labels
@tissuumaps/storage/openseadragonOpenSeadragon images
@tissuumaps/storage/parquetParquet shapes, tables
@tissuumaps/storage/tablepoints from tables
@tissuumaps/storage/tiffTIFF images, labels
@tissuumaps/storage/zarrZarr tables

The CSV, GeoJSON, HDF5 and Parquet providers parse, and the TIFF providers decode, in web workers loaded from blob: URLs. Under a Content Security Policy, allow them with worker-src blob:. The HDF5 provider, and the Parquet and TIFF providers for some compressions, run WebAssembly in these workers; allow it with script-src 'wasm-unsafe-eval'.

Documentation​

Known issues​

geotiff needs to be patched​

geotiff 3.0.5 misreads deferred tag values of big-endian TIFFs, and corrupts LZW-compressed tiles that it decodes on the main thread. The fixes are merged upstream but not yet released. Until they are, apply geotiff@3.0.5.patch to geotiff 3.0.5 in your project. This package depends on exactly that version, so the patch applies as long as your project does not override it. With pnpm, save it as patches/geotiff@3.0.5.patch and register it in pnpm-workspace.yaml:

patchedDependencies:
geotiff@3.0.5: patches/geotiff@3.0.5.patch

The patch is a git diff relative to the geotiff package root, so it can also be applied with other package managers' patching mechanisms. See Dependencies for details.

Classes​

Interfaces​

Type Aliases​

Variables​

Functions​