hellfire 0.20.3 → 0.20.6

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/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [0.20.6](http://10.16.100.57/diffusion/115/paladin/compare/v0.20.5...v0.20.6) (2022-05-23)
6
+
7
+
8
+
9
+ ## [0.20.5](http://10.16.100.57/diffusion/115/paladin/compare/v0.20.4...v0.20.5) (2022-05-20)
10
+
11
+
12
+
13
+ ## [0.20.4](http://10.16.100.57/diffusion/115/paladin/compare/v0.20.3...v0.20.4) (2022-05-19)
14
+
15
+
16
+
5
17
  ## [0.20.3](http://10.16.100.57/diffusion/115/paladin/compare/v0.20.2...v0.20.3) (2022-05-18)
6
18
 
7
19
 
Binary file
@@ -0,0 +1,32 @@
1
+ <!doctype html>
2
+ <html lang="zh-Hans" class="default">
3
+ <head>
4
+ <meta name="renderer" content="webkit">
5
+ <meta charset="utf-8"/>
6
+ <title>examples</title>
7
+ <meta name="description" content="Soul Archetype Admin System"/>
8
+ <meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1">
9
+ <meta name="viewport"
10
+ content="user-scalable=no, width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
11
+ <meta name="robots" content="noindex, nofollow, noodp, noarchive, nosnippet, noimageindex, noydir, nocache"/>
12
+ <meta name="referrer" content="origin"/>
13
+ <style>
14
+ html {
15
+ height: 100%;
16
+ width: 100%;
17
+ overflow: hidden;
18
+ }
19
+
20
+ body {
21
+ height: 100%;
22
+ width: 100%;
23
+ overflow: auto;
24
+ margin: 0;
25
+ }
26
+
27
+ </style>
28
+ <link rel="shortcut icon" href="./favicon.ico"><link href="./v0.17.0-45-g71b09d4/main0a2bc8afb5d6dd0c9044.css?0a2bc8afb5d6dd0c9044" rel="stylesheet"></head>
29
+ <body>
30
+ <div id="app" style="height: 100%;"></div>
31
+ <script type="text/javascript" src="./v0.17.0-45-g71b09d4/main-0a2bc8afb5d6dd0c9044.js?0a2bc8afb5d6dd0c9044"></script></body>
32
+ </html>
package/dist/index.js CHANGED
@@ -27195,7 +27195,6 @@ var __signature__$1H = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoa
27195
27195
  var getNewContext$d = cornerstoneTools.importInternal('drawing/getNewContext');
27196
27196
  var drawLines$2 = cornerstoneTools.importInternal('drawing/drawLines');
27197
27197
  var drawLinkedTextBox$7 = cornerstoneTools.importInternal('drawing/drawLinkedTextBox');
27198
- var moveNewHandle$4 = cornerstoneTools.importInternal('manipulators/moveNewHandle');
27199
27198
  var moveHandle = cornerstoneTools.importInternal('manipulators/moveHandle');
27200
27199
  var getLogger$3 = cornerstoneTools.importInternal('util/getLogger');
27201
27200
  var throttle$7 = cornerstoneTools.importInternal('util/throttle');
@@ -27203,13 +27202,12 @@ var getPixelSpacing$7 = cornerstoneTools.importInternal('util/getPixelSpacing');
27203
27202
  var getROITextBoxCoords$2 = cornerstoneTools.importInternal('util/getROITextBoxCoords');
27204
27203
  var numbersWithCommas$2 = cornerstoneTools.importInternal('util/numbersWithCommas');
27205
27204
  var lineSegDistance$5 = cornerstoneTools.importInternal('util/lineSegDistance');
27206
- var triggerEvent$3 = cornerstoneTools.importInternal('util/triggerEvent');
27207
27205
  var logger$8 = getLogger$3('tools:annotation:PolygonTool');
27208
27206
  var external$k = cornerstoneTools.external,
27209
27207
  addToolState$4 = cornerstoneTools.addToolState,
27210
27208
  toolColors$b = cornerstoneTools.toolColors,
27211
27209
  toolStyle$6 = cornerstoneTools.toolStyle,
27212
- EVENTS$4 = cornerstoneTools.EVENTS;
27210
+ getToolState$c = cornerstoneTools.getToolState;
27213
27211
  /**
27214
27212
  * 多边形绘制工具
27215
27213
  */
@@ -27233,66 +27231,25 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27233
27231
  drawHandles: true
27234
27232
  }
