hellfire 0.18.1 → 0.19.1

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/index.js CHANGED
@@ -575,7 +575,9 @@ var WwwcDefinedList = {
575
575
  WWWC_NECK: [350, 90],
576
576
  WWWC_TOP_ABDOMEN: [150, 50]
577
577
  };
578
- var LengthTools = ['Length', 'Angle', 'ArrowAnnotate', 'EllipticalRoi', 'Probe', 'RectangleRoi', 'CobbAngle', 'CTR'];
578
+ var LengthTools = ['Length', 'Angle', 'ArrowAnnotate', 'EllipticalRoi', 'Probe', 'RectangleRoi', 'CobbAngle', 'CTR', 'ReferencePosition']; // 真正的测量工具 连续测量那边需要用到
579
+
580
+ var LengthToolsWithMeasure = ['Length', 'Angle', 'ArrowAnnotate', 'EllipticalRoi', 'Probe', 'RectangleRoi', 'CobbAngle', 'CTR'];
579
581
  var LengthToolMap = {
580
582
  Length: '直线',
581
583
  ArrowAnnotate: '箭头',
@@ -601,6 +603,7 @@ var ToolsCursorMap = {
601
603
 
602
604
  reactHotLoader.register(WwwcDefinedList, "WwwcDefinedList", "/Users/huyeqing/workspace/chainz/paladin/src/utils/constant.js");
603
605
  reactHotLoader.register(LengthTools, "LengthTools", "/Users/huyeqing/workspace/chainz/paladin/src/utils/constant.js");
606
+ reactHotLoader.register(LengthToolsWithMeasure, "LengthToolsWithMeasure", "/Users/huyeqing/workspace/chainz/paladin/src/utils/constant.js");
604
607
  reactHotLoader.register(LengthToolMap, "LengthToolMap", "/Users/huyeqing/workspace/chainz/paladin/src/utils/constant.js");
605
608
  reactHotLoader.register(ToolsCursorMap, "ToolsCursorMap", "/Users/huyeqing/workspace/chainz/paladin/src/utils/constant.js");
606
609
  })();
@@ -10868,7 +10871,6 @@ var triggerEvent$2 = cornerstoneTools.importInternal('util/triggerEvent');
10868
10871
  var external$9 = cornerstoneTools.external,
10869
10872
  getToolState$5 = cornerstoneTools.getToolState,
10870
10873
  loadHandlerManager = cornerstoneTools.loadHandlerManager,
10871
- requestPoolManager = cornerstoneTools.requestPoolManager,
10872
10874
  EVENTS$2 = cornerstoneTools.EVENTS;
10873
10875
  /**
10874
10876
  * Scrolls through the stack to the image index requested.
@@ -11002,9 +11004,7 @@ var _default$h = function _default(element, newImageIdIndex, options, callback)
11002
11004
  imagePromise = loadAndCacheImagePlus(newImageId);
11003
11005
  }
11004
11006
 
11005
- imagePromise.then(doneCallback, failCallback); // Make sure we kick off any changed download request pools
11006
-
11007
- requestPoolManager.startGrabbing();
11007
+ imagePromise.then(doneCallback, failCallback);
11008
11008
 
11009
11009
  if (_options.eventTrigger) {
11010
11010
  triggerEvent$2(element, EVENTS$2.STACK_SCROLL, eventData);
@@ -11022,7 +11022,6 @@ var _default$h = function _default(element, newImageIdIndex, options, callback)
11022
11022
  reactHotLoader.register(external$9, "external", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/scrollToIndex.js");
11023
11023
  reactHotLoader.register(getToolState$5, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/scrollToIndex.js");
11024
11024
  reactHotLoader.register(loadHandlerManager, "loadHandlerManager", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/scrollToIndex.js");
11025
- reactHotLoader.register(requestPoolManager, "requestPoolManager", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/scrollToIndex.js");
11026
11025
  reactHotLoader.register(EVENTS$2, "EVENTS", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/scrollToIndex.js");
11027
11026
  reactHotLoader.register(_default$h, "default", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/scrollToIndex.js");
11028
11027
  })();
@@ -23500,24 +23499,24 @@ var __signature__$1q = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoa
23500
23499
 
23501
23500
  var elementToolOptions = {};
23502
23501
  /**
23503
- * Retrieve the options object associated with a particular toolType and element
23502
+ * Retrieve the options object associated with a particular toolName and element
23504
23503
  * @export
23505
23504
  * @public
23506
23505
  * @method
23507
23506
  * @name getToolOptions
23508
23507
  *
23509
- * @param {string} toolType Tool type identifier of the target options object
23508
+ * @param {string} toolName Tool name identifier of the target options object
23510
23509
  * @param {HTMLElement} element Element of the target options object
23511
23510
  *
23512
23511
  * @returns {Object} Target options object (empty if not yet set)
23513
23512
  */
