@vitessce/all 3.6.11 → 3.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs, aV as requireAssign, aW as require_export, aX as require_core, aY as require_fails, aZ as require_toObject, a_ as require_objectKeys, a$ as require_cof, b0 as require_wks, b1 as require_iterators, b2 as requireWeb_dom_iterable, b3 as requireEs6_string_iterator, b4 as require_anObject, b5 as require_hide, b6 as require_ctx, b7 as require_toLength, b8 as require_global, b9 as require_objectDp, ba as require_descriptors, bb as require_isObject, bc as require_objectCreate, bd as require_iterDefine, be as require_iterStep, bf as require_meta, bg as require_isArray, bh as require_iobject, bi as require_setToStringTag, bj as require_aFunction, bk as requireIterator, bl as require_propertyDesc, aS as commonjsGlobal, bm as requireEs6_symbol, bn as requireDefineProperty, bo as require_toIobject, bp as require_objectGopd, bq as require_html, br as require_domCreate, bs as require_library, bt as requireSymbol, bu as require_objectPie, bv as require_has, bw as require_redefine, bx as require_objectAssign, by as getAugmentedNamespace, bz as requirePropTypes, aI as jsxRuntimeExports } from "./index-Dr34Nsn3.js";
1
+ import { g as getDefaultExportFromCjs, aV as requireAssign, aW as require_export, aX as require_core, aY as require_fails, aZ as require_toObject, a_ as require_objectKeys, a$ as require_cof, b0 as require_wks, b1 as require_iterators, b2 as requireWeb_dom_iterable, b3 as requireEs6_string_iterator, b4 as require_anObject, b5 as require_hide, b6 as require_ctx, b7 as require_toLength, b8 as require_global, b9 as require_objectDp, ba as require_descriptors, bb as require_isObject, bc as require_objectCreate, bd as require_iterDefine, be as require_iterStep, bf as require_meta, bg as require_isArray, bh as require_iobject, bi as require_setToStringTag, bj as require_aFunction, bk as requireIterator, bl as require_propertyDesc, aS as commonjsGlobal, bm as requireEs6_symbol, bn as requireDefineProperty, bo as require_toIobject, bp as require_objectGopd, bq as require_html, br as require_domCreate, bs as require_library, bt as requireSymbol, bu as require_objectPie, bv as require_has, bw as require_redefine, bx as require_objectAssign, by as getAugmentedNamespace, bz as requirePropTypes, aI as jsxRuntimeExports } from "./index-DcZv7teI.js";
2
2
  import React__default from "react";
3
3
  var lib = {};
