@ohif/app 3.12.0-beta.105 → 3.12.0-beta.106

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.
Files changed (41) hide show
  1. package/dist/{1403.bundle.e558236251c496bf5b87.js → 1403.bundle.b45c67c19dabf9c62ead.js} +2 -0
  2. package/dist/{1730.bundle.09b8dafc3f9bde8e3c4f.js → 1730.bundle.c9e0d9f751d8b24cfbe2.js} +2 -0
  3. package/dist/{1927.bundle.019331c266d306772371.js → 1927.bundle.3050588e95f43cf57cdd.js} +1 -1
  4. package/dist/{2842.bundle.7852a204d3510fca8b27.js → 2842.bundle.72b8e407027b26a34584.js} +68 -101
  5. package/dist/{3081.bundle.192e10961178ac5077cc.js → 3081.bundle.71a2f4b2706114346d67.js} +14 -4
  6. package/dist/{3343.bundle.f8fe9316b0ff68d087f7.js → 3343.bundle.d7578ce8f75d158c0bab.js} +2 -0
  7. package/dist/{3353.bundle.a0f1654c642395bbbbbc.js → 3353.bundle.7d5f628fe7eb8fe738ce.js} +146 -144
  8. package/dist/{4019.bundle.01f63d5dd5b96ded0c00.js → 4019.bundle.cdb81fb4777792f6175d.js} +132 -10
  9. package/dist/{4775.bundle.16fc2ed5bd3c9fc90001.js → 4775.bundle.cc7c126b04c9c6214d9f.js} +2 -0
  10. package/dist/{5400.bundle.de97508611da1c00d58a.js → 5400.bundle.be4bdac337da734fdcd3.js} +1 -0
  11. package/dist/{5448.bundle.9a36e001169ea3bfeb6c.js → 5448.bundle.2a82fcfac24d62355154.js} +22 -6
  12. package/dist/{5462.bundle.a81a691eeef782ab95b9.js → 5462.bundle.21beddaca145b7465c72.js} +2 -0
  13. package/dist/{5549.bundle.d5def6a3124a3a481b7c.js → 5549.bundle.4d086f8682a317140e65.js} +159 -155
  14. package/dist/{6163.bundle.8145a6c7394d0ffa60f4.js → 6163.bundle.e0d7dbf2a795589d1ba0.js} +2 -0
  15. package/dist/{7412.bundle.aec4834a71fc27c4ce06.js → 7412.bundle.7b062eda3b01de135817.js} +119 -151
  16. package/dist/{7639.bundle.ff51bb4280f3d33869fd.js → 7639.bundle.096a5aaabaff706ab769.js} +9 -5
  17. package/dist/{8558.bundle.5d584fd9fb1bcb89ea93.js → 8558.bundle.0fd075bf5ebda9511e73.js} +2 -0
  18. package/dist/{9195.bundle.3f97c0156c3da14e62c8.js → 9195.bundle.6663852fdc83058f3686.js} +2 -2
  19. package/dist/app.bundle.css +1 -1
  20. package/dist/{app.bundle.afb8f18ed44df91b4ea6.js → app.bundle.faddb2bd6978a85105c6.js} +66 -15
  21. package/dist/{compute.bundle.fdee4a0f193ee2e1b6da.js → compute.bundle.6f1bd84d7c7116ff82a4.js} +1 -1
  22. package/dist/index.html +1 -1
  23. package/dist/{polySeg.bundle.11f9746cd60c9811a412.js → polySeg.bundle.d4bcf15986821b88dec9.js} +1 -1
  24. package/dist/sw.js +1 -1
  25. package/package.json +21 -21
  26. /package/dist/{1459.bundle.ce2fcc7f893b66723c0a.js → 1459.bundle.93b2412d40d25b566a2c.js} +0 -0
  27. /package/dist/{1933.bundle.373e04f9eebb70186ae1.js → 1933.bundle.a5eb66b39be97a7c6e1e.js} +0 -0
  28. /package/dist/{2018.bundle.d6b41648adeda2be5e42.js → 2018.bundle.17a0d310b03d6dbab3e4.js} +0 -0
  29. /package/dist/{213.bundle.a856837fe85a0c3d80fa.js → 213.bundle.8e5031f961dbbf058e5d.js} +0 -0
  30. /package/dist/{2424.bundle.170efb7c5fe559d8155f.js → 2424.bundle.55a38e540e3ac2db94d5.js} +0 -0
  31. /package/dist/{3461.bundle.02c3e5d65610076cee3e.js → 3461.bundle.84ff305e012481a9ded5.js} +0 -0
  32. /package/dist/{4819.bundle.2a36c7376610495e0618.js → 4819.bundle.ce13d222206c192b78f8.js} +0 -0
  33. /package/dist/{5028.bundle.3d86226f1245834bcb9a.js → 5028.bundle.d011dac918b575c5472a.js} +0 -0
  34. /package/dist/{5457.bundle.14acfe3d1f3c03d37036.js → 5457.bundle.5357429ada1334292c6a.js} +0 -0
  35. /package/dist/{5485.bundle.b840c31f59f0e661efa3.js → 5485.bundle.52d28268e556576dd215.js} +0 -0
  36. /package/dist/{5858.bundle.d5f4bf849aaeebf5025c.js → 5858.bundle.ff6b340cf7457db76a1a.js} +0 -0
  37. /package/dist/{6027.bundle.090813925edfa95aaabe.js → 6027.bundle.4cb3d089c1bec23076d7.js} +0 -0
  38. /package/dist/{8305.bundle.ab84f3246234aa0e4a8e.js → 8305.bundle.b4a98270e518f46feaa0.js} +0 -0
  39. /package/dist/{85.bundle.a3e030a8efe2c1061025.js → 85.bundle.9855c5d5c7602012d954.js} +0 -0
  40. /package/dist/{8583.bundle.659f3cf4b4c64a985dd8.js → 8583.bundle.7534fbaf03a232fd85c5.js} +0 -0
  41. /package/dist/{9927.bundle.f6af980e75c32a8bfd93.js → 9927.bundle.d89e796c1107971d4277.js} +0 -0