23514
23513
 
23515
- function getToolOptions(toolType, element) {
23516
- if (!elementToolOptions[toolType]) {
23514
+ function getToolOptions(toolName, element) {
23515
+ if (!elementToolOptions[toolName]) {
23517
23516
  return {};
23518
23517
  }
23519
23518
 
23520
- var toolOptions = elementToolOptions[toolType];
23519
+ var toolOptions = elementToolOptions[toolName];
23521
23520
  var optionsObject = toolOptions.find(function (toolOptionObject) {
23522
23521
  return toolOptionObject.element === element;
23523
23522
  });
@@ -23529,67 +23528,71 @@ function getToolOptions(toolType, element) {
23529
23528
  return optionsObject.options;
23530
23529
  }
23531
23530
  /**
23532
- * Set the options object associated with a particular toolType and element.
23531
+ * Set the options object associated with a particular toolName and element.
23533
23532
  * @export
23534
23533
  * @public
23535
23534
  * @method
23536
23535
  * @name setToolOptions
23537
23536
  *
23538
- * @param {string} toolType Tool type identifier of the target options object.
23537
+ * @param {string} toolName Tool name identifier of the target options object.
23539
23538
  * @param {HTMLElement} element Element of the target options object.
23540
23539
  * @param {Object} options Options object to store at target.
23541
23540
  * @returns {void}
23542
23541
  */
23543
23542
 
23544
23543
 
23545
- function setToolOptions(toolType, element, options) {
23546
- if (!elementToolOptions[toolType]) {
23547
- elementToolOptions[toolType] = [{
23544
+ function setToolOptions(toolName, element, options) {
23545
+ if (!elementToolOptions[toolName]) {
23546
+ elementToolOptions[toolName] = [{
23548
23547
  element: element,
23549
23548
  options: options
23550
23549
  }];
23551
23550
  return;
23552
23551
  }
23553
23552
 
23554
- var toolOptions = elementToolOptions[toolType];
23553
+ var toolOptions = elementToolOptions[toolName];
23555
23554
  var index = toolOptions.findIndex(function (toolOptionObject) {
23556
23555
  return toolOptionObject.element === element;
23557
23556
  });
23558
23557
 
23559
23558
  if (index === -1) {
23560
- elementToolOptions[toolType].push({
23559
+ elementToolOptions[toolName].push({
23561
23560
  element: element,
23562
23561
  options: options
23563
23562
  });
23564
23563
  } else {
23565
- var elementOptions = elementToolOptions[toolType][index].options || {};
23566
- elementToolOptions[toolType][index].options = Object.assign(elementOptions, options);
23564
+ var elementOptions = elementToolOptions[toolName][index].options || {};
23565
+ elementToolOptions[toolName][index].options = Object.assign(elementOptions, options);
23567
23566
  }
23568
23567
  }
23569
23568
  /**
23570
- * Clear the options object associated with a particular toolType and element.
23569
+ * Clear the options object associated with a particular toolName and element.
23571
23570
  * @export
23572
23571
  * @public
23573
23572
  * @method
23574
23573
  * @name clearToolOptions
23575
23574
  *
23576
- * @param {string} toolType Tool type identifier of the target options object.
23575
+ * @param {string} toolName Tool name identifier of the target options object.
23577
23576
  * @param {HTMLElement} element Element of the target options object.
23578
23577
  * @returns {void}
23579
23578
  */
23580
23579
 
23581
23580
 
23582
- function clearToolOptions(toolType, element) {
23583
- var toolOptions = elementToolOptions[toolType];
23581
+ function clearToolOptions(toolName, element) {
23582
+ var toolOptions = elementToolOptions[toolName];
23584
23583
 
23585
23584
  if (toolOptions) {
23586
- elementToolOptions[toolType] = toolOptions.filter(function (toolOptionObject) {
23585
+ elementToolOptions[toolName] = toolOptions.filter(function (toolOptionObject) {
23587
23586
  return toolOptionObject.element !== element;
23588
23587
  });
23589
23588
  }
23590
23589
  }
23591
23590
  /**
23592
23591
  * Clear the options objects associated with a particular toolType.
23592
+ *
23593
+ * Deprecation notice: use clearToolOptionsByToolName instead
23594
+ * @deprecated
23595
+ *
23593
23596
  * @export
23594
23597
  * @public
23595
23598
  * @method
@@ -23601,7 +23604,22 @@ function clearToolOptions(toolType, element) {
23601
23604
 
23602
23605
 
23603
23606
  function clearToolOptionsByToolType(toolType) {
23604
- delete elementToolOptions[toolType];
23607
+ return clearToolOptionsByToolName(toolType);
23608
+ }
23609
+ /**
23610
+ * Clear the options objects associated with a particular toolName.
23611
+ * @export
23612
+ * @public
23613
+ * @method
23614
+ * @name clearToolOptionsByToolName
23615
+ *
23616
+ * @param {string} toolName Tool name identifier of the target options objects.
23617
+ * @returns {void}
23618
+ */
23619
+
23620
+
23621
+ function clearToolOptionsByToolName(toolName) {
23622
+ delete elementToolOptions[toolName];
23605
23623
  }
23606
23624
  /**
23607
23625
  * Clear the options objects associated with a particular element.
@@ -23616,8 +23634,8 @@ function clearToolOptionsByToolType(toolType) {
23616
23634
 
23617
23635
 
23618
23636
  function clearToolOptionsByElement(element) {
23619
- for (var toolType in elementToolOptions) {
23620
- elementToolOptions[toolType] = elementToolOptions[toolType].filter(function (toolOptionObject) {
23637
+ for (var toolName in elementToolOptions) {
23638
+ elementToolOptions[toolName] = elementToolOptions[toolName].filter(function (toolOptionObject) {
23621
23639
  return toolOptionObject.element !== element;
23622
23640
  });
23623
23641
  }
@@ -23635,6 +23653,7 @@ function clearToolOptionsByElement(element) {
23635
23653
  reactHotLoader.register(setToolOptions, "setToolOptions", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/toolOptions.js");
23636
23654
  reactHotLoader.register(clearToolOptions, "clearToolOptions", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/toolOptions.js");
23637
23655
  reactHotLoader.register(clearToolOptionsByToolType, "clearToolOptionsByToolType", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/toolOptions.js");
23656
+ reactHotLoader.register(clearToolOptionsByToolName, "clearToolOptionsByToolName", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/toolOptions.js");
23638
23657
  reactHotLoader.register(clearToolOptionsByElement, "clearToolOptionsByElement", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/toolOptions.js");
23639
23658
  })();
23640
23659
 
@@ -26412,60 +26431,11 @@ function imagePointToPatientPoint(imagePoint, imagePlane) {
26412
26431
  enterModule && enterModule(module);
26413
26432
  })();
26414
26433
 
26415
- var __signature__$1E = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26416
- return a;
26417
- };
26418
- var dicomCache = {};
26419
-
26420
- var loadAndCacheDicom = function loadAndCacheDicom(imageId) {
26421
- return new Promise(function (resolve, reject) {
26422
- if (dicomCache[imageId]) {
26423
- resolve(dicomCache[imageId]);
26424
- return;
26425
- }
26426
-
26427
- var imagePromise = loadAndCacheImagePlus(imageId);
26428
- imagePromise.then(function (image) {
26429
- var dicom = new DicomInfo(image.data, image.getPixelData());
26430
- dicomCache[imageId] = dicom;
26431
- resolve(dicom);
26432
- }, function (e) {
26433
- reject(e);
26434
- });
26435
- });
26436
- };
26437
-
26438
- var purgeDicomCache = function purgeDicomCache() {
26439
- dicomCache = {};
26440
- };
26441
-
26442
- (function () {
26443
- var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
26444
-
26445
- if (!reactHotLoader) {
26446
- return;
26447
- }
26448
-
26449
- reactHotLoader.register(dicomCache, "dicomCache", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/dicom-parser-plus/dicom/utils/loadAndCacheDicom.js");
26450
- reactHotLoader.register(loadAndCacheDicom, "loadAndCacheDicom", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/dicom-parser-plus/dicom/utils/loadAndCacheDicom.js");
26451
- reactHotLoader.register(purgeDicomCache, "purgeDicomCache", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/dicom-parser-plus/dicom/utils/loadAndCacheDicom.js");
26452
- })();
26453
-
26454
- (function () {
26455
- var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
26456
- leaveModule && leaveModule(module);
26457
- })();
26458
-
26459
- (function () {
26460
- var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
26461
- enterModule && enterModule(module);
26462
- })();
26463
-
26464
26434
  function _createSuper$A(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$A(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }
26465
26435
 
26466
26436
  function _isNativeReflectConstruct$A() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
26467
26437
 
26468
- var __signature__$1F = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26438
+ var __signature__$1E = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26469
26439
  return a;
26470
26440
  };
26471
26441
  var getNewContext$c = cornerstoneTools.importInternal('drawing/getNewContext');
@@ -26715,6 +26685,9 @@ var ReferencePositionTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
26715
26685
  /**
26716
26686
  * target element的render方法
26717
26687
  * 计算source的点和target最近的层 翻页+绘制垂直映射的点
26688
+ *
26689
+ * 方法:
26690
+ * 遍历算出所有距离 做排序
26718
26691
  */
26719
26692
 
26720
26693
  }, {
@@ -26723,7 +26696,7 @@ var ReferencePositionTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
26723
26696
  var _renderTargetPosition = asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(evt) {
26724
26697
  var _this3 = this;
26725
26698
 
26726
- var _evt$detail2, image, element, sourceElements, sourceElement, sourceToolData, cornerstone, sourceImage, currentTargetImage, sourceImagePlane, currentTargetPlane, currentTargetImageDicom, sourceImageDicom, sourcePoint, sourcePointV3, imageTotalCount, targetImageIndex, firstImageId, lastImageId, firstTargetImagePlane, lastTargetImagePlane, sourcePointInFirstPlane, sourcePointInLastPlane, sourcePointInFirstPlaneV3, sourcePointInLastPlaneV3, totalDistance, pointToFirstImageDistance, _targetImageIndex, targetImagePlane, sourcePointToTargetPlanePoint, context, handles;
26699
+ var _evt$detail2, image, element, sourceElements, sourceElement, sourceToolData, cornerstone, sourceImage, currentTargetImage, sourceImagePlane, currentTargetPlane, sourcePoint, sourcePointV3, imageTotalCount, targetImageIndex, min, targetImagePlane, sourcePointToTargetPlanePoint, context, handles;
26727
26700
 
26728
26701
  return regenerator.wrap(function _callee2$(_context2) {
26729
26702
  while (1) {
@@ -26783,93 +26756,44 @@ var ReferencePositionTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
26783
26756
  return _context2.abrupt("return");
26784
26757
 
26785
26758
  case 19:
26786
- _context2.next = 21;
26787
- return loadAndCacheDicom(currentTargetImage.imageId);
26788
-
26789
- case 21:
26790
- currentTargetImageDicom = _context2.sent;
26791
- _context2.next = 24;
26792
- return loadAndCacheDicom(sourceImage.imageId);
26793
-
26794
- case 24:
26795
- sourceImageDicom = _context2.sent;
26796
-
26797
- if (!(!currentTargetImageDicom.ImageType || !currentTargetImageDicom.ImageType.value || !lodash$1.includes(lodash$1.toUpper(currentTargetImageDicom.ImageType.value), 'PRIMARY'))) {
26798
- _context2.next = 27;
26799
- break;
26800
- }
26801
-
26802
- return _context2.abrupt("return");
26803
-
26804
- case 27:
26805
- if (!(!sourceImageDicom.ImageType || !sourceImageDicom.ImageType.value || !lodash$1.includes(lodash$1.toUpper(sourceImageDicom.ImageType.value), 'PRIMARY'))) {
26806
- _context2.next = 29;
26807
- break;
26808
- }
26809
-
26810
- return _context2.abrupt("return");
26811
-
26812
- case 29:
26813
26759
  sourcePoint = sourceToolData.data[0].handles.end;
26814
26760
  sourcePointV3 = imagePointToPatientPoint(sourcePoint, sourceImagePlane);
26815
- /**
26816
- * 1.在起始的外侧,就直接取第一个image
26817
- * 2.在结束的外侧,直接取最后一个image
26818
- * 3.在中间,把source的点击的p点投到第一张上获得p1,投到最后一张上获得p2,因为层是平行的,
26819
- * 这样三个点就在一条空间的直线上了,然后计算p1到p2的距离distance,distance/层数,
26820
- * 就是层厚+层间距(默认当它是等分的),然后p点到p1的距离也能知道,除以(层厚+层间距)找到index
26821
- */
26822
-
26823
26761
  imageTotalCount = this.imageIds.length;
26824
26762
  targetImageIndex = 0;
26825
26763
 
26826
- if (!(imageTotalCount > 1)) {
26827
- _context2.next = 50;
26828
- break;
26829
- }
26764
+ if (imageTotalCount > 1) {
26765
+ // 遍历计算所有distance
26766
+ min = null;
26767
+ lodash$1.forEach(this.imageIds, function (imageId, index) {
26768
+ var imagePlane = cornerstone.metaData.get('imagePlaneModule', imageId);
26830
26769
 
26831
- firstImageId = this.imageIds[0];
26832
- lastImageId = this.imageIds[imageTotalCount - 1];
26833
- firstTargetImagePlane = cornerstone.metaData.get('imagePlaneModule', firstImageId);
26834
- lastTargetImagePlane = cornerstone.metaData.get('imagePlaneModule', lastImageId);
26770
+ if (!imagePlane || !imagePlane.rowCosines || !imagePlane.columnCosines || !imagePlane.imagePositionPatient) {
26771
+ return;
26772
+ }
26835
26773
 
26836
- if (!(!firstTargetImagePlane || !lastTargetImagePlane || !firstTargetImagePlane.rowCosines || !lastTargetImagePlane.rowCosines || !firstTargetImagePlane.columnCosines || !lastTargetImagePlane.columnCosines || !firstTargetImagePlane.imagePositionPatient || !lastTargetImagePlane.imagePositionPatient)) {
26837
- _context2.next = 40;
26838
- break;
26839
- }
26774
+ var sourcePointInTargetPlane = projectPatientPointToImagePlane$1(sourcePointV3, imagePlane);
26775
+ var sourcePointInTargetPlaneV3 = imagePointToPatientPoint(sourcePointInTargetPlane, imagePlane);
26840
26776
 
26841
- return _context2.abrupt("return");
26777
+ var distance = _this3.calcDistance(sourcePointV3, sourcePointInTargetPlaneV3);
26842
26778
 
26843
- case 40:
26844
- sourcePointInFirstPlane = projectPatientPointToImagePlane$1(sourcePointV3, firstTargetImagePlane);
26845
- sourcePointInLastPlane = projectPatientPointToImagePlane$1(sourcePointV3, lastTargetImagePlane);
26846
- sourcePointInFirstPlaneV3 = imagePointToPatientPoint(sourcePointInFirstPlane, firstTargetImagePlane);
26847
- sourcePointInLastPlaneV3 = imagePointToPatientPoint(sourcePointInLastPlane, lastTargetImagePlane);
26848
- totalDistance = this.calcDistance(sourcePointInFirstPlaneV3, sourcePointInLastPlaneV3);
26849
- pointToFirstImageDistance = this.calcDistance(sourcePointInFirstPlaneV3, sourcePointV3);
26850
- _targetImageIndex = lodash$1.round(pointToFirstImageDistance / (totalDistance / (imageTotalCount - 1)));
26851
-
26852
- if (!(_targetImageIndex < 0 || _targetImageIndex > imageTotalCount - 1)) {
26853
- _context2.next = 49;
26854
- break;
26779
+ if (!min || distance < min) {
26780
+ min = distance;
26781
+ targetImageIndex = index;
26782
+ }
26783
+ });
26784
+ scrollToIndex(element, targetImageIndex);
26855
26785
  }
26856
26786
 
26857
- return _context2.abrupt("return");
26858
-
26859
- case 49:
26860
- scrollToIndex(element, _targetImageIndex);
26861
-
26862
- case 50:
26863
26787
  targetImagePlane = cornerstone.metaData.get('imagePlaneModule', this.imageIds[targetImageIndex]);
26864
26788
 
26865
- if (!(!targetImagePlane || !targetImagePlane.rowCosines || !targetImagePlane.columnCosines || !targetImagePlane.imagePositionPatient || !targetImagePlane.frameOfReferenceUID)) {
26866
- _context2.next = 53;
26789
+ if (!(!targetImagePlane || !targetImagePlane.rowCosines || !targetImagePlane.columnCosines || !targetImagePlane.imagePositionPatient)) {
26790
+ _context2.next = 27;
26867
26791
  break;
26868
26792
  }
26869
26793
 
26870
26794
  return _context2.abrupt("return");
26871
26795
 
26872
- case 53:
26796
+ case 27:
26873
26797
  sourcePointToTargetPlanePoint = projectPatientPointToImagePlane$1(sourcePointV3, targetImagePlane);
26874
26798
  context = getNewContext$c(evt.detail.canvasContext.canvas);
26875
26799
  handles = {
@@ -26890,7 +26814,7 @@ var ReferencePositionTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
26890
26814
  });
26891
26815
  });
26892
26816
 
26893
- case 57:
26817
+ case 31:
26894
26818
  case "end":
26895
26819
  return _context2.stop();
26896
26820
  }
@@ -26957,7 +26881,7 @@ var ReferencePositionTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
26957
26881
  enterModule && enterModule(module);
26958
26882
  })();
26959
26883
 
26960
- var __signature__$1G = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26884
+ var __signature__$1F = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26961
26885
  return a;
26962
26886
  };
26963
26887
  var getToolState$c = cornerstoneTools.getToolState;
@@ -26994,7 +26918,7 @@ var _default$w = function _default(element) {
26994
26918
  enterModule && enterModule(module);
26995
26919
  })();
26996
26920
 
26997
- var __signature__$1H = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26921
+ var __signature__$1G = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26998
26922
  return a;
26999
26923
  };
27000
26924
  var scrollToIndex$1 = cornerstoneTools.importInternal('util/scrollToIndex');
@@ -27072,7 +26996,7 @@ var _default$x = {
27072
26996
  enterModule && enterModule(module);
27073
26997
  })();
27074
26998
 
27075
- var __signature__$1I = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26999
+ var __signature__$1H = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27076
27000
  return a;
27077
27001
  };
27078
27002
  var external$k = cornerstoneTools.external;
@@ -27359,7 +27283,7 @@ var _default$y = function _default(synchronizer, sourceElement, targetElement, e
27359
27283
  enterModule && enterModule(module);
27360
27284
  })();
27361
27285
 
27362
- var __signature__$1J = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27286
+ var __signature__$1I = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27363
27287
  return a;
27364
27288
  };
27365
27289
  var external$l = cornerstoneTools.external;
@@ -27513,7 +27437,7 @@ var _default$z = function _default(synchronizer, sourceElement, targetElement, e
27513
27437
  enterModule && enterModule(module);
27514
27438
  })();
27515
27439
 
27516
- var __signature__$1K = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27440
+ var __signature__$1J = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27517
27441
  return a;
27518
27442
  };
27519
27443
  var getToolState$e = cornerstoneTools.getToolState;
@@ -27588,7 +27512,7 @@ var _default$A = function _default(synchronizer, sourceElement, targetElement, e
27588
27512
  enterModule && enterModule(module);
27589
27513
  })();
27590
27514
 
27591
- var __signature__$1L = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27515
+ var __signature__$1K = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27592
27516
  return a;
27593
27517
  };
27594
27518
  var external$m = cornerstoneTools.external;
@@ -27672,7 +27596,7 @@ var _default$B = function _default(synchronizer, sourceElement, targetElement, e
27672
27596
  enterModule && enterModule(module);
27673
27597
  })();
