@vitessce/all 3.9.8 → 3.9.10
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.
- package/dist/{OrbitControls-BSs_Q5On.js → OrbitControls-DtlnpUX5.js} +1 -1
- package/dist/{ReactNeuroglancer-x4EMSEcX.js → ReactNeuroglancer-gVFMyubB.js} +1 -1
- package/dist/{deflate-CsmxXIPT.js → deflate-B8Q5f1vo.js} +1 -1
- package/dist/{higlass-wSBrpMhX.js → higlass-CD6EVJJy.js} +1 -1
- package/dist/{index-BPsHPaJT.js → index-Cad4MlxC.js} +2 -2
- package/dist/{index-gbtRLRj5.js → index-Cjg9h1C7.js} +130 -74
- package/dist/{index-BstOXuv0.js → index-DFhTMlUT.js} +3 -3
- package/dist/index.js +1 -1
- package/dist/{jpeg-C7Mxa_R_.js → jpeg-P83napcQ.js} +1 -1
- package/dist/{lerc-DbIzGgSj.js → lerc-DuLHKdpN.js} +1 -1
- package/dist/{lzw-oMC0dlgC.js → lzw-KtJKGU0e.js} +1 -1
- package/dist/{packbits-C-3XoOot.js → packbits-5MWE4C40.js} +1 -1
- package/dist/{raw-BDQB9cuz.js → raw-Dc6qpV4c.js} +1 -1
- package/dist/{troika-three-text.esm-DK1u2spU.js → troika-three-text.esm-3N3SIomL.js} +1 -1
- package/dist/{webimage-DhNmlhtK.js → webimage-BnwAgUeU.js} +1 -1
- package/dist-tsc/base-plugins.d.ts.map +1 -1
- package/dist-tsc/base-plugins.js +1 -0
- package/package.json +33 -33
- package/src/base-plugins.ts +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aG as getDefaultExportFromCjs, aH as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aI as PCFSoftShadowMap, aJ as VSMShadowMap, aK as PCFShadowMap, aL as BasicShadowMap, aM as NoToneMapping, aN as ACESFilmicToneMapping, e as Vector3, V as Vector2, aO as Clock, aP as WebGLRenderer, aQ as Camera, x as BufferGeometry, r as Material, aR as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aS as THREE, aT as EventDispatcher, aU as MOUSE, aV as TOUCH, aW as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-
|
|
1
|
+
import { aG as getDefaultExportFromCjs, aH as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aI as PCFSoftShadowMap, aJ as VSMShadowMap, aK as PCFShadowMap, aL as BasicShadowMap, aM as NoToneMapping, aN as ACESFilmicToneMapping, e as Vector3, V as Vector2, aO as Clock, aP as WebGLRenderer, aQ as Camera, x as BufferGeometry, r as Material, aR as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aS as THREE, aT as EventDispatcher, aU as MOUSE, aV as TOUCH, aW as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-Cjg9h1C7.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import React__default, { useReducer, useRef, useEffect, useLayoutEffect, useDebugValue, useState, useMemo } from "react";
|
|
4
4
|
var constants = { exports: {} };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aG as getDefaultExportFromCjs, b1 as requireAssign, b2 as require_export, b3 as require_core, b4 as require_fails, b5 as require_toObject, b6 as require_objectKeys, b7 as require_cof, b8 as require_wks, b9 as require_iterators, ba as requireWeb_dom_iterable, bb as requireEs6_string_iterator, bc as require_anObject, bd as require_hide, be as require_ctx, bf as require_toLength, bg as require_global, bh as require_objectDp, bi as require_descriptors, bj as require_isObject, bk as require_objectCreate, bl as require_iterDefine, bm as require_iterStep, bn as require_meta, bo as require_isArray, bp as require_iobject, bq as require_setToStringTag, br as require_aFunction, bs as requireIterator, bt as require_propertyDesc, a_ as commonjsGlobal, bu as requireEs6_symbol, bv as requireDefineProperty, bw as require_toIobject, bx as require_objectGopd, by as require_html, bz as require_domCreate, bA as require_library, bB as requireSymbol, bC as require_objectPie, bD as require_has, bE as require_redefine, bF as require_objectAssign, bG as diffCameraState, ao as jsxRuntimeExports } from "./index-
|
|
1
|
+
import { aG as getDefaultExportFromCjs, b1 as requireAssign, b2 as require_export, b3 as require_core, b4 as require_fails, b5 as require_toObject, b6 as require_objectKeys, b7 as require_cof, b8 as require_wks, b9 as require_iterators, ba as requireWeb_dom_iterable, bb as requireEs6_string_iterator, bc as require_anObject, bd as require_hide, be as require_ctx, bf as require_toLength, bg as require_global, bh as require_objectDp, bi as require_descriptors, bj as require_isObject, bk as require_objectCreate, bl as require_iterDefine, bm as require_iterStep, bn as require_meta, bo as require_isArray, bp as require_iobject, bq as require_setToStringTag, br as require_aFunction, bs as requireIterator, bt as require_propertyDesc, a_ as commonjsGlobal, bu as requireEs6_symbol, bv as requireDefineProperty, bw as require_toIobject, bx as require_objectGopd, by as require_html, bz as require_domCreate, bA as require_library, bB as requireSymbol, bC as require_objectPie, bD as require_has, bE as require_redefine, bF as require_objectAssign, bG as diffCameraState, ao as jsxRuntimeExports } from "./index-Cjg9h1C7.js";
|
|
2
2
|
import React__default from "react";
|
|
3
3
|
var assignExports = requireAssign();
|
|
4
4
|
const _Object$assign = /* @__PURE__ */ getDefaultExportFromCjs(assignExports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-SxljTded.js";
|
|
2
|
-
import { aX as BaseDecoder } from "./index-
|
|
2
|
+
import { aX as BaseDecoder } from "./index-Cjg9h1C7.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 { a_ as commonjsGlobal$1, a$ as requireObjectAssign, aG as getDefaultExportFromCjs$1, b0 as earcut } from "./index-
|
|
4
|
+
import { a_ as commonjsGlobal$1, a$ as requireObjectAssign, aG as getDefaultExportFromCjs$1, b0 as earcut } from "./index-Cjg9h1C7.js";
|
|
5
5
|
var promise = {};
|
|
6
6
|
var hasRequiredPromise;
|
|
7
7
|
function requirePromise() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aw as log, ax as isEqual, ar as Data3DTexture, as as RedFormat, ay as UnsignedByteType, l as LinearFilter, az as RedIntegerFormat, aA as UnsignedIntType, m as NearestFilter, e as Vector3, V as Vector2, ag as Vector4, ae as UniformsUtils, aq as CoordinationType, aB as WebGLMultipleRenderTargets, aC as RGBAFormat, av as Scene, W as OrthographicCamera, ad as ShaderMaterial, z as Mesh, aD as PlaneGeometry, aE as useEventCallback, ao as jsxRuntimeExports, aF as GLSL3, am as BackSide } from "./index-
|
|
1
|
+
import { aw as log, ax as isEqual, ar as Data3DTexture, as as RedFormat, ay as UnsignedByteType, l as LinearFilter, az as RedIntegerFormat, aA as UnsignedIntType, m as NearestFilter, e as Vector3, V as Vector2, ag as Vector4, ae as UniformsUtils, aq as CoordinationType, aB as WebGLMultipleRenderTargets, aC as RGBAFormat, av as Scene, W as OrthographicCamera, ad as ShaderMaterial, z as Mesh, aD as PlaneGeometry, aE as useEventCallback, ao as jsxRuntimeExports, aF as GLSL3, am as BackSide } from "./index-Cjg9h1C7.js";
|
|
2
2
|
import { useRef, useState, useMemo, useEffect, Suspense } from "react";
|
|
3
|
-
import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-
|
|
3
|
+
import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-DtlnpUX5.js";
|
|
4
4
|
const LogLevel = {
|
|
5
5
|
INFO: "info",
|
|
6
6
|
WARN: "warn",
|
|
@@ -9263,6 +9263,7 @@ const FileType$1 = {
|
|
|
9263
9263
|
OBS_LABELS_MUDATA_ZARR: "obsLabels.mudata.zarr",
|
|
9264
9264
|
FEATURE_LABELS_MUDATA_ZARR: "featureLabels.mudata.zarr",
|
|
9265
9265
|
GENOMIC_PROFILES_ZARR: "genomic-profiles.zarr",
|
|
9266
|
+
GENOMIC_PROFILES_ZARR_ZIP: "genomic-profiles.zarr.zip",
|
|
9266
9267
|
NEIGHBORHOODS_JSON: "neighborhoods.json",
|
|
9267
9268
|
// OME-TIFF
|
|
9268
9269
|
IMAGE_OME_TIFF: "image.ome-tiff",
|
|
@@ -9557,6 +9558,7 @@ const ViewHelpMapping = {
|
|
|
9557
9558
|
[FileType$1.OBS_LABELS_MOLECULES_JSON]: DataType$3.OBS_LABELS,
|
|
9558
9559
|
// For old file types
|
|
9559
9560
|
[FileType$1.GENOMIC_PROFILES_ZARR]: DataType$3.GENOMIC_PROFILES,
|
|
9561
|
+
[FileType$1.GENOMIC_PROFILES_ZARR_ZIP]: DataType$3.GENOMIC_PROFILES,
|
|
9560
9562
|
[FileType$1.NEIGHBORHOODS_JSON]: DataType$3.NEIGHBORHOODS
|
|
9561
9563
|
});
|
|
9562
9564
|
({
|
|
@@ -9721,6 +9723,10 @@ const ALT_ZARR_STORE_TYPES = {
|
|
|
9721
9723
|
},
|
|
9722
9724
|
[FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR]: {
|
|
9723
9725
|
zip: FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR_ZIP
|
|
9726
|
+
},
|
|
9727
|
+
// For genomic profiles:
|
|
9728
|
+
[FileType$1.GENOMIC_PROFILES_ZARR]: {
|
|
9729
|
+
zip: FileType$1.GENOMIC_PROFILES_ZARR_ZIP
|
|
9724
9730
|
}
|
|
9725
9731
|
};
|
|
9726
9732
|
[
|
|
@@ -210359,22 +210365,22 @@ async function getDecoder(fileDirectory) {
|
|
|
210359
210365
|
const Decoder = await importFn();
|
|
210360
210366
|
return new Decoder(fileDirectory);
|
|
210361
210367
|
}
|
|
210362
|
-
addDecoder([void 0, 1], () => import("./raw-
|
|
210363
|
-
addDecoder(5, () => import("./lzw-
|
|
210368
|
+
addDecoder([void 0, 1], () => import("./raw-Dc6qpV4c.js").then((m2) => m2.default));
|
|
210369
|
+
addDecoder(5, () => import("./lzw-KtJKGU0e.js").then((m2) => m2.default));
|
|
210364
210370
|
addDecoder(6, () => {
|
|
210365
210371
|
throw new Error("old style JPEG compression is not supported.");
|
|
210366
210372
|
});
|
|
210367
|
-
addDecoder(7, () => import("./jpeg-
|
|
210368
|
-
addDecoder([8, 32946], () => import("./deflate-
|
|
210369
|
-
addDecoder(32773, () => import("./packbits-
|
|
210373
|
+
addDecoder(7, () => import("./jpeg-P83napcQ.js").then((m2) => m2.default));
|
|
210374
|
+
addDecoder([8, 32946], () => import("./deflate-B8Q5f1vo.js").then((m2) => m2.default));
|
|
210375
|
+
addDecoder(32773, () => import("./packbits-5MWE4C40.js").then((m2) => m2.default));
|
|
210370
210376
|
addDecoder(
|
|
210371
210377
|
34887,
|
|
210372
|
-
() => import("./lerc-
|
|
210378
|
+
() => import("./lerc-DuLHKdpN.js").then(async (m2) => {
|
|
210373
210379
|
await m2.zstd.init();
|
|
210374
210380
|
return m2;
|
|
210375
210381
|
}).then((m2) => m2.default)
|
|
210376
210382
|
);
|
|
210377
|
-
addDecoder(50001, () => import("./webimage-
|
|
210383
|
+
addDecoder(50001, () => import("./webimage-BnwAgUeU.js").then((m2) => m2.default));
|
|
210378
210384
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
|
210379
210385
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
|
210380
210386
|
}
|
|
@@ -254873,12 +254879,12 @@ class ErrorBoundary extends React__default.Component {
|
|
|
254873
254879
|
}
|
|
254874
254880
|
}
|
|
254875
254881
|
const LazySpatialThree = React__default.lazy(async () => {
|
|
254876
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
254882
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-DFhTMlUT.js");
|
|
254877
254883
|
return { default: SpatialWrapper2 };
|
|
254878
254884
|
});
|
|
254879
254885
|
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 }) }) }) }));
|
|
254880
254886
|
const LazySpatialAccelerated = React__default.lazy(async () => {
|
|
254881
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
254887
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-Cad4MlxC.js");
|
|
254882
254888
|
return { default: SpatialWrapper2 };
|
|
254883
254889
|
});
|
|
254884
254890
|
const SpatialAcceleratedAdapter = 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(LazySpatialAccelerated, { ...props }) }) }) }));
|
|
@@ -264751,7 +264757,7 @@ function PointLayerController(props) {
|
|
|
264751
264757
|
const [coloringTabIndex, setColoringTabIndex] = useState(0);
|
|
264752
264758
|
const { featureIndex } = pointMatrixIndicesData || {};
|
|
264753
264759
|
const hasSelectedFeatures = Array.isArray(featureSelection) && featureSelection.length > 0;
|
|
264754
|
-
return jsxRuntimeExports.jsxs(Grid$1, { className: lcClasses.layerControllerGrid, children: [jsxRuntimeExports.jsxs(Paper, { elevation: 4, className: lcClasses.layerControllerRoot, children: [jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: handleVisibleChange, className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle layer visibility", children: jsxRuntimeExports.jsx(Visibility, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: color2, setColor: setColor2, palette, isStaticColor, isColormap, featureValueColormap, visible }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: label2 }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": `Adjust opacity for layer ${label2}` }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(PointLayerEllipsisMenu, { featureSelection, obsColorEncoding, setObsColorEncoding, featureValueColormapRange, setFeatureValueColormapRange, tooltipsVisible, setTooltipsVisible, tooltipCrosshairsVisible, setTooltipCrosshairsVisible, legendVisible, setLegendVisible, featureFilterMode, setFeatureFilterMode }) }), jsxRuntimeExports.jsxs(Grid$1, { size: 1, container: true, direction: "row", children: [jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }), null] })] }), loadingDoneFraction < 1 ? jsxRuntimeExports.jsx(Grid$1, { size: 12, container: true, direction: "column", justifyContent: "space-between", className: classes2.pointFeatureControllerGrid, children: jsxRuntimeExports.jsx(LinearProgress, { variant: loadingDoneFraction === 0 ? "indeterminate" : "determinate", value: loadingDoneFraction * 100 }) }) : null, null] }), hasSelectedFeatures ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [featureSelection.map((featureName) => jsxRuntimeExports.jsx(LayerPerFeatureController, { theme, featureName, featureColor, setFeatureColor, spatialLayerColor, featureIndex, featureValueColormap, featureSelection, setFeatureSelection, obsColorEncoding, loadingDoneFraction, opacity: opacity2, handleOpacityChange }, featureName)), jsxRuntimeExports.jsx(Grid$1, { className: lcClasses.layerControllerGrid, children: jsxRuntimeExports.jsx(Paper, { elevation: 2, className: lcClasses.layerControllerSubRow, children: jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: () => setFeatureFilterMode(featureFilterMode === "featureSelection" ? null : "featureSelection"), className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle visibility of unselected points", children: featureFilterMode === "featureSelection" ? jsxRuntimeExports.jsx(VisibilityOffIcon, {}) : jsxRuntimeExports.jsx(VisibilityIcon, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: getDefaultColor("dark"), setColor: null, isStaticColor: true, isColormap: false, visible: true }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: "Unselected" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, sx: { paddingRight: "12px", overflow: "visible" }, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": "Adjust opacity for unselected layer" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }) })] }) }) })] }) : null] });
|
|
264760
|
+
return jsxRuntimeExports.jsxs(Grid$1, { className: lcClasses.layerControllerGrid, children: [jsxRuntimeExports.jsxs(Paper, { elevation: 4, className: lcClasses.layerControllerRoot, children: [jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: handleVisibleChange, className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle layer visibility", children: jsxRuntimeExports.jsx(Visibility, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: color2, setColor: setColor2, palette, isStaticColor, isColormap, featureValueColormap, visible }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: label2 }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": `Adjust opacity for layer ${label2}` }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(PointLayerEllipsisMenu, { featureSelection, obsColorEncoding, setObsColorEncoding, featureValueColormapRange, setFeatureValueColormapRange, tooltipsVisible, setTooltipsVisible, tooltipCrosshairsVisible, setTooltipCrosshairsVisible, legendVisible, setLegendVisible, featureFilterMode, setFeatureFilterMode }) }), jsxRuntimeExports.jsxs(Grid$1, { size: 1, container: true, direction: "row", children: [jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }), null] })] }), loadingDoneFraction < 1 ? jsxRuntimeExports.jsx(Grid$1, { size: 12, container: true, direction: "column", justifyContent: "space-between", className: classes2.pointFeatureControllerGrid, children: jsxRuntimeExports.jsx(LinearProgress, { variant: loadingDoneFraction === 0 ? "indeterminate" : "determinate", value: loadingDoneFraction * 100 }) }) : null, null] }), layerPerFeatureForPoints && hasSelectedFeatures ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [featureSelection.map((featureName) => jsxRuntimeExports.jsx(LayerPerFeatureController, { theme, featureName, featureColor, setFeatureColor, spatialLayerColor, featureIndex, featureValueColormap, featureSelection, setFeatureSelection, obsColorEncoding, loadingDoneFraction, opacity: opacity2, handleOpacityChange }, featureName)), jsxRuntimeExports.jsx(Grid$1, { className: lcClasses.layerControllerGrid, children: jsxRuntimeExports.jsx(Paper, { elevation: 2, className: lcClasses.layerControllerSubRow, children: jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: () => setFeatureFilterMode(featureFilterMode === "featureSelection" ? null : "featureSelection"), className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle visibility of unselected points", children: featureFilterMode === "featureSelection" ? jsxRuntimeExports.jsx(VisibilityOffIcon, {}) : jsxRuntimeExports.jsx(VisibilityIcon, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: getDefaultColor("dark"), setColor: null, isStaticColor: true, isColormap: false, visible: true }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: "Unselected" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, sx: { paddingRight: "12px", overflow: "visible" }, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": "Adjust opacity for unselected layer" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }) })] }) }) })] }) : null] });
|
|
264755
264761
|
}
|
|
264756
264762
|
const useStyles$d = makeStyles()(() => ({
|
|
264757
264763
|
layerTypeSegmentationIcon: {
|
|
@@ -268585,7 +268591,7 @@ function HiglassGlobalStyles(props) {
|
|
|
268585
268591
|
}
|
|
268586
268592
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
|
268587
268593
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
|
268588
|
-
const { HiGlassComponent } = await import("./higlass-
|
|
268594
|
+
const { HiGlassComponent } = await import("./higlass-CD6EVJJy.js");
|
|
268589
268595
|
return { default: HiGlassComponent };
|
|
268590
268596
|
});
|
|
268591
268597
|
const HG_SIZE = 800;
|
|
@@ -271533,7 +271539,7 @@ function NeuroglancerGlobalStyles(props) {
|
|
|
271533
271539
|
const { classes: classes2 } = props;
|
|
271534
271540
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
|
|
271535
271541
|
}
|
|
271536
|
-
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-
|
|
271542
|
+
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-gVFMyubB.js"));
|
|
271537
271543
|
function createWorker() {
|
|
271538
271544
|
const worker = new WorkerFactory$1();
|
|
271539
271545
|
worker.AsyncComputationWorker = WorkerFactory;
|
|
@@ -357257,7 +357263,9 @@ class OmeAutoConfig extends AbstractAutoConfig {
|
|
|
357257
357263
|
// TODO: how to handle h5ad-based AnnData (since needs reference JSON file).
|
|
357258
357264
|
// Perhaps just assume one H5AD+one JSON (or .ref.json) file correspond to each other?
|
|
357259
357265
|
[FileType$1.SPATIALDATA_ZARR]: [".sd.zarr", ".sdata.zarr", ".spatialdata.zarr"],
|
|
357260
|
-
[FileType$1.SPATIALDATA_ZARR_ZIP]: [".sd.zarr.zip", ".sdata.zarr.zip", ".spatialdata.zarr.zip"]
|
|
357266
|
+
[FileType$1.SPATIALDATA_ZARR_ZIP]: [".sd.zarr.zip", ".sdata.zarr.zip", ".spatialdata.zarr.zip"],
|
|
357267
|
+
[FileType$1.GENOMIC_PROFILES_ZARR]: [".multivec.zarr"],
|
|
357268
|
+
[FileType$1.GENOMIC_PROFILES_ZARR_ZIP]: [".multivec.zarr.zip"]
|
|
357261
357269
|
});
|
|
357262
357270
|
({
|
|
357263
357271
|
// OME-TIFF
|
|
@@ -357283,7 +357291,9 @@ class OmeAutoConfig extends AbstractAutoConfig {
|
|
|
357283
357291
|
FileType$1.IMAGE_OME_ZARR,
|
|
357284
357292
|
FileType$1.IMAGE_OME_ZARR_ZIP,
|
|
357285
357293
|
FileType$1.OBS_SEGMENTATIONS_OME_ZARR,
|
|
357286
|
-
FileType$1.OBS_SEGMENTATIONS_OME_ZARR_ZIP
|
|
357294
|
+
FileType$1.OBS_SEGMENTATIONS_OME_ZARR_ZIP,
|
|
357295
|
+
FileType$1.GENOMIC_PROFILES_ZARR,
|
|
357296
|
+
FileType$1.GENOMIC_PROFILES_ZARR_ZIP
|
|
357287
357297
|
];
|
|
357288
357298
|
class ObsSpotsCsvLoader extends CsvLoader {
|
|
357289
357299
|
loadFromCache(data2) {
|
|
@@ -358199,11 +358209,21 @@ class AnnDataSource extends ZarrDataSource {
|
|
|
358199
358209
|
categoriesValues = await this.getFlatArrDecompressed(`${prefix2}/${categories}`);
|
|
358200
358210
|
}
|
|
358201
358211
|
} else if (encodingType === "categorical") {
|
|
358202
|
-
const
|
|
358203
|
-
|
|
358212
|
+
const categoriesZattrs = await this.getJson(`${path2}/categories/.zattrs`);
|
|
358213
|
+
const categoriesEncodingType = categoriesZattrs?.["encoding-type"];
|
|
358214
|
+
if (categoriesEncodingType === "nullable-string-array") {
|
|
358215
|
+
categoriesValues = await this.getFlatArrDecompressed(`${path2}/categories/values`);
|
|
358216
|
+
} else if (categoriesEncodingType === "string-array") {
|
|
358204
358217
|
categoriesValues = await this.getFlatArrDecompressed(`${path2}/categories`);
|
|
358218
|
+
} else {
|
|
358219
|
+
const { dtype } = await open$1(storeRoot.resolve(`${path2}/categories`), { kind: "array" });
|
|
358220
|
+
if (dtype === "v2:object" || dtype === "|O") {
|
|
358221
|
+
categoriesValues = await this.getFlatArrDecompressed(`${path2}/categories`);
|
|
358222
|
+
}
|
|
358205
358223
|
}
|
|
358206
358224
|
codesPath = `${path2}/codes`;
|
|
358225
|
+
} else if (encodingType === "nullable-string-array") {
|
|
358226
|
+
return this.getFlatArrDecompressed(`${path2}/values`);
|
|
358207
358227
|
} else if (encodingType === "string-array") {
|
|
358208
358228
|
return this.getFlatArrDecompressed(path2);
|
|
358209
358229
|
} else {
|
|
@@ -359367,16 +359387,25 @@ let FeatureStatsAnndataLoader$1 = class FeatureStatsAnndataLoader extends Abstra
|
|
|
359367
359387
|
return this.dataSource.loadDataFrameIndex(dfPath);
|
|
359368
359388
|
}
|
|
359369
359389
|
async loadDataFrame(dfPath) {
|
|
359370
|
-
|
|
359371
|
-
|
|
359372
|
-
|
|
359373
|
-
|
|
359374
|
-
|
|
359375
|
-
|
|
359376
|
-
|
|
359377
|
-
|
|
359378
|
-
|
|
359379
|
-
|
|
359390
|
+
try {
|
|
359391
|
+
const [featureId2, featureFoldChange, featureSignificance] = await Promise.all([
|
|
359392
|
+
this.loadFeatureNames(dfPath),
|
|
359393
|
+
this.loadFoldChanges(dfPath),
|
|
359394
|
+
this.loadSignificances(dfPath)
|
|
359395
|
+
]);
|
|
359396
|
+
return {
|
|
359397
|
+
featureId: featureId2,
|
|
359398
|
+
featureFoldChange,
|
|
359399
|
+
featureSignificance
|
|
359400
|
+
};
|
|
359401
|
+
} catch (e3) {
|
|
359402
|
+
log$b.warn("Dataframe not found at", dfPath);
|
|
359403
|
+
return {
|
|
359404
|
+
featureId: [],
|
|
359405
|
+
featureFoldChange: [],
|
|
359406
|
+
featureSignificance: []
|
|
359407
|
+
};
|
|
359408
|
+
}
|
|
359380
359409
|
}
|
|
359381
359410
|
/**
|
|
359382
359411
|
*
|
|
@@ -359403,7 +359432,7 @@ let FeatureStatsAnndataLoader$1 = class FeatureStatsAnndataLoader extends Abstra
|
|
|
359403
359432
|
* @returns {Promise<LoaderResult<FeatureStatsData>>}
|
|
359404
359433
|
*/
|
|
359405
359434
|
async loadMulti(volcanoOptions) {
|
|
359406
|
-
const { analysisType: targetAnalysisType = "
|
|
359435
|
+
const { analysisType: targetAnalysisType = "pydeseq2" } = this.options;
|
|
359407
359436
|
const { sampleSetSelection, obsSetSelection } = volcanoOptions || {};
|
|
359408
359437
|
const rawObsSetSelection = obsSetSelection;
|
|
359409
359438
|
const rawSampleSetSelection = sampleSetSelection;
|
|
@@ -360580,7 +360609,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
|
|
|
360580
360609
|
}
|
|
360581
360610
|
let locations;
|
|
360582
360611
|
const formatVersion = await this.dataSource.getPointsFormatVersion(path2);
|
|
360583
|
-
if (formatVersion === "0.1") {
|
|
360612
|
+
if (formatVersion === "0.1" || formatVersion === "0.2") {
|
|
360584
360613
|
locations = await this.dataSource.loadPoints(path2);
|
|
360585
360614
|
} else {
|
|
360586
360615
|
throw new UnknownSpatialDataFormatError("Only points format version 0.1 is supported.");
|
|
@@ -360599,7 +360628,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
|
|
|
360599
360628
|
}
|
|
360600
360629
|
let locationsFeatureIndex;
|
|
360601
360630
|
const formatVersion = await this.dataSource.getPointsFormatVersion(path2);
|
|
360602
|
-
if (formatVersion === "0.1") {
|
|
360631
|
+
if (formatVersion === "0.1" || formatVersion === "0.2") {
|
|
360603
360632
|
locationsFeatureIndex = await this.dataSource.loadPointsFeatureIds(path2);
|
|
360604
360633
|
} else {
|
|
360605
360634
|
throw new UnknownSpatialDataFormatError("Only points format version 0.1 is supported.");
|
|
@@ -360611,7 +360640,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
|
|
|
360611
360640
|
const { path: path2, featureIndexColumn, mortonCodeColumn } = this.options;
|
|
360612
360641
|
let locations;
|
|
360613
360642
|
const formatVersion = await this.dataSource.getPointsFormatVersion(path2);
|
|
360614
|
-
if (formatVersion === "0.1") {
|
|
360643
|
+
if (formatVersion === "0.1" || formatVersion === "0.2") {
|
|
360615
360644
|
locations = await this.dataSource.loadPointsInRect(path2, bounds2, signal, featureIndexColumn, mortonCodeColumn);
|
|
360616
360645
|
} else {
|
|
360617
360646
|
throw new UnknownSpatialDataFormatError("Only points format version 0.1 is supported.");
|
|
@@ -360643,10 +360672,8 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
|
|
|
360643
360672
|
// and for the presence of morton_code_2d and feature_index columns.
|
|
360644
360673
|
this.dataSource.supportsLoadPointsInRect(path2, featureIndexColumnName, mortonCodeColumn)
|
|
360645
360674
|
]);
|
|
360646
|
-
const isSupportedVersion = formatVersion === "0.1";
|
|
360647
|
-
|
|
360648
|
-
const hasBoundingBox2D = typeof boundingBox?.x_max === "number" && typeof boundingBox?.x_min === "number" && typeof boundingBox?.y_max === "number" && typeof boundingBox?.y_min === "number";
|
|
360649
|
-
return isSupportedVersion && hasBoundingBox2D && hasRequiredColumnsAndRowGroupSize;
|
|
360675
|
+
const isSupportedVersion = formatVersion === "0.1" || formatVersion === "0.2";
|
|
360676
|
+
return isSupportedVersion && hasRequiredColumnsAndRowGroupSize;
|
|
360650
360677
|
}
|
|
360651
360678
|
async load() {
|
|
360652
360679
|
const [modelMatrix2, supportsTiling] = await Promise.all([
|
|
@@ -360684,7 +360711,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
|
|
|
360684
360711
|
featureIds,
|
|
360685
360712
|
obsPointsModelMatrix: modelMatrix2,
|
|
360686
360713
|
// Return 'tiled' if the morton_code_2d column
|
|
360687
|
-
//
|
|
360714
|
+
// is present,
|
|
360688
360715
|
// and the row group size is small enough.
|
|
360689
360716
|
// Otherwise, return 'full'.
|
|
360690
360717
|
obsPointsTilingType: supportsTiling ? "tiled" : "full",
|
|
@@ -370193,6 +370220,7 @@ function sdataMortonQueryRectAux(boundingBox, origRect) {
|
|
|
370193
370220
|
const mortonIntervals = zcoverRectangle(normRect[0][0], normRect[0][1], normRect[1][0], normRect[1][1], 16, null, true);
|
|
370194
370221
|
return mortonIntervals;
|
|
370195
370222
|
}
|
|
370223
|
+
const MORTON_CODE_EXTREME_VALUE_INDICATOR = 0;
|
|
370196
370224
|
async function getParquetModule() {
|
|
370197
370225
|
const module2 = await import(
|
|
370198
370226
|
/* webpackIgnore: true */
|
|
@@ -370271,7 +370299,7 @@ async function _loadParquetSchemaBytes({ queryClient, store }, parquetPath, part
|
|
|
370271
370299
|
if (!tailBytes || tailBytes.length < TAIL_LENGTH) {
|
|
370272
370300
|
throw new Error(`Failed to load parquet footerLength for ${partZeroPath}`);
|
|
370273
370301
|
}
|
|
370274
|
-
const footerLength = new DataView(tailBytes.buffer).getInt32(0, true);
|
|
370302
|
+
const footerLength = new DataView(tailBytes.buffer, tailBytes.byteOffset, tailBytes.byteLength).getInt32(0, true);
|
|
370275
370303
|
const magic = new TextDecoder().decode(tailBytes.slice(4, 8));
|
|
370276
370304
|
if (magic !== "PAR1") {
|
|
370277
370305
|
throw new Error("Invalid Parquet file: missing PAR1 magic number");
|
|
@@ -370318,22 +370346,22 @@ async function _loadParquetMetadataByPart({ queryClient, store }, parquetPath) {
|
|
|
370318
370346
|
} catch (error2) {
|
|
370319
370347
|
if (error2.message.includes("Failed to load parquet footerLength")) {
|
|
370320
370348
|
numParts = partIndex;
|
|
370349
|
+
log$b.info(`Found ${numParts} parts for parquet path ${parquetPath}; An above "Failed to load parquet footerLength" error is expected for the subsequent part.`);
|
|
370321
370350
|
}
|
|
370322
370351
|
}
|
|
370323
370352
|
} while (numParts === void 0);
|
|
370353
|
+
const numRows = allMetadata.map((part) => part.metadata.fileMetadata().numRows());
|
|
370354
|
+
const numRowGroups = allMetadata.map((part) => part.metadata.numRowGroups());
|
|
370355
|
+
const numRowsPerGroup = allMetadata.map((part) => part.metadata.rowGroup(0).numRows());
|
|
370324
370356
|
const metadata2 = {
|
|
370325
|
-
|
|
370326
|
-
|
|
370327
|
-
|
|
370328
|
-
|
|
370329
|
-
|
|
370330
|
-
|
|
370331
|
-
|
|
370332
|
-
|
|
370333
|
-
metadata2.numRowGroups = allMetadata.reduce((sum2, part) => sum2 + part.metadata.numRowGroups(), 0);
|
|
370334
|
-
metadata2.numRowsPerGroup = firstPart.metadata.rowGroup(0).numRows();
|
|
370335
|
-
metadata2.schema = firstPart.schema.schema;
|
|
370336
|
-
}
|
|
370357
|
+
totalNumRows: numRows.reduce((a2, b2) => a2 + b2, 0),
|
|
370358
|
+
totalNumRowGroups: numRowGroups.reduce((a2, b2) => a2 + b2, 0),
|
|
370359
|
+
// Array of count per part (length equal to numParts).
|
|
370360
|
+
numRowsByPart: numRows,
|
|
370361
|
+
numRowGroupsByPart: numRowGroups,
|
|
370362
|
+
numRowsPerGroupByPart: numRowsPerGroup,
|
|
370363
|
+
schema: allMetadata?.[0]?.schema?.schema
|
|
370364
|
+
};
|
|
370337
370365
|
const result = {
|
|
370338
370366
|
...metadata2,
|
|
370339
370367
|
// TODO: extract metadata per part and rowGroup into plain objects that match the hyparquet parquetMetadata() return value?
|
|
@@ -370357,8 +370385,8 @@ async function _loadParquetRowGroupByGroupIndex({ queryClient, store }, parquetP
|
|
|
370357
370385
|
const store2 = ctx.meta?.store;
|
|
370358
370386
|
const { readParquetRowGroup } = await _getParquetModule({ queryClient: queryClient2 });
|
|
370359
370387
|
const allMetadata = await _loadParquetMetadataByPart({ queryClient: queryClient2, store: store2 }, parquetPath);
|
|
370360
|
-
if (rowGroupIndex < 0 || rowGroupIndex >= allMetadata.
|
|
370361
|
-
throw new Error(`Row group index ${rowGroupIndex} is out of bounds for parquet table with ${allMetadata.
|
|
370388
|
+
if (rowGroupIndex < 0 || rowGroupIndex >= allMetadata.totalNumRowGroups) {
|
|
370389
|
+
throw new Error(`Row group index ${rowGroupIndex} is out of bounds for parquet table with ${allMetadata.totalNumRowGroups} row groups.`);
|
|
370362
370390
|
}
|
|
370363
370391
|
let partIndex;
|
|
370364
370392
|
let cumulativeRowGroups = 0;
|
|
@@ -370468,9 +370496,9 @@ async function _bisectRowGroupsRight({ queryClient, store }, parquetPath, column
|
|
|
370468
370496
|
);
|
|
370469
370497
|
const store2 = ctx.meta?.store;
|
|
370470
370498
|
const allMetadata = await _loadParquetMetadataByPart({ queryClient: queryClient2, store: store2 }, parquetPath);
|
|
370471
|
-
const {
|
|
370499
|
+
const { totalNumRowGroups } = allMetadata;
|
|
370472
370500
|
let lo = 0;
|
|
370473
|
-
let hi =
|
|
370501
|
+
let hi = totalNumRowGroups;
|
|
370474
370502
|
while (lo < hi) {
|
|
370475
370503
|
const cachedInRange = await getCachedInRange(queryClient2, parquetPath, columnName, lo, hi);
|
|
370476
370504
|
const betterLo = cachedInRange.slice().reverse().find((c2) => c2.index > lo && targetValue >= c2.max);
|
|
@@ -370873,11 +370901,12 @@ class SpatialDataTableSource extends AnnDataSource {
|
|
|
370873
370901
|
const { queryClient } = this;
|
|
370874
370902
|
const { store } = this.storeRoot;
|
|
370875
370903
|
const allMetadata = await _loadParquetMetadataByPart({ queryClient, store }, parquetPath);
|
|
370876
|
-
const {
|
|
370877
|
-
const numRowsTotal = allMetadata.
|
|
370878
|
-
|
|
370904
|
+
const { numRowsPerGroupByPart } = allMetadata;
|
|
370905
|
+
const numRowsTotal = allMetadata.totalNumRows;
|
|
370906
|
+
const maxNumRowsPerGroup = Math.max(...numRowsPerGroupByPart);
|
|
370907
|
+
if (maxNumRowsPerGroup >= 1e5) {
|
|
370879
370908
|
if (numRowsTotal > 5e6) {
|
|
370880
|
-
throw new Error(`The Parquet table at ${parquetPath} has ${numRowsTotal} total rows, which necessitates tiled loading, but it was not possible because the row group size is too large (${
|
|
370909
|
+
throw new Error(`The Parquet table at ${parquetPath} has ${numRowsTotal} total rows, which necessitates tiled loading, but it was not possible because the row group size is too large (${maxNumRowsPerGroup}). See the Vitessce documentation at Data Troubleshooting -> Points for more details.`);
|
|
370881
370910
|
}
|
|
370882
370911
|
return false;
|
|
370883
370912
|
}
|
|
@@ -370901,7 +370930,7 @@ class SpatialDataTableSource extends AnnDataSource {
|
|
|
370901
370930
|
* @param {string[]|undefined} columns An optional list of column names to load.
|
|
370902
370931
|
* @returns
|
|
370903
370932
|
*/
|
|
370904
|
-
async loadParquetTableInRect(parquetPath, tileBbox,
|
|
370933
|
+
async loadParquetTableInRect(parquetPath, tileBbox, signal, featureIndexColumnName, mortonCodeColumn) {
|
|
370905
370934
|
const { queryClient } = this;
|
|
370906
370935
|
const { store } = this.storeRoot;
|
|
370907
370936
|
const mortonCodeColumnName = mortonCodeColumn ?? "morton_code_2d";
|
|
@@ -370926,15 +370955,46 @@ class SpatialDataTableSource extends AnnDataSource {
|
|
|
370926
370955
|
} else {
|
|
370927
370956
|
tileBboxes = [tileBbox];
|
|
370928
370957
|
}
|
|
370958
|
+
const firstRowGroupTable = await _loadParquetRowGroupByGroupIndex({ queryClient, store }, parquetPath, 0);
|
|
370959
|
+
const xColumnForBoundingBox = firstRowGroupTable.getChild("x");
|
|
370960
|
+
const yColumnForBoundingBox = firstRowGroupTable.getChild("y");
|
|
370961
|
+
const mortonCodeColumnForBoundingBox = firstRowGroupTable.getChild(mortonCodeColumnName);
|
|
370962
|
+
const boundingBoxMaxNumRows = Math.min(4, firstRowGroupTable.numRows);
|
|
370963
|
+
const firstMortonCodes = range$e(boundingBoxMaxNumRows).map((i2) => mortonCodeColumnForBoundingBox.get(i2));
|
|
370964
|
+
const boundingBoxNumRows = firstMortonCodes.filter((code2) => code2 === MORTON_CODE_EXTREME_VALUE_INDICATOR).length;
|
|
370965
|
+
const boundingBoxXValues = range$e(boundingBoxNumRows).map((i2) => xColumnForBoundingBox.get(i2));
|
|
370966
|
+
const boundingBoxYValues = range$e(boundingBoxNumRows).map((i2) => yColumnForBoundingBox.get(i2));
|
|
370967
|
+
const xMin = Math.min(...boundingBoxXValues);
|
|
370968
|
+
const xMax = Math.max(...boundingBoxXValues);
|
|
370969
|
+
const yMin = Math.min(...boundingBoxYValues);
|
|
370970
|
+
const yMax = Math.max(...boundingBoxYValues);
|
|
370971
|
+
const allPointsBbox = {
|
|
370972
|
+
x_min: xMin,
|
|
370973
|
+
x_max: xMax,
|
|
370974
|
+
y_min: yMin,
|
|
370975
|
+
y_max: yMax
|
|
370976
|
+
};
|
|
370929
370977
|
const rowGroupIndicesPerTile = await Promise.all(tileBboxes.map(async (subTileBbox) => _rectToRowGroupIndices({ queryClient, store }, parquetPath, subTileBbox, allPointsBbox, mortonCodeColumnName)));
|
|
370930
370978
|
const uniqueCoveredRowGroupIndices = Array.from(new Set(rowGroupIndicesPerTile.flat())).toSorted((a2, b2) => a2 - b2);
|
|
370931
370979
|
const allMetadata = await _loadParquetMetadataByPart({ queryClient, store }, parquetPath);
|
|
370932
|
-
const {
|
|
370933
|
-
const
|
|
370934
|
-
|
|
370935
|
-
|
|
370936
|
-
|
|
370937
|
-
|
|
370980
|
+
const { numRowsPerGroupByPart, numRowGroupsByPart } = allMetadata;
|
|
370981
|
+
const rowGroupIToNumRows = (rowGroupI) => {
|
|
370982
|
+
let currPartIndex = 0;
|
|
370983
|
+
let prevTotalRowGroupCount = 0;
|
|
370984
|
+
for (let partIndex = 0; partIndex < numRowGroupsByPart.length; partIndex++) {
|
|
370985
|
+
const numRowGroupsInPart = numRowGroupsByPart[partIndex];
|
|
370986
|
+
if (prevTotalRowGroupCount <= rowGroupI && rowGroupI < prevTotalRowGroupCount + numRowGroupsInPart) {
|
|
370987
|
+
currPartIndex = partIndex;
|
|
370988
|
+
break;
|
|
370989
|
+
}
|
|
370990
|
+
prevTotalRowGroupCount += numRowGroupsInPart;
|
|
370991
|
+
}
|
|
370992
|
+
return numRowsPerGroupByPart[currPartIndex];
|
|
370993
|
+
};
|
|
370994
|
+
const totalNumRowsToLoad = uniqueCoveredRowGroupIndices.reduce((acc, rowGroupI) => acc + rowGroupIToNumRows(rowGroupI), 0);
|
|
370995
|
+
const xArr = new Float32Array(totalNumRowsToLoad);
|
|
370996
|
+
const yArr = new Float32Array(totalNumRowsToLoad);
|
|
370997
|
+
const featureIndexArr = new Uint32Array(totalNumRowsToLoad);
|
|
370938
370998
|
const rowGroupTables = await Promise.all(uniqueCoveredRowGroupIndices.map(async (rowGroupIndex) => _loadParquetRowGroupByGroupIndex({ queryClient, store }, parquetPath, rowGroupIndex)));
|
|
370939
370999
|
let rowOffset = 0;
|
|
370940
371000
|
rowGroupTables.forEach((table2) => {
|
|
@@ -370947,7 +371007,7 @@ class SpatialDataTableSource extends AnnDataSource {
|
|
|
370947
371007
|
xArr.set(xColumn.toArray(), rowOffset);
|
|
370948
371008
|
yArr.set(yColumn.toArray(), rowOffset);
|
|
370949
371009
|
featureIndexArr.set(featureIndexColumn.toArray(), rowOffset);
|
|
370950
|
-
rowOffset +=
|
|
371010
|
+
rowOffset += table2.numRows;
|
|
370951
371011
|
});
|
|
370952
371012
|
return {
|
|
370953
371013
|
data: {
|
|
@@ -370955,7 +371015,7 @@ class SpatialDataTableSource extends AnnDataSource {
|
|
|
370955
371015
|
y: yArr,
|
|
370956
371016
|
featureIndices: featureIndexArr
|
|
370957
371017
|
},
|
|
370958
|
-
shape: [3,
|
|
371018
|
+
shape: [3, totalNumRowsToLoad]
|
|
370959
371019
|
};
|
|
370960
371020
|
}
|
|
370961
371021
|
}
|
|
@@ -377047,7 +377107,7 @@ class SpatialDataPointsSource extends SpatialDataTableSource {
|
|
|
377047
377107
|
const zattrs = await this.loadSpatialDataElementAttrs(path2);
|
|
377048
377108
|
const formatVersion = zattrs.spatialdata_attrs.version;
|
|
377049
377109
|
const encodingType = zattrs["encoding-type"];
|
|
377050
|
-
if (encodingType === "ngff:points" && !(formatVersion === "0.1")) {
|
|
377110
|
+
if (encodingType === "ngff:points" && !(formatVersion === "0.1" || formatVersion === "0.2")) {
|
|
377051
377111
|
throw new Error(`Unexpected version for points spatialdata_attrs: ${formatVersion}`);
|
|
377052
377112
|
}
|
|
377053
377113
|
return formatVersion;
|
|
@@ -377150,16 +377210,11 @@ class SpatialDataPointsSource extends SpatialDataTableSource {
|
|
|
377150
377210
|
const zattrs = await this.loadSpatialDataElementAttrs(elementPath);
|
|
377151
377211
|
const {
|
|
377152
377212
|
// axes,
|
|
377153
|
-
spatialdata_attrs: spatialDataAttrs
|
|
377154
|
-
// The bounding box (extent) of all points.
|
|
377155
|
-
// Required for un-normalization from uints back to floats.
|
|
377156
|
-
// TODO: decide whether these will be stored here or somewhere else.
|
|
377157
|
-
// Reference: https://github.com/vitessce/vitessce-python/pull/476#issuecomment-3362656956
|
|
377158
|
-
bounding_box: allPointsBbox
|
|
377213
|
+
spatialdata_attrs: spatialDataAttrs
|
|
377159
377214
|
} = zattrs;
|
|
377160
377215
|
const { feature_key: featureKey } = spatialDataAttrs;
|
|
377161
377216
|
const featureIndexColumnName = featureIndexColumnNameFromOptions ?? `${featureKey}_codes`;
|
|
377162
|
-
return this.loadParquetTableInRect(parquetPath, tileBbox,
|
|
377217
|
+
return this.loadParquetTableInRect(parquetPath, tileBbox, signal, featureIndexColumnName, mortonCodeColumn);
|
|
377163
377218
|
}
|
|
377164
377219
|
async supportsLoadPointsInRect(elementPath, featureIndexColumnName, mortonCodeColumn) {
|
|
377165
377220
|
const parquetPath = getParquetPath(elementPath);
|
|
@@ -382717,7 +382772,8 @@ const baseFileTypes = [
|
|
|
382717
382772
|
makeFileType(FileType$1.OBS_LOCATIONS_MOLECULES_JSON, DataType$3.OBS_LOCATIONS, MoleculesJsonAsObsLocationsLoader, JsonSource, z.null()),
|
|
382718
382773
|
makeFileType(FileType$1.OBS_LABELS_MOLECULES_JSON, DataType$3.OBS_LABELS, MoleculesJsonAsObsLabelsLoader, JsonSource, z.null()),
|
|
382719
382774
|
makeFileType(FileType$1.NEIGHBORHOODS_JSON, DataType$3.NEIGHBORHOODS, JsonLoader, JsonSource, z.null()),
|
|
382720
|
-
makeFileType(FileType$1.GENOMIC_PROFILES_ZARR, DataType$3.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null())
|
|
382775
|
+
makeFileType(FileType$1.GENOMIC_PROFILES_ZARR, DataType$3.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
|
|
382776
|
+
makeFileType(FileType$1.GENOMIC_PROFILES_ZARR_ZIP, DataType$3.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null())
|
|
382721
382777
|
];
|
|
382722
382778
|
const baseJointFileTypes = [
|
|
382723
382779
|
new PluginJointFileType(FileType$1.ANNDATA_ZARR, expandAnndataZarr, anndataZarrSchema),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as Group, M as Matrix4, T as TrianglesDrawMode, a as TriangleFanDrawMode, b as TriangleStripDrawMode, R as REVISION, L as Loader, c as LoaderUtils, F as FileLoader, d as MeshPhysicalMaterial, V as Vector2, C as Color, S as SpotLight, P as PointLight, D as DirectionalLight, e as Vector3, I as InstancedMesh, Q as Quaternion, O as Object3D, f as TextureLoader, g as ImageBitmapLoader, B as BufferAttribute, h as InterleavedBuffer, i as LinearMipmapLinearFilter, N as NearestMipmapLinearFilter, j as LinearMipmapNearestFilter, k as NearestMipmapNearestFilter, l as LinearFilter, m as NearestFilter, n as RepeatWrapping, o as MirroredRepeatWrapping, p as ClampToEdgeWrapping, q as PointsMaterial, r as Material, s as LineBasicMaterial, t as MeshStandardMaterial, u as DoubleSide, v as MeshBasicMaterial, w as PropertyBinding, x as BufferGeometry, y as SkinnedMesh, z as Mesh, A as LineSegments, E as Line$1, H as LineLoop, J as Points, K as PerspectiveCamera, U as MathUtils, W as OrthographicCamera, X as Skeleton, Y as InterpolateDiscrete, Z as InterpolateLinear, _ as AnimationClip, $ as Bone, a0 as InterleavedBufferAttribute, a1 as Texture, a2 as VectorKeyframeTrack, a3 as QuaternionKeyframeTrack, a4 as NumberKeyframeTrack, a5 as FrontSide, a6 as Interpolant, a7 as Box3, a8 as Sphere, a9 as InstancedBufferGeometry, aa as Float32BufferAttribute, ab as InstancedInterleavedBuffer, ac as WireframeGeometry, ad as ShaderMaterial, ae as UniformsUtils, af as UniformsLib, ag as Vector4, ah as Line3, ai as SphereGeometry, aj as _extends, ak as Plane, al as Triangle, am as BackSide, an as Ray$1, ao as jsxRuntimeExports, ap as Matrix3, aq as CoordinationType, ar as Data3DTexture, as as RedFormat, at as FloatType, au as getImageSize, av as Scene } from "./index-
|
|
1
|
+
import { G as Group, M as Matrix4, T as TrianglesDrawMode, a as TriangleFanDrawMode, b as TriangleStripDrawMode, R as REVISION, L as Loader, c as LoaderUtils, F as FileLoader, d as MeshPhysicalMaterial, V as Vector2, C as Color, S as SpotLight, P as PointLight, D as DirectionalLight, e as Vector3, I as InstancedMesh, Q as Quaternion, O as Object3D, f as TextureLoader, g as ImageBitmapLoader, B as BufferAttribute, h as InterleavedBuffer, i as LinearMipmapLinearFilter, N as NearestMipmapLinearFilter, j as LinearMipmapNearestFilter, k as NearestMipmapNearestFilter, l as LinearFilter, m as NearestFilter, n as RepeatWrapping, o as MirroredRepeatWrapping, p as ClampToEdgeWrapping, q as PointsMaterial, r as Material, s as LineBasicMaterial, t as MeshStandardMaterial, u as DoubleSide, v as MeshBasicMaterial, w as PropertyBinding, x as BufferGeometry, y as SkinnedMesh, z as Mesh, A as LineSegments, E as Line$1, H as LineLoop, J as Points, K as PerspectiveCamera, U as MathUtils, W as OrthographicCamera, X as Skeleton, Y as InterpolateDiscrete, Z as InterpolateLinear, _ as AnimationClip, $ as Bone, a0 as InterleavedBufferAttribute, a1 as Texture, a2 as VectorKeyframeTrack, a3 as QuaternionKeyframeTrack, a4 as NumberKeyframeTrack, a5 as FrontSide, a6 as Interpolant, a7 as Box3, a8 as Sphere, a9 as InstancedBufferGeometry, aa as Float32BufferAttribute, ab as InstancedInterleavedBuffer, ac as WireframeGeometry, ad as ShaderMaterial, ae as UniformsUtils, af as UniformsLib, ag as Vector4, ah as Line3, ai as SphereGeometry, aj as _extends, ak as Plane, al as Triangle, am as BackSide, an as Ray$1, ao as jsxRuntimeExports, ap as Matrix3, aq as CoordinationType, ar as Data3DTexture, as as RedFormat, at as FloatType, au as getImageSize, av as Scene } from "./index-Cjg9h1C7.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { useRef, useEffect, useState, forwardRef } from "react";
|
|
4
|
-
import { u as useThree, a as useFrame, c as create, e as extend, b as createPortal, O as OrbitControls, C as Canvas } from "./OrbitControls-
|
|
4
|
+
import { u as useThree, a as useFrame, c as create, e as extend, b as createPortal, O as OrbitControls, C as Canvas } from "./OrbitControls-DtlnpUX5.js";
|
|
5
5
|
const isPromise = (promise) => typeof promise === "object" && typeof promise.then === "function";
|
|
6
6
|
const globalCache = [];
|
|
7
7
|
function shallowEqualArrays(arrA, arrB, equal = (a, b) => a === b) {
|
|
@@ -5027,7 +5027,7 @@ const Text = /* @__PURE__ */ React.forwardRef(({
|
|
|
5027
5027
|
const {
|
|
5028
5028
|
Text: TextMeshImpl,
|
|
5029
5029
|
preloadFont
|
|
5030
|
-
} = suspend(async () => import("./troika-three-text.esm-
|
|
5030
|
+
} = suspend(async () => import("./troika-three-text.esm-3N3SIomL.js"), []);
|
|
5031
5031
|
const invalidate = useThree(({
|
|
5032
5032
|
invalidate: invalidate2
|
|
5033
5033
|
}) => invalidate2);
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { bR, bP, bN, bQ, bO, bM, bS } from "./index-
|
|
1
|
+
import { bR, bP, bN, bQ, bO, bM, bS } from "./index-Cjg9h1C7.js";
|
|
2
2
|
import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
|
|
3
3
|
export {
|
|
4
4
|
bR as PluginAsyncFunction,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-SxljTded.js";
|
|
2
|
-
import { aG as getDefaultExportFromCjs, aX as BaseDecoder, aY as LercParameters, aZ as LercAddCompression } from "./index-
|
|
2
|
+
import { aG as getDefaultExportFromCjs, aX as BaseDecoder, aY as LercParameters, aZ as LercAddCompression } from "./index-Cjg9h1C7.js";
|
|
3
3
|
var LercDecode = { exports: {} };
|
|
4
4
|
var hasRequiredLercDecode;
|
|
5
5
|
function requireLercDecode() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { bH as MeshDistanceMaterial, bI as MeshDepthMaterial, bJ as RGBADepthPacking, ae as UniformsUtils, bK as ShaderChunk, a9 as InstancedBufferGeometry, a8 as Sphere, a7 as Box3, am as BackSide, u as DoubleSide, z as Mesh, a5 as FrontSide, v as MeshBasicMaterial, C as Color, e as Vector3, M as Matrix4, V as Vector2, ap as Matrix3, ag as Vector4, a1 as Texture, l as LinearFilter, aD as PlaneGeometry, x as BufferGeometry, aa as Float32BufferAttribute, bL as InstancedBufferAttribute } from "./index-
|
|
1
|
+
import { bH as MeshDistanceMaterial, bI as MeshDepthMaterial, bJ as RGBADepthPacking, ae as UniformsUtils, bK as ShaderChunk, a9 as InstancedBufferGeometry, a8 as Sphere, a7 as Box3, am as BackSide, u as DoubleSide, z as Mesh, a5 as FrontSide, v as MeshBasicMaterial, C as Color, e as Vector3, M as Matrix4, V as Vector2, ap as Matrix3, ag as Vector4, a1 as Texture, l as LinearFilter, aD as PlaneGeometry, x as BufferGeometry, aa as Float32BufferAttribute, bL as InstancedBufferAttribute } from "./index-Cjg9h1C7.js";
|
|
2
2
|
function workerBootstrap() {
|
|
3
3
|
var modules = /* @__PURE__ */ Object.create(null);
|
|
4
4
|
function registerModule(ref, callback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,CAAC,EAsDF,MAAM,mBAAmB,CAAC;AAqL3B,eAAO,MAAM,aAAa,kBA+BzB,CAAC;AAEF,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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"}
|
package/dist-tsc/base-plugins.js
CHANGED
|
@@ -177,6 +177,7 @@ export const baseFileTypes = [
|
|
|
177
177
|
makeFileType(FileType.OBS_LABELS_MOLECULES_JSON, DataType.OBS_LABELS, MoleculesJsonAsObsLabelsLoader, JsonSource, z.null()),
|
|
178
178
|
makeFileType(FileType.NEIGHBORHOODS_JSON, DataType.NEIGHBORHOODS, JsonLoader, JsonSource, z.null()),
|
|
179
179
|
makeFileType(FileType.GENOMIC_PROFILES_ZARR, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
|
|
180
|
+
makeFileType(FileType.GENOMIC_PROFILES_ZARR_ZIP, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
|
|
180
181
|
];
|
|
181
182
|
export const baseJointFileTypes = [
|
|
182
183
|
new PluginJointFileType(FileType.ANNDATA_ZARR, expandAnndataZarr, anndataZarrSchema),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitessce/all",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.10",
|
|
4
4
|
"author": "HIDIVE Lab at HMS",
|
|
5
5
|
"homepage": "http://vitessce.io",
|
|
6
6
|
"repository": {
|
|
@@ -17,38 +17,38 @@
|
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"zod": "^3.21.4",
|
|
20
|
-
"@vitessce/styles": "3.9.
|
|
21
|
-
"@vitessce/
|
|
22
|
-
"@vitessce/
|
|
23
|
-
"@vitessce/
|
|
24
|
-
"@vitessce/
|
|
25
|
-
"@vitessce/
|
|
26
|
-
"@vitessce/feature-list": "3.9.
|
|
27
|
-
"@vitessce/genomic-profiles": "3.9.
|
|
28
|
-
"@vitessce/heatmap": "3.9.
|
|
29
|
-
"@vitessce/glb": "3.9.
|
|
30
|
-
"@vitessce/json": "3.9.
|
|
31
|
-
"@vitessce/layer-controller": "3.9.
|
|
32
|
-
"@vitessce/
|
|
33
|
-
"@vitessce/
|
|
34
|
-
"@vitessce/
|
|
35
|
-
"@vitessce/
|
|
36
|
-
"@vitessce/
|
|
37
|
-
"@vitessce/scatterplot-embedding": "3.9.
|
|
38
|
-
"@vitessce/scatterplot-gating": "3.9.
|
|
39
|
-
"@vitessce/schemas": "3.9.
|
|
40
|
-
"@vitessce/spatial": "3.9.
|
|
41
|
-
"@vitessce/
|
|
42
|
-
"@vitessce/
|
|
43
|
-
"@vitessce/
|
|
44
|
-
"@vitessce/
|
|
45
|
-
"@vitessce/
|
|
46
|
-
"@vitessce/globals": "3.9.
|
|
47
|
-
"@vitessce/spatial-zarr": "3.9.
|
|
48
|
-
"@vitessce/spatial-
|
|
49
|
-
"@vitessce/
|
|
50
|
-
"@vitessce/neuroglancer": "3.9.
|
|
51
|
-
"@vitessce/
|
|
20
|
+
"@vitessce/styles": "3.9.10",
|
|
21
|
+
"@vitessce/constants-internal": "3.9.10",
|
|
22
|
+
"@vitessce/error": "3.9.10",
|
|
23
|
+
"@vitessce/description": "3.9.10",
|
|
24
|
+
"@vitessce/abstract": "3.9.10",
|
|
25
|
+
"@vitessce/csv": "3.9.10",
|
|
26
|
+
"@vitessce/feature-list": "3.9.10",
|
|
27
|
+
"@vitessce/genomic-profiles": "3.9.10",
|
|
28
|
+
"@vitessce/heatmap": "3.9.10",
|
|
29
|
+
"@vitessce/glb": "3.9.10",
|
|
30
|
+
"@vitessce/json": "3.9.10",
|
|
31
|
+
"@vitessce/layer-controller": "3.9.10",
|
|
32
|
+
"@vitessce/link-controller": "3.9.10",
|
|
33
|
+
"@vitessce/ome-tiff": "3.9.10",
|
|
34
|
+
"@vitessce/layer-controller-beta": "3.9.10",
|
|
35
|
+
"@vitessce/plugins": "3.9.10",
|
|
36
|
+
"@vitessce/obs-sets-manager": "3.9.10",
|
|
37
|
+
"@vitessce/scatterplot-embedding": "3.9.10",
|
|
38
|
+
"@vitessce/scatterplot-gating": "3.9.10",
|
|
39
|
+
"@vitessce/schemas": "3.9.10",
|
|
40
|
+
"@vitessce/spatial": "3.9.10",
|
|
41
|
+
"@vitessce/spatial-beta": "3.9.10",
|
|
42
|
+
"@vitessce/statistical-plots": "3.9.10",
|
|
43
|
+
"@vitessce/status": "3.9.10",
|
|
44
|
+
"@vitessce/vit-s": "3.9.10",
|
|
45
|
+
"@vitessce/zarr": "3.9.10",
|
|
46
|
+
"@vitessce/globals": "3.9.10",
|
|
47
|
+
"@vitessce/spatial-zarr": "3.9.10",
|
|
48
|
+
"@vitessce/spatial-accelerated": "3.9.10",
|
|
49
|
+
"@vitessce/biomarker-select": "3.9.10",
|
|
50
|
+
"@vitessce/neuroglancer": "3.9.10",
|
|
51
|
+
"@vitessce/spatial-three": "3.9.10"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/react": "^18.0.28",
|
package/src/base-plugins.ts
CHANGED
|
@@ -366,6 +366,7 @@ export const baseFileTypes = [
|
|
|
366
366
|
makeFileType(FileType.OBS_LABELS_MOLECULES_JSON, DataType.OBS_LABELS, MoleculesJsonAsObsLabelsLoader, JsonSource, z.null()),
|
|
367
367
|
makeFileType(FileType.NEIGHBORHOODS_JSON, DataType.NEIGHBORHOODS, JsonLoader, JsonSource, z.null()),
|
|
368
368
|
makeFileType(FileType.GENOMIC_PROFILES_ZARR, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
|
|
369
|
+
makeFileType(FileType.GENOMIC_PROFILES_ZARR_ZIP, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
|
|
369
370
|
];
|
|
370
371
|
|
|
371
372
|
export const baseJointFileTypes = [
|