@@ -3056,7 +3056,7 @@ function removeSurfaceFromElement(element, segmentationId) {
3056
3056
  /* harmony export */ });
3057
3057
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
3058
3058
  /* harmony import */ var _stateManagement_segmentation_triggerSegmentationEvents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49906);
3059
- /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11990);
3059
+ /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64664);
3060
3060
  /* harmony import */ var _utils_getStrategyData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40905);
3061
3061
  /* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29857);
3062
3062
 
@@ -3082,6 +3082,8 @@ class BrushStrategy {
3082
3082
  [_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.EnsureImageVolumeFor3DManipulation]: addListMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.EnsureImageVolumeFor3DManipulation),
3083
3083
  [_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.AddPreview]: addListMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.AddPreview),
3084
3084
  [_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.GetStatistics]: addSingletonMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.GetStatistics),
3085
+ [_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.CalculateCursorGeometry]: addSingletonMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.CalculateCursorGeometry, true),
3086
+ [_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.RenderCursor]: addSingletonMethod(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.RenderCursor, true),
3085
3087
  compositions: null,
3086
3088
  }; }
3087
3089
  constructor(name, ...initializers) {
@@ -3113,6 +3115,18 @@ class BrushStrategy {
3113
3115
  return initializedData;
3114
3116
  };
3115
3117
  this.configurationName = name;
3118
+ const cursorGeometryInitializer = initializers.find(init => init.hasOwnProperty(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.CalculateCursorGeometry));
3119
+ const renderCursorInitializer = initializers.find(init => init.hasOwnProperty(_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.RenderCursor));
3120
+ if (!cursorGeometryInitializer) {
3121
+ initializers.push({
3122
+ [_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.CalculateCursorGeometry]: _compositions__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.circularCursor.calculateCursorGeometry
3123
+ });
3124
+ }
3125
+ if (!renderCursorInitializer) {
3126
+ initializers.push({
3127
+ [_enums__WEBPACK_IMPORTED_MODULE_4__.StrategyCallbacks.RenderCursor]: _compositions__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.circularCursor.renderCursor
3128
+ });
3129
+ }
3116
3130
  this.compositions = initializers;
3117
3131
  initializers.forEach((initializer) => {
3118
3132
  const result = typeof initializer === 'function' ? initializer() : initializer;
@@ -3197,7 +3211,7 @@ function addSingletonMethod(name, isInitialized = true) {
3197
3211
 
3198
3212
  /***/ }),
3199
3213
 
3200
- /***/ 11990:
3214
+ /***/ 64664:
3201
3215
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3202
3216
 
3203
3217
 
@@ -3311,9 +3325,13 @@ var esm = __webpack_require__(3823);
3311
3325
  },