27674
27598
 
27675
- var __signature__$1M = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27599
+ var __signature__$1L = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27676
27600
  return a;
27677
27601
  };
27678
27602
 
@@ -27713,7 +27637,7 @@ var _MPR_DIRECTION_COLOR;
27713
27637
  enterModule && enterModule(module);
27714
27638
  })();
27715
27639
 
27716
- var __signature__$1N = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27640
+ var __signature__$1M = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27717
27641
  return a;
27718
27642
  };
27719
27643
  var MPR_DIRECTION_COLOR = (_MPR_DIRECTION_COLOR = {}, defineProperty(_MPR_DIRECTION_COLOR, ImagePlanDirection.Sagittal, 'red'), defineProperty(_MPR_DIRECTION_COLOR, ImagePlanDirection.Transverse, 'greenyellow'), defineProperty(_MPR_DIRECTION_COLOR, ImagePlanDirection.Coronal, 'blue'), _MPR_DIRECTION_COLOR);
@@ -27738,7 +27662,7 @@ var MPR_DIRECTION_COLOR = (_MPR_DIRECTION_COLOR = {}, defineProperty(_MPR_DIRECT
27738
27662
  enterModule && enterModule(module);
27739
27663
  })();
27740
27664
 
27741
- var __signature__$1O = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27665
+ var __signature__$1N = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27742
27666
  return a;
