@vitessce/all 3.8.1 → 3.8.2
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-jfNc3RRq.js → OrbitControls-CeIrm0B5.js} +1 -1
- package/dist/{ReactNeuroglancer-CebI6oJd.js → ReactNeuroglancer-BoUKguqy.js} +1 -1
- package/dist/{deflate-CiJW6nDN.js → deflate-BmPQfLH1.js} +1 -1
- package/dist/{higlass-0qSOunpw.js → higlass-CHvsEtQd.js} +1 -1
- package/dist/{index-BvVS_3Vn.js → index-BNUI-w49.js} +154 -23
- package/dist/{index-D7Xl0b0t.js → index-BR7YdakD.js} +3 -3
- package/dist/{index-CkinFFl6.js → index-BWxI6QUS.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{jpeg-D1F3JoMr.js → jpeg-BB_ilRwM.js} +1 -1
- package/dist/{lerc-BjYwawxE.js → lerc-STi5EC9q.js} +1 -1
- package/dist/{lzw-C7bIlAE9.js → lzw-BlOU-CBg.js} +1 -1
- package/dist/{packbits-B0NoJqXw.js → packbits-BkMUG84m.js} +1 -1
- package/dist/{raw-AeiJCa5u.js → raw-CDmwxpDL.js} +1 -1
- package/dist/{troika-three-text.esm-BW_QR91G.js → troika-three-text.esm-C8Q3aJRr.js} +1 -1
- package/dist/{webimage-CrFV1v2P.js → webimage-C4EDX2gd.js} +1 -1
- package/dist-tsc/base-plugins.d.ts.map +1 -1
- package/dist-tsc/base-plugins.js +5 -2
- package/package.json +33 -33
- package/src/base-plugins.ts +5 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
import { aF as getDefaultExportFromCjs, aG as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aH as PCFSoftShadowMap, aI as VSMShadowMap, aJ as PCFShadowMap, aK as BasicShadowMap, aL as NoToneMapping, aM as ACESFilmicToneMapping, e as Vector3, V as Vector2, aN as Clock, aO as WebGLRenderer, aP as Camera, x as BufferGeometry, r as Material, aQ as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aR as THREE, aS as EventDispatcher, aT as MOUSE, aU as TOUCH, aV as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-
|
1
|
+
import { aF as getDefaultExportFromCjs, aG as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aH as PCFSoftShadowMap, aI as VSMShadowMap, aJ as PCFShadowMap, aK as BasicShadowMap, aL as NoToneMapping, aM as ACESFilmicToneMapping, e as Vector3, V as Vector2, aN as Clock, aO as WebGLRenderer, aP as Camera, x as BufferGeometry, r as Material, aQ as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aR as THREE, aS as EventDispatcher, aT as MOUSE, aU as TOUCH, aV as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-BNUI-w49.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 { aF as getDefaultExportFromCjs, b0 as requireAssign, b1 as require_export, b2 as require_core, b3 as require_fails, b4 as require_toObject, b5 as require_objectKeys, b6 as require_cof, b7 as require_wks, b8 as require_iterators, b9 as requireWeb_dom_iterable, ba as requireEs6_string_iterator, bb as require_anObject, bc as require_hide, bd as require_ctx, be as require_toLength, bf as require_global, bg as require_objectDp, bh as require_descriptors, bi as require_isObject, bj as require_objectCreate, bk as require_iterDefine, bl as require_iterStep, bm as require_meta, bn as require_isArray, bo as require_iobject, bp as require_setToStringTag, bq as require_aFunction, br as requireIterator, bs as require_propertyDesc, aZ as commonjsGlobal, bt as requireEs6_symbol, bu as requireDefineProperty, bv as require_toIobject, bw as require_objectGopd, bx as require_html, by as require_domCreate, bz as require_library, bA as requireSymbol, bB as require_objectPie, bC as require_has, bD as require_redefine, bE as require_objectAssign, bF as diffCameraState, ao as jsxRuntimeExports } from "./index-
|
1
|
+
import { aF as getDefaultExportFromCjs, b0 as requireAssign, b1 as require_export, b2 as require_core, b3 as require_fails, b4 as require_toObject, b5 as require_objectKeys, b6 as require_cof, b7 as require_wks, b8 as require_iterators, b9 as requireWeb_dom_iterable, ba as requireEs6_string_iterator, bb as require_anObject, bc as require_hide, bd as require_ctx, be as require_toLength, bf as require_global, bg as require_objectDp, bh as require_descriptors, bi as require_isObject, bj as require_objectCreate, bk as require_iterDefine, bl as require_iterStep, bm as require_meta, bn as require_isArray, bo as require_iobject, bp as require_setToStringTag, bq as require_aFunction, br as requireIterator, bs as require_propertyDesc, aZ as commonjsGlobal, bt as requireEs6_symbol, bu as requireDefineProperty, bv as require_toIobject, bw as require_objectGopd, bx as require_html, by as require_domCreate, bz as require_library, bA as requireSymbol, bB as require_objectPie, bC as require_has, bD as require_redefine, bE as require_objectAssign, bF as diffCameraState, ao as jsxRuntimeExports } from "./index-BNUI-w49.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 { aW as BaseDecoder } from "./index-
|
2
|
+
import { aW as BaseDecoder } from "./index-BNUI-w49.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 { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-
|
4
|
+
import { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-BNUI-w49.js";
|
5
5
|
var promise = {};
|
6
6
|
var hasRequiredPromise;
|
7
7
|
function requirePromise() {
|
@@ -9131,6 +9131,9 @@ const FileType$1 = {
|
|
9131
9131
|
OBS_SEGMENTATIONS_OME_TIFF: "obsSegmentations.ome-tiff",
|
9132
9132
|
// GLB
|
9133
9133
|
OBS_SEGMENTATIONS_GLB: "obsSegmentations.glb",
|
9134
|
+
// Neuroglancer
|
9135
|
+
// Precomputed (mesh) format
|
9136
|
+
OBS_SEGMENTATIONS_NG_PRECOMPUTED: "obsSegmentations.ng-precomputed",
|
9134
9137
|
// New file types to support old file types:
|
9135
9138
|
// - cells.json
|
9136
9139
|
OBS_EMBEDDING_CELLS_JSON: "obsEmbedding.cells.json",
|
@@ -9385,6 +9388,7 @@ const ViewHelpMapping = {
|
|
9385
9388
|
[FileType$1.OBS_LABELS_MUDATA_ZARR]: DataType$3.OBS_LABELS,
|
9386
9389
|
[FileType$1.FEATURE_LABELS_MUDATA_ZARR]: DataType$3.FEATURE_LABELS,
|
9387
9390
|
[FileType$1.OBS_SEGMENTATIONS_GLB]: DataType$3.OBS_SEGMENTATIONS,
|
9391
|
+
[FileType$1.OBS_SEGMENTATIONS_NG_PRECOMPUTED]: DataType$3.OBS_SEGMENTATIONS,
|
9388
9392
|
[FileType$1.IMAGE_SPATIALDATA_ZARR]: DataType$3.IMAGE,
|
9389
9393
|
[FileType$1.LABELS_SPATIALDATA_ZARR]: DataType$3.OBS_SEGMENTATIONS,
|
9390
9394
|
[FileType$1.SHAPES_SPATIALDATA_ZARR]: DataType$3.OBS_SEGMENTATIONS,
|
@@ -10714,6 +10718,18 @@ const meshGlbSchema = z.object({
|
|
10714
10718
|
sceneScaleZ: z.number(),
|
10715
10719
|
materialSide: z.enum(["front", "back"])
|
10716
10720
|
}).partial().nullable();
|
10721
|
+
const ngSchema = z.object({
|
10722
|
+
// TODO: Should this explicitly specify sharded vs. unsharded?
|
10723
|
+
// Or can/should that be inferred from the data?
|
10724
|
+
dimensionX: z.number(),
|
10725
|
+
dimensionY: z.number(),
|
10726
|
+
dimensionZ: z.number(),
|
10727
|
+
dimensionUnit: z.enum(["nm", "um", "µm", "mm", "cm", "m"]),
|
10728
|
+
// TODO: should the following be passed via coordination types instead?
|
10729
|
+
projectionScale: z.number(),
|
10730
|
+
position: z.array(z.number()).length(3),
|
10731
|
+
projectionOrientation: z.array(z.number()).length(4)
|
10732
|
+
}).partial().nullable();
|
10717
10733
|
const obsEmbeddingAnndataSchema = annDataObsEmbedding;
|
10718
10734
|
const obsSpotsAnndataSchema = annDataObsLocations;
|
10719
10735
|
const obsPointsAnndataSchema = annDataObsLocations;
|
@@ -209303,22 +209319,22 @@ async function getDecoder(fileDirectory) {
|
|
209303
209319
|
const Decoder = await importFn();
|
209304
209320
|
return new Decoder(fileDirectory);
|
209305
209321
|
}
|
209306
|
-
addDecoder([void 0, 1], () => import("./raw-
|
209307
|
-
addDecoder(5, () => import("./lzw-
|
209322
|
+
addDecoder([void 0, 1], () => import("./raw-CDmwxpDL.js").then((m2) => m2.default));
|
209323
|
+
addDecoder(5, () => import("./lzw-BlOU-CBg.js").then((m2) => m2.default));
|
209308
209324
|
addDecoder(6, () => {
|
209309
209325
|
throw new Error("old style JPEG compression is not supported.");
|
209310
209326
|
});
|
209311
|
-
addDecoder(7, () => import("./jpeg-
|
209312
|
-
addDecoder([8, 32946], () => import("./deflate-
|
209313
|
-
addDecoder(32773, () => import("./packbits-
|
209327
|
+
addDecoder(7, () => import("./jpeg-BB_ilRwM.js").then((m2) => m2.default));
|
209328
|
+
addDecoder([8, 32946], () => import("./deflate-BmPQfLH1.js").then((m2) => m2.default));
|
209329
|
+
addDecoder(32773, () => import("./packbits-BkMUG84m.js").then((m2) => m2.default));
|
209314
209330
|
addDecoder(
|
209315
209331
|
34887,
|
209316
|
-
() => import("./lerc-
|
209332
|
+
() => import("./lerc-STi5EC9q.js").then(async (m2) => {
|
209317
209333
|
await m2.zstd.init();
|
209318
209334
|
return m2;
|
209319
209335
|
}).then((m2) => m2.default)
|
209320
209336
|
);
|
209321
|
-
addDecoder(50001, () => import("./webimage-
|
209337
|
+
addDecoder(50001, () => import("./webimage-C4EDX2gd.js").then((m2) => m2.default));
|
209322
209338
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
209323
209339
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
209324
209340
|
}
|
@@ -248643,7 +248659,7 @@ let Location$1 = class Location {
|
|
248643
248659
|
}
|
248644
248660
|
resolve(path2) {
|
248645
248661
|
let root2 = new URL(`file://${this.path.endsWith("/") ? this.path : `${this.path}/`}`);
|
248646
|
-
return new Location(this.store, new URL(path2, root2).pathname);
|
248662
|
+
return new Location(this.store, decodeURIComponent(new URL(path2, root2).pathname));
|
248647
248663
|
}
|
248648
248664
|
};
|
248649
248665
|
function root$1(store) {
|
@@ -253014,12 +253030,12 @@ class ErrorBoundary extends React__default.Component {
|
|
253014
253030
|
}
|
253015
253031
|
}
|
253016
253032
|
const LazySpatialThree = React__default.lazy(async () => {
|
253017
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
253033
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BR7YdakD.js");
|
253018
253034
|
return { default: SpatialWrapper2 };
|
253019
253035
|
});
|
253020
253036
|
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 }) }) }) }));
|
253021
253037
|
const LazySpatialAccelerated = React__default.lazy(async () => {
|
253022
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
253038
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BWxI6QUS.js");
|
253023
253039
|
return { default: SpatialWrapper2 };
|
253024
253040
|
});
|
253025
253041
|
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 }) }) }) }));
|
@@ -253224,6 +253240,7 @@ function SpatialSubscriber(props) {
|
|
253224
253240
|
CoordinationType$1.LEGEND_VISIBLE
|
253225
253241
|
], coordinationScopes, coordinationScopesBy, CoordinationType$1.POINT_LAYER);
|
253226
253242
|
const is3dMode = spatialRenderingMode === "3D";
|
253243
|
+
const shouldUseThree = threeFor3d && is3dMode;
|
253227
253244
|
const [deckWidth, deckHeight, deckRef] = useDeckCanvasSize();
|
253228
253245
|
const [threeWidth, threeHeight, threeRef] = useGridItemSize();
|
253229
253246
|
const width2 = threeFor3d && deckWidth === void 0 ? threeWidth : deckWidth;
|
@@ -253492,7 +253509,7 @@ function SpatialSubscriber(props) {
|
|
253492
253509
|
}
|
253493
253510
|
}
|
253494
253511
|
};
|
253495
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady, errors, children: [
|
253512
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady, errors, children: [shouldUseThree ? acceleratedFor3d ? jsxRuntimeExports.jsx(SpatialAcceleratedAdapter, { ref: threeRef, uuid: uuid2, width: width2, height: height2, theme, hideTools: !isSelectable, rotation: [rotationX, rotationY, rotationZ], setRotationX, setRotationY, setRotationZ, targetT, targetZ, viewState: isValidViewState ? {
|
253496
253513
|
zoom: zoom2,
|
253497
253514
|
target: [targetX2, targetY2, targetZ],
|
253498
253515
|
rotationX,
|
@@ -266219,7 +266236,7 @@ function HiglassGlobalStyles(props) {
|
|
266219
266236
|
}
|
266220
266237
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
266221
266238
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
266222
|
-
const { HiGlassComponent } = await import("./higlass-
|
266239
|
+
const { HiGlassComponent } = await import("./higlass-CHvsEtQd.js");
|
266223
266240
|
return { default: HiGlassComponent };
|
266224
266241
|
});
|
266225
266242
|
const HG_SIZE = 800;
|
@@ -269166,7 +269183,7 @@ function NeuroglancerGlobalStyles(props) {
|
|
269166
269183
|
const { classes: classes2 } = props;
|
269167
269184
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
|
269168
269185
|
}
|
269169
|
-
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-
|
269186
|
+
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-BoUKguqy.js"));
|
269170
269187
|
function createWorker() {
|
269171
269188
|
return new WorkerFactory();
|
269172
269189
|
}
|
@@ -269243,6 +269260,108 @@ class NeuroglancerComp extends PureComponent {
|
|
269243
269260
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(NeuroglancerGlobalStyles, { classes: classes2 }), jsxRuntimeExports.jsx("div", { className: classes2.neuroglancerWrapper, children: jsxRuntimeExports.jsx(Suspense, { fallback: jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: jsxRuntimeExports.jsx(LazyReactNeuroglancer, { brainMapsClientId: "NOT_A_VALID_ID", viewerState, onViewerStateChanged: this.onViewerStateChanged, bundleRoot: this.bundleRoot, cellColorMapping, ref: this.onRef }) }) })] });
|
269244
269261
|
}
|
269245
269262
|
}
|
269263
|
+
const DEFAULT_NG_PROPS = {
|
269264
|
+
layout: "3d",
|
269265
|
+
position: [0, 0, 0],
|
269266
|
+
projectionOrientation: [0, 0, 0, 1],
|
269267
|
+
projectionScale: 1024,
|
269268
|
+
crossSectionScale: 1
|
269269
|
+
};
|
269270
|
+
function toPrecomputedSource(url) {
|
269271
|
+
if (!url) {
|
269272
|
+
return void 0;
|
269273
|
+
}
|
269274
|
+
return `precomputed://${url}`;
|
269275
|
+
}
|
269276
|
+
const UNIT_TO_NM = {
|
269277
|
+
nm: 1,
|
269278
|
+
um: 1e3,
|
269279
|
+
µm: 1e3,
|
269280
|
+
mm: 1e6,
|
269281
|
+
cm: 1e7,
|
269282
|
+
m: 1e9
|
269283
|
+
};
|
269284
|
+
function isInNanometerRange(value2, unit2, minNm = 1, maxNm = 100) {
|
269285
|
+
const n3 = typeof value2 === "number" ? value2 : Number(value2);
|
269286
|
+
if (!Number.isFinite(n3))
|
269287
|
+
return false;
|
269288
|
+
const factor = unit2 && UNIT_TO_NM[unit2];
|
269289
|
+
if (!factor)
|
269290
|
+
return false;
|
269291
|
+
const nm = n3 * factor;
|
269292
|
+
return nm >= minNm && nm <= maxNm;
|
269293
|
+
}
|
269294
|
+
function normalizeDimensionsToNanometers(opts2) {
|
269295
|
+
const { dimensionUnit, dimensionX, dimensionY, dimensionZ } = opts2;
|
269296
|
+
if (!dimensionUnit || !dimensionX || !dimensionY || !dimensionZ) {
|
269297
|
+
console.warn("Missing dimension info");
|
269298
|
+
}
|
269299
|
+
const xNm = isInNanometerRange(dimensionX, dimensionUnit);
|
269300
|
+
const yNm = isInNanometerRange(dimensionY, dimensionUnit);
|
269301
|
+
const zNm = isInNanometerRange(dimensionZ, dimensionUnit);
|
269302
|
+
if (!xNm || !yNm || !zNm) {
|
269303
|
+
console.warn("Dimension was converted to nm units");
|
269304
|
+
}
|
269305
|
+
return {
|
269306
|
+
x: xNm ? [dimensionX, dimensionUnit] : [1, "nm"],
|
269307
|
+
y: yNm ? [dimensionY, dimensionUnit] : [1, "nm"],
|
269308
|
+
z: zNm ? [dimensionZ, dimensionUnit] : [1, "nm"]
|
269309
|
+
};
|
269310
|
+
}
|
269311
|
+
function extractDataTypeEntities(loaders, dataset, dataType) {
|
269312
|
+
const datasetEntry = loaders?.[dataset];
|
269313
|
+
const internMap = datasetEntry?.loaders?.[dataType];
|
269314
|
+
if (!internMap || typeof internMap.entries !== "function")
|
269315
|
+
return [];
|
269316
|
+
return Array.from(internMap.entries()).map(([key2, loader2]) => {
|
269317
|
+
const url = loader2?.url ?? loader2?.dataSource?.url ?? void 0;
|
269318
|
+
const fileUid = key2?.fileUid ?? loader2?.coordinationValues?.fileUid ?? void 0;
|
269319
|
+
const { position: position2, projectionOrientation, projectionScale, crossSectionScale } = loader2?.options ?? {};
|
269320
|
+
const isPrecomputed = loader2?.fileType.includes("precomputed");
|
269321
|
+
if (!isPrecomputed) {
|
269322
|
+
console.warn("Filetype needs to be precomputed");
|
269323
|
+
}
|
269324
|
+
return {
|
269325
|
+
key: key2,
|
269326
|
+
type: "segmentation",
|
269327
|
+
fileUid,
|
269328
|
+
layout: DEFAULT_NG_PROPS.layout,
|
269329
|
+
url,
|
269330
|
+
source: toPrecomputedSource(url),
|
269331
|
+
name: fileUid ?? key2?.name ?? "segmentation",
|
269332
|
+
// For precomputed: nm is the unit used
|
269333
|
+
dimensions: normalizeDimensionsToNanometers(loader2?.options),
|
269334
|
+
// If not provided, no error, but difficult to see the data
|
269335
|
+
position: Array.isArray(position2) && position2.length === 3 ? position2 : DEFAULT_NG_PROPS.position,
|
269336
|
+
// If not provided, will have a default orientation
|
269337
|
+
projectionOrientation: Array.isArray(projectionOrientation) && projectionOrientation.length === 4 ? projectionOrientation : DEFAULT_NG_PROPS.projectionOrientation,
|
269338
|
+
projectionScale: Number.isFinite(projectionScale) ? projectionScale : DEFAULT_NG_PROPS.projectionScale,
|
269339
|
+
crossSectionScale: Number.isFinite(crossSectionScale) ? crossSectionScale : DEFAULT_NG_PROPS.crossSectionScale
|
269340
|
+
};
|
269341
|
+
});
|
269342
|
+
}
|
269343
|
+
function useExtractOptionsForNg(loaders, dataset, dataType) {
|
269344
|
+
const extractedEntities = useMemo$1(() => extractDataTypeEntities(loaders, dataset, dataType), [loaders, dataset, dataType]);
|
269345
|
+
const layers = useMemo$1(() => extractedEntities.filter((t4) => t4.source).map((t4) => ({
|
269346
|
+
type: t4.type,
|
269347
|
+
source: t4.source,
|
269348
|
+
segments: [],
|
269349
|
+
name: t4.name || "segmentation"
|
269350
|
+
})), [extractedEntities]);
|
269351
|
+
const viewerState = useMemo$1(() => ({
|
269352
|
+
dimensions: extractedEntities[0]?.dimensions,
|
269353
|
+
position: extractedEntities[0]?.position,
|
269354
|
+
crossSectionScale: extractedEntities[0]?.crossSectionScale,
|
269355
|
+
projectionOrientation: extractedEntities[0]?.projectionOrientation,
|
269356
|
+
projectionScale: extractedEntities[0]?.projectionScale,
|
269357
|
+
layers,
|
269358
|
+
layout: extractedEntities[0].layout
|
269359
|
+
}));
|
269360
|
+
return [viewerState];
|
269361
|
+
}
|
269362
|
+
function useNeuroglancerViewerState(loaders, dataset, isRequired, coordinationSetters, initialCoordinationValues, matchOn) {
|
269363
|
+
return useExtractOptionsForNg(loaders, dataset, DataType$3.OBS_SEGMENTATIONS);
|
269364
|
+
}
|
269246
269365
|
/**
|
269247
269366
|
* @license
|
269248
269367
|
* Copyright 2010-2023 Three.js Authors
|
@@ -298858,10 +298977,6 @@ const multiplyQuat = (a2, b2) => {
|
|
298858
298977
|
const conjQuat = (q) => [-q[0], -q[1], -q[2], q[3]];
|
298859
298978
|
const rad2deg = (r3) => r3 * 180 / Math.PI;
|
298860
298979
|
const deg2rad = (d) => d * Math.PI / 180;
|
298861
|
-
function isValidState(viewerState) {
|
298862
|
-
const { projectionScale, projectionOrientation, position: position2, dimensions } = viewerState || {};
|
298863
|
-
return dimensions !== void 0 && typeof projectionScale === "number" && Array.isArray(projectionOrientation) && projectionOrientation.length === 4 && Array.isArray(position2) && position2.length === 3;
|
298864
|
-
}
|
298865
298980
|
function valueGreaterThanEpsilon(a2, b2, epsilon3) {
|
298866
298981
|
if (Array.isArray(a2) && Array.isArray(b2) && a2.length === b2.length) {
|
298867
298982
|
return a2.some((val, i2) => Math.abs(val - b2[i2]) > epsilon3);
|
@@ -298873,8 +298988,6 @@ function valueGreaterThanEpsilon(a2, b2, epsilon3) {
|
|
298873
298988
|
}
|
298874
298989
|
const nearEq = (a2, b2, epsilon3) => Number.isFinite(a2) && Number.isFinite(b2) ? Math.abs(a2 - b2) <= epsilon3 : a2 === b2;
|
298875
298990
|
function diffCameraState(prev2, next4) {
|
298876
|
-
if (!isValidState(next4))
|
298877
|
-
return { changed: false, scale: false, pos: false, rot: false };
|
298878
298991
|
const eps = EPSILON_KEYS_MAPPING_NG;
|
298879
298992
|
const scale2 = valueGreaterThanEpsilon(prev2?.projectionScale, next4?.projectionScale, eps.projectionScale);
|
298880
298993
|
const posHard = valueGreaterThanEpsilon(prev2?.position, next4?.position, eps.position);
|
@@ -298921,7 +299034,7 @@ function rgbToHex$1(rgb2) {
|
|
298921
299034
|
return typeof rgb2 === "string" ? rgb2 : `#${rgb2.map((c2) => c2.toString(16).padStart(2, "0")).join("")}`;
|
298922
299035
|
}
|
298923
299036
|
function NeuroglancerSubscriber(props) {
|
298924
|
-
const { coordinationScopes: coordinationScopesRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: title2 = "Neuroglancer", helpText = ViewHelpMapping.NEUROGLANCER
|
299037
|
+
const { coordinationScopes: coordinationScopesRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: title2 = "Neuroglancer", helpText = ViewHelpMapping.NEUROGLANCER } = props;
|
298925
299038
|
const loaders = useLoaders();
|
298926
299039
|
const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
|
298927
299040
|
const [{
|
@@ -298953,11 +299066,12 @@ function NeuroglancerSubscriber(props) {
|
|
298953
299066
|
setSpatialRotationOrbit: setRotationOrbit,
|
298954
299067
|
setSpatialZoom: setZoom
|
298955
299068
|
}] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.NEUROGLANCER], coordinationScopes);
|
298956
|
-
const latestViewerStateRef = useRef(initialViewerState);
|
298957
|
-
const initialRotationPushedRef = useRef(false);
|
298958
299069
|
const { classes: classes2 } = useStyles$4();
|
298959
299070
|
const [{ obsSets: cellSets }] = useObsSetsData(loaders, dataset, false, { setObsSetSelection: setCellSetSelection, setObsSetColor: setCellSetColor }, { cellSetSelection, obsSetColor: cellSetColor }, { obsType });
|
298960
299071
|
const [{ obsIndex }] = useObsEmbeddingData(loaders, dataset, true, {}, {}, { obsType, embeddingType: mapping });
|
299072
|
+
const [initalViewerState] = useNeuroglancerViewerState(loaders, dataset);
|
299073
|
+
const latestViewerStateRef = useRef(initalViewerState);
|
299074
|
+
const initialRotationPushedRef = useRef(false);
|
298961
299075
|
const ngRotPushAtRef = useRef(0);
|
298962
299076
|
const lastInteractionSource = useRef(null);
|
298963
299077
|
const applyNgUpdateTimeoutRef = useRef(null);
|
@@ -299004,7 +299118,7 @@ function NeuroglancerSubscriber(props) {
|
|
299004
299118
|
return;
|
299005
299119
|
const zRef = Number.isFinite(spatialZoom) ? spatialZoom : 0;
|
299006
299120
|
initialRenderCalibratorRef.current = makeVitNgZoomCalibrator(projectionScale, zRef);
|
299007
|
-
const [px2 = 0, py2 = 0, pz2 = 0] =
|
299121
|
+
const [px2 = 0, py2 = 0, pz2 = 0] = position2;
|
299008
299122
|
const tX = Number.isFinite(spatialTargetX) ? spatialTargetX : 0;
|
299009
299123
|
const tY = Number.isFinite(spatialTargetY) ? spatialTargetY : 0;
|
299010
299124
|
translationOffsetRef.current = [px2 - tX, py2 - tY, pz2];
|
@@ -357332,6 +357446,22 @@ class SpatialDataObsEmbeddingLoader extends ObsEmbeddingAnndataLoader {
|
|
357332
357446
|
this.tablePath = this.options.tablePath;
|
357333
357447
|
}
|
357334
357448
|
}
|
357449
|
+
class PrecomputedMeshSource {
|
357450
|
+
constructor({ url, requestInit: requestInit2 }) {
|
357451
|
+
this.url = url;
|
357452
|
+
this.requestInit = requestInit2;
|
357453
|
+
}
|
357454
|
+
}
|
357455
|
+
class PrecomputedMeshDataLoader extends AbstractTwoStepLoader {
|
357456
|
+
/* eslint-disable class-methods-use-this */
|
357457
|
+
async load(url) {
|
357458
|
+
return new LoaderResult({
|
357459
|
+
obsIndex: null,
|
357460
|
+
obsSegmentations: {},
|
357461
|
+
obsSegmentationsType: "mesh"
|
357462
|
+
}, url);
|
357463
|
+
}
|
357464
|
+
}
|
357335
357465
|
const decoder = new TextDecoder("utf-8");
|
357336
357466
|
const decodeUtf8 = (buffer2) => decoder.decode(buffer2);
|
357337
357467
|
const encoder = new TextEncoder();
|
@@ -379117,6 +379247,7 @@ const baseFileTypes = [
|
|
379117
379247
|
...makeZarrFileTypes(FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType$3.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
|
379118
379248
|
...makeZarrFileTypes(FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR, DataType$3.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
|
379119
379249
|
makeFileType(FileType$1.OBS_SEGMENTATIONS_GLB, DataType$3.OBS_SEGMENTATIONS, GlbDataLoader, GlbSource, meshGlbSchema),
|
379250
|
+
makeFileType(FileType$1.OBS_SEGMENTATIONS_NG_PRECOMPUTED, DataType$3.OBS_SEGMENTATIONS, PrecomputedMeshDataLoader, PrecomputedMeshSource, ngSchema),
|
379120
379251
|
// All legacy file types
|
379121
379252
|
makeFileType(FileType$1.OBS_FEATURE_MATRIX_EXPRESSION_MATRIX_ZARR, DataType$3.OBS_FEATURE_MATRIX, MatrixZarrAsObsFeatureMatrixLoader, ZarrDataSource, z.null()),
|
379122
379253
|
makeFileType(FileType$1.IMAGE_RASTER_JSON, DataType$3.IMAGE, RasterJsonAsImageLoader, JsonSource, rasterJsonSchema),
|
@@ -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-BNUI-w49.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-CeIrm0B5.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-C8Q3aJRr.js"), []);
|
5031
5031
|
const invalidate = useThree(({
|
5032
5032
|
invalidate: invalidate2
|
5033
5033
|
}) => invalidate2);
|
@@ -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, ao as jsxRuntimeExports, aE 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, ao as jsxRuntimeExports, aE as GLSL3, am as BackSide } from "./index-BNUI-w49.js";
|
2
2
|
import { useRef, useState, useMemo, useEffect, useCallback } 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-CeIrm0B5.js";
|
4
4
|
const LogLevel = {
|
5
5
|
INFO: "info",
|
6
6
|
WARN: "warn",
|
package/dist/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { bQ, bO, bM, bP, bN, bL, bR } from "./index-
|
1
|
+
import { bQ, bO, bM, bP, bN, bL, bR } from "./index-BNUI-w49.js";
|
2
2
|
import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
|
3
3
|
export {
|
4
4
|
bQ as PluginAsyncFunction,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-SxljTded.js";
|
2
|
-
import { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-
|
2
|
+
import { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-BNUI-w49.js";
|
3
3
|
var LercDecode = { exports: {} };
|
4
4
|
var hasRequiredLercDecode;
|
5
5
|
function requireLercDecode() {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { bG as MeshDistanceMaterial, bH as MeshDepthMaterial, bI as RGBADepthPacking, ae as UniformsUtils, bJ 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, bK as InstancedBufferAttribute } from "./index-
|
1
|
+
import { bG as MeshDistanceMaterial, bH as MeshDepthMaterial, bI as RGBADepthPacking, ae as UniformsUtils, bJ 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, bK as InstancedBufferAttribute } from "./index-BNUI-w49.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,
|
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
@@ -1,6 +1,6 @@
|
|
1
1
|
import { FileType, DataType, ViewType, CoordinationType, AsyncFunctionType, COMPONENT_COORDINATION_TYPES, ALT_ZARR_STORE_TYPES, } from '@vitessce/constants-internal';
|
2
2
|
import { PluginFileType, PluginJointFileType, PluginViewType, PluginCoordinationType, PluginAsyncFunction, } from '@vitessce/plugins';
|
3
|
-
import { z, obsEmbeddingCsvSchema, obsSetsCsvSchema, obsSpotsCsvSchema, obsPointsCsvSchema, obsLocationsCsvSchema, obsLabelsCsvSchema, featureLabelsCsvSchema, sampleSetsCsvSchema, obsSetsAnndataSchema, sampleSetsAnndataSchema, obsEmbeddingAnndataSchema, obsSpotsAnndataSchema, obsPointsAnndataSchema, obsLocationsAnndataSchema, obsLabelsAnndataSchema, obsFeatureMatrixAnndataSchema, obsFeatureColumnsAnndataSchema, obsSegmentationsAnndataSchema, featureLabelsAnndataSchema, sampleEdgesAnndataSchema, comparisonMetadataAnndataSchema, featureStatsAnndataSchema, featureSetStatsAnndataSchema, obsSetStatsAnndataSchema, rasterJsonSchema, anndataZarrSchema, anndataH5adSchema, spatialdataZarrSchema, anndataCellsZarrSchema, anndataCellSetsZarrSchema, anndataExpressionMatrixZarrSchema, cellsJsonSchema, imageOmeZarrSchema, imageOmeTiffSchema, imageSpatialdataSchema, obsSegmentationsOmeTiffSchema, obsSegmentationsOmeZarrSchema, obsSegmentationsSpatialdataSchema, obsFeatureMatrixSpatialdataSchema, obsSpotsSpatialdataSchema, obsPointsSpatialdataSchema, obsSetsSpatialdataSchema, obsEmbeddingSpatialdataSchema, obsSetPath, rgbArray, obsSetsSchema, imageLayerObj, cellsLayerObj, neighborhoodsLayerObj, moleculesLayerObj, meshGlbSchema, } from '@vitessce/schemas';
|
3
|
+
import { z, obsEmbeddingCsvSchema, obsSetsCsvSchema, obsSpotsCsvSchema, obsPointsCsvSchema, obsLocationsCsvSchema, obsLabelsCsvSchema, featureLabelsCsvSchema, sampleSetsCsvSchema, obsSetsAnndataSchema, sampleSetsAnndataSchema, obsEmbeddingAnndataSchema, obsSpotsAnndataSchema, obsPointsAnndataSchema, obsLocationsAnndataSchema, obsLabelsAnndataSchema, obsFeatureMatrixAnndataSchema, obsFeatureColumnsAnndataSchema, obsSegmentationsAnndataSchema, featureLabelsAnndataSchema, sampleEdgesAnndataSchema, comparisonMetadataAnndataSchema, featureStatsAnndataSchema, featureSetStatsAnndataSchema, obsSetStatsAnndataSchema, rasterJsonSchema, anndataZarrSchema, anndataH5adSchema, spatialdataZarrSchema, anndataCellsZarrSchema, anndataCellSetsZarrSchema, anndataExpressionMatrixZarrSchema, cellsJsonSchema, imageOmeZarrSchema, imageOmeTiffSchema, imageSpatialdataSchema, obsSegmentationsOmeTiffSchema, obsSegmentationsOmeZarrSchema, obsSegmentationsSpatialdataSchema, obsFeatureMatrixSpatialdataSchema, obsSpotsSpatialdataSchema, obsPointsSpatialdataSchema, obsSetsSpatialdataSchema, obsEmbeddingSpatialdataSchema, obsSetPath, rgbArray, obsSetsSchema, imageLayerObj, cellsLayerObj, neighborhoodsLayerObj, moleculesLayerObj, meshGlbSchema, ngSchema, } from '@vitessce/schemas';
|
4
4
|
// Register view type plugins
|
5
5
|
import { DescriptionSubscriber } from '@vitessce/description';
|
6
6
|
import { ObsSetsManagerSubscriber } from '@vitessce/obs-sets-manager';
|
@@ -37,7 +37,9 @@ import {
|
|
37
37
|
// OME
|
38
38
|
OmeZarrLoader, OmeZarrAsObsSegmentationsLoader,
|
39
39
|
// SpatialData
|
40
|
-
SpatialDataTableSource, SpatialDataShapesSource, SpatialDataPointsSource, SpatialDataImageLoader, SpatialDataLabelsLoader, SpatialDataObsSpotsLoader, SpatialDataObsPointsLoader, SpatialDataObsSegmentationsLoader, SpatialDataObsSetsLoader, SpatialDataObsEmbeddingLoader,
|
40
|
+
SpatialDataTableSource, SpatialDataShapesSource, SpatialDataPointsSource, SpatialDataImageLoader, SpatialDataLabelsLoader, SpatialDataObsSpotsLoader, SpatialDataObsPointsLoader, SpatialDataObsSegmentationsLoader, SpatialDataObsSetsLoader, SpatialDataObsEmbeddingLoader,
|
41
|
+
// NG precomputed
|
42
|
+
NgPrecomputedMeshSource, NgPrecomputedMeshLoader, } from '@vitessce/spatial-zarr';
|
41
43
|
import { OmeTiffAsObsSegmentationsLoader, OmeTiffLoader, OmeTiffSource, } from '@vitessce/ome-tiff';
|
42
44
|
import { GlbSource, GlbLoader, } from '@vitessce/glb';
|
43
45
|
// Joint file types
|
@@ -157,6 +159,7 @@ export const baseFileTypes = [
|
|
157
159
|
...makeZarrFileTypes(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
|
158
160
|
...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
|
159
161
|
makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
|
162
|
+
makeFileType(FileType.OBS_SEGMENTATIONS_NG_PRECOMPUTED, DataType.OBS_SEGMENTATIONS, NgPrecomputedMeshLoader, NgPrecomputedMeshSource, ngSchema),
|
160
163
|
// All legacy file types
|
161
164
|
makeFileType(FileType.OBS_FEATURE_MATRIX_EXPRESSION_MATRIX_ZARR, DataType.OBS_FEATURE_MATRIX, MatrixZarrAsObsFeatureMatrixLoader, ZarrDataSource, z.null()),
|
162
165
|
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.8.
|
3
|
+
"version": "3.8.2",
|
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.8.
|
21
|
-
"@vitessce/constants-internal": "3.8.
|
22
|
-
"@vitessce/abstract": "3.8.
|
23
|
-
"@vitessce/error": "3.8.
|
24
|
-
"@vitessce/csv": "3.8.
|
25
|
-
"@vitessce/description": "3.8.
|
26
|
-
"@vitessce/feature-list": "3.8.
|
27
|
-
"@vitessce/genomic-profiles": "3.8.
|
28
|
-
"@vitessce/heatmap": "3.8.
|
29
|
-
"@vitessce/glb": "3.8.
|
30
|
-
"@vitessce/json": "3.8.
|
31
|
-
"@vitessce/layer-controller": "3.8.
|
32
|
-
"@vitessce/layer-controller-beta": "3.8.
|
33
|
-
"@vitessce/link-controller": "3.8.
|
34
|
-
"@vitessce/obs-sets-manager": "3.8.
|
35
|
-
"@vitessce/
|
36
|
-
"@vitessce/
|
37
|
-
"@vitessce/
|
38
|
-
"@vitessce/scatterplot-gating": "3.8.
|
39
|
-
"@vitessce/schemas": "3.8.
|
40
|
-
"@vitessce/spatial": "3.8.
|
41
|
-
"@vitessce/spatial-beta": "3.8.
|
42
|
-
"@vitessce/statistical-plots": "3.8.
|
43
|
-
"@vitessce/status": "3.8.
|
44
|
-
"@vitessce/vit-s": "3.8.
|
45
|
-
"@vitessce/zarr": "3.8.
|
46
|
-
"@vitessce/globals": "3.8.
|
47
|
-
"@vitessce/spatial-zarr": "3.8.
|
48
|
-
"@vitessce/spatial-three": "3.8.
|
49
|
-
"@vitessce/spatial-accelerated": "3.8.
|
50
|
-
"@vitessce/biomarker-select": "3.8.
|
51
|
-
"@vitessce/neuroglancer": "3.8.
|
20
|
+
"@vitessce/styles": "3.8.2",
|
21
|
+
"@vitessce/constants-internal": "3.8.2",
|
22
|
+
"@vitessce/abstract": "3.8.2",
|
23
|
+
"@vitessce/error": "3.8.2",
|
24
|
+
"@vitessce/csv": "3.8.2",
|
25
|
+
"@vitessce/description": "3.8.2",
|
26
|
+
"@vitessce/feature-list": "3.8.2",
|
27
|
+
"@vitessce/genomic-profiles": "3.8.2",
|
28
|
+
"@vitessce/heatmap": "3.8.2",
|
29
|
+
"@vitessce/glb": "3.8.2",
|
30
|
+
"@vitessce/json": "3.8.2",
|
31
|
+
"@vitessce/layer-controller": "3.8.2",
|
32
|
+
"@vitessce/layer-controller-beta": "3.8.2",
|
33
|
+
"@vitessce/link-controller": "3.8.2",
|
34
|
+
"@vitessce/obs-sets-manager": "3.8.2",
|
35
|
+
"@vitessce/ome-tiff": "3.8.2",
|
36
|
+
"@vitessce/plugins": "3.8.2",
|
37
|
+
"@vitessce/scatterplot-embedding": "3.8.2",
|
38
|
+
"@vitessce/scatterplot-gating": "3.8.2",
|
39
|
+
"@vitessce/schemas": "3.8.2",
|
40
|
+
"@vitessce/spatial": "3.8.2",
|
41
|
+
"@vitessce/spatial-beta": "3.8.2",
|
42
|
+
"@vitessce/statistical-plots": "3.8.2",
|
43
|
+
"@vitessce/status": "3.8.2",
|
44
|
+
"@vitessce/vit-s": "3.8.2",
|
45
|
+
"@vitessce/zarr": "3.8.2",
|
46
|
+
"@vitessce/globals": "3.8.2",
|
47
|
+
"@vitessce/spatial-zarr": "3.8.2",
|
48
|
+
"@vitessce/spatial-three": "3.8.2",
|
49
|
+
"@vitessce/spatial-accelerated": "3.8.2",
|
50
|
+
"@vitessce/biomarker-select": "3.8.2",
|
51
|
+
"@vitessce/neuroglancer": "3.8.2"
|
52
52
|
},
|
53
53
|
"devDependencies": {
|
54
54
|
"@types/react": "^18.0.28",
|
package/src/base-plugins.ts
CHANGED
@@ -73,6 +73,7 @@ import {
|
|
73
73
|
neighborhoodsLayerObj,
|
74
74
|
moleculesLayerObj,
|
75
75
|
meshGlbSchema,
|
76
|
+
ngSchema,
|
76
77
|
} from '@vitessce/schemas';
|
77
78
|
|
78
79
|
// Register view type plugins
|
@@ -180,6 +181,9 @@ import {
|
|
180
181
|
SpatialDataObsSegmentationsLoader,
|
181
182
|
SpatialDataObsSetsLoader,
|
182
183
|
SpatialDataObsEmbeddingLoader,
|
184
|
+
// NG precomputed
|
185
|
+
NgPrecomputedMeshSource,
|
186
|
+
NgPrecomputedMeshLoader,
|
183
187
|
} from '@vitessce/spatial-zarr';
|
184
188
|
|
185
189
|
import {
|
@@ -339,6 +343,7 @@ export const baseFileTypes = [
|
|
339
343
|
...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
|
340
344
|
|
341
345
|
makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
|
346
|
+
makeFileType(FileType.OBS_SEGMENTATIONS_NG_PRECOMPUTED, DataType.OBS_SEGMENTATIONS, NgPrecomputedMeshLoader, NgPrecomputedMeshSource, ngSchema),
|
342
347
|
// All legacy file types
|
343
348
|
makeFileType(FileType.OBS_FEATURE_MATRIX_EXPRESSION_MATRIX_ZARR, DataType.OBS_FEATURE_MATRIX, MatrixZarrAsObsFeatureMatrixLoader, ZarrDataSource, z.null()),
|
344
349
|
makeFileType(FileType.IMAGE_RASTER_JSON, DataType.IMAGE, RasterJsonAsImageLoader, JsonSource, rasterJsonSchema),
|