3312
3326
  [StrategyCallbacks/* default */.A.ComputeInnerCircleRadius]: (operationData) => {
3313
3327
  const { configuration, viewport } = operationData;
3314
- const { dynamicRadius = 0, isDynamic } = configuration.threshold;
3328
+ const thresholdConfig = configuration?.threshold;
3329
+ if (!thresholdConfig) {
3330
+ return;
3331
+ }
3332
+ const { dynamicRadius = 0, isDynamic } = thresholdConfig;
3315
3333
  if (!isDynamic) {
3316
- configuration.threshold.dynamicRadiusInCanvas = 0;
3334
+ thresholdConfig.dynamicRadiusInCanvas = 0;
3317
3335
  return;
3318
3336
  }
3319
3337
  if (dynamicRadius === 0) {
@@ -3333,10 +3351,10 @@ var esm = __webpack_require__(3823);
3333
3351
  const offSetCenterInWorld = centerCursorInWorld.map((coord) => coord + radiusInWorld);
3334
3352
  const offSetCenterCanvas = viewport.worldToCanvas(offSetCenterInWorld);
3335
3353
  const dynamicRadiusInCanvas = Math.abs(centerCanvas[0] - offSetCenterCanvas[0]);
3336
- if (!configuration.threshold.dynamicRadiusInCanvas) {
3337
- configuration.threshold.dynamicRadiusInCanvas = 0;
3354
+ if (!thresholdConfig.dynamicRadiusInCanvas) {
3355
+ thresholdConfig.dynamicRadiusInCanvas = 0;
3338
3356
  }
3339
- configuration.threshold.dynamicRadiusInCanvas = 3 + dynamicRadiusInCanvas;
3357
+ thresholdConfig.dynamicRadiusInCanvas = 3 + dynamicRadiusInCanvas;
3340
3358
  },
3341
3359
  });
3342
3360
 
@@ -3655,6 +3673,108 @@ var getStatistics = __webpack_require__(38440);
3655
3673
  var ensureSegmentationVolume = __webpack_require__(38732);
3656
3674
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/segmentation/strategies/compositions/ensureImageVolume.js
3657
3675
  var ensureImageVolume = __webpack_require__(62753);