27743
27667
  };
27744
27668
  var external$n = cornerstoneTools.external; // 两条直线求焦点
@@ -27808,7 +27732,7 @@ var _userAgent$cpu, _userAgent$device, _userAgent$os, _userAgent$os2, _userAgent
27808
27732
  enterModule && enterModule(module);
27809
27733
  })();
27810
27734
 
27811
- var __signature__$1P = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27735
+ var __signature__$1O = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27812
27736
  return a;
27813
27737
  };
27814
27738
 
@@ -27958,7 +27882,7 @@ function _createSuper$B(Derived) { var hasNativeReflectConstruct = _isNativeRefl
27958
27882
 
27959
27883
  function _isNativeReflectConstruct$B() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
27960
27884
 
27961
- var __signature__$1Q = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27885
+ var __signature__$1P = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27962
27886
  return a;
27963
27887
  };
27964
27888
  var external$o = cornerstoneTools.external;
@@ -28492,7 +28416,7 @@ function _createSuper$C(Derived) { var hasNativeReflectConstruct = _isNativeRefl
28492
28416
 
28493
28417
  function _isNativeReflectConstruct$C() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
28494
28418
 
28495
- var __signature__$1R = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28419
+ var __signature__$1Q = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28496
28420
  return a;
28497
28421
  };