4
4
  var assignExports = requireAssign();
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { aP as BaseDecoder } from "./index-Dr34Nsn3.js";
2
+ import { aP as BaseDecoder } from "./index-DcZv7teI.js";
3
3
  class DeflateDecoder extends BaseDecoder {
4
4
  decodeBlock(buffer) {
5
5
  return inflate_1(new Uint8Array(buffer)).buffer;
@@ -1,7 +1,7 @@
1
1
  import * as React$7 from "react";
2
2
  import React__default, { isValidElement, PureComponent, Component, createElement, createContext, createRef } from "react";
3
3
  import ReactDOM__default, { findDOMNode as findDOMNode$1 } from "react-dom";
4
- import { aS as commonjsGlobal$1, aT as requireObjectAssign, g as getDefaultExportFromCjs$1, aU as earcut } from "./index-Dr34Nsn3.js";
4
+ import { aS as commonjsGlobal$1, aT as requireObjectAssign, g as getDefaultExportFromCjs$1, aU as earcut } from "./index-DcZv7teI.js";
5
5
  var promise = {};
6
6
  var hasRequiredPromise;
7
7
  function requirePromise() {
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs, R as Raycaster, O as OrthographicCamera, P as PerspectiveCamera, S as Scene, a as PCFSoftShadowMap, V as VSMShadowMap, b as PCFShadowMap, B as BasicShadowMap, N as NoToneMapping, A as ACESFilmicToneMapping, c as Vector3, d as Vector2, C as Clock, W as WebGLRenderer, e as Camera, f as BufferGeometry, M as Material, L as Layers, T as Texture, h as RGBAFormat, U as UnsignedByteType, i as Color, _ as _extends, j as THREE, G as Group, k as Matrix4, l as TrianglesDrawMode, m as TriangleFanDrawMode, n as TriangleStripDrawMode, o as REVISION, E as EventDispatcher, p as MOUSE, q as TOUCH, r as Spherical, Q as Quaternion, s as Ray$1, t as Plane, u as Loader, v as LoaderUtils, F as FileLoader, w as MeshPhysicalMaterial, x as SpotLight, y as PointLight, D as DirectionalLight, I as InstancedMesh, z as Object3D, H as TextureLoader, J as ImageBitmapLoader, K as BufferAttribute, X as InterleavedBuffer, Y as LinearMipmapLinearFilter, Z as NearestMipmapLinearFilter, $ as LinearMipmapNearestFilter, a0 as NearestMipmapNearestFilter, a1 as LinearFilter, a2 as NearestFilter, a3 as RepeatWrapping, a4 as MirroredRepeatWrapping, a5 as ClampToEdgeWrapping, a6 as PointsMaterial, a7 as LineBasicMaterial, a8 as MeshStandardMaterial, a9 as DoubleSide, aa as MeshBasicMaterial, ab as PropertyBinding, ac as SkinnedMesh, ad as Mesh, ae as LineSegments, af as Line$1, ag as LineLoop, ah as Points, ai as MathUtils, aj as Skeleton, ak as InterpolateDiscrete, al as InterpolateLinear, am as AnimationClip, an as Bone, ao as InterleavedBufferAttribute, ap as VectorKeyframeTrack, aq as QuaternionKeyframeTrack, ar as NumberKeyframeTrack, as as FrontSide, at as Interpolant, au as Box3, av as Sphere, aw as InstancedBufferGeometry, ax as Float32BufferAttribute, ay as InstancedInterleavedBuffer, az as WireframeGeometry, aA as ShaderMaterial, aB as UniformsUtils, aC as UniformsLib, aD as Vector4, aE as Line3, aF as SphereGeometry, aG as Triangle, aH as BackSide, aI as jsxRuntimeExports, aJ as Matrix3, aK as CoordinationType, aL as Data3DTexture, aM as RedFormat, aN as FloatType, aO as getImageSize } from "./index-Dr34Nsn3.js";
1
+ import { g as getDefaultExportFromCjs, R as Raycaster, O as OrthographicCamera, P as PerspectiveCamera, S as Scene, a as PCFSoftShadowMap, V as VSMShadowMap, b as PCFShadowMap, B as BasicShadowMap, N as NoToneMapping, A as ACESFilmicToneMapping, c as Vector3, d as Vector2, C as Clock, W as WebGLRenderer, e as Camera, f as BufferGeometry, M as Material, L as Layers, T as Texture, h as RGBAFormat, U as UnsignedByteType, i as Color, _ as _extends, j as THREE, G as Group, k as Matrix4, l as TrianglesDrawMode, m as TriangleFanDrawMode, n as TriangleStripDrawMode, o as REVISION, E as EventDispatcher, p as MOUSE, q as TOUCH, r as Spherical, Q as Quaternion, s as Ray$1, t as Plane, u as Loader, v as LoaderUtils, F as FileLoader, w as MeshPhysicalMaterial, x as SpotLight, y as PointLight, D as DirectionalLight, I as InstancedMesh, z as Object3D, H as TextureLoader, J as ImageBitmapLoader, K as BufferAttribute, X as InterleavedBuffer, Y as LinearMipmapLinearFilter, Z as NearestMipmapLinearFilter, $ as LinearMipmapNearestFilter, a0 as NearestMipmapNearestFilter, a1 as LinearFilter, a2 as NearestFilter, a3 as RepeatWrapping, a4 as MirroredRepeatWrapping, a5 as ClampToEdgeWrapping, a6 as PointsMaterial, a7 as LineBasicMaterial, a8 as MeshStandardMaterial, a9 as DoubleSide, aa as MeshBasicMaterial, ab as PropertyBinding, ac as SkinnedMesh, ad as Mesh, ae as LineSegments, af as Line$1, ag as LineLoop, ah as Points, ai as MathUtils, aj as Skeleton, ak as InterpolateDiscrete, al as InterpolateLinear, am as AnimationClip, an as Bone, ao as InterleavedBufferAttribute, ap as VectorKeyframeTrack, aq as QuaternionKeyframeTrack, ar as NumberKeyframeTrack, as as FrontSide, at as Interpolant, au as Box3, av as Sphere, aw as InstancedBufferGeometry, ax as Float32BufferAttribute, ay as InstancedInterleavedBuffer, az as WireframeGeometry, aA as ShaderMaterial, aB as UniformsUtils, aC as UniformsLib, aD as Vector4, aE as Line3, aF as SphereGeometry, aG as Triangle, aH as BackSide, aI as jsxRuntimeExports, aJ as Matrix3, aK as CoordinationType, aL as Data3DTexture, aM as RedFormat, aN as FloatType, aO as getImageSize } from "./index-DcZv7teI.js";
2
2
  import * as React from "react";
3
3
  import React__default, { useReducer, useRef, useEffect, useLayoutEffect, useDebugValue, useState, useMemo, forwardRef } from "react";
4
4
  var constants = { exports: {} };
@@ -23637,7 +23637,7 @@ const Text = /* @__PURE__ */ React.forwardRef(({
23637
23637
  const {
23638
23638
  Text: TextMeshImpl,
23639
23639
  preloadFont
23640
- } = suspend(async () => import("./troika-three-text.esm-C4mcmvqE.js"), []);
23640
+ } = suspend(async () => import("./troika-three-text.esm-DLsbwboO.js"), []);
23641
23641
  const invalidate2 = useThree(({
23642
23642
  invalidate: invalidate3
23643
23643
  }) => invalidate3);
@@ -209669,22 +209669,22 @@ async function getDecoder(fileDirectory) {
209669
209669
  const Decoder = await importFn();
209670
209670
  return new Decoder(fileDirectory);
209671
209671
  }
209672
- addDecoder([void 0, 1], () => import("./raw-BloA4686.js").then((m2) => m2.default));
209673
- addDecoder(5, () => import("./lzw-DhNvTBt-.js").then((m2) => m2.default));
209672
+ addDecoder([void 0, 1], () => import("./raw-DqALOEt-.js").then((m2) => m2.default));
209673
+ addDecoder(5, () => import("./lzw-kKlj6Pam.js").then((m2) => m2.default));
209674
209674
  addDecoder(6, () => {
209675
209675
  throw new Error("old style JPEG compression is not supported.");
209676
209676
  });
209677
- addDecoder(7, () => import("./jpeg-BchP2GI5.js").then((m2) => m2.default));
209678
- addDecoder([8, 32946], () => import("./deflate-DlNs33aU.js").then((m2) => m2.default));
209679
- addDecoder(32773, () => import("./packbits-C6We0BcA.js").then((m2) => m2.default));
209677
+ addDecoder(7, () => import("./jpeg-DY_DkYi3.js").then((m2) => m2.default));
209678
+ addDecoder([8, 32946], () => import("./deflate-B2CAUF5S.js").then((m2) => m2.default));
209679
+ addDecoder(32773, () => import("./packbits-DzhxlAeC.js").then((m2) => m2.default));
209680
209680
  addDecoder(
209681
209681
  34887,
209682
- () => import("./lerc-Yewj5Mkt.js").then(async (m2) => {
209682
+ () => import("./lerc-Bz6jtDu9.js").then(async (m2) => {
209683
209683
  await m2.zstd.init();
209684
209684
  return m2;
209685
209685
  }).then((m2) => m2.default)
209686
209686
  );
209687
- addDecoder(50001, () => import("./webimage-DyPRDNMg.js").then((m2) => m2.default));
209687
+ addDecoder(50001, () => import("./webimage-B46sb8Pc.js").then((m2) => m2.default));
209688
209688
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
209689
209689
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
209690
209690
  }
@@ -247593,6 +247593,61 @@ function abbreviateNumber(value2) {
247593
247593
  return naive;
247594
247594
  return value2.toExponential(0);
247595
247595
  }
247596
+ class DAG {
247597
+ /**
247598
+ * DAG constructor.
247599
+ * @param {{ from: string, to: string, attributes: any}[]} edges
247600
+ */
247601
+ constructor(edges) {
247602
+ this.graph = /* @__PURE__ */ new Map();
247603
+ this.edgeData = new InternMap$1([], JSON.stringify);
247604
+ edges.forEach((edge) => {
247605
+ const { from: from2, to } = edge;
247606
+ if (!this.graph.has(from2)) {
247607
+ this.graph.set(from2, []);
247608
+ }
247609
+ this.graph.get(from2).push(to);
247610
+ this.edgeData.set([from2, to], edge.attributes);
247611
+ });
247612
+ }
247613
+ /**
247614
+ * Find a path from start to end using DFS.
247615
+ * @param {string} start
247616
+ * @param {string} end
247617
+ * @returns {{ from: string, to: string, attributes: any }[] | null} Returns
247618
+ * the path as an array of edges or null if no path exists.
247619
+ */
247620
+ findPath(start2, end2) {
247621
+ const path2 = [];
247622
+ const visited = /* @__PURE__ */ new Set();
247623
+ const dfs = (node2) => {
247624
+ if (node2 === end2) {
247625
+ return true;
247626
+ }
247627
+ visited.add(node2);
247628
+ const neighbors = this.graph.get(node2) || [];
247629
+ for (const neighbor of neighbors) {
247630
+ if (!visited.has(neighbor)) {
247631
+ path2.push([node2, neighbor]);
247632
+ if (dfs(neighbor)) {
247633
+ return true;
247634
+ }
247635
+ path2.pop();
247636
+ }
247637
+ }
247638
+ return false;
247639
+ };
247640
+ const found = dfs(start2);
247641
+ if (found) {
247642
+ return path2.map(([from2, to]) => ({
247643
+ from: from2,
247644
+ to,
247645
+ attributes: this.edgeData.get([from2, to])
247646
+ }));
247647
+ }
247648
+ return null;
247649
+ }
247650
+ }
247596
247651
  function getSourceFromLoader(loader2, level) {
247597
247652
  const { data: data2 } = loader2;
247598
247653
  const source2 = Array.isArray(data2) ? data2[data2.length - 1] : data2;
@@ -247904,8 +247959,14 @@ function coordinateTransformationsToMatrix(coordinateTransformations, axes) {
247904
247959
  }
247905
247960
  } else if (spatialOutputAxes.length === 2) {
247906
247961
  const nextMat = new Matrix4$1().fromArray([
247907
- ...filteredAffine[0],
247908
- ...filteredAffine[1],
247962
+ filteredAffine[0][0],
247963
+ filteredAffine[0][1],
247964
+ 0,
247965
+ filteredAffine[0][2],
247966
+ filteredAffine[1][0],
247967
+ filteredAffine[1][1],
247968
+ 0,
247969
+ filteredAffine[1][2],
247909
247970
  0,
247910
247971
  0,
247911
247972
  1,
@@ -247921,6 +247982,7 @@ function coordinateTransformationsToMatrix(coordinateTransformations, axes) {
247921
247982
  const swapMat = new Matrix4$1().fromArray(swapMatNested.flat());
247922
247983
  mat = mat.multiplyLeft(swapMat);
247923
247984
  }
247985
+ mat = mat.transpose();
247924
247986
  } else {
247925
247987
  throw new Error("Affine transformation must have 2 or 3 rows.");
247926
247988
  }
@@ -247947,6 +248009,9 @@ function coordinateTransformationsToMatrix(coordinateTransformations, axes) {
247947
248009
  }
247948
248010
  });
247949
248011
  }
248012
+ if (mat.some((value2) => Number.isNaN(value2))) {
248013
+ throw new Error("Matrix contains NaN values");
248014
+ }
247950
248015
  return mat;
247951
248016
  }
247952
248017
  function hexToRgb(hex2) {
@@ -247965,6 +248030,9 @@ function normalizeAxes(axes) {
247965
248030
  return axisInfo;
247966
248031
  });
247967
248032
  }
248033
+ function getIntrinsicCoordinateSystem(normAxes) {
248034
+ return normAxes.map((axis2) => axis2.name).join("");
248035
+ }
247968
248036
  function normalizeCoordinateTransformations(coordinateTransformations, datasets) {
247969
248037
  var _a3;
247970
248038
  let result = [];
@@ -247972,35 +248040,13 @@ function normalizeCoordinateTransformations(coordinateTransformations, datasets)
247972
248040
  result = coordinateTransformations.flatMap((transform3) => {
247973
248041
  if (transform3.input && transform3.output) {
247974
248042
  const { type: type2 } = transform3;
247975
- if (type2 === "translation") {
247976
- return {
247977
- type: type2,
247978
- translation: transform3.translation
247979
- };
247980
- }
247981
- if (type2 === "scale") {
247982
- return {
247983
- type: type2,
247984
- scale: transform3.scale
247985
- };
247986
- }
247987
- if (type2 === "affine") {
247988
- return {
247989
- type: type2,
247990
- affine: transform3.affine,
247991
- // Affine transformations can potentially swap axes,
247992
- // so we need to include the input and output axes.
247993
- input: transform3.input,
247994
- output: transform3.output
247995
- };
247996
- }
247997
- if (type2 === "identity") {
247998
- return { type: type2 };
247999
- }
248000
248043
  if (type2 === "sequence") {
248001
- return normalizeCoordinateTransformations(transform3.transformations, datasets);
248044
+ return normalizeCoordinateTransformations(transform3.transformations, null);
248045
+ }
248046
+ if (type2 === "affine" || type2 === "translation" || type2 === "scale" || type2 === "identity") {
248047
+ return transform3;
248002
248048
  }
248003
- log$b.warn(`Coordinate transformation type "${type2}" is not supported.`);
248049
+ log$b.error(`Coordinate transformation type "${type2}" is not supported.`);
248004
248050
  }
248005
248051
  return transform3;
248006
248052
  });
@@ -248013,6 +248059,27 @@ function normalizeCoordinateTransformations(coordinateTransformations, datasets)
248013
248059
  }
248014
248060
  return result;
248015
248061
  }
248062
+ function coordinateTransformationsToMatrixForSpatialData(ngffMetadata, targetCoordinateSystem) {
248063
+ const { datasets, coordinateTransformations, axes } = ngffMetadata;
248064
+ const normAxes = normalizeAxes(axes);
248065
+ const intrinsicCoordinateSystem = getIntrinsicCoordinateSystem(normAxes);
248066
+ const edges = coordinateTransformations.map((ct) => ({
248067
+ from: ct.input.name,
248068
+ to: ct.output.name,
248069
+ attributes: ct
248070
+ }));
248071
+ const dag = new DAG(edges);
248072
+ const ctPath = dag.findPath(intrinsicCoordinateSystem, targetCoordinateSystem);
248073
+ if (!ctPath) {
248074
+ if (!coordinateTransformations.find((ct) => ct.output.name === targetCoordinateSystem)) {
248075
+ throw new Error(`No coordinate transformation found with output.name "${targetCoordinateSystem}".`);
248076
+ }
248077
+ throw new Error(`No path found from "${intrinsicCoordinateSystem}" to "${targetCoordinateSystem}".`);
248078
+ }
248079
+ const filteredTransformations = ctPath.map((ctEdge) => ctEdge.attributes);
248080
+ const normalizedTransformations = normalizeCoordinateTransformations(filteredTransformations, datasets);
248081
+ return coordinateTransformationsToMatrix(normalizedTransformations, normAxes);
248082
+ }
248016
248083
  class NodeNotFoundError extends Error {
248017
248084
  constructor(context2, options = {}) {
248018
248085
  super(`Node not found: ${context2}`, options);
@@ -253493,7 +253560,7 @@ class ErrorBoundary extends React__default.Component {
253493
253560
  }
253494
253561
  }
253495
253562
  const LazySpatialThree = React__default.lazy(async () => {
253496
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-xo9xcZLg.js");
253563
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-DG6RbZza.js");
253497
253564
  return { default: SpatialWrapper2 };
253498
253565
  });
253499
253566
  const SpatialThreeAdapter = React__default.forwardRef((props, ref2) => jsxRuntimeExports.jsx("div", { ref: ref2, style: { width: "100%", height: "100%" }, children: jsxRuntimeExports.jsx(ErrorBoundary, { children: jsxRuntimeExports.jsx(Suspense, { fallback: jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: jsxRuntimeExports.jsx(LazySpatialThree, { ...props }) }) }) }));
@@ -265334,7 +265401,7 @@ function HiglassGlobalStyles(props) {
265334
265401
  }
265335
265402
  register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
265336
265403
  const LazyHiGlassComponent = React__default.lazy(async () => {
265337
- const { HiGlassComponent } = await import("./higlass-cF4tD6Th.js");
265404
+ const { HiGlassComponent } = await import("./higlass-DNEa7gM7.js");
265338
265405
  return { default: HiGlassComponent };
265339
265406
  });
265340
265407
  const HG_SIZE = 800;
@@ -268278,7 +268345,7 @@ function NeuroglancerGlobalStyles(props) {
268278
268345
  const { classes: classes2 } = props;
268279
268346
  return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
268280
268347
  }
268281
- const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-ByxOvkt_.js"));
268348
+ const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-D4Xivd2K.js"));
268282
268349
  function createWorker() {
268283
268350
  return new WorkerFactory();
268284
268351
  }
@@ -325823,13 +325890,22 @@ class ImageWrapper {
325823
325890
  return this.modelMatrix;
325824
325891
  }
325825
325892
  _getModelMatrix() {
325826
- const { coordinateTransformations: coordinateTransformationsFromOptions } = this.options;
325893
+ const { coordinateSystem = "global", coordinateTransformations: coordinateTransformationsFromOptions } = this.options;
325827
325894
  if ("multiscales" in this.vivLoader.metadata) {
325828
325895
  const { multiscales: [{ datasets, coordinateTransformations: coordinateTransformationsFromFile, axes }] } = this.vivLoader.metadata;
325829
325896
  const ngffAxes = getNgffAxes(axes);
325830
325897
  const transformMatrixFromOptions = coordinateTransformationsToMatrix(coordinateTransformationsFromOptions, ngffAxes);
325831
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, datasets);
325832
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, ngffAxes);
325898
+ let transformMatrixFromFile;
325899
+ if ("spatialdata_attrs" in this.vivLoader.metadata) {
325900
+ transformMatrixFromFile = coordinateTransformationsToMatrixForSpatialData(
325901
+ // Pass the first multiscales element.
325902
+ this.vivLoader.metadata.multiscales[0],
325903
+ coordinateSystem
325904
+ );
325905
+ } else {
325906
+ const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, datasets);
325907
+ transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, ngffAxes);
325908
+ }
325833
325909
  const transformMatrix = transformMatrixFromFile.multiplyLeft(transformMatrixFromOptions);