3676
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js + 4 modules
3677
+ var drawingSvg = __webpack_require__(74347);
3678
+ ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/segmentation/strategies/compositions/circularCursor.js
3679
+
3680
+
3681
+
3682
+ /* harmony default export */ const circularCursor = ({
3683
+ [StrategyCallbacks/* default */.A.CalculateCursorGeometry]: function (enabledElement, operationData) {
3684
+ if (!operationData) {
3685
+ return;
3686
+ }
3687
+ const { configuration, activeStrategy, hoverData } = operationData;
3688
+ const { viewport } = enabledElement;
3689
+ const camera = viewport.getCamera();
3690
+ const { brushSize } = configuration;
3691
+ const viewUp = esm/* vec3.fromValues */.eR.fromValues(camera.viewUp[0], camera.viewUp[1], camera.viewUp[2]);
3692
+ const viewPlaneNormal = esm/* vec3.fromValues */.eR.fromValues(camera.viewPlaneNormal[0], camera.viewPlaneNormal[1], camera.viewPlaneNormal[2]);
3693
+ const viewRight = esm/* vec3.create */.eR.create();
3694
+ esm/* vec3.cross */.eR.cross(viewRight, viewUp, viewPlaneNormal);
3695
+ const { canvasToWorld } = viewport;
3696
+ const { centerCanvas } = hoverData;
3697
+ const centerCursorInWorld = canvasToWorld([
3698
+ centerCanvas[0],
3699
+ centerCanvas[1],
3700
+ ]);
3701
+ const bottomCursorInWorld = esm/* vec3.create */.eR.create();
3702
+ const topCursorInWorld = esm/* vec3.create */.eR.create();
3703
+ const leftCursorInWorld = esm/* vec3.create */.eR.create();
3704
+ const rightCursorInWorld = esm/* vec3.create */.eR.create();
3705
+ for (let i = 0; i <= 2; i++) {
3706
+ bottomCursorInWorld[i] = centerCursorInWorld[i] - viewUp[i] * brushSize;
3707
+ topCursorInWorld[i] = centerCursorInWorld[i] + viewUp[i] * brushSize;
3708
+ leftCursorInWorld[i] = centerCursorInWorld[i] - viewRight[i] * brushSize;
3709
+ rightCursorInWorld[i] = centerCursorInWorld[i] + viewRight[i] * brushSize;
3710
+ }
3711
+ if (!hoverData) {
3712
+ return;
3713
+ }
3714
+ const { brushCursor } = hoverData;
3715
+ const { data } = brushCursor;
3716
+ if (data.handles === undefined) {
3717
+ data.handles = {};
3718
+ }
3719
+ data.handles.points = [
3720
+ bottomCursorInWorld,
3721
+ topCursorInWorld,
3722
+ leftCursorInWorld,
3723
+ rightCursorInWorld,
3724
+ ];
3725
+ const strategy = configuration.strategies[activeStrategy];
3726
+ if (typeof strategy?.computeInnerCircleRadius === 'function') {
3727
+ strategy.computeInnerCircleRadius({
3728
+ configuration,
3729
+ viewport,
3730
+ });
3731
+ }
3732
+ data.invalidated = false;
3733
+ },
3734
+ [StrategyCallbacks/* default */.A.RenderCursor]: function (enabledElement, operationData, svgDrawingHelper) {
3735
+ if (!operationData) {
3736
+ return;
3737
+ }
3738
+ const { configuration, hoverData } = operationData;
3739
+ const { viewport } = enabledElement;
3740
+ const { brushCursor } = hoverData;
3741
+ const toolMetadata = brushCursor.metadata;
3742
+ if (!toolMetadata) {
3743
+ return;
3744
+ }
3745
+ const annotationUID = toolMetadata.brushCursorUID;
3746
+ const data = brushCursor.data;
3747
+ const { points } = data.handles;
3748
+ const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
3749
+ const bottom = canvasCoordinates[0];
3750
+ const top = canvasCoordinates[1];
3751
+ const center = [
3752
+ Math.floor((bottom[0] + top[0]) / 2),
3753
+ Math.floor((bottom[1] + top[1]) / 2),
3754
+ ];
3755
+ const radius = Math.abs(bottom[1] - Math.floor((bottom[1] + top[1]) / 2));
3756
+ const color = `rgb(${toolMetadata.segmentColor?.slice(0, 3) || [0, 0, 0]})`;
3757
+ if (!viewport.getRenderingEngine()) {
3758
+ console.warn('Rendering Engine has been destroyed');
3759
+ return;
3760
+ }
3761
+ const circleUID = '0';
3762
+ (0,drawingSvg.drawCircle)(svgDrawingHelper, annotationUID, circleUID, center, radius, {
3763
+ color,
3764
+ lineDash: this.centerSegmentIndexInfo.segmentIndex === 0 ? [1, 2] : null,
3765
+ });
3766
+ const { dynamicRadiusInCanvas } = configuration?.threshold || {
3767
+ dynamicRadiusInCanvas: 0,
3768
+ };
3769
+ if (dynamicRadiusInCanvas) {
3770
+ const circleUID1 = '1';
3771
+ (0,drawingSvg.drawCircle)(svgDrawingHelper, annotationUID, circleUID1, center, dynamicRadiusInCanvas, {
3772
+ color,
3773
+ });
3774
+ }
3775
+ },
3776
+ });
3777
+
3658
3778
  ;// ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/segmentation/strategies/compositions/index.js
3659
3779
 
3660
3780
 
@@ -3667,6 +3787,7 @@ var ensureImageVolume = __webpack_require__(62753);
3667
3787
 
3668
3788
 
3669
3789
 
3790
+
3670
3791
  /* harmony default export */ const compositions = ({
3671
3792
  determineSegmentIndex: determineSegmentIndex,
3672
3793
  dynamicThreshold: dynamicThreshold,
@@ -3679,6 +3800,7 @@ var ensureImageVolume = __webpack_require__(62753);
3679
3800
  labelmapStatistics: labelmapStatistics,
3680
3801
  ensureSegmentationVolumeFor3DManipulation: ensureSegmentationVolume/* default */.A,
3681
3802
  ensureImageVolumeFor3DManipulation: ensureImageVolume/* default */.A,
3803
+ circularCursor: circularCursor
3682
3804
  });
3683
3805
 
3684
3806
 
@@ -3692,7 +3814,7 @@ var ensureImageVolume = __webpack_require__(62753);
3692
3814
  /* harmony export */ });
3693
3815
  /* harmony import */ var _BrushStrategy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55887);
3694
3816
  /* harmony import */ var _fillCircle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56789);
3695
- /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11990);
3817
+ /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64664);
3696
3818
 
3697
3819
 
3698
3820
 
@@ -3711,7 +3833,7 @@ const eraseInsideCircle = ERASE_CIRCLE_STRATEGY.strategyFunction;
3711
3833
  /* harmony export */ });