28498
28422
  var external$p = cornerstoneTools.external;
@@ -28641,7 +28565,7 @@ var OverlayTool = /*#__PURE__*/function (_BaseTool) {
28641
28565
  enterModule && enterModule(module);
28642
28566
  })();
28643
28567
 
28644
- var __signature__$1S = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28568
+ var __signature__$1R = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28645
28569
  return a;
28646
28570
  };
28647
28571
  var cornerstoneState = {
@@ -28755,6 +28679,55 @@ function reset$2(key) {
28755
28679
  enterModule && enterModule(module);
28756
28680
  })();
28757
28681
 
28682
+ var __signature__$1S = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28683
+ return a;
28684
+ };
28685
+ var dicomCache = {};
28686
+
28687
+ var loadAndCacheDicom = function loadAndCacheDicom(imageId) {
28688
+ return new Promise(function (resolve, reject) {
28689
+ if (dicomCache[imageId]) {
28690
+ resolve(dicomCache[imageId]);
28691
+ return;
28692
+ }
28693
+
28694
+ var imagePromise = loadAndCacheImagePlus(imageId);
28695
+ imagePromise.then(function (image) {
28696
+ var dicom = new DicomInfo(image.data, image.getPixelData());
28697
+ dicomCache[imageId] = dicom;
28698
+ resolve(dicom);
28699
+ }, function (e) {
28700
+ reject(e);
28701
+ });
28702
+ });
28703
+ };
28704
+
28705
+ var purgeDicomCache = function purgeDicomCache() {
28706
+ dicomCache = {};
28707
+ };
28708
+
28709
+ (function () {
28710
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
28711
+
28712
+ if (!reactHotLoader) {
28713
+ return;
28714
+ }
28715
+
28716
+ reactHotLoader.register(dicomCache, "dicomCache", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/dicom-parser-plus/dicom/utils/loadAndCacheDicom.js");
28717
+ reactHotLoader.register(loadAndCacheDicom, "loadAndCacheDicom", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/dicom-parser-plus/dicom/utils/loadAndCacheDicom.js");
28718
+ reactHotLoader.register(purgeDicomCache, "purgeDicomCache", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/dicom-parser-plus/dicom/utils/loadAndCacheDicom.js");
28719
+ })();
28720
+
28721
+ (function () {
28722
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
28723
+ leaveModule && leaveModule(module);
28724
+ })();
28725
+
28726
+ (function () {
28727
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
28728
+ enterModule && enterModule(module);
28729
+ })();
28730
+
28758
28731
  function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
28759
28732
 
28760
28733
  function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -47590,7 +47563,11 @@ var CustomScroll = /*#__PURE__*/function (_Component) {
47590
47563
  currentStep = step - 1;
47591
47564
  }
47592
47565
 
47593
- _this2.debouncedPan(currentStep);
47566
+ if (_this2.props.needDebounce) {
47567
+ _this2.debouncedPan(currentStep);
47568
+ } else {
47569
+ _this2.props.onPan(currentStep);
47570
+ }
47594
47571
  };
47595
47572
 
47596
47573
  switch (type) {
@@ -48358,7 +48335,7 @@ var DicomViewport = /*#__PURE__*/function (_Component) {
48358
48335
 
48359
48336
  var activeTool = _this.props.activeTool;
48360
48337
 
48361
- if (!_this.props.continuousMeasure && lodash$1.includes(LengthTools, activeTool)) {
48338
+ if (!_this.props.continuousMeasure && lodash$1.includes(LengthToolsWithMeasure, activeTool)) {
48362
48339
  var toolData = _default$E.getToolState(_this.element, activeDataTool);
48363
48340
 
48364
48341
  if (toolData && toolData.data && toolData.data.length > 0) {
@@ -48734,7 +48711,6 @@ var DicomViewport = /*#__PURE__*/function (_Component) {
48734
48711
  });
48735
48712
  });
48736
48713
 
48737
- _this.loaded = false;
48738
48714
  _this.mouseDownViewport = null; // 记录鼠标操作前的viewport,为了相对同步
48739
48715
  // 拷贝一份 使得作用域内stack的修改不污染外部的series
48740
48716
 
@@ -49981,7 +49957,8 @@ var DicomLayout = /*#__PURE__*/function (_Component) {
49981
49957
  step: Math.ceil(seriesTotalCount / col) - row + 1,
49982
49958
  onPan: this.props.customScrollPan,
49983
49959
  name: 'layout',
49984
- scrollType: "relative"
49960
+ scrollType: "relative",
49961
+ needDebounce: true
49985
49962
  })));
49986
49963
  }
