@vitessce/all 4.0.0-test.0 → 4.0.0-test.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.
@@ -3,7 +3,7 @@ import React__default, { useRef, useState, useEffect, Suspense, forwardRef } fro
3
3
  import { Canvas } from "@react-three/fiber";
4
4
  import { Center, Text, Line, Bvh, OrbitControls } from "@react-three/drei";
5
5
  import { Matrix3, Matrix4, Vector3, Vector2, UniformsUtils, Data3DTexture, RedFormat, FloatType, LinearFilter, FrontSide, Scene, Group, MeshPhysicalMaterial, MeshBasicMaterial, MeshStandardMaterial, BackSide } from "three";
6
- import { C as CoordinationType, g as getImageSize } from "./index-5W6nu-ix.js";
6
+ import { C as CoordinationType, g as getImageSize } from "./index-BYPSbKAg.js";
7
7
  function MeasureLine({ currentLine, scale }) {
8
8
  const textRef = useRef(null);
9
9
  return jsxs("group", { children: [jsx(Center, { bottom: true, right: true, position: [currentLine.midPoint.x, currentLine.midPoint.y, currentLine.midPoint.z], rotation: [0, 0, 0], children: jsx(Text, { color: "gray", scale: 0.05, ref: textRef, children: `${(currentLine.startPoint.distanceTo(currentLine.endPoint) * scale).toFixed(2)} µm` }) }), jsx(Line, {
@@ -16,19 +16,45 @@ function MeasureLine({ currentLine, scale }) {
16
16
  }
17
17
  class Volume {
18
18
  spacing = [1, 1, 1];
19
+ // Offset of the volume in the RAS coordinate system
19
20
  offset = [0, 0, 0];
21
+ // The IJK to RAS matrix
20
22
  matrix = new Matrix3().identity();
23
+ // The list of all the slices associated to this volume
21
24
  sliceList = [];
25
+ /**
26
+ * The voxels with values under this
27
+ * threshold won't appear in the slices.
28
+ * If changed, geometryNeedsUpdate is automatically set to true on all
29
+ * the slices associated to this volume
30
+ */
22
31
  lowerThresholdValue = -Infinity;
32
+ /**
33
+ * The voxels with values over this
34
+ * threshold won't appear in the slices.
35
+ * If changed, geometryNeedsUpdate is automatically set to true on all
36
+ * the slices associated to this volume
37
+ */
23
38
  upperThresholdValue = Infinity;
39
+ // Width of the volume in the IJK coordinate system
24
40
  xLength = 1;
41
+ // Height of the volume in the IJK coordinate system
25
42
  yLength = 1;
43
+ // Depth of the volume in the IJK coordinate system
26
44
  zLength = 1;
45
+ // Data of the volume
27
46
  data;
28
47
  RASDimensions;
29
48
  inverseMatrix;
30
49
  min;
31
50
  max;
51
+ /**
52
+ * @param {number} xLength Width of the volume
53
+ * @param {number} yLength Length of the volume
54
+ * @param {number} zLength Depth of the volume
55
+ * @param {string} type The type of data (uint8, uint16, ...)
56
+ * @param {ArrayBuffer} arrayBuffer The buffer with volume data
57
+ */
32
58
  constructor(xLength, yLength, zLength, type, arrayBuffer) {
33
59
  if (xLength !== void 0) {
34
60
  this.xLength = Number(xLength) || 1;
@@ -128,18 +154,33 @@ class Volume {
128
154
  slice.geometryNeedsUpdate = true;
129
155
  });
130
156
  }
157
+ /**
158
+ * Shortcut for data[access(i,j,k)]
159
+ */
131
160
  getData(i, j, k) {
132
161
  return this.data[k * this.xLength * this.yLength + j * this.xLength + i];
133
162
  }
163
+ /**
164
+ * Compute the index in the data
165
+ * array corresponding to the given coordinates in IJK system
166
+ */
134
167
  access(i, j, k) {
135
168
  return k * this.xLength * this.yLength + j * this.xLength + i;
136
169
  }
170
+ /**
171
+ * Retrieve the IJK coordinates of the voxel
172
+ * corresponding of the given index in the data
173
+ */
137
174
  reverseAccess(index2) {
138
175
  const z = Math.floor(index2 / (this.yLength * this.xLength));
139
176
  const y = Math.floor((index2 - z * this.yLength * this.xLength) / this.xLength);
140
177
  const x = index2 - z * this.yLength * this.xLength - y * this.xLength;
141
178
  return [x, y, z];
142
179
  }
180
+ /**
181
+ * Apply a function to all the voxels, be careful,
182
+ * the value will be replaced
183
+ */
143
184
  // eslint-disable-next-line max-len
144
185
  map(functionToMap, contextParam) {
145
186
  const { length } = this.data;
@@ -149,6 +190,13 @@ class Volume {
149
190
  }
150
191
  return this;
151
192
  }
193
+ /**
194
+ * Compute the orientation
195
+ * of the slice and returns all the information relative to the
196
+ * geometry such as sliceAccess,
197
+ * the plane matrix (orientation and position in RAS coordinate)
198
+ * and the dimensions of the plane in both coordinate system.
199
+ */
152
200
  extractPerpendicularPlane(axis, RASIndex) {
153
201
  const planeMatrix = new Matrix4().identity();
154
202
  const volume = this;
@@ -227,6 +275,11 @@ class Volume {
227
275
  planeHeight
228
276
  };
229
277
  }
278
+ /**
279
+ * Compute the minimum
280
+ * and the maximum of the data in the volume
281
+ * @returns {Array} [min,max]
282
+ */
230
283
  computeMinMax() {
231
284
  let min = Infinity;
232
285
  let max = -Infinity;
@@ -832,7 +885,11 @@ function getData3DTexture(volume) {
832
885
  }
833
886
  function getPhysicalSizeScalingMatrix(loader) {
834
887
  const { x, y, z } = loader?.meta?.physicalSizes ?? {};
835
- return [{ size: x ?? 1 }, { size: y ?? 1 }, { size: z ?? 1 }];
888
+ return [
889
+ x ?? { size: 1 },
890
+ y ?? { size: 1 },
891
+ z ?? { size: 1 }
892
+ ];
836
893
  }
837
894
  function minMaxVolume(volume) {
838
895
  const [min, max] = volume.computeMinMax();
@@ -870,10 +927,10 @@ function stringifyLineData(lineData) {
870
927
  return `${lineData.startPoint.x},${lineData.startPoint.y},${lineData.startPoint.z};${lineData.endPoint.x},${lineData.endPoint.y},${lineData.endPoint.z}`;
871
928
  }
872
929
  function isValidGeometrySize(size) {
873
- if (!Array.isArray(size) || size.length !== 6) {
930
+ if (!Array.isArray(size) || size.length !== 3) {
874
931
  return false;
875
932
  }
876
- return size.every((s) => typeof s === "number" || s === void 0);
933
+ return size.every((s) => typeof s === "number" && Number.isFinite(s));
877
934
  }
878
935
  function GeometryAndMesh(props) {
879
936
  const { segmentationGroup, segmentationSettings, segmentationSceneScale, renderingSettings, materialRef, highlightEntity, setObsHighlight } = props;
@@ -887,7 +944,7 @@ function GeometryAndMesh(props) {
887
944
  setObsHighlight(e.object.name);
888
945
  }, onPointerOut: () => setObsHighlight(null) }) })] }) : null, renderingSettings.uniforms && renderingSettings.shader && renderingSettings.meshScale && renderingSettings.geometrySize ? jsx("group", { children: jsxs("mesh", { scale: renderingSettings.meshScale, ref: materialRef, children: [jsx("boxGeometry", { args: renderingSettings.geometrySize }), jsx("shaderMaterial", { customProgramCacheKey: () => "1", side: FrontSide, uniforms: renderingSettings.uniforms, needsUpdate: true, transparent: true, vertexShader: renderingSettings.shader.vertexShader, fragmentShader: renderingSettings.shader.fragmentShader })] }) }) : null] }), jsx("group", { name: "lines", children: lines.map((object) => jsx(MeasureLine, { currentLine: object, scale: 1 }, stringifyLineData(object))) })] });