27235
27233
  };
27236
- _this = _super.call(this, props, defaultProps); // 已经开始绘制的图像的wadouri
27237
-
27238
- defineProperty(assertThisInitialized(_this), "moveNewHandlePlus", function (eventData, measurementData, interactionType) {
27239
- measurementData.count++;
27240
- var _eventData$currentPoi = eventData.currentPoints.image,
27241
- x = _eventData$currentPoi.x,
27242
- y = _eventData$currentPoi.y;
27243
- measurementData.handles['point' + measurementData.count] = {
27244
- x: x,
27245
- y: y,
27246
- highlight: true,
27247
- active: true,
27248
- isPoint: true
27249
- };
27250
- var element = eventData.element;
27251
- moveNewHandle$4(eventData, _this.name, measurementData, measurementData.handles['point' + measurementData.count], _this.options, interactionType, function () {
27252
- measurementData.handles['point' + measurementData.count].active = false;
27253
- external$k.cornerstone.updateImage(element);
27254
-
27255
- if (!_this.finishOnce) {
27256
- _this.moveNewHandlePlus(eventData, measurementData, interactionType);
27257
- }
27258
- });
27259
- });
27260
-
27261
- _this.currentWadoUri = null; // 结束一组
27234
+ _this = _super.call(this, props, defaultProps);
27235
+ _this.throttledUpdateCachedStats = throttle$7(_this.updateCachedStats, 110); // 一次只绘制一个element 不可以换到别的element上面绘制
27262
27236
 
