hellfire 0.27.9 → 0.27.11

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,14 @@
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.27.11](http://10.16.100.57/diffusion/115/paladin/compare/v0.27.10...v0.27.11) (2024-04-24)
6
+
7
+
8
+
9
+ ## [0.27.10](http://10.16.100.57/diffusion/115/paladin/compare/v0.27.9...v0.27.10) (2024-04-08)
10
+
11
+
12
+
5
13
  ## [0.27.9](http://10.16.100.57/diffusion/115/paladin/compare/v0.27.8...v0.27.9) (2024-01-02)
6
14
 
7
15
 
package/dist/index.js CHANGED
@@ -898,6 +898,7 @@ var SET_CINE_DIREACTION = 'SET_CINE_DIREACTION';
898
898
  var RESET_TOOLS_STATE = 'RESET_TOOLS_STATE';
899
899
  var SET_VR_MODE = 'SET_VR_MODE';
900
900
  var TOGGLE_MEASURE = 'TOGGLE_MEASURE';
901
+ var SET_MEASURE = 'SET_MEASURE';
901
902
  var SET_CENTESIS_PATH = 'SET_CENTESIS_PATH';
902
903
  var SET_IO_ON = 'SET_IO_ON';
903
904
  var SET_IO_OFF = 'SET_IO_OFF';
@@ -1046,9 +1047,22 @@ var action = (function () {
1046
1047
  }
1047
1048
 
1048
1049
  case TOGGLE_MEASURE:
1050
+ {
1051
+ var _next = !state.continuousMeasure; // 记忆连续测量的值
1052
+
1053
+
1054
+ var _nextStorageValue = _next ? 'open' : 'close';
1055
+
1056
+ window.localStorage.setItem('hellfire-continuous-measure-default-state', _nextStorageValue);
1057
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
1058
+ continuousMeasure: _next
1059
+ });
1060
+ }
1061
+
1062
+ case SET_MEASURE:
1049
1063
  {
1050
1064
  return _objectSpread$1(_objectSpread$1({}, state), {}, {
1051
- continuousMeasure: !state.continuousMeasure
1065
+ continuousMeasure: action.payload
1052
1066
  });
1053
1067
  }
1054
1068
 
@@ -1189,6 +1203,12 @@ function toggleMeasure() {
1189
1203
  return {
1190
1204
  type: TOGGLE_MEASURE
1191
1205
  };
1206
+ }
1207
+ function setMeasure(payload) {
1208
+ return {
1209
+ type: SET_MEASURE,
1210
+ payload: payload
1211
+ };
1192
1212
  } // 切换是否连续测量