889
946
  }
890
- const LazyGeometryAndMeshXR = React__default.lazy(() => import("./GeometryAndMeshXR-Bewsp5O-.js").catch(() => ({ default: GeometryAndMesh })));
947
+ const LazyGeometryAndMeshXR = React__default.lazy(() => import("./GeometryAndMeshXR-KXexgmZr.js").catch(() => ({ default: GeometryAndMesh })));
891
948
  const LazyXRSceneComponents = React__default.lazy(() => import("./XRSceneComponents-DnZLSAJz.js").catch(() => ({ default: () => null })));
892
949
  function SpatialThree(props) {
893
950
  const materialRef = useRef(null);
@@ -4,7 +4,7 @@ import { useThree, useFrame, Canvas } from "@react-three/fiber";
4
4
  import { OrbitControls } from "@react-three/drei";
5
5
  import * as THREE from "three";
6
6
  import { Data3DTexture, RedFormat, UnsignedByteType, LinearFilter, RedIntegerFormat, UnsignedIntType, NearestFilter, Vector3, Vector2, Vector4, UniformsUtils, WebGLMultipleRenderTargets } from "three";
7
- import { l as log, i as isEqual, C as CoordinationType, u as useEventCallback } from "./index-5W6nu-ix.js";
7
+ import { l as log, i as isEqual, C as CoordinationType, u as useEventCallback } from "./index-BYPSbKAg.js";
8
8
  const LogLevel = {
9
9
  INFO: "info",
10
10
  WARN: "warn",
@@ -232,7 +232,8 @@ function _requestBufferToRequestObjects(buffer, k, optsForWeighting) {
232
232
  }
233
233
  counts.set(packed, (counts.get(packed) || 0) + weight);
234
234
  }
235
- const requests = [...counts.entries()].sort((a, b) => b[1] - a[1]).slice(0, k).map(([packed]) => ({
235
+ const sorted = Array.from(counts.entries()).toSorted((a, b) => b[1] - a[1]);
236
+ const requests = sorted.slice(0, k).map(([packed]) => ({
236
237
  x: packed >> 22 & 1023,
237
238
  y: packed >> 12 & 1023,
238
239
  z: packed & 4095
@@ -900,6 +901,10 @@ class VolumeDataManager {
900
901
  * the center of the render target.
901
902
  */
902
903
  async processRequestData(buffer, optsForWeighting) {
904
+ if (this.initStatus !== INIT_STATUS.COMPLETE) {
905
+ log.debug("processRequestData: not yet initialized, skipping");
906
+ return;
907
+ }
903
908
  if (this.isBusy) {
904
909
  log.debug("processRequestData: already busy, skipping");
905
910
  return;
@@ -3584,6 +3589,7 @@ function VolumeView(props) {
3584
3589
  geometrySize: [1, 1, 1]
3585
3590
  });
3586
3591
  const is3D = spatialRenderingMode === "3D";
3592
+ const [dmInitComplete, setDmInitComplete] = useState(false);
3587
3593
  const screenSceneRef = useRef(null);
3588
3594
  const screenCameraRef = useRef(null);
3589
3595
  const screenQuadRef = useRef(null);
@@ -3656,6 +3662,7 @@ function VolumeView(props) {
3656
3662
  const initializeDataManager = async () => {
3657
3663
  if (dataManager.initStatus === INIT_STATUS.COMPLETE) {
3658
3664
  log.debug("dataManager already initialized, skipping");
3665
+ setDmInitComplete(true);
3659
3666
  return;
3660
3667
  }
3661
3668
  dataManager.initImages(images, imageLayerScopes);
@@ -3668,6 +3675,7 @@ function VolumeView(props) {
3668
3675
  renderManager.setZarrUniforms(dataManager.zarrStore, dataManager.PT);
3669
3676
  renderManager.setChannelMapping(dataManager.channels.colorMappings);
3670
3677
  log.debug("rm.uniforms", renderManager.uniforms);
3678
+ setDmInitComplete(true);
3671
3679
  invalidate();
3672
3680
  };
3673
3681
  initializeDataManager();
@@ -3677,7 +3685,7 @@ function VolumeView(props) {
3677
3685
  }, [dataManager, renderManager, images, imageLayerScopes]);
3678
3686
  useEffect(() => {
3679
3687
  const on3D = spatialRenderingMode === "3D";
3680
- if (on3D && dataManager && renderManager) {
3688
+ if (on3D && dataManager && renderManager && dmInitComplete) {
3681
3689
  logWithColor("useEffect spatialRenderingMode");
3682
3690
  const propsForRenderManager = {
3683
3691
  images,
@@ -3711,7 +3719,7 @@ function VolumeView(props) {
3711
3719
  }
3712
3720
  }
3713
3721
  }
3714
- }, [dataManager, renderManager, images, imageLayerScopes, imageLayerCoordination, imageChannelScopesByLayer, imageChannelCoordination, spatialRenderingMode]);
3722
+ }, [dataManager, renderManager, images, imageLayerScopes, imageLayerCoordination, imageChannelScopesByLayer, imageChannelCoordination, spatialRenderingMode, dmInitComplete]);
3715
3723
  const RENDER_PRIORITY = 1;
3716
3724
  useFrame((state, delta, xrFrame) => {
3717
3725
  if (!mrtRef.current || !dataManager || !renderManager) {
@@ -3762,6 +3770,8 @@ function VolumeView(props) {
3762
3770
  }, 300);
3763
3771
  });
3764
3772
  useEffect(() => {
3773
+ if (!dmInitComplete)
3774
+ return;
3765
3775
  logWithColor("useEffect firstImageLayerChannelCoordination");
3766
3776
  setIsInteracting(true);
3767
3777
  log.debug("something about channels changed");
@@ -3771,7 +3781,7 @@ function VolumeView(props) {
3771
3781
  interactionTimeoutRef.current = setTimeout(() => {
3772
3782
  setIsInteracting(false);
3773
3783
  }, 300);
3774
- }, [dataManager, firstImageLayerChannelCoordination, renderManager, setIsInteracting]);
3784
+ }, [dataManager, firstImageLayerChannelCoordination, renderManager, setIsInteracting, dmInitComplete]);
3775
3785
  const stopLoading = useEventCallback(() => {
3776
3786
  if (dataManager) {
3777
3787
  dataManager.stopLoading();
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a5, a3, a1, a4, a2, a0, a6 } from "./index-5W6nu-ix.js";
1
+ import { a5, a3, a1, a4, a2, a0, a6 } from "./index-BYPSbKAg.js";
2
2
  import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
3
3
  export {
4
4
  a5 as PluginAsyncFunction,
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-5W6nu-ix.js";
1
+ import { B as BaseDecoder } from "./index-BYPSbKAg.js";
2
2
  const dctZigZag = new Int32Array([
3
3
  0,
4
4
  1,
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { a as getDefaultExportFromCjs, B as BaseDecoder, L as LercParameters, b as LercAddCompression } from "./index-5W6nu-ix.js";
2
+ import { a as getDefaultExportFromCjs, B as BaseDecoder, L as LercParameters, b as LercAddCompression } from "./index-BYPSbKAg.js";
3
3
  var LercDecode = { exports: {} };
4
4
  var hasRequiredLercDecode;
5
5
  function requireLercDecode() {
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-5W6nu-ix.js";
1
+ import { B as BaseDecoder } from "./index-BYPSbKAg.js";
2
2
  const MIN_BITS = 9;
3
3
  const CLEAR_CODE = 256;
4
4
  const EOI_CODE = 257;
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-5W6nu-ix.js";
1
+ import { B as BaseDecoder } from "./index-BYPSbKAg.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-5W6nu-ix.js";
1
+ import { B as BaseDecoder } from "./index-BYPSbKAg.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-5W6nu-ix.js";
1
+ import { B as BaseDecoder } from "./index-BYPSbKAg.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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,wDA6EzB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAqGpB,CAAC;gCAEa,CAAC;;;yBAA8E,CAAC;gCAEhG,CAAC;;;;;;;;;;;;;;;;iBAsBK,CAAC;;;;iBAG6D,CAAC;;;;;;;YAMzC,CAAC;;;YAC5B,CAAC;;;;;;;YAOK,CAAC;;;YAEO,CAAC;;;;;;;YAQsB,CAAC;;;YAAmE,CAAC;;;;;;;;;;;;;;YAUpF,CAAC;;;YAGb,CAAC;;;;;;;;YAalB,CAAC;;;;YAII,CAAC;;;;;;;;;;;;;;;;;;;;;;;;yBAmBD,CAAC;gCAAuD,CAAA;;;;;;;;iBAGhD,CAAC;;;;YACF,CAAC;;;;YACS,CAAC;;;;YACS,CAAC;;;;;;;YAEvB,CAAC;;;;YACC,CAAC;;;;;;;;;;;;;;;;;;;;yBAIqD,CAAC;gCACjC,CAAC;;;;;;;;iBAE1B,CAAC;;;;YAA8F,CAAC;;;;YAC7B,CAAC;;;;YACO,CAAC;;;;;;;YAE5C,CAAC;;;;YAC9B,CAAC;;;;;;;;;;;wBA8DowD,CAAC;;;wBAA6E,CAAC;;;;;;;;iBAAwR,CAAC;wBAA8C,CAAC;;;iBAAsE,CAAC;wBAA8C,CAAC;;;;;;;;;;iBAA+X,CAAC;wBAA8C,CAAC;0BAAgD,CAAC;wBAA8C,CAAC;;;iBAAsE,CAAC;wBAA8C,CAAC;0BAAgD,CAAC;wBAA8C,CAAC;;;;;;;;;;yBAAkZ,CAAC;gCAAsD,CAAC;cAAoC,CAAC;wBAA8C,CAAC;;;yBAA8E,CAAC;gCAAsD,CAAC;cAAoC,CAAC;wBAA8C,CAAC;;;;;;;;iBAAgR,CAAC;wBAA8C,CAAC;;;iBAAsE,CAAC;wBAA8C,CAAC;;;;;;;;;;;;qBAAygB,CAAC;;;;qBAA2J,CAAC;;;;;;qBAAsN,CAAC;;cAAiD,CAAC;iBAAuC,CAAC;;;;;qBAA0K,CAAC;;cAAiD,CAAC;iBAAuC,CAAC;;;;;;;YAAoP,CAAC;;;YAAmE,CAAC;;;;;;;;YAAuR,CAAC;;;;YAAkG,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAmoB,CAAC;;;;iBAAyG,CAAC;wBAA8C,CAAC;;;;iBAAkG,CAAC;wBAA8C,CAAC;0BAAgD,CAAC;wBAA8C,CAAC;;;;yBAAiH,CAAC;gCAAsD,CAAC;cAAoC,CAAC;wBAA8C,CAAC;;;;iBAAiG,CAAC;wBAA8C,CAAC;;;;;;qBAAoM,CAAC;;cAAiD,CAAC;iBAAuC,CAAC;;;;YAAgG,CAAC;;;;YAAmG,CAAC;;;;;;;;;;;;wBAA6R,CAAC;;;;iBAAyG,CAAC;wBAA8C,CAAC;;;;iBAAkG,CAAC;wBAA8C,CAAC;0BAAgD,CAAC;wBAA8C,CAAC;;;;yBAAiH,CAAC;gCAAsD,CAAC;cAAoC,CAAC;wBAA8C,CAAC;;;;iBAAiG,CAAC;wBAA8C,CAAC;;;;;;qBAAoM,CAAC;;cAAiD,CAAC;iBAAuC,CAAC;;;;YAAgG,CAAC;;;;YAAmG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAzjBn9S,CAAC;;;;;qBAG2B,CAAC;qBACpB,CAAC;;;;;;;;;qBAGsB,CAAC;6BACD,CAAC;;sBAClC,CAAC;;;;;qBAMQ,CAAC;qBAEL,CAAC;;;;;;;;;qBAWX,CAAC;6BAEM,CAAC;;;;;;;;;;;;;kBAuBQ,CAAC;mBAEjB,CAAA;gBAGY,CAAC;gBACK,CAAC;uBAElB,CAAC;iBACc,CAAC;oBAEb,CAAC;oBACS,CAAC;qBAEP,CAAC;;kBAEL,CAAC;mBACc,CAAC;gBAEb,CAAC;gBACM,CAAC;uBAIpB,CAAF;iBACqB,CAAC;oBACI,CAAC;oBAItB,CAAC;qBAEiB,CAAC;;;;;;gBAMV,CAAC;sBACD,CAAC;;;;;qBAOV,CAAC;qBAEJ,CAAD;;;;;;;;;qBAagB,CAAC;6BAGN,CAAC;;mBAEA,CAAC;kBACZ,CAAC;mBAED,CAAA;gBAEU,CAAC;gBAER,CAAC;uBAED,CAAC;iBAEF,CAAC;oBACa,CAAC;oBACgB,CAAC;qBAGlC,CAAA;;;;;;gBAMF,CAAC;sBAA0B,CAAC;;;;;qBAMF,CAAC;qBAA4C,CAAC;;;;;;;;;qBAIhC,CAAC;6BAAoD,CAAC;;mBAE5C,CAAC;kBAAsB,CAAC;mBAC3C,CAAC;gBACN,CAAC;gBAAsC,CAAC;uBAA6C,CAAC;iBAAuC,CAAC;oBAC9I,CAAC;oBACT,CAAC;qBACqB,CAAA;;;;;;;;;gBAIS,CAAC;sBAA2B,CAAA;;;;;qBAII,CAAC;qBAA4C,CAAC;;;;;;;;;qBAQ9C,CAAC;6BAClB,CAAC;;mBACf,CAAC;kBAC7B,CAAC;mBAAyC,CAAC;gBACF,CAAC;gBACxB,CAAC;uBACR,CAAC;iBAAuC,CAAC;oBACpB,CAAC;oBAC5B,CAAC;qBAA2C,CAAC;;;;;;;;;;;gBAInB,CAAC;sBAA0B,CAAC;;;;;qBAI/D,CAAD;qBAA4C,CAAC;;;;;;;;;qBAIhB,CAAC;6BACzB,CAAC;;mBACJ,CAAC;kBAAsB,CAAC;mBACtB,CAAC;gBACF,CAAC;gBAAsC,CAAC;uBAC/B,CAAC;iBAAuC,CAAC;oBACxC,CAAC;oBAA0C,CAAC;qBACjD,CAAC;;;;;;;;;;;;;;OAoGT,CAAC;AAIF,eAAO,MAAM,qBAAqB;;;;;;;;aApXtB,CAAC;cAGX,CAAD;eAES,CAAC;;;aAIH,CAAC;cAEP,CAAF;eACgB,CAAC;;;;;;;;;;;;;;;;;;;aAgCd,CAAC;cACQ,CAAC;eACW,CAAC;;;;;;;;;;;;;;;;;;;aAqBe,CAAC;cACjB,CAAC;eACzB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aArEW,CAAC;cAGX,CAAD;eAES,CAAC;;;aAIH,CAAC;cAEP,CAAF;eACgB,CAAC;;;;;;;;;;;;;;;;;;;aAgCd,CAAC;cACQ,CAAC;eACW,CAAC;;;;;;;;;;;;;;;;;;;aAqBe,CAAC;cACjB,CAAC;eACzB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kzBA+iBA,CAAC;AAEF,eAAO,MAAM,kBAAkB,uBAK9B,CAAC"}
@@ -311,6 +311,7 @@ export const baseCoordinationTypes = [
311
311
  new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_COLOR, [255, 255, 255], z.array(z.number()).length(3).nullable()),
312
312
  new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_FILLED, true, z.boolean()),
313
313
  new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_STROKE_WIDTH, 1.0, z.number()),
314
+ new PluginCoordinationType(CoordinationType.SPATIAL_POINT_STROKE_WIDTH, 0.0, z.number()),
314
315
  new PluginCoordinationType(CoordinationType.SPATIAL_LOD_FACTOR, 1.0, z.number()),
315
316
  // Reference: https://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html
316
317
  new PluginCoordinationType(CoordinationType.PHOTOMETRIC_INTERPRETATION, null, z.enum(['BlackIsZero', 'RGB']).nullable()),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "4.0.0-test.0",
3
+ "version": "4.0.0-test.2",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -17,42 +17,43 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "zod": "^3.21.4",
20
- "@vitessce/constants-internal": "4.0.0-test.0",
21
- "@vitessce/error": "4.0.0-test.0",
22
- "@vitessce/csv": "4.0.0-test.0",
23
- "@vitessce/styles": "4.0.0-test.0",
24
- "@vitessce/genomic-profiles": "4.0.0-test.0",
25
- "@vitessce/description": "4.0.0-test.0",
26
- "@vitessce/abstract": "4.0.0-test.0",
27
- "@vitessce/heatmap": "4.0.0-test.0",
28
- "@vitessce/feature-list": "4.0.0-test.0",
29
- "@vitessce/glb": "4.0.0-test.0",
30
- "@vitessce/json": "4.0.0-test.0",
31
- "@vitessce/layer-controller-beta": "4.0.0-test.0",
32
- "@vitessce/link-controller": "4.0.0-test.0",
33
- "@vitessce/ome-tiff": "4.0.0-test.0",
34
- "@vitessce/plugins": "4.0.0-test.0",
35
- "@vitessce/layer-controller": "4.0.0-test.0",
36
- "@vitessce/obs-sets-manager": "4.0.0-test.0",
37
- "@vitessce/spatial-beta": "4.0.0-test.0",
38
- "@vitessce/statistical-plots": "4.0.0-test.0",
39
- "@vitessce/scatterplot-embedding": "4.0.0-test.0",
40
- "@vitessce/schemas": "4.0.0-test.0",
41
- "@vitessce/scatterplot-gating": "4.0.0-test.0",
42
- "@vitessce/vit-s": "4.0.0-test.0",
43
- "@vitessce/globals": "4.0.0-test.0",
44
- "@vitessce/spatial": "4.0.0-test.0",
45
- "@vitessce/status": "4.0.0-test.0",
46
- "@vitessce/spatial-zarr": "4.0.0-test.0",
47
- "@vitessce/zarr": "4.0.0-test.0",
48
- "@vitessce/spatial-three": "4.0.0-test.0",
49
- "@vitessce/spatial-accelerated": "4.0.0-test.0",
50
- "@vitessce/neuroglancer": "4.0.0-test.0",
51
- "@vitessce/biomarker-select": "4.0.0-test.0"
20
+ "@vitessce/constants-internal": "4.0.0-test.2",
21
+ "@vitessce/styles": "4.0.0-test.2",
22
+ "@vitessce/genomic-profiles": "4.0.0-test.2",
23
+ "@vitessce/error": "4.0.0-test.2",
24
+ "@vitessce/abstract": "4.0.0-test.2",
25
+ "@vitessce/heatmap": "4.0.0-test.2",
26
+ "@vitessce/description": "4.0.0-test.2",
27
+ "@vitessce/glb": "4.0.0-test.2",
28
+ "@vitessce/feature-list": "4.0.0-test.2",
29
+ "@vitessce/csv": "4.0.0-test.2",
30
+ "@vitessce/layer-controller": "4.0.0-test.2",
31
+ "@vitessce/json": "4.0.0-test.2",
32
+ "@vitessce/link-controller": "4.0.0-test.2",
33
+ "@vitessce/layer-controller-beta": "4.0.0-test.2",
34
+ "@vitessce/obs-sets-manager": "4.0.0-test.2",
35
+ "@vitessce/scatterplot-embedding": "4.0.0-test.2",
36
+ "@vitessce/spatial-beta": "4.0.0-test.2",
37
+ "@vitessce/statistical-plots": "4.0.0-test.2",
38
+ "@vitessce/status": "4.0.0-test.2",
39
+ "@vitessce/vit-s": "4.0.0-test.2",
40
+ "@vitessce/spatial": "4.0.0-test.2",
41
+ "@vitessce/globals": "4.0.0-test.2",
42
+ "@vitessce/spatial-accelerated": "4.0.0-test.2",
43
+ "@vitessce/ome-tiff": "4.0.0-test.2",
44
+ "@vitessce/schemas": "4.0.0-test.2",
45
+ "@vitessce/plugins": "4.0.0-test.2",
46
+ "@vitessce/biomarker-select": "4.0.0-test.2",
47
+ "@vitessce/zarr": "4.0.0-test.2",
48
+ "@vitessce/scatterplot-gating": "4.0.0-test.2",
49
+ "@vitessce/spatial-zarr": "4.0.0-test.2",
50
+ "@vitessce/spatial-three": "4.0.0-test.2",
51
+ "@vitessce/neuroglancer": "4.0.0-test.2"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/react": "^19.0.0",
55
55
  "react": "19.1.0",
56
+ "react-dom": "19.1.0",
56
57
  "vitest": "^3.1.4"
57
58
  },
58
59
  "peerDependencies": {
@@ -594,6 +594,7 @@ export const baseCoordinationTypes = [
594
594
  new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_COLOR, [255, 255, 255], z.array(z.number()).length(3).nullable()),
595
595
  new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_FILLED, true, z.boolean()),
596
596
  new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_STROKE_WIDTH, 1.0, z.number()),
597
+ new PluginCoordinationType(CoordinationType.SPATIAL_POINT_STROKE_WIDTH, 0.0, z.number()),
597
598
  new PluginCoordinationType(CoordinationType.SPATIAL_LOD_FACTOR, 1.0, z.number()),
598
599
  // Reference: https://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html
599
600
  new PluginCoordinationType(CoordinationType.PHOTOMETRIC_INTERPRETATION, null, z.enum(['BlackIsZero', 'RGB']).nullable()),