325834
325910
  return transformMatrix;
325835
325911
  }
@@ -326321,16 +326397,7 @@ class SpatialDataLabelsLoader extends SpatialDataImageLoader {
326321
326397
  return result;
326322
326398
  }
326323
326399
  }
326324
- function getCoordsPath(path2) {
326325
- return `${path2}/coords`;
326326
- }
326327
- function getRadiusPath(path2) {
326328
- return `${path2}/radius`;
326329
- }
326330
- function getGeometryPath$1(path2) {
326331
- return `${path2}/geometry`;
326332
- }
326333
- const DEFAULT_AXES$1 = [
326400
+ const OLD_SHAPES_DEFAULT_AXES = [
326334
326401
  {
326335
326402
  name: "x",
326336
326403
  type: "space",
@@ -326342,7 +326409,7 @@ const DEFAULT_AXES$1 = [
326342
326409
  unit: "unit"
326343
326410
  }
326344
326411
  ];
326345
- const DEFAULT_COORDINATE_TRANSFORMATIONS$1 = [
326412
+ const OLD_SHAPES_DEFAULT_COORDINATE_TRANSFORMATIONS = [
326346
326413
  {
326347
326414
  input: {
326348
326415
  axes: [
@@ -326377,6 +326444,15 @@ const DEFAULT_COORDINATE_TRANSFORMATIONS$1 = [
326377
326444
  type: "identity"
326378
326445
  }
326379
326446
  ];
326447
+ function getCoordsPath(path2) {
326448
+ return `${path2}/coords`;
326449
+ }
326450
+ function getRadiusPath(path2) {
326451
+ return `${path2}/radius`;
326452
+ }
326453
+ function getGeometryPath$1(path2) {
326454
+ return `${path2}/geometry`;
326455
+ }
326380
326456
  class SpatialDataObsSpotsLoader extends AbstractTwoStepLoader {
326381
326457
  async loadModelMatrix() {
326382
326458
  const { path: path2, coordinateSystem = "global" } = this.options;
@@ -326384,12 +326460,9 @@ class SpatialDataObsSpotsLoader extends AbstractTwoStepLoader {
326384
326460
  return this.modelMatrix;
326385
326461
  }
326386
326462
  const zattrs = await this.dataSource.loadSpatialDataElementAttrs(path2);
326387
- const coordinateTransformationsFromFile = ((zattrs == null ? void 0 : zattrs.coordinateTransformations) || DEFAULT_COORDINATE_TRANSFORMATIONS$1).filter(({ input: { name: inputName }, output: { name: outputName } }) => inputName === "xy" && outputName === coordinateSystem);
326388
- const axes = (zattrs == null ? void 0 : zattrs.axes) ?? DEFAULT_AXES$1;
326389
- const normAxes = normalizeAxes(axes);
326390
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, null);
326391
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, normAxes);
326392
- this.modelMatrix = transformMatrixFromFile;
326463
+ const coordinateTransformations = (zattrs == null ? void 0 : zattrs.coordinateTransformations) ?? OLD_SHAPES_DEFAULT_COORDINATE_TRANSFORMATIONS;
326464
+ const axes = (zattrs == null ? void 0 : zattrs.axes) ?? OLD_SHAPES_DEFAULT_AXES;
326465
+ this.modelMatrix = coordinateTransformationsToMatrixForSpatialData({ axes, coordinateTransformations }, coordinateSystem);
326393
326466
  return this.modelMatrix;
326394
326467
  }
326395
326468
  /**
@@ -326488,53 +326561,6 @@ class SpatialDataObsSpotsLoader extends AbstractTwoStepLoader {
326488
326561
  function getGeometryPath(path2) {
326489
326562
  return `${path2}/geometry`;
326490
326563
  }
326491
- const DEFAULT_AXES = [
326492
- {
326493
- name: "x",
326494
- type: "space",
326495
- unit: "unit"
326496
- },
326497
- {
326498
- name: "y",
326499
- type: "space",
326500
- unit: "unit"
326501
- }
326502
- ];
326503
- const DEFAULT_COORDINATE_TRANSFORMATIONS = [
326504
- {
326505
- input: {
326506
- axes: [
326507
- {
326508
- name: "x",
326509
- type: "space",
326510
- unit: "unit"
326511
- },
326512
- {
326513
- name: "y",
326514
- type: "space",
326515
- unit: "unit"
326516
- }
326517
- ],
326518
- name: "xy"
326519
- },
326520
- output: {
326521
- axes: [
326522
- {
326523
- name: "x",
326524
- type: "space",
326525
- unit: "unit"
326526
- },
326527
- {
326528
- name: "y",
326529
- type: "space",
326530
- unit: "unit"
326531
- }
326532
- ],
326533
- name: "global"
326534
- },
326535
- type: "identity"
326536
- }
326537
- ];
326538
326564
  class SpatialDataObsSegmentationsLoader extends AbstractTwoStepLoader {
326539
326565
  async loadModelMatrix() {
326540
326566
  const { path: path2, coordinateSystem = "global" } = this.options;
@@ -326542,12 +326568,9 @@ class SpatialDataObsSegmentationsLoader extends AbstractTwoStepLoader {
326542
326568
  return this.modelMatrix;
326543
326569
  }
326544
326570
  const zattrs = await this.dataSource.loadSpatialDataElementAttrs(path2);
326545
- const coordinateTransformationsFromFile = ((zattrs == null ? void 0 : zattrs.coordinateTransformations) ?? DEFAULT_COORDINATE_TRANSFORMATIONS).filter(({ input: { name: inputName }, output: { name: outputName } }) => inputName === "xy" && outputName === coordinateSystem);
326546
- const axes = (zattrs == null ? void 0 : zattrs.axes) ?? DEFAULT_AXES;
326547
- const normAxes = normalizeAxes(axes);
326548
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, null);
326549
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, normAxes);
326550
- this.modelMatrix = transformMatrixFromFile;
326571
+ const coordinateTransformations = (zattrs == null ? void 0 : zattrs.coordinateTransformations) ?? OLD_SHAPES_DEFAULT_COORDINATE_TRANSFORMATIONS;
326572
+ const axes = (zattrs == null ? void 0 : zattrs.axes) ?? OLD_SHAPES_DEFAULT_AXES;
326573
+ this.modelMatrix = coordinateTransformationsToMatrixForSpatialData({ axes, coordinateTransformations }, coordinateSystem);
326551
326574
  return this.modelMatrix;
326552
326575
  }
326553
326576
  /**
@@ -326624,11 +326647,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
326624
326647
  if (!coordinateTransformations) {
326625
326648
  throw new Error("The coordinate transformations metadata must be defined for point elements.");
326626
326649
  }
326627
- const normAxes = normalizeAxes(axes);
326628
- const coordinateTransformationsFromFile = coordinateTransformations.filter(({ input: { name: inputName }, output: { name: outputName } }) => inputName === "xyz" && outputName === coordinateSystem);
326629
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, null);
326630
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, normAxes);
326631
- this.modelMatrix = transformMatrixFromFile;
326650
+ this.modelMatrix = coordinateTransformationsToMatrixForSpatialData({ axes, coordinateTransformations }, coordinateSystem);
326632
326651
  return this.modelMatrix;
326633
326652
  }
326634
326653
  /**
@@ -336260,7 +336279,7 @@ class SpatialDataTableSource extends AnnDataSource {
336260
336279
  const schemaBytes = await this.loadParquetSchemaBytes(parquetPath);
336261
336280
  if (schemaBytes) {
336262
336281
  const wasmSchema = readSchema(schemaBytes);
336263
- const arrowTableForSchema = tableFromIPC(wasmSchema.intoIPCStream());
336282
+ const arrowTableForSchema = await tableFromIPC(wasmSchema.intoIPCStream());
336264
336283
  indexColumnName = tableToIndexColumnName(arrowTableForSchema);
336265
336284
  }
336266
336285
  } catch (e3) {
@@ -336276,14 +336295,14 @@ class SpatialDataTableSource extends AnnDataSource {
336276
336295
  }
336277
336296
  if (columns2 && !indexColumnName) {
336278
336297
  const wasmSchema = readSchema(parquetBytes);
336279
- const arrowTableForSchema = tableFromIPC(wasmSchema.intoIPCStream());
336298
+ const arrowTableForSchema = await tableFromIPC(wasmSchema.intoIPCStream());
336280
336299
  indexColumnName = tableToIndexColumnName(arrowTableForSchema);
336281
336300
  }
336282
336301
  if (options.columns && indexColumnName) {
336283
336302
  options.columns = [...options.columns, indexColumnName];
336284
336303
  }
336285
336304
  const wasmTable = readParquet(parquetBytes, options);
336286
- const arrowTable = tableFromIPC(wasmTable.intoIPCStream());
336305
+ const arrowTable = await tableFromIPC(wasmTable.intoIPCStream());
336287
336306
  return arrowTable;
336288
336307
  }
336289
336308
  // TABLE-SPECIFIC METHODS
@@ -377944,6 +377963,9 @@ function makeFileType(name2, dataType, dataLoaderClass, dataSourceClass, options
377944
377963
  }
377945
377964
  function makeZarrFileTypes(name2, dataType, dataLoaderClass, dataSourceClass, optionsSchema) {
377946
377965
  const altFileTypes = ALT_ZARR_STORE_TYPES[name2];
377966
+ if (!altFileTypes) {
377967
+ throw new Error(`No alternative file types found for Zarr-based fileType ${name2}`);
377968
+ }
377947
377969
  return [
377948
377970
  new PluginFileType(name2, dataType, dataLoaderClass, dataSourceClass, optionsSchema),
377949
377971
  ...Object.entries(altFileTypes).map(([key2, fileType]) => {
@@ -378032,15 +378054,15 @@ const baseFileTypes = [
378032
378054
  ...makeZarrFileTypes(FileType$1.OBS_SEGMENTATIONS_OME_ZARR, DataType$3.OBS_SEGMENTATIONS, OmeZarrAsObsSegmentationsLoader, ZarrDataSource, obsSegmentationsOmeZarrSchema),
378033
378055
  makeFileType(FileType$1.OBS_SEGMENTATIONS_OME_TIFF, DataType$3.OBS_SEGMENTATIONS, OmeTiffAsObsSegmentationsLoader, OmeTiffSource, obsSegmentationsOmeTiffSchema),
378034
378056
  // SpatialData file types
378035
- makeFileType(FileType$1.IMAGE_SPATIALDATA_ZARR, DataType$3.IMAGE, SpatialDataImageLoader, ZarrDataSource, imageSpatialdataSchema),
378036
- makeFileType(FileType$1.LABELS_SPATIALDATA_ZARR, DataType$3.OBS_SEGMENTATIONS, SpatialDataLabelsLoader, ZarrDataSource, obsSegmentationsSpatialdataSchema),
378037
- makeFileType(FileType$1.SHAPES_SPATIALDATA_ZARR, DataType$3.OBS_SEGMENTATIONS, SpatialDataObsSegmentationsLoader, SpatialDataShapesSource, obsSegmentationsSpatialdataSchema),
378038
- makeFileType(FileType$1.OBS_SPOTS_SPATIALDATA_ZARR, DataType$3.OBS_SPOTS, SpatialDataObsSpotsLoader, SpatialDataShapesSource, obsSpotsSpatialdataSchema),
378039
- makeFileType(FileType$1.OBS_POINTS_SPATIALDATA_ZARR, DataType$3.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
378040
- makeFileType(FileType$1.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType$3.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
378041
- makeFileType(FileType$1.OBS_SETS_SPATIALDATA_ZARR, DataType$3.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
378057
+ ...makeZarrFileTypes(FileType$1.IMAGE_SPATIALDATA_ZARR, DataType$3.IMAGE, SpatialDataImageLoader, ZarrDataSource, imageSpatialdataSchema),
378058
+ ...makeZarrFileTypes(FileType$1.LABELS_SPATIALDATA_ZARR, DataType$3.OBS_SEGMENTATIONS, SpatialDataLabelsLoader, ZarrDataSource, obsSegmentationsSpatialdataSchema),
378059
+ ...makeZarrFileTypes(FileType$1.SHAPES_SPATIALDATA_ZARR, DataType$3.OBS_SEGMENTATIONS, SpatialDataObsSegmentationsLoader, SpatialDataShapesSource, obsSegmentationsSpatialdataSchema),
378060
+ ...makeZarrFileTypes(FileType$1.OBS_SPOTS_SPATIALDATA_ZARR, DataType$3.OBS_SPOTS, SpatialDataObsSpotsLoader, SpatialDataShapesSource, obsSpotsSpatialdataSchema),
378061
+ ...makeZarrFileTypes(FileType$1.OBS_POINTS_SPATIALDATA_ZARR, DataType$3.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
378062
+ ...makeZarrFileTypes(FileType$1.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType$3.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
378063
+ ...makeZarrFileTypes(FileType$1.OBS_SETS_SPATIALDATA_ZARR, DataType$3.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
378064
+ ...makeZarrFileTypes(FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR, DataType$3.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
378042
378065
  makeFileType(FileType$1.OBS_SEGMENTATIONS_GLB, DataType$3.OBS_SEGMENTATIONS, GlbDataLoader, GlbSource, meshGlbSchema),
378043
- makeFileType(FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR, DataType$3.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
378044
378066
  // All legacy file types
378045
378067
  makeFileType(FileType$1.OBS_FEATURE_MATRIX_EXPRESSION_MATRIX_ZARR, DataType$3.OBS_FEATURE_MATRIX, MatrixZarrAsObsFeatureMatrixLoader, ZarrDataSource, z.null()),
378046
378068
  makeFileType(FileType$1.IMAGE_RASTER_JSON, DataType$3.IMAGE, RasterJsonAsImageLoader, JsonSource, rasterJsonSchema),
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bL, bJ, bH, bK, bI, bG, bM } from "./index-Dr34Nsn3.js";
1
+ import { bL, bJ, bH, bK, bI, bG, bM } from "./index-DcZv7teI.js";
2
2
  import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
3
3
  export {
4
4
  bL as PluginAsyncFunction,
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-Dr34Nsn3.js";
1
+ import { aP as BaseDecoder } from "./index-DcZv7teI.js";
2
2
  const dctZigZag = new Int32Array([
3
3
  0,
4
4
  1,
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { g as getDefaultExportFromCjs, aP as BaseDecoder, aQ as LercParameters, aR as LercAddCompression } from "./index-Dr34Nsn3.js";
2
+ import { g as getDefaultExportFromCjs, aP as BaseDecoder, aQ as LercParameters, aR as LercAddCompression } from "./index-DcZv7teI.js";
3
3
  var LercDecode = { exports: {} };
4
4
  var hasRequiredLercDecode;
5
5
  function requireLercDecode() {
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-Dr34Nsn3.js";
1
+ import { aP as BaseDecoder } from "./index-DcZv7teI.js";
2
2
  const MIN_BITS = 9;
3
3
  const CLEAR_CODE = 256;
4
4
  const EOI_CODE = 257;
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-Dr34Nsn3.js";
1
+ import { aP as BaseDecoder } from "./index-DcZv7teI.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-Dr34Nsn3.js";
1
+ import { aP as BaseDecoder } from "./index-DcZv7teI.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { bA as MeshDistanceMaterial, bB as MeshDepthMaterial, bC as RGBADepthPacking, aB as UniformsUtils, bD as ShaderChunk, aw as InstancedBufferGeometry, av as Sphere, au as Box3, aH as BackSide, a9 as DoubleSide, ad as Mesh, as as FrontSide, aa as MeshBasicMaterial, i as Color, c as Vector3, k as Matrix4, d as Vector2, aJ as Matrix3, aD as Vector4, T as Texture, a1 as LinearFilter, bE as PlaneGeometry, f as BufferGeometry, ax as Float32BufferAttribute, bF as InstancedBufferAttribute } from "./index-Dr34Nsn3.js";
1
+ import { bA as MeshDistanceMaterial, bB as MeshDepthMaterial, bC as RGBADepthPacking, aB as UniformsUtils, bD as ShaderChunk, aw as InstancedBufferGeometry, av as Sphere, au as Box3, aH as BackSide, a9 as DoubleSide, ad as Mesh, as as FrontSide, aa as MeshBasicMaterial, i as Color, c as Vector3, k as Matrix4, d as Vector2, aJ as Matrix3, aD as Vector4, T as Texture, a1 as LinearFilter, bE as PlaneGeometry, f as BufferGeometry, ax as Float32BufferAttribute, bF as InstancedBufferAttribute } from "./index-DcZv7teI.js";
2
2
  function workerBootstrap() {
3
3
  var modules = /* @__PURE__ */ Object.create(null);
4
4
  function registerModule(ref, callback) {
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-Dr34Nsn3.js";
1
+ import { aP as BaseDecoder } from "./index-DcZv7teI.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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"}
@@ -52,9 +52,13 @@ function makeViewType(name, component) {
52
52
  function makeFileType(name, dataType, dataLoaderClass, dataSourceClass, optionsSchema) {
53
53
  return new PluginFileType(name, dataType, dataLoaderClass, dataSourceClass, optionsSchema);
54
54
  }
55
- // For when we have multiple file types with the same data type and options schema.
55
+ // For when we have multiple file types with the same data type and options schema,
56
+ // e.g., for Zip- and H5AD- variants of Zarr file types.
56
57
  function makeZarrFileTypes(name, dataType, dataLoaderClass, dataSourceClass, optionsSchema) {
57
58
  const altFileTypes = ALT_ZARR_STORE_TYPES[name];
59
+ if (!altFileTypes) {
60
+ throw new Error(`No alternative file types found for Zarr-based fileType ${name}`);
61
+ }
58
62
  return [
59
63
  new PluginFileType(name, dataType, dataLoaderClass, dataSourceClass, optionsSchema),
60
64
  ...Object.entries(altFileTypes).map(([key, fileType]) => {
@@ -143,15 +147,15 @@ export const baseFileTypes = [
143
147
  ...makeZarrFileTypes(FileType.OBS_SEGMENTATIONS_OME_ZARR, DataType.OBS_SEGMENTATIONS, OmeZarrAsObsSegmentationsLoader, ZarrDataSource, obsSegmentationsOmeZarrSchema),
144
148
  makeFileType(FileType.OBS_SEGMENTATIONS_OME_TIFF, DataType.OBS_SEGMENTATIONS, OmeTiffAsObsSegmentationsLoader, OmeTiffSource, obsSegmentationsOmeTiffSchema),
145
149
  // SpatialData file types
146
- makeFileType(FileType.IMAGE_SPATIALDATA_ZARR, DataType.IMAGE, SpatialDataImageLoader, ZarrDataSource, imageSpatialdataSchema),
147
- makeFileType(FileType.LABELS_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataLabelsLoader, ZarrDataSource, obsSegmentationsSpatialdataSchema),
148
- makeFileType(FileType.SHAPES_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataObsSegmentationsLoader, SpatialDataShapesSource, obsSegmentationsSpatialdataSchema),
149
- makeFileType(FileType.OBS_SPOTS_SPATIALDATA_ZARR, DataType.OBS_SPOTS, SpatialDataObsSpotsLoader, SpatialDataShapesSource, obsSpotsSpatialdataSchema),
150
- makeFileType(FileType.OBS_POINTS_SPATIALDATA_ZARR, DataType.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
151
- makeFileType(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
152
- makeFileType(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
150
+ ...makeZarrFileTypes(FileType.IMAGE_SPATIALDATA_ZARR, DataType.IMAGE, SpatialDataImageLoader, ZarrDataSource, imageSpatialdataSchema),
151
+ ...makeZarrFileTypes(FileType.LABELS_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataLabelsLoader, ZarrDataSource, obsSegmentationsSpatialdataSchema),
152
+ ...makeZarrFileTypes(FileType.SHAPES_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataObsSegmentationsLoader, SpatialDataShapesSource, obsSegmentationsSpatialdataSchema),
153
+ ...makeZarrFileTypes(FileType.OBS_SPOTS_SPATIALDATA_ZARR, DataType.OBS_SPOTS, SpatialDataObsSpotsLoader, SpatialDataShapesSource, obsSpotsSpatialdataSchema),
154
+ ...makeZarrFileTypes(FileType.OBS_POINTS_SPATIALDATA_ZARR, DataType.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
155
+ ...makeZarrFileTypes(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
156
+ ...makeZarrFileTypes(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
157
+ ...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
153
158
  makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
154
- makeFileType(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
155
159
  // All legacy file types
156
160
  makeFileType(FileType.OBS_FEATURE_MATRIX_EXPRESSION_MATRIX_ZARR, DataType.OBS_FEATURE_MATRIX, MatrixZarrAsObsFeatureMatrixLoader, ZarrDataSource, z.null()),
157
161
  makeFileType(FileType.IMAGE_RASTER_JSON, DataType.IMAGE, RasterJsonAsImageLoader, JsonSource, rasterJsonSchema),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "3.6.11",
3
+ "version": "3.6.13",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -17,37 +17,37 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "zod": "^3.21.4",
20
- "@vitessce/styles": "3.6.11",
21
- "@vitessce/constants-internal": "3.6.11",
22
- "@vitessce/abstract": "3.6.11",
23
- "@vitessce/error": "3.6.11",
24
- "@vitessce/csv": "3.6.11",
25
- "@vitessce/description": "3.6.11",
26
- "@vitessce/feature-list": "3.6.11",
27
- "@vitessce/genomic-profiles": "3.6.11",
28
- "@vitessce/heatmap": "3.6.11",
29
- "@vitessce/glb": "3.6.11",
30
- "@vitessce/json": "3.6.11",
31
- "@vitessce/layer-controller": "3.6.11",
32
- "@vitessce/layer-controller-beta": "3.6.11",
33
- "@vitessce/link-controller": "3.6.11",
34
- "@vitessce/obs-sets-manager": "3.6.11",
35
- "@vitessce/ome-tiff": "3.6.11",
36
- "@vitessce/plugins": "3.6.11",
37
- "@vitessce/scatterplot-embedding": "3.6.11",
38
- "@vitessce/scatterplot-gating": "3.6.11",
39
- "@vitessce/schemas": "3.6.11",
40
- "@vitessce/spatial": "3.6.11",
41
- "@vitessce/spatial-beta": "3.6.11",
42
- "@vitessce/statistical-plots": "3.6.11",
43
- "@vitessce/status": "3.6.11",
44
- "@vitessce/vit-s": "3.6.11",
45
- "@vitessce/zarr": "3.6.11",
46
- "@vitessce/globals": "3.6.11",
47
- "@vitessce/spatial-zarr": "3.6.11",
48
- "@vitessce/spatial-three": "3.6.11",
49
- "@vitessce/biomarker-select": "3.6.11",
50
- "@vitessce/neuroglancer": "3.6.11"
20
+ "@vitessce/styles": "3.6.13",
21
+ "@vitessce/constants-internal": "3.6.13",
22
+ "@vitessce/abstract": "3.6.13",
23
+ "@vitessce/error": "3.6.13",
24
+ "@vitessce/csv": "3.6.13",
25
+ "@vitessce/description": "3.6.13",
26
+ "@vitessce/feature-list": "3.6.13",
27
+ "@vitessce/genomic-profiles": "3.6.13",
28
+ "@vitessce/heatmap": "3.6.13",
29
+ "@vitessce/glb": "3.6.13",
30
+ "@vitessce/json": "3.6.13",
31
+ "@vitessce/layer-controller": "3.6.13",
32
+ "@vitessce/layer-controller-beta": "3.6.13",
33
+ "@vitessce/link-controller": "3.6.13",
34
+ "@vitessce/obs-sets-manager": "3.6.13",
35
+ "@vitessce/ome-tiff": "3.6.13",
36
+ "@vitessce/plugins": "3.6.13",
37
+ "@vitessce/scatterplot-embedding": "3.6.13",
38
+ "@vitessce/scatterplot-gating": "3.6.13",
39
+ "@vitessce/schemas": "3.6.13",
40
+ "@vitessce/spatial": "3.6.13",
41
+ "@vitessce/spatial-beta": "3.6.13",
42
+ "@vitessce/statistical-plots": "3.6.13",
43
+ "@vitessce/status": "3.6.13",
44
+ "@vitessce/vit-s": "3.6.13",
45
+ "@vitessce/zarr": "3.6.13",
46
+ "@vitessce/globals": "3.6.13",
47
+ "@vitessce/spatial-zarr": "3.6.13",
48
+ "@vitessce/spatial-three": "3.6.13",
49
+ "@vitessce/biomarker-select": "3.6.13",
50
+ "@vitessce/neuroglancer": "3.6.13"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/react": "^18.0.28",
@@ -228,9 +228,13 @@ function makeViewType(name: string, component: any) {
228
228
  function makeFileType<T1 extends DataLoader, T2 extends DataSource>(name: string, dataType: string, dataLoaderClass: any, dataSourceClass: any, optionsSchema: z.ZodTypeAny) {
229
229
  return new PluginFileType(name, dataType, dataLoaderClass as T1, dataSourceClass as T2, optionsSchema);
230
230
  }
231
- // For when we have multiple file types with the same data type and options schema.
231
+ // For when we have multiple file types with the same data type and options schema,
232
+ // e.g., for Zip- and H5AD- variants of Zarr file types.
232
233
  function makeZarrFileTypes<T1 extends DataLoader, T2 extends DataSource>(name: string, dataType: string, dataLoaderClass: any, dataSourceClass: any, optionsSchema: z.ZodObject<any>) {
233
234
  const altFileTypes = ALT_ZARR_STORE_TYPES[name];
235
+ if (!altFileTypes) {
236
+ throw new Error(`No alternative file types found for Zarr-based fileType ${name}`);
237
+ }
234
238
  return [
235
239
  new PluginFileType(name, dataType, dataLoaderClass as T1, dataSourceClass as T2, optionsSchema),
236
240
  ...Object.entries(altFileTypes).map(([key, fileType]) => {
@@ -322,16 +326,16 @@ export const baseFileTypes = [
322
326
  ...makeZarrFileTypes(FileType.OBS_SEGMENTATIONS_OME_ZARR, DataType.OBS_SEGMENTATIONS, OmeZarrAsObsSegmentationsLoader, ZarrDataSource, obsSegmentationsOmeZarrSchema),
323
327
  makeFileType(FileType.OBS_SEGMENTATIONS_OME_TIFF, DataType.OBS_SEGMENTATIONS, OmeTiffAsObsSegmentationsLoader, OmeTiffSource, obsSegmentationsOmeTiffSchema),
324
328
  // SpatialData file types
325
- makeFileType(FileType.IMAGE_SPATIALDATA_ZARR, DataType.IMAGE, SpatialDataImageLoader, ZarrDataSource, imageSpatialdataSchema),
326
- makeFileType(FileType.LABELS_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataLabelsLoader, ZarrDataSource, obsSegmentationsSpatialdataSchema),
327
- makeFileType(FileType.SHAPES_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataObsSegmentationsLoader, SpatialDataShapesSource, obsSegmentationsSpatialdataSchema),
328
- makeFileType(FileType.OBS_SPOTS_SPATIALDATA_ZARR, DataType.OBS_SPOTS, SpatialDataObsSpotsLoader, SpatialDataShapesSource, obsSpotsSpatialdataSchema),
329
- makeFileType(FileType.OBS_POINTS_SPATIALDATA_ZARR, DataType.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
330
- makeFileType(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
331
- makeFileType(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
329
+ ...makeZarrFileTypes(FileType.IMAGE_SPATIALDATA_ZARR, DataType.IMAGE, SpatialDataImageLoader, ZarrDataSource, imageSpatialdataSchema),
330
+ ...makeZarrFileTypes(FileType.LABELS_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataLabelsLoader, ZarrDataSource, obsSegmentationsSpatialdataSchema),
331
+ ...makeZarrFileTypes(FileType.SHAPES_SPATIALDATA_ZARR, DataType.OBS_SEGMENTATIONS, SpatialDataObsSegmentationsLoader, SpatialDataShapesSource, obsSegmentationsSpatialdataSchema),
332
+ ...makeZarrFileTypes(FileType.OBS_SPOTS_SPATIALDATA_ZARR, DataType.OBS_SPOTS, SpatialDataObsSpotsLoader, SpatialDataShapesSource, obsSpotsSpatialdataSchema),
333
+ ...makeZarrFileTypes(FileType.OBS_POINTS_SPATIALDATA_ZARR, DataType.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
334
+ ...makeZarrFileTypes(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
335
+ ...makeZarrFileTypes(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
336
+ ...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
332
337
 
333
338
  makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
334
- makeFileType(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
335
339
  // All legacy file types
336
340
  makeFileType(FileType.OBS_FEATURE_MATRIX_EXPRESSION_MATRIX_ZARR, DataType.OBS_FEATURE_MATRIX, MatrixZarrAsObsFeatureMatrixLoader, ZarrDataSource, z.null()),
337
341
  makeFileType(FileType.IMAGE_RASTER_JSON, DataType.IMAGE, RasterJsonAsImageLoader, JsonSource, rasterJsonSchema),