1193
1213
  function openIO() {
1194
1214
  return {
@@ -45550,6 +45570,117 @@ function getMinMaxPixelData(pixels) {
45550
45570
  return [minPixelValue, maxPixelValue];
45551
45571
  }
45552
45572
 
45573
+ var scrollToIndex$3 = cornerstoneTools.scrollToIndex;
45574
+ /**
45575
+ * 过滤出要联动的element:
45576
+ * 1.numberOfSeriesRelatedInstances相同
45577
+ * 2.两个层平行
45578
+ * 过滤后:
45579
+ * 1.手动同步一次当前instance索引
45580
+ * 2.同步links到redux
45581
+ * 3.同步links到Synchronizer
45582
+ */
45583
+
45584
+ function openAutoLink (_x) {
45585
+ return _ref$1m.apply(this, arguments);
45586
+ }
45587
+
45588
+ function _ref$1m() {
45589
+ _ref$1m = asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(props) {
45590
+ var col, row, currentScrollLine, activeIndex, seriesCurrentIndex, series, setLinkSeries, linkSynchronizer, linkScrollSynchronizer, realActiveIndex, realSeriesIndex, _currentImageIdIndex, _currentSeries, currentImageId, currentDicom, currentPos, links, startIndex, endIndex, currentLayoutSeries, _series, i, seriesItem, imageId, dicom, comparePos, angle, activeElement;
45591
+
45592
+ return regenerator.wrap(function _callee$(_context) {
45593
+ while (1) {
45594
+ switch (_context.prev = _context.next) {
45595
+ case 0:
45596
+ col = props.col, row = props.row, currentScrollLine = props.currentScrollLine, activeIndex = props.activeIndex, seriesCurrentIndex = props.seriesCurrentIndex, series = props.series, setLinkSeries = props.setLinkSeries, linkSynchronizer = props.linkSynchronizer, linkScrollSynchronizer = props.linkScrollSynchronizer, realActiveIndex = props.realActiveIndex;
45597
+ realSeriesIndex = col * currentScrollLine + activeIndex;
45598
+ _currentImageIdIndex = seriesCurrentIndex[realSeriesIndex];
45599
+ _currentSeries = series[realSeriesIndex];
45600
+ currentImageId = _currentSeries.imageIds[_currentImageIdIndex];
45601
+ _context.next = 7;
45602
+ return loadAndCacheDicom(currentImageId);
45603
+
45604
+ case 7:
45605
+ currentDicom = _context.sent;
45606
+ currentPos = getPosFromDicom(currentDicom);
45607
+ links = [];
45608
+
45609
+ if (!currentPos) {
45610
+ _context.next = 28;
45611
+ break;
45612
+ }
45613
+
45614
+ // 当前layout中的series集合
45615
+ startIndex = col * currentScrollLine;
45616
+ endIndex = startIndex + col * row;
45617
+ currentLayoutSeries = series.slice(startIndex, endIndex);
45618
+ _series = lodash$1.cloneDeep(currentLayoutSeries);
45619
+ i = 0;
45620
+
45621
+ case 16:
45622
+ if (!(i < _series.length)) {
45623
+ _context.next = 28;
45624
+ break;
45625
+ }
45626
+
45627
+ seriesItem = _series[i];
45628
+
45629
+ if (!(seriesItem.seriesInstanceUID !== _currentSeries.seriesInstanceUID && seriesItem.numberOfSeriesRelatedInstances === _currentSeries.numberOfSeriesRelatedInstances)) {
45630
+ _context.next = 25;
45631
+ break;
45632
+ }
45633
+
45634
+ imageId = seriesItem.imageIds[_currentImageIdIndex];
45635
+ _context.next = 22;
45636
+ return loadAndCacheDicom(imageId);
45637
+
45638
+ case 22:
45639
+ dicom = _context.sent;
45640
+ comparePos = getPosFromDicom(dicom);
45641
+
45642
+ if (comparePos) {
45643
+ angle = comparePosSameLayer(currentPos, comparePos);
45644
+
45645
+ if (angle === 0) {
45646
+ links.push(i);
45647
+ }
45648
+ }
45649
+
45650
+ case 25:
45651
+ i++;
45652
+ _context.next = 16;
45653
+ break;
45654
+
45655
+ case 28:
45656
+ if (links && links.length > 0) {
45657
+ lodash$1.forEach(links, function (link) {
45658
+ scrollToIndex$3(getElement(link), _currentImageIdIndex);
45659
+ });
45660
+ }
45661
+
45662
+ setLinkSeries(links);
45663
+ activeElement = getElement(realActiveIndex);
45664
+
45665
+ if (links && links.length > 0) {
45666
+ lodash$1.forEach(links, function (link) {
45667
+ linkSynchronizer.add(getElement(link));
45668
+ linkScrollSynchronizer.add(getElement(link));
45669
+ });
45670
+ linkSynchronizer.add(activeElement);
45671
+ linkScrollSynchronizer.add(activeElement);
45672
+ }
45673
+
45674
+ case 32:
45675
+ case "end":
45676
+ return _context.stop();
45677
+ }
45678
+ }
45679
+ }, _callee);
45680
+ }));
45681
+ return _ref$1m.apply(this, arguments);
45682
+ }
45683
+
45553
45684
  function _createForOfIteratorHelper$9(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$b(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
45554
45685
 
45555
45686
  function _unsupportedIterableToArray$b(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$b(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$b(o, minLen); }
@@ -45559,7 +45690,7 @@ function _arrayLikeToArray$b(arr, len) { if (len == null || len > arr.length) le
45559
45690
  function ownKeys$H(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; }
45560
45691
 
45561
45692
  function _objectSpread$I(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$H(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$H(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
45562
- var scrollToIndex$3 = cornerstoneTools.scrollToIndex;
45693
+ var scrollToIndex$4 = cornerstoneTools.scrollToIndex;
45563
45694
 
45564
45695
  var mapStateToProps$j = function mapStateToProps(state) {
45565
45696
  var _state$paladin$tools$ = state.paladin.tools.customization,
@@ -45846,7 +45977,7 @@ var mergeProps$j = function mergeProps(propsFromState, propsFromDispatch, ownPro
45846
45977
  prevIndex = maxIndex;
45847
45978
  }
45848
45979
 
45849
- scrollToIndex$3(activeElement, prevIndex);
45980
+ scrollToIndex$4(activeElement, prevIndex);
45850
45981
  },
45851
45982
  nextImage: function nextImage() {
45852
45983
  // 下一张
@@ -45870,7 +46001,7 @@ var mergeProps$j = function mergeProps(propsFromState, propsFromDispatch, ownPro
45870
46001
  nextIndex = 0;
45871
46002
  }
45872
46003
 
45873
- scrollToIndex$3(activeElement, nextIndex);
46004
+ scrollToIndex$4(activeElement, nextIndex);
45874
46005
  },
45875
46006
  // 切换模式
45876
46007
  // key: 1.SeriesMode返回序列模式 2.ImageMode进入图像模式
@@ -45952,8 +46083,7 @@ var mergeProps$j = function mergeProps(propsFromState, propsFromDispatch, ownPro
45952
46083
  },
45953
46084
  autoLink: function () {
45954
46085
  var _autoLink = asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(refresh) {
45955
- var setLinkSeries, realSeriesIndex, _currentImageIdIndex, _currentSeries, currentImageId, currentDicom, currentPos, links, startIndex, endIndex, currentLayoutSeries, _series, i, seriesItem, imageId, dicom, comparePos, angle, activeElement;
45956
-
46086
+ var setLinkSeries;
45957
46087
  return regenerator.wrap(function _callee$(_context) {
45958
46088
  while (1) {
45959
46089
  switch (_context.prev = _context.next) {
@@ -45963,106 +46093,30 @@ var mergeProps$j = function mergeProps(propsFromState, propsFromDispatch, ownPro
45963
46093
  linkSynchronizer.destroy();
45964
46094
  linkScrollSynchronizer.destroy();
45965
46095
 
45966
- if (!(Link && !refresh)) {
45967
- _context.next = 7;
45968
- break;
45969
- }
45970
-
45971
- // 关闭
45972
- setLinkSeries([]);
45973
- _context.next = 38;
45974
- break;
45975
-
45976
- case 7:
45977
- // 开启 or 刷新
45978
-
45979
- /**
45980
- * 过滤出要联动的element:
45981
- * 1.numberOfSeriesRelatedInstances相同
45982
- * 2.两个层平行
45983
- * 过滤后:
45984
- * 1.手动同步一次当前instance索引
45985
- * 2.同步links到redux
45986
- * 3.同步links到Synchronizer
45987
- */
45988
- realSeriesIndex = col * currentScrollLine + activeIndex;
45989
- _currentImageIdIndex = seriesCurrentIndex[realSeriesIndex];
45990
- _currentSeries = series[realSeriesIndex];
45991
- currentImageId = _currentSeries.imageIds[_currentImageIdIndex];
45992
- _context.next = 13;
45993
- return loadAndCacheDicom(currentImageId);
45994
-
45995
- case 13:
45996
- currentDicom = _context.sent;
45997
- currentPos = getPosFromDicom(currentDicom);
45998
- links = [];
45999
-
46000
- if (!currentPos) {
46001
- _context.next = 34;
46002
- break;
46003
- }
46004
-
46005
- // 当前layout中的series集合
46006
- startIndex = col * currentScrollLine;
46007
- endIndex = startIndex + col * row;
46008
- currentLayoutSeries = series.slice(startIndex, endIndex);
46009
- _series = lodash$1.cloneDeep(currentLayoutSeries);
46010
- i = 0;
46011
-
46012
- case 22:
46013
- if (!(i < _series.length)) {
46014
- _context.next = 34;
46015
- break;
46016
- }
46017
-
46018
- seriesItem = _series[i];
46019
-
46020
- if (!(seriesItem.seriesInstanceUID !== _currentSeries.seriesInstanceUID && seriesItem.numberOfSeriesRelatedInstances === _currentSeries.numberOfSeriesRelatedInstances)) {
46021
- _context.next = 31;
46022
- break;
46023
- }
46024
-
46025
- imageId = seriesItem.imageIds[_currentImageIdIndex];
46026
- _context.next = 28;
46027
- return loadAndCacheDicom(imageId);
46028
-
46029
- case 28:
46030
- dicom = _context.sent;
46031
- comparePos = getPosFromDicom(dicom);
46032
-
46033
- if (comparePos) {
46034
- angle = comparePosSameLayer(currentPos, comparePos);
46035
-
46036
- if (angle === 0) {
46037
- links.push(i);
46038
- }
46039
- }
46040
-
46041
- case 31:
46042
- i++;
46043
- _context.next = 22;
46044
- break;
46045
-
46046
- case 34:
46047
- if (links && links.length > 0) {
46048
- lodash$1.forEach(links, function (link) {
46049
- scrollToIndex$3(getElement(link), _currentImageIdIndex);
46050
- });
46051
- }
46052
-
46053
- setLinkSeries(links);
46054
- activeElement = getElement(realActiveIndex);
46055
-
46056
- if (links && links.length > 0) {
46057
- lodash$1.forEach(links, function (link) {
46058
- linkSynchronizer.add(getElement(link));
46059
- linkScrollSynchronizer.add(getElement(link));
46096
+ if (Link && !refresh) {
46097
+ // 关闭
46098
+ window.localStorage.setItem('hellfire-link-tool-default-state', 'close');
46099
+ setLinkSeries([]);
46100
+ } else {
46101
+ // 开启 or 刷新
46102
+ // 1.本地记忆联动的初始状态
46103
+ window.localStorage.setItem('hellfire-link-tool-default-state', 'open'); // 2.处理
46104
+
46105
+ openAutoLink({
46106
+ col: col,
46107
+ row: row,
46108
+ currentScrollLine: currentScrollLine,
46109
+ activeIndex: activeIndex,
46110
+ seriesCurrentIndex: seriesCurrentIndex,
46111
+ series: series,
46112
+ setLinkSeries: setLinkSeries,
46113
+ linkSynchronizer: linkSynchronizer,
46114
+ linkScrollSynchronizer: linkScrollSynchronizer,
46115
+ realActiveIndex: realActiveIndex
46060
46116
  });
46061
- linkSynchronizer.add(activeElement);
46062
- linkScrollSynchronizer.add(activeElement);
46063
46117
  }
46064
46118
 
46065
- case 38:
46119
+ case 4:
46066
46120
  case "end":
46067
46121
  return _context.stop();
46068
46122
  }
@@ -46841,7 +46895,7 @@ styleInject$1(css_248z$r);
46841
46895
 
46842
46896
  function _extends$1o() { _extends$1o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1o.apply(this, arguments); }
46843
46897
 
46844
- var _ref$1m = /*#__PURE__*/React__default.createElement("path", {
46898
+ var _ref$1n = /*#__PURE__*/React__default.createElement("path", {
46845
46899
  d: "M3658.026 10.064c5.915-.329 11.359 2.241 14.432 6.357l-5.498 2.292 14.488 7.78 4.678-15.768-5.437 2.266c-4.491-7.516-13.347-12.235-23.194-11.634-12.153.737-22.056 9.888-23.034 21.285l8.693.746c.612-7.121 7.003-12.847 14.872-13.324zM3661.635 45.864c-6.105.345-11.715-2.402-14.729-6.753l4.887-2.037-13.401-7.196-4.324 14.584 4.657-1.941c4.157 7.321 12.398 12.102 21.752 12.102.558 0 1.121-.017 1.687-.051 12.151-.737 22.054-9.888 23.032-21.285l-8.691-.746c-.615 7.12-7.005 12.846-14.87 13.323z"
46846
46900
  });
46847
46901
 
@@ -46850,7 +46904,7 @@ const SvgRefresh$1 = props => /*#__PURE__*/React__default.createElement("svg", _
46850
46904
  height: 56,
46851
46905
  viewBox: "3630 0 60 56",
46852
46906
  fill: "currentColor"
46853
- }, props), _ref$1m);
46907
+ }, props), _ref$1n);
46854
46908
 
46855
46909
  var css_248z$s = ".loadingIndicator {\n position: absolute;\n top: 0;\n background: black;\n opacity: 1;\n width: 100%;\n height: 100%;\n text-align: center;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.loadingIndicator .lds-ring {\n color: #999;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 40px;\n height: 40px;\n margin: auto;\n}\n.loadingIndicator .lds-ring div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n width: 40px;\n height: 40px;\n border: 4px solid silver;\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: silver transparent transparent transparent;\n}\n.loadingIndicator .lds-ring div:nth-child(1) {\n animation-delay: -0.45s;\n}\n.loadingIndicator .lds-ring div:nth-child(2) {\n animation-delay: -0.3s;\n}\n.loadingIndicator .lds-ring div:nth-child(3) {\n animation-delay: -0.15s;\n}\n@keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.loadingIndicator .loadingIndicator-retry {\n width: 40px;\n color: #999;\n margin: 0 auto;\n font-size: 14px;\n}\n.loadingIndicator .indicatorContents h4 {\n font-size: 18px;\n margin: 0 auto 10px 0;\n}\n.loadingIndicator .indicatorContents h5 {\n font-size: 16px;\n margin: 0 auto 10px 0;\n}\n.loadingIndicator .indicatorContents p {\n margin: 4px auto;\n color: #999;\n font-size: 14px;\n}\n.loadingIndicator .indicatorContents .loadingIndicator-retry {\n width: 40px;\n margin: 20px auto 0 auto;\n}\n.loadingIndicator .indicatorContents-mini h4 {\n color: #fff;\n font-size: 12px;\n margin: 5px 0 5px 0;\n}\n.loadingIndicator .indicatorContents-mini .loadingIndicator-retry {\n width: 20px;\n font-size: 12px;\n}\n";
46856
46910
  styleInject$1(css_248z$s);
@@ -47821,7 +47875,7 @@ styleInject$1(css_248z$u);
47821
47875
 
47822
47876
  function _extends$1p() { _extends$1p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1p.apply(this, arguments); }
47823
47877
 
47824
- var _ref$1n = /*#__PURE__*/React__default.createElement("path", {
47878
+ var _ref$1o = /*#__PURE__*/React__default.createElement("path", {
47825
47879
  d: "M30.054 23.768l-2.964 2.946q-.339.339-.804.339t-.804-.339L16 17.232l-9.482 9.482q-.339.339-.804.339t-.804-.339l-2.964-2.946q-.339-.339-.339-.813t.339-.813L15.196 8.91q.339-.339.804-.339t.804.339l13.25 13.232q.339.339.339.813t-.339.813z"
47826
47880
  });
47827
47881
 
@@ -47830,11 +47884,11 @@ const SvgChevronUp = props => /*#__PURE__*/React__default.createElement("svg", _
47830
47884
  height: 32,
47831
47885
  viewBox: "0 0 32 32",
47832
47886
  fill: "currentColor"
47833
- }, props), _ref$1n);
47887
+ }, props), _ref$1o);
47834
47888
 
47835
47889
  function _extends$1q() { _extends$1q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1q.apply(this, arguments); }
47836
47890
 
47837
- var _ref$1o = /*#__PURE__*/React__default.createElement("path", {
47891
+ var _ref$1p = /*#__PURE__*/React__default.createElement("path", {
47838
47892
  d: "M30.054 14.429l-13.25 13.232Q16.465 28 16 28t-.804-.339L1.946 14.429q-.339-.339-.339-.813t.339-.813L4.91 9.857q.339-.339.804-.339t.804.339L16 19.339l9.482-9.482q.339-.339.804-.339t.804.339l2.964 2.946q.339.339.339.813t-.339.813z"
47839
47893
  });
47840
47894
 
@@ -47843,7 +47897,7 @@ const SvgChevronDown = props => /*#__PURE__*/React__default.createElement("svg",
47843
47897
  height: 32,
47844
47898
  viewBox: "0 0 32 32",
47845
47899
  fill: "currentColor"
47846
- }, props), _ref$1o);
47900
+ }, props), _ref$1p);
47847
47901
 
47848
47902
  var css_248z$v = ".paladin-aiTips-wrapper {\n width: 100%;\n height: 100%;\n}\n.paladin-aiTips-content {\n width: 1px;\n height: 100%;\n background: #ffff00;\n position: absolute;\n top: 0;\n}\n";
47849
47903
  styleInject$1(css_248z$v);
@@ -54614,6 +54668,10 @@ var mergeProps$t = function mergeProps(propsFromState, propsFromDispatch, ownPro
54614
54668
  var getCurrentElement = function getCurrentElement() {
54615
54669
  return getActiveElement(mode, activeIndex, imageActiveIndex, threeDMode, mprActiveIndex, Surgery, surgeryActiveIndex, CPR);
54616
54670
  };
54671
+
54672
+ var getCurrentRealActiveIndex = function getCurrentRealActiveIndex() {
54673
+ return getRealActiveIndex(mode, activeIndex, imageActiveIndex, MPR, mprActiveIndex, Surgery, surgeryActiveIndex, CPR);
54674
+ };
54617
54675
  /**
54618
54676
  * 前进、后退快捷键,加入频率控制
54619
54677
  * 频率依据序列数量决定
@@ -55005,7 +55063,7 @@ var mergeProps$t = function mergeProps(propsFromState, propsFromDispatch, ownPro
55005
55063
  },
55006
55064
  initSeries: function () {
55007
55065
  var _initSeries2 = asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(changeStudy, callback) {
55008
- var data, synchronizer, linkSynchronizer, linkImageModeSynchronizer, linkScrollSynchronizer, options, _study, series, needCheckMultiFrame, hasMultiFrame, modalitiesInStudy, i, item, wado, url, dataSet, numFrames, imageIds, _i, imageId, seriesCurrentIndex, firstReady, maxRequest, retry, clearCacheEveryLoad, dicom, frameTime;
55066
+ var data, synchronizer, linkSynchronizer, linkImageModeSynchronizer, linkScrollSynchronizer, options, _study, series, needCheckMultiFrame, hasMultiFrame, modalitiesInStudy, i, item, wado, url, dataSet, numFrames, imageIds, _i, imageId, seriesCurrentIndex, firstReady, maxRequest, retry, clearCacheEveryLoad, dicom, frameTime, linkToolLocalDefaultState, realActiveIndex, continuousMeasureLocalDefaultState;
55009
55067
 
55010
55068
  return regenerator.wrap(function _callee$(_context) {
55011
55069
  while (1) {
@@ -55023,6 +55081,7 @@ var mergeProps$t = function mergeProps(propsFromState, propsFromDispatch, ownPro
55023
55081
  * - 初始化viewport缓存池
55024
55082
  * - 初始化图像预加载
55025
55083
  * - 如果有frameTime的话设置fps
55084
+ * - 初始化本地存储的工具初始状态(目前包含:自动联动、连续测量)
55026
55085
  *
55027
55086
  * 检查io是否为true是的话打开同屏开关
55028
55087
  */
@@ -55221,9 +55280,35 @@ var mergeProps$t = function mergeProps(propsFromState, propsFromDispatch, ownPro
55221
55280
  if (dicom && dicom.FrameTime && dicom.FrameTime.value) {
55222
55281
  frameTime = dicom.FrameTime.value;
55223
55282
  propsFromDispatch.setCineFps(lodash$1.round(1000 / frameTime, 3) || 3);
55283
+ } // 初始化本地存储的工具初始状态(目前包含:自动联动、连续测量)
55284
+
55285
+
55286
+ linkToolLocalDefaultState = window.localStorage.getItem('hellfire-link-tool-default-state');
55287
+
55288
+ if (linkToolLocalDefaultState && linkToolLocalDefaultState === 'open') {
55289
+ propsFromDispatch.activeDicomFunction("Link");
55290
+ realActiveIndex = getCurrentRealActiveIndex();
55291
+ openAutoLink({
55292
+ col: col,
55293
+ row: row,
55294
+ currentScrollLine: currentScrollLine,
55295
+ activeIndex: activeIndex,
55296
+ seriesCurrentIndex: seriesCurrentIndex,
55297
+ series: series,
55298
+ setLinkSeries: propsFromDispatch.setLinkSeries,
55299
+ linkSynchronizer: linkSynchronizer,
55300
+ linkScrollSynchronizer: linkScrollSynchronizer,
55301
+ realActiveIndex: realActiveIndex
55302
+ });
55224
55303
  }
55225
55304
 
55226
- case 61:
55305
+ continuousMeasureLocalDefaultState = window.localStorage.getItem('hellfire-continuous-measure-default-state');
55306
+
55307
+ if (continuousMeasureLocalDefaultState && continuousMeasureLocalDefaultState === 'close') {
55308
+ propsFromDispatch.setMeasure(false);
55309
+ }
55310
+
55311
+ case 65:
55227
55312
  case "end":
55228
55313
  return _context.stop();
55229
55314
  }
@@ -55324,7 +55409,9 @@ var ConnectedDicomView = reactRedux.connect(mapStateToProps$u, {
55324
55409
  setKeyImage: setKeyImage,
55325
55410
  setOriginStudyData: setOriginStudyData,
55326
55411
  setSeriesCurrentIndex: setSeriesCurrentIndex,
55327
- setSeries: setSeries
55412
+ setSeries: setSeries,
55413
+ setLinkSeries: setLinkSeries,
55414
+ setMeasure: setMeasure
55328
55415
  }, mergeProps$t, withRef())(DicomView);
55329
55416
 
55330
55417
  function withRef() {