3712
3834
  /* harmony import */ var _BrushStrategy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55887);
3713
3835
  /* harmony import */ var _fillSphere__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17492);
3714
- /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11990);
3836
+ /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64664);
3715
3837
 
3716
3838
 
3717
3839
 
@@ -3735,7 +3857,7 @@ const eraseInsideSphere = ERASE_SPHERE_STRATEGY.strategyFunction;
3735
3857
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
3736
3858
  /* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3823);
3737
3859
  /* harmony import */ var _BrushStrategy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55887);
3738
- /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11990);
3860
+ /* harmony import */ var _compositions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(64664);
3739
3861
  /* harmony import */ var _enums_StrategyCallbacks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(84093);
3740
3862
  /* harmony import */ var _fillCircle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(56789);
3741
3863
  /* harmony import */ var _utilities_getSphereBoundsInfo__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4296);
@@ -109,6 +109,8 @@ var SegmentationRepresentations;
109
109
  /* harmony export */ });
110
110
  var StrategyCallbacks;
111
111
  (function (StrategyCallbacks) {
112
+ StrategyCallbacks["CalculateCursorGeometry"] = "calculateCursorGeometry";
113
+ StrategyCallbacks["RenderCursor"] = "renderCursor";
112
114
  StrategyCallbacks["OnInteractionStart"] = "onInteractionStart";
113
115
  StrategyCallbacks["OnInteractionEnd"] = "onInteractionEnd";
114
116
  StrategyCallbacks["Preview"] = "preview";
@@ -2141,6 +2141,7 @@ class LabelmapBaseTool extends _base__WEBPACK_IMPORTED_MODULE_1__/* .BaseTool */
2141
2141
  previewColor,
2142
2142
  previewSegmentIndex,
2143
2143
  createMemo: this.createMemo.bind(this),
2144
+ hoverData: this._hoverData,
2144
2145
  };
2145
2146
  return operationData;
2146
2147
  }
@@ -19767,12 +19767,16 @@ class BaseStreamingImageVolume extends _ImageVolume__WEBPACK_IMPORTED_MODULE_9__
19767
19767
 
19768
19768
 
19769
19769
  class ImageVolume {
19770
+ get numTimePoints() {
19771
+ return typeof this.numDimensionGroups === 'number'
19772
+ ? this.numDimensionGroups
19773
+ : 1;
19774
+ }
19770
19775
  constructor(props) {
19771
19776
  this._imageIdsIndexMap = new Map();
19772
19777
  this._imageURIsIndexMap = new Map();
19773
19778
  this.cornerstoneImageMetaData = null;
19774
19779
  this.isPreScaled = false;
19775
- this.numTimePoints = null;
19776
19780
  this.numFrames = null;
19777
19781
  const { imageIds, scaling, dimensions, spacing, origin, direction, dataType, volumeId, referencedVolumeId, metadata, referencedImageIds, additionalDetails, voxelManager, numberOfComponents, } = props;
19778
19782
  if (!dataType) {
@@ -19852,7 +19856,10 @@ class ImageVolume {
19852
19856
  });
19853
19857
  }
19854
19858
  isDynamicVolume() {
19855
- return this.numTimePoints > 1;
19859
+ if (this.numTimePoints) {
19860
+ return this.numTimePoints > 1;
19861
+ }
19862
+ return false;
19856
19863
  }
19857
19864
  getImageIdIndex(imageId) {
19858
19865
  return this._imageIdsIndexMap.get(imageId);
@@ -34214,7 +34221,7 @@ class VoxelManager {
34214
34221
  this._set = options._set;
34215
34222
  this._id = options._id || '';
34216
34223
  this._getConstructor = options._getConstructor;
34217
- this.numberOfComponents = this.numberOfComponents || 1;
34224
+ this.numberOfComponents = options.numberOfComponents || 1;
34218
34225
  this.scalarData = options.scalarData;
34219
34226
  this._getScalarData = options._getScalarData;
34220
34227
  this._updateScalarData = options._updateScalarData;
@@ -35282,7 +35289,7 @@ function uuidv4() {
35282
35289
 
35283
35290
  "use strict";
35284
35291
  /* unused harmony export version */
35285
- const version = '4.12.6';
35292
+ const version = '4.14.4';
35286
35293
 
35287
35294
 
35288
35295
  /***/ }),
@@ -36686,6 +36693,8 @@ var SegmentationRepresentations;
36686
36693
  /* harmony export */ });