49987
49964
  }, {
@@ -50133,6 +50110,27 @@ var mergeProps$e = function mergeProps(propsFromState, propsFromDispatch, ownPro
50133
50110
  // 测量工具下不响应双击操作
50134
50111
  if (lodash$1.includes(LengthTools, propsFromState.activeTool)) {
50135
50112
  return;
50113
+ } // 有绘制的toolData被激活时 也不响应(双点击的会偶发T10283)
50114
+
50115
+
50116
+ var element = getElement(index);
50117
+ var checkToolDataActive = false;
50118
+ lodash$1.forEach(LengthTools, function (tool) {
50119
+ if (!checkToolDataActive) {
50120
+ var toolData = _default$E.getToolState(element, tool);
50121
+
50122
+ if (toolData && toolData.data && toolData.data.length > 0) {
50123
+ lodash$1.forEach(toolData.data, function (handler) {
50124
+ if (handler && handler.active) {
50125
+ checkToolDataActive = true;
50126
+ }
50127
+ });
50128
+ }
50129
+ }
50130
+ });
50131
+
50132
+ if (checkToolDataActive) {
50133
+ return;
50136
50134
  }
50137
50135
 
50138
50136
  var onePickMode = propsFromState.onePickMode,
@@ -50166,8 +50164,9 @@ var mergeProps$e = function mergeProps(propsFromState, propsFromDispatch, ownPro
50166
50164
 
50167
50165
  setTimeout(function () {
50168
50166
  try {
50169
- var element = getElement(resizeIndex);
50170
- cornerstone.resize(element, true);
50167
+ var _element = getElement(resizeIndex);
50168
+
50169
+ cornerstone.resize(_element, true);
50171
50170
  } catch (e) {
50172
50171
  console.log('ignore element not enabled event');
50173
50172
  }