27263
- _this.finishOnce = true;
27264
- _this.throttledUpdateCachedStats = throttle$7(_this.updateCachedStats, 110);
27265
- _this.elementCache = null;
27237
+ _this.isDrawing = false;
27238
+ _this.currentElement = null;
27266
27239
  document.addEventListener('keyup', function (e) {
27267
27240
  if (e.keyCode === 27) {
27268
- _this.finishOnce = true;
27269
- _this.currentWadoUri = null;
27241
+ _this.isDrawing = false;
27270
27242
 
27271
- if (_this.elementCache) {
27272
- var toolData = cornerstoneTools.getToolState(_this.elementCache, _this.name);
27243
+ if (_this.currentElement) {
27244
+ var toolData = cornerstoneTools.getToolState(_this.currentElement, _this.name);
27273
27245
 
27274
27246
  if (toolData && toolData.data && toolData.data.length > 0) {
27275
27247
  for (var i = 0; i < toolData.data.length; i++) {
27276
- toolData.data[i].active = false;
27248
+ toolData.data[i].complete = true;
27277
27249
  }
27278
27250
  }
27279
27251
 
27280
- var isToolLocked = lodash$1.get(cornerstoneTools, ['store', 'state', 'isToolLocked']);
27281
-
27282
- if (isToolLocked) {
27283
- var enable = external$k.cornerstone.getEnabledElement(_this.elementCache);
27284
- triggerEvent$3(_this.elementCache, EVENTS$4.MOUSE_UP, {
27285
- element: _this.elementCache,
27286
- currentPoints: {
27287
- page: cornerstoneMath.point.pageToPoint(e)
27288
- },
27289
- image: enable.image,
27290
- buttons: getEventButtons(e)
27291
- });
27292
- }
27293
-
27294
- external$k.cornerstone.updateImage(_this.elementCache);
27295
- _this.elementCache = null;
27252
+ external$k.cornerstone.updateImage(_this.currentElement);
27296
27253
  }
27297
27254
  }
27298
27255
  });
@@ -27302,12 +27259,9 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27302
27259
  createClass(PolygonTool, [{
27303
27260
  key: "createNewMeasurement",
27304
27261
  value: function createNewMeasurement(eventData) {
27305
- var _eventData$currentPoi2 = eventData.currentPoints.image,
27306
- x = _eventData$currentPoi2.x,
27307
- y = _eventData$currentPoi2.y;
27308
- var imageId = eventData.image.imageId; // 持续一次完整的多边形绘制
27309
-
27310
- this.currentWadoUri = imageId;
27262
+ var _eventData$currentPoi = eventData.currentPoints.image,
27263
+ x = _eventData$currentPoi.x,
27264
+ y = _eventData$currentPoi.y;
27311
27265
  return {
27312
27266
  visible: true,
27313
27267
  active: true,
@@ -27337,33 +27291,60 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27337
27291
  }
27338
27292
  };
27339
27293
  }
27294
+ /**
27295
+ * - create new tool data
27296
+ * - update未完成的tool data
27297
+ */
27298
+
27340
27299
  }, {
27341
27300
  key: "addNewMeasurement",
27342
27301
  value: function addNewMeasurement(evt, interactionType) {
27343
- var _this2 = this;
27344
-
27345
- // 单次测量数据产生期间不产生多余的测量
27346
- if (!this.finishOnce) {
27347
- return;
27348
- }
27349
-
27350
- this.finishOnce = false;
27351
27302
  evt.preventDefault();
27352
27303
  evt.stopPropagation();
27353
27304
  var eventData = evt.detail;
27354
- var imageId = eventData.image.imageId;
27305
+ var element = eventData.element; // 找到未绘制完毕的tool data
27355
27306
 
27356
- if (this.currentWadoUri && this.currentWadoUri !== imageId) {
27357
- return;
27307
+ var pendingMeasurement = this.getIncomplete(element);
27308
+ var measurementData;
27309
+ var currentPoint;
27310
+ this.isDrawing = true;
27311
+
27312
+ if (pendingMeasurement) {
27313
+ measurementData = pendingMeasurement;
27314
+ measurementData.count++;
27315
+ var _eventData$currentPoi2 = eventData.currentPoints.image,
27316
+ x = _eventData$currentPoi2.x,
27317
+ y = _eventData$currentPoi2.y;
27318
+ measurementData.handles['point' + measurementData.count] = {
27319
+ x: x,
27320
+ y: y,
27321
+ highlight: true,
27322
+ active: false,
27323
+ isPoint: true
27324
+ };
27325
+ currentPoint = measurementData.handles['point' + measurementData.count];
27326
+ measurementData.invalidated = true;
27327
+ } else {
27328
+ measurementData = this.createNewMeasurement(eventData);
27329
+ addToolState$4(element, this.name, measurementData);
27330
+ currentPoint = measurementData.handles.point1;
27331
+ this.currentElement = element;
27358
27332
  }
27359
27333
 
27360
- var measurementData = this.createNewMeasurement(eventData);
27361
- var element = evt.detail.element;
27362
- addToolState$4(element, this.name, measurementData);
27363
27334
  external$k.cornerstone.updateImage(element);
27364
- moveHandle(eventData, this.name, measurementData, measurementData.handles.point1, this.options, interactionType, function () {
27365
- _this2.moveNewHandlePlus(eventData, measurementData, interactionType);
27366
- });
27335
+ moveHandle(eventData, this.name, measurementData, currentPoint, this.options, interactionType);
27336
+ }
27337
+ }, {
27338
+ key: "getIncomplete",
27339
+ value: function getIncomplete(element) {
27340
+ var toolState = getToolState$c(element, this.name);
27341
+
27342
+ if (toolState && Array.isArray(toolState.data)) {
27343
+ return toolState.data.find(function (_ref) {
27344
+ var complete = _ref.complete;
27345
+ return complete === false;
27346
+ });
27347
+ }
27367
27348
  }
27368
27349
  }, {
27369
27350
  key: "updateCachedStats",
@@ -27396,7 +27377,6 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27396
27377
 
27397
27378
  if (vertices.length < 3) {
27398
27379
  data.cachedStats = null;
27399
- data.invalidated = false;
27400
27380
  return;
27401
27381
  } // 计算面积
27402
27382
 
@@ -27433,10 +27413,10 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27433
27413
  }, {
27434
27414
  key: "renderToolData",
27435
27415
  value: function renderToolData(evt) {
27436
- var _this3 = this;
27416
+ var _this2 = this;
27437
27417
 
27438
27418
  var eventData = evt.detail;
27439
- var toolData = cornerstoneTools.getToolState(evt.currentTarget, this.name);
27419
+ var toolData = getToolState$c(evt.currentTarget, this.name);
27440
27420
 
27441
27421
  if (!toolData) {
27442
27422
  return;
@@ -27446,23 +27426,17 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27446
27426
  var image = eventData.image,
27447
27427
  element = eventData.element; // 如果还在绘制进行中 提示esc退出工具
27448
27428
 
27449
- if (!this.finishOnce) {
27429
+ if (this.isDrawing) {
27450
27430
  var width = element.clientWidth;
27451
- this.elementCache = eventData.element;
27452
27431
  _default$h(context, '按ESC键结束多边形绘制', width / 2 - 100, 0, '#d06479', {
27453
27432
  fontSize: 17
27454
27433
  });
27434
+ } else {
27435
+ this.currentElement = null;
27455
27436
  }
27456
27437
 
27457
27438
  var _loop = function _loop(i) {
27458
- var data = toolData.data[i]; // 处理esc退出工具后还未释放当前point的问题
27459
-
27460
- if (_this3.finishOnce && !data.complete) {
27461
- data.complete = true;
27462
- delete data.handles['point' + data.count];
27463
- data.count--;
27464
- external$k.cornerstone.updateImage(element);
27465
- }
27439
+ var data = toolData.data[i];
27466
27440
 
27467
27441
  if (data.visible === false) {
27468
27442
  return "continue";
@@ -27471,7 +27445,7 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27471
27445
  var color = toolColors$b.getColorIfActive(data);
27472
27446
  var handles = data.handles; // 点的绘制
27473
27447
 
27474
- var drawHandlesOnHover = _this3.configuration.drawHandlesOnHover;
27448
+ var drawHandlesOnHover = _this2.configuration.drawHandlesOnHover;
27475
27449
  var handleOptions = {
27476
27450
  color: cornerstoneTools.toolColors.getActiveColor() === color ? color : 'transparent',
27477
27451
  handleRadius: 2,
@@ -27513,14 +27487,14 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27513
27487
  if (data.invalidated === true) {
27514
27488
  // 数据更新
27515
27489
  if (data.cachedStats) {
27516
- _this3.throttledUpdateCachedStats(image, element, data);
27490
+ _this2.throttledUpdateCachedStats(image, element, data);
27517
27491
  } else {
27518
- _this3.updateCachedStats(image, element, data);
27492
+ _this2.updateCachedStats(image, element, data);
27519
27493
  }
27520
27494
  } // 文字绘制
27521
27495
 
27522
27496
 
27523
- if (lines && lines.length > 2) {
27497
+ if (lines && lines.length > 2 && data.cachedStats) {
27524
27498
  var seriesModule = external$k.cornerstone.metaData.get('generalSeriesModule', image.imageId) || {};
27525
27499
  var modality = seriesModule.modality;
27526
27500
 
@@ -27555,7 +27529,7 @@ var PolygonTool = /*#__PURE__*/function (_BaseAnnotationPlusTo) {
27555
27529
  return _findTextBoxAnchorPoints$2(handles.start, handles.end);
27556
27530
  };
27557
27531
 
27558
- var textBoxContent = _createTextBoxContent$2(context, image.color, data.cachedStats, modality, hasPixelSpacing, _this3.configuration);
27532
+ var textBoxContent = _createTextBoxContent$2(context, image.color, data.cachedStats, modality, hasPixelSpacing, _this2.configuration);
27559
27533
 
27560
27534
  drawLinkedTextBox$7(context, element, data.handles.textBox, textBoxContent, mockHandles, textBoxAnchorPoints, color, lineWidth, 10, true);
27561
27535
  }
@@ -27725,21 +27699,26 @@ function _findTextBoxAnchorPoints$2(startHandle, endHandle) {
27725
27699
  }
27726
27700
 
27727
27701
  function _createTextBoxContent$2(context, isColorImage) {
27728
- var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
27729
- area = _ref.area,
27730
- mean = _ref.mean,
27731
- stdDev = _ref.stdDev,
27732
- min = _ref.min,
27733
- max = _ref.max,
27734
- meanStdDevSUV = _ref.meanStdDevSUV;
27702
+ var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
27703
+ area = _ref2.area,
27704
+ mean = _ref2.mean,
27705
+ stdDev = _ref2.stdDev,
27706
+ min = _ref2.min,
27707
+ max = _ref2.max,
27708
+ meanStdDevSUV = _ref2.meanStdDevSUV;
27709
+
27710
+ var modality = arguments.length > 3 ? arguments[3] : undefined;
27735
27711
  var hasPixelSpacing = arguments.length > 4 ? arguments[4] : undefined;
27712
+ var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
27736
27713
  var textLines = [];
27737
27714
  textLines.push(formatArea(area, hasPixelSpacing));
27738
27715
 
27739
27716
  if (!isColorImage) {
27740
- var meanString = "Mean: ".concat(numbersWithCommas$2(mean.toFixed(1)));
27741
- var stdDevString = "StdDev: ".concat(numbersWithCommas$2(stdDev.toFixed(1)));
27742
- textLines.push("Min/Max: ".concat(min, " / ").concat(max));
27717
+ var unit = _getUnit$2(modality, options.showHounsfieldUnits);
27718
+
27719
+ var meanString = "Mean: ".concat(numbersWithCommas$2(mean.toFixed(1)), " ").concat(unit);
27720
+ var stdDevString = "StdDev: ".concat(numbersWithCommas$2(stdDev.toFixed(1)), " ").concat(unit);
27721
+ textLines.push("Min/Max: ".concat(min.toFixed(1), " ").concat(unit, " / ").concat(max.toFixed(1), " ").concat(unit));
27743
27722
  textLines.push("".concat(meanString));
27744
27723
  textLines.push("".concat(stdDevString));
27745
27724
  }
@@ -27771,26 +27750,8 @@ function isInPolygon(point, points) {
27771
27750
  return nCross % 2 === 1;
27772
27751
  }
27773
27752
 
27774
- function getEventButtons(event) {
27775
- if (typeof event.buttons === 'number') {
27776
- return event.buttons;
27777
- }
27778
-
27779
- switch (event.which) {
27780
- case 0:
27781
- return 0;
27782
-
27783
- case 1:
27784
- return 1;
27785
-
27786
- case 2:
27787
- return 4;
27788
-
27789
- case 3:
27790
- return 2;
27791
- }
27792
-
27793
- return 0;
27753
+ function _getUnit$2(modality, showHounsfieldUnits) {
27754
+ return modality === 'CT' && showHounsfieldUnits !== false ? 'HU' : '';
27794
27755
  }
27795
27756
 
27796
27757
  (function () {
@@ -27803,7 +27764,6 @@ function getEventButtons(event) {
27803
27764
  reactHotLoader.register(getNewContext$d, "getNewContext", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27804
27765
  reactHotLoader.register(drawLines$2, "drawLines", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27805
27766
  reactHotLoader.register(drawLinkedTextBox$7, "drawLinkedTextBox", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27806
- reactHotLoader.register(moveNewHandle$4, "moveNewHandle", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27807
27767
  reactHotLoader.register(moveHandle, "moveHandle", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27808
27768
  reactHotLoader.register(getLogger$3, "getLogger", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27809
27769
  reactHotLoader.register(throttle$7, "throttle", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
@@ -27811,13 +27771,12 @@ function getEventButtons(event) {
27811
27771
  reactHotLoader.register(getROITextBoxCoords$2, "getROITextBoxCoords", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27812
27772
  reactHotLoader.register(numbersWithCommas$2, "numbersWithCommas", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27813
27773
  reactHotLoader.register(lineSegDistance$5, "lineSegDistance", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27814
- reactHotLoader.register(triggerEvent$3, "triggerEvent", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27815
27774
  reactHotLoader.register(logger$8, "logger", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27816
27775
  reactHotLoader.register(external$k, "external", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27817
27776
  reactHotLoader.register(addToolState$4, "addToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27818
27777
  reactHotLoader.register(toolColors$b, "toolColors", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27819
27778
  reactHotLoader.register(toolStyle$6, "toolStyle", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27820
- reactHotLoader.register(EVENTS$4, "EVENTS", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27779
+ reactHotLoader.register(getToolState$c, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27821
27780
  reactHotLoader.register(PolygonTool, "PolygonTool", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27822
27781
  reactHotLoader.register(calculatePolygonStatistics, "calculatePolygonStatistics", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27823
27782
  reactHotLoader.register(_getPolygonImageCoordinates, "_getPolygonImageCoordinates", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
@@ -27825,7 +27784,7 @@ function getEventButtons(event) {
27825
27784
  reactHotLoader.register(_createTextBoxContent$2, "_createTextBoxContent", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27826
27785
  reactHotLoader.register(formatArea, "formatArea", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27827
27786
  reactHotLoader.register(isInPolygon, "isInPolygon", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27828
- reactHotLoader.register(getEventButtons, "getEventButtons", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27787
+ reactHotLoader.register(_getUnit$2, "_getUnit", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/PolygonTool.js");
27829
27788
  })();
27830
27789
 
27831
27790
  (function () {
@@ -27841,10 +27800,10 @@ function getEventButtons(event) {
27841
27800
  var __signature__$1I = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27842
27801
  return a;
27843
27802
  };
27844
- var getToolState$c = cornerstoneTools.getToolState;
27803
+ var getToolState$d = cornerstoneTools.getToolState;
27845
27804
 
27846
27805
  var _default$x = function _default(element) {
27847
- var toolData = getToolState$c(element, 'stack');
27806
+ var toolData = getToolState$d(element, 'stack');
27848
27807
 
27849
27808
  if (!toolData || !toolData.data || !toolData.data.length) {
27850
27809
  return;
@@ -27861,7 +27820,7 @@ var _default$x = function _default(element) {
27861
27820
  return;
27862
27821
  }
27863
27822
 
27864
- reactHotLoader.register(getToolState$c, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/getImagesLength.js");
27823
+ reactHotLoader.register(getToolState$d, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/getImagesLength.js");
27865
27824
  reactHotLoader.register(_default$x, "default", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/getImagesLength.js");
27866
27825
  })();
27867
27826
 
@@ -27879,7 +27838,7 @@ var __signature__$1J = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoa
27879
27838
  return a;
27880
27839
  };
27881
27840
  var scrollToIndex$1 = cornerstoneTools.importInternal('util/scrollToIndex');
27882
- var getToolState$d = cornerstoneTools.getToolState;
27841
+ var getToolState$e = cornerstoneTools.getToolState;
27883
27842
  var globalCineTimer;
27884
27843
 
27885
27844
  function startAutoCine(activeElement, options) {
@@ -27891,7 +27850,7 @@ function startAutoCine(activeElement, options) {
27891
27850
  globalCineTimer = null;
27892
27851
  }
27893
27852
 
27894
- var toolData = getToolState$d(activeElement, 'stack');
27853
+ var toolData = getToolState$e(activeElement, 'stack');
27895
27854
 
27896
27855
  if (!toolData || !toolData.data || !toolData.data.length) {
27897
27856
  return;
@@ -27936,7 +27895,7 @@ var _default$y = {
27936
27895
  }
27937
27896
 
27938
27897
  reactHotLoader.register(scrollToIndex$1, "scrollToIndex", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/autoCine.js");
27939
- reactHotLoader.register(getToolState$d, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/autoCine.js");
27898
+ reactHotLoader.register(getToolState$e, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/autoCine.js");
27940
27899
  reactHotLoader.register(globalCineTimer, "globalCineTimer", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/autoCine.js");
27941
27900
  reactHotLoader.register(startAutoCine, "startAutoCine", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/autoCine.js");
27942
27901
  reactHotLoader.register(stopAutoCine, "stopAutoCine", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/custom/autoCine.js");
@@ -28397,7 +28356,7 @@ var _default$A = function _default(synchronizer, sourceElement, targetElement, e
28397
28356
  var __signature__$1M = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28398
28357
  return a;
28399
28358
  };
28400
- var getToolState$e = cornerstoneTools.getToolState;
28359
+ var getToolState$f = cornerstoneTools.getToolState;
28401
28360
  /**
28402
28361
  * Propogate scrolling actions from the source element to the target element.
28403
28362
  * @export
@@ -28455,7 +28414,7 @@ var _default$B = function _default(synchronizer, sourceElement, targetElement, e
28455
28414
  return;
28456
28415
  }
28457
28416
 
28458
- reactHotLoader.register(getToolState$e, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/synchronization/stackScrollSynchronizer.js");
28417
+ reactHotLoader.register(getToolState$f, "getToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/synchronization/stackScrollSynchronizer.js");
28459
28418
  reactHotLoader.register(_default$B, "default", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/synchronization/stackScrollSynchronizer.js");
28460
28419
  })();
28461
28420
 
@@ -35969,11 +35928,11 @@ var LengthTool$1 = /*#__PURE__*/function (_Component) {
35969
35928
  icon: /*#__PURE__*/React__default.createElement(SvgSave, null),
35970
35929
  value: 'save',
35971
35930
  hidden: !operateServerToolState || IO
35972
- }]; // 移动端不显示"连续测量"
35931
+ }]; // 移动端不显示 "连续测量" "多边形"
35973
35932
 
35974
35933
  if (isMobile) {
35975
35934
  toolChildren = lodash$1.filter(toolChildren, function (item) {
35976
- return item.key !== 'continuousMeasure';
35935
+ return item.key !== 'continuousMeasure' && item.value !== 'Polygon';
35977
35936
  });
35978
35937
  }
35979
35938
 
@@ -49098,7 +49057,7 @@ function _arrayLikeToArray$b(arr, len) { if (len == null || len > arr.length) le
49098
49057
  var __signature__$31 = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
49099
49058
  return a;
49100
49059
  };
49101
- var triggerEvent$4 = _default$E.importInternal('util/triggerEvent');
49060
+ var triggerEvent$3 = _default$E.importInternal('util/triggerEvent');
49102
49061
  /**
49103
49062
  *
49104
49063
  * 每次click 都会检查, 目前比较损耗性能.
@@ -49131,13 +49090,13 @@ function checkAndUnLockToolState(evt, checkIsSelf) {
49131
49090
  continue;
49132
49091
  }
49133
49092
 
49134
- triggerEvent$4(enabledElement.element, _default$E.EVENTS.MOUSE_UP, {
49093
+ triggerEvent$3(enabledElement.element, _default$E.EVENTS.MOUSE_UP, {
49135
49094
  element: enabledElement.element,
49136
49095
  currentPoints: {
49137
49096
  page: cornerstoneMath.point.pageToPoint(evt)
49138
49097
  },
49139
49098
  image: enabledElement.image,
49140
- buttons: getEventButtons$1(evt)
49099
+ buttons: getEventButtons(evt)
49141
49100
  });
49142
49101
  cornerstone.updateImage(enabledElement.element);
49143
49102
  console.log('---------异常数据, 处理完毕---------');
@@ -49213,7 +49172,7 @@ function getActiveToolStateElement() {
49213
49172
  }
49214
49173
  }
49215
49174
 
49216
- function getEventButtons$1(event) {
49175
+ function getEventButtons(event) {
49217
49176
  if (typeof event.buttons === 'number') {
49218
49177
  return event.buttons;
49219
49178
  }
@@ -49246,10 +49205,10 @@ function getEventButtons$1(event) {
49246
49205
  return;
49247
49206
  }
49248
49207
 
49249
- reactHotLoader.register(triggerEvent$4, "triggerEvent", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/unlockToolState.js");
49208
+ reactHotLoader.register(triggerEvent$3, "triggerEvent", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/unlockToolState.js");
49250
49209
  reactHotLoader.register(checkAndUnLockToolState, "checkAndUnLockToolState", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/unlockToolState.js");
49251
49210
  reactHotLoader.register(getActiveToolStateElement, "getActiveToolStateElement", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/unlockToolState.js");
49252
- reactHotLoader.register(getEventButtons$1, "getEventButtons", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/unlockToolState.js");
49211
+ reactHotLoader.register(getEventButtons, "getEventButtons", "/Users/huyeqing/workspace/chainz/paladin/src/cornerstone-plus/cornerstone-tools-plus/util/unlockToolState.js");
49253
49212
  })();
49254
49213
 
49255
49214
  (function () {
@@ -54705,7 +54664,10 @@ var mapStateToProps$l = function mapStateToProps(state) {
54705
54664
  MPR = _state$paladin$tools$2.MPR,
54706
54665
  VR = _state$paladin$tools$2.VR,
54707
54666
  Surgery = _state$paladin$tools$2.Surgery,
54708
- Cine = _state$paladin$tools$2.Cine;
54667
+ Cine = _state$paladin$tools$2.Cine,
54668
+ activeTool = _state$paladin$tools$2.activeTool,
54669
+ continuousMeasure = _state$paladin$tools$2.continuousMeasure,
54670
+ originActiveTool = _state$paladin$tools$2.originActiveTool;
54709
54671
  var toolMode = state.paladin.tools.customization.toolMode;
54710
54672
  return {
54711
54673
  activeIndex: activeIndex,
@@ -54730,7 +54692,10 @@ var mapStateToProps$l = function mapStateToProps(state) {
54730
54692
  synchronizer: synchronizer,
54731
54693
  linkSynchronizer: linkSynchronizer,
54732
54694
  linkImageModeSynchronizer: linkImageModeSynchronizer,
54733
- linkScrollSynchronizer: linkScrollSynchronizer
54695
+ linkScrollSynchronizer: linkScrollSynchronizer,
54696
+ activeTool: activeTool,
54697
+ continuousMeasure: continuousMeasure,
54698
+ originActiveTool: originActiveTool
54734
54699
  };
54735
54700
  };
54736
54701
 
@@ -54804,7 +54769,8 @@ var mergeProps$k = function mergeProps(propsFromState, propsFromDispatch, ownPro
54804
54769
  WWWC7: ['key-7'],
54805
54770
  WWWC8: ['key-8'],
54806
54771
  WWWC9: ['key-9'],
54807
- PAUSE: "space"
54772
+ PAUSE: "space",
54773
+ ESC: "esc"
54808
54774
  },
54809
54775
  handlers: {
54810
54776
  PAUSE: function PAUSE() {
@@ -54952,6 +54918,15 @@ var mergeProps$k = function mergeProps(propsFromState, propsFromDispatch, ownPro
54952
54918
  backToEnd: true
54953
54919
  });
54954
54920
  },
54921
+ ESC: function ESC() {
54922
+ var activeTool = propsFromState.activeTool,
54923
+ continuousMeasure = propsFromState.continuousMeasure,
54924
+ originActiveTool = propsFromState.originActiveTool;
54925
+
54926
+ if (!continuousMeasure && activeTool && activeTool === 'Polygon') {
54927
+ propsFromDispatch.setActiveTool(originActiveTool);
54928
+ }
54929
+ },
54955
54930
  WWWC1: function WWWC1() {
54956
54931
  if (!wwwcCustomDic[0]) return;
54957
54932
  setWwwc(getCurrentElement(), wwwcCustomDic[0].ww, wwwcCustomDic[0].wc);
@@ -55198,7 +55173,8 @@ var ConnectedDicomView = reactRedux.connect(mapStateToProps$l, {
55198
55173
  closeOnePickLayout: closeOnePickLayout,
55199
55174
  activeDicomFunction: activeDicomFunction,
55200
55175
  openIO: openIO,
55201
- closeIO: closeIO
55176
+ closeIO: closeIO,
55177
+ setActiveTool: setActiveTool
55202
55178
  }, mergeProps$k, withRef())(DicomView);
55203
55179
 
55204
55180
  function withRef() {