36687
36694
  var StrategyCallbacks;
36688
36695
  (function (StrategyCallbacks) {
36696
+ StrategyCallbacks["CalculateCursorGeometry"] = "calculateCursorGeometry";
36697
+ StrategyCallbacks["RenderCursor"] = "renderCursor";
36689
36698
  StrategyCallbacks["OnInteractionStart"] = "onInteractionStart";
36690
36699
  StrategyCallbacks["OnInteractionEnd"] = "onInteractionEnd";
36691
36700
  StrategyCallbacks["Preview"] = "preview";
@@ -38139,6 +38148,9 @@ function getColorLUT(index) {
38139
38148
 
38140
38149
  function getCurrentLabelmapImageIdForViewport(viewportId, segmentationId) {
38141
38150
  const imageIds = getCurrentLabelmapImageIdsForViewport(viewportId, segmentationId);
38151
+ if (!imageIds?.length) {
38152
+ return;
38153
+ }
38142
38154
  return imageIds[0];
38143
38155
  }
38144
38156
  function getCurrentLabelmapImageIdsForViewport(viewportId, segmentationId) {
@@ -39002,9 +39014,11 @@ class ToolGroup_ToolGroup {
39002
39014
  const cursor = MouseCursor.getDefinedCursor('default');
39003
39015
  this._setCursorForViewports(cursor);
39004
39016
  }
39017
+ toolInstance.isPrimary = false;
39005
39018
  }
39006
39019
  else {
39007
39020
  this.setViewportsCursorByToolName(toolName);
39021
+ toolInstance.isPrimary = true;
39008
39022
  }
39009
39023
  if (this._hasMousePrimaryButtonBinding(toolBindingsOptions)) {
39010
39024
  if (this.prevActivePrimaryToolName === null) {
@@ -39051,6 +39065,7 @@ class ToolGroup_ToolGroup {
39051
39065
  }
39052
39066
  this.toolOptions[toolName] = toolOptions;
39053
39067
  toolInstance.mode = mode;
39068
+ toolInstance.isPrimary = false;
39054
39069
  if (typeof toolInstance.onSetToolPassive === 'function') {
39055
39070
  toolInstance.onSetToolPassive();
39056
39071
  }
@@ -39580,6 +39595,7 @@ class BaseTool {
39580
39595
  },
39581
39596
  }; }
39582
39597
  constructor(toolProps, defaultToolProps) {
39598
+ this.isPrimary = false;
39583
39599
  const mergedDefaults = BaseTool.mergeDefaultProps(BaseTool.defaults, defaultToolProps);
39584
39600
  const initialProps = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.deepMerge(mergedDefaults, toolProps);
39585
39601
  const { configuration = {}, supportedInteractionTypes, toolGroupId, } = initialProps;
@@ -44316,7 +44332,7 @@ function createMergedLabelmapForIndex(labelmaps, segmentIndex = 1, volumeId = 'm
44316
44332
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15327);
44317
44333
 
44318
44334
  function getOrCreateImageVolume(referencedImageIds) {
44319
- if (!referencedImageIds || referencedImageIds.length <= 1) {
44335
+ if (!referencedImageIds?.length) {
44320
44336
  return;
44321
44337
  }
44322
44338
  const isValidVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isValidVolume(referencedImageIds);
@@ -44359,7 +44375,7 @@ function getOrCreateSegmentationVolume(segmentationId) {
44359
44375
  }
44360
44376
  const { imageIds: labelmapImageIds } = representationData.Labelmap;
44361
44377
  volumeId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.generateVolumeId(labelmapImageIds);
44362
- if (!labelmapImageIds || labelmapImageIds.length === 1) {
44378
+ if (!labelmapImageIds || labelmapImageIds.length === 0) {
44363
44379
  return;
44364
44380
  }
44365
44381
  const isValidVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.isValidVolume(labelmapImageIds);
@@ -112,6 +112,8 @@ var SegmentationRepresentations;
112
112
  /* harmony export */ });
113
113
  var StrategyCallbacks;
114
114
  (function (StrategyCallbacks) {
115
+ StrategyCallbacks["CalculateCursorGeometry"] = "calculateCursorGeometry";
116
+ StrategyCallbacks["RenderCursor"] = "renderCursor";
115
117
  StrategyCallbacks["OnInteractionStart"] = "onInteractionStart";
116
118
  StrategyCallbacks["OnInteractionEnd"] = "onInteractionEnd";
117
119
  StrategyCallbacks["Preview"] = "preview";