diff --git a/docs/index.md b/docs/index.md index 4b21c6ff7..afb23a4bf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -110,6 +110,7 @@ tutorials/notebooks/notebooks.md tutorials/notebooks/datasets/README.md glossary.md design_doc.md +interoperability.md contributing.md changelog.md references.md diff --git a/docs/interoperability.md b/docs/interoperability.md new file mode 100644 index 000000000..331450808 --- /dev/null +++ b/docs/interoperability.md @@ -0,0 +1,16 @@ +# Interoperability + +The on-disk representation of SpatialData can be read from other languages. Here we list interfaces for working with SpatialData from your language of choice: + +## R + +- [spatialdataR](https://helenalc.github.io/spatialdataR/) provides an R implementation of the `SpatialData` object, with out-of-memory images and labels, `duckdb`-backed points and shapes, and tables represented as `SingleCellExperiment` objects. + +## JavaScript and TypeScript + +- [SpatialData.js](https://github.com/Taylor-CCB-Group/SpatialData.js) provides a TypeScript and JavaScript library for interfacing with SpatialData stores. +- [Vitessce](https://vitessce.io/docs/data-file-types/#spatialdatazarr) reads `spatialdata.zarr` stores directly and uses them for interactive visualization. + +## File format + +The SpatialData on-disk format builds on [OME-NGFF](https://ngff.openmicroscopy.org/latest/). See the [design document](design_doc.md) for details of the current on-disk layout. diff --git a/src/spatialdata/_io/io_zarr.py b/src/spatialdata/_io/io_zarr.py index 7ba440533..9324f8b7f 100644 --- a/src/spatialdata/_io/io_zarr.py +++ b/src/spatialdata/_io/io_zarr.py @@ -5,7 +5,7 @@ from collections.abc import Callable from json import JSONDecodeError from pathlib import Path -from typing import Any, Literal, cast +from typing import Any, Literal import zarr.storage from anndata import AnnData @@ -71,7 +71,7 @@ def _read_zarr_group_spatialdata_element( reader_format = get_raster_format_for_read(elem_group, sdata_version) element = read_func( elem_group_path, - cast(Literal["image", "labels"], element_type), + element_type, reader_format, ) elif element_type in ["shapes", "points", "tables"]: