@ohif/app 3.13.0-beta.6 → 3.13.0-beta.61
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/{1459.bundle.075e535250e3d4779923.js → 1459.bundle.4ad39e2c21e35cb2be1c.js} +5 -6
- package/dist/{1608.bundle.0687c661f1c9edfb3b8a.js → 1608.bundle.26306ea38618db59eff7.js} +12 -12
- package/dist/{1927.bundle.3050588e95f43cf57cdd.js → 1927.bundle.be67b3aafe238ca9f191.js} +27 -38
- package/dist/{1933.bundle.317997210b6a51079753.js → 1933.bundle.82822511235016082da4.js} +32 -27
- package/dist/{2018.bundle.31d14d6f9fb764b51bda.js → 2018.bundle.6f06faf8d0a5c91f5e7c.js} +18 -19
- package/dist/{6409.bundle.b36048896cb11c8571fb.js → 2075.bundle.23265b8e7597c398db4f.js} +327 -256
- package/dist/{2108.bundle.e84aa8d858d8c4f2413e.js → 2108.bundle.aea8d3b39486dd5ab39e.js} +569 -558
- package/dist/{213.bundle.363f9a3eb6c0d33e3921.js → 213.bundle.d8a8ffeec432cd8363c0.js} +3 -5
- package/dist/{2424.bundle.aa7f4df6cba71b817c87.js → 2424.bundle.c602ad458e7902f7f555.js} +3 -5
- package/dist/{2516.bundle.1ea0988d309a757bb6da.js → 2516.bundle.f62228e9a800de8d4b31.js} +6 -6
- package/dist/{2701.bundle.12bd01a80a9f8ea4cd94.js → 2701.bundle.6873805ddfdccc7a8b1e.js} +10 -10
- package/dist/{9195.bundle.adf6a548b6f7ae279c09.js → 2851.bundle.123d7f6fa1186ac1308a.js} +384 -169
- package/dist/{1730.bundle.1d137db2556d538263fb.js → 3138.bundle.bc81953147e0c5f3b23f.js} +16 -310
- package/dist/{3461.bundle.7024d5e66d12b4069031.js → 3461.bundle.f65494e79c37a14bc206.js} +131 -107
- package/dist/{147.bundle.37d627289453cb6c3937.js → 3754.bundle.fd4b67c2a29c4bc4a840.js} +486 -49
- package/dist/{4202.bundle.5a0f8e4004c5d8a68548.js → 4202.bundle.4fcd0de412907efd5b53.js} +6 -6
- package/dist/{4019.bundle.83a604779f7da0101ced.js → 4287.bundle.b7840e7b94cbbc102236.js} +348 -237
- package/dist/{5462.bundle.21beddaca145b7465c72.js → 4406.bundle.573d234b4641d23cf8db.js} +1083 -1308
- package/dist/{1403.bundle.40baf30d503370ce52c9.js → 4507.bundle.75bf28fe32a927130dec.js} +10 -305
- package/dist/{6347.bundle.784c48912700f281de1d.js → 4579.bundle.0a6b2f49a7e136a79e37.js} +561 -649
- package/dist/{4819.bundle.0c37918802ef7805586f.js → 4819.bundle.23965159795eaeb1ca1b.js} +39 -39
- package/dist/{4775.bundle.5d6203a2991902544266.js → 5015.bundle.54d7fda0f8e819aaa578.js} +29 -333
- package/dist/{5028.bundle.2cd4d2253b47845e6634.js → 5028.bundle.b806370179a0f878527b.js} +11 -13
- package/dist/{5261.bundle.6e1a017f8f1027557f5b.js → 5261.bundle.2655560097e9250eac44.js} +412 -345
- package/dist/{5457.bundle.15d4adb3ca43c45b044d.js → 5457.bundle.d1e9be8eab20c1620624.js} +16 -23
- package/dist/{5485.bundle.b9764a7846d57ee5710d.js → 5485.bundle.7de6ed76c9bf762fd395.js} +20 -32
- package/dist/{5491.bundle.2e01dd7ad29e4cc01bc1.js → 5491.bundle.4866d2ecb20dd089e071.js} +54 -51
- package/dist/{5802.bundle.3bf5e6b3ab330a594a47.js → 5802.bundle.26f84db0ff8851532c36.js} +79 -20
- package/dist/5802.css +1 -1
- package/dist/{5830.bundle.b073c265c4fcea1afff3.js → 5830.bundle.791019deddd536980a11.js} +3 -3
- package/dist/{5858.bundle.ff6b340cf7457db76a1a.js → 5858.bundle.466e58128de344ab53f3.js} +90 -86
- package/dist/{6027.bundle.55f4bf16015381255f33.js → 6027.bundle.11c8ba4581dca8a82b91.js} +3 -5
- package/dist/{6354.bundle.c387737dc09c9cab4ff2.js → 6354.bundle.929febcf6d326e582e00.js} +151 -140
- package/dist/{6376.bundle.9cb74d7bc08476e2f1a7.js → 6376.bundle.738c873196491232acb6.js} +6 -6
- package/dist/{2842.bundle.860b9f10fcdd9656947a.js → 6386.bundle.5d82d1f41d1c37a0358d.js} +904 -2298
- package/dist/6939.bundle.41fbdef87597b5172ec6.js +3 -3
- package/dist/{7159.bundle.a5991a5d4f0dd8f1c95f.js → 7159.bundle.fb9df255868960f69765.js} +7 -5
- package/dist/{3081.bundle.f0df1c7d93ef4be29102.js → 7166.bundle.6334b7a549c8d1f58bfd.js} +825 -410
- package/dist/{7190.bundle.e8f0193e0e06472f795c.js → 7190.bundle.3738008038e70525764f.js} +1129 -821
- package/dist/{732.bundle.6978ac30a1e36abf06db.js → 732.bundle.ea6f9d8504e37e01a208.js} +5 -13
- package/dist/{7431.bundle.b01791d10e6cf9f503b0.js → 7431.bundle.5e14641f2c71e852abe7.js} +28 -28
- package/dist/{4410.bundle.c5224cd7d6238a7d4660.js → 7537.bundle.1726a7f7a4c378296085.js} +5216 -2238
- package/dist/{7639.bundle.9057c381d5f455997d60.js → 7639.bundle.d7571b9b1bdd3c712fa7.js} +3 -5
- package/dist/7758.bundle.c8d106364298e7d288f0.js +3 -3
- package/dist/{8094.bundle.5c44190a325ac23e3e5c.js → 8094.bundle.148a66619607e37cbf19.js} +3 -4
- package/dist/{8305.bundle.2a215d860aa3bb1984f6.js → 8305.bundle.7ff9f067007c6fc02eff.js} +71 -66
- package/dist/{6163.bundle.18484c031c76e3835a71.js → 8499.bundle.b0d3892bff3f3163f747.js} +7 -302
- package/dist/8499.css +2 -0
- package/dist/{85.bundle.173a5ab4b47890e2f013.js → 85.bundle.203f56fd4f235891345a.js} +3 -5
- package/dist/{8558.bundle.52d7001a86845c8a91b8.js → 8558.bundle.ae26725ef258ef186524.js} +15 -309
- package/dist/{8583.bundle.e899badfa6f91f22b2f3.js → 8583.bundle.f56d7ead5b46d8d6f294.js} +24 -27
- package/dist/{997.bundle.822b33e561263084e18c.js → 9039.bundle.7afa93b103c3b26d4855.js} +3965 -2984
- package/dist/{7412.bundle.fab1742191b7fe937330.js → 9205.bundle.315c3b56464a7590235a.js} +6071 -3305
- package/dist/{3584.bundle.8cc0750425513433e9cc.js → 9567.bundle.be350438bed4e656f278.js} +3422 -2880
- package/dist/{9845.bundle.255e7c7f7a88193b4e47.js → 9845.bundle.8c450e8d65a78a5afcd3.js} +10 -10
- package/dist/{9862.bundle.3a8958a82c572015d25d.js → 9862.bundle.a5f7925840868fa4ecdb.js} +8 -6
- package/dist/{9927.bundle.0e4c7a7682b7acad3060.js → 9927.bundle.ceb2c44737524314f168.js} +4 -6
- package/dist/app-config.js +12 -0
- package/dist/{app.bundle.62d84a3df6ec149a44a6.js → app.bundle.97f04c5d27e5017d698b.js} +100613 -97645
- package/dist/app.bundle.css +3 -3
- package/dist/{polySeg.bundle.a5aa9130b4191253c410.js → compute.bundle.a41ec0ba4f935200ab93.js} +8 -20
- package/dist/{histogram-worker.bundle.d4e40a8018d2698b072e.js → histogram-worker.bundle.a2a50c4674d99c619ca7.js} +11 -23
- package/dist/index.html +1 -1
- package/dist/{interpolation.bundle.c70cb95d164dc494e6dc.js → interpolation.bundle.2559b710030605fc2bc6.js} +14 -26
- package/dist/{compute.bundle.64280c7af19ff567465f.js → polySeg.bundle.be57af5b834dd833a418.js} +10 -22
- package/dist/sw.js +1 -1
- package/package.json +23 -22
- package/dist/3343.bundle.d7578ce8f75d158c0bab.js +0 -297
- /package/dist/{1730.css → 3138.css} +0 -0
- /package/dist/{147.css → 3754.css} +0 -0
- /package/dist/{3343.css → 4972.css} +0 -0
- /package/dist/{6163.css → 7829.css} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
1
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[4579],{
|
|
2
2
|
|
|
3
|
-
/***/
|
|
4
|
-
|
|
3
|
+
/***/ 64579
|
|
4
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
@@ -12,11 +12,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
X6: () => (/* reexport */ adaptersPMAP),
|
|
13
13
|
f_: () => (/* reexport */ adaptersRT),
|
|
14
14
|
ql: () => (/* reexport */ adaptersSEG),
|
|
15
|
-
QX: () => (/* reexport */ adaptersSR)
|
|
16
|
-
_$: () => (/* reexport */ helpers_namespaceObject)
|
|
15
|
+
QX: () => (/* reexport */ adaptersSR)
|
|
17
16
|
});
|
|
18
17
|
|
|
19
|
-
// UNUSED EXPORTS: utilities
|
|
18
|
+
// UNUSED EXPORTS: helpers, utilities
|
|
20
19
|
|
|
21
20
|
// NAMESPACE OBJECT: ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/Cornerstone/Segmentation.js
|
|
22
21
|
var Segmentation_namespaceObject = {};
|
|
@@ -63,13 +62,6 @@ __webpack_require__.d(enums_namespaceObject, {
|
|
|
63
62
|
s: () => (Events)
|
|
64
63
|
});
|
|
65
64
|
|
|
66
|
-
// NAMESPACE OBJECT: ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/helpers/index.js
|
|
67
|
-
var helpers_namespaceObject = {};
|
|
68
|
-
__webpack_require__.r(helpers_namespaceObject);
|
|
69
|
-
__webpack_require__.d(helpers_namespaceObject, {
|
|
70
|
-
vk: () => (downloadDICOMData)
|
|
71
|
-
});
|
|
72
|
-
|
|
73
65
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
74
66
|
var dcmjs_es = __webpack_require__(5842);
|
|
75
67
|
;// ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/helpers/toArray.js
|
|
@@ -342,7 +334,7 @@ class MeasurementReport {
|
|
|
342
334
|
const toolClass = hooks.getToolClass ? hooks.getToolClass(measurementGroup, dataset, registeredToolClasses) : registeredToolClasses.find(tc => tc.isValidCornerstoneTrackingIdentifier(TrackingIdentifierValue));
|
|
343
335
|
if (toolClass) {
|
|
344
336
|
const measurement = toolClass.getMeasurementData(measurementGroup);
|
|
345
|
-
console.log(
|
|
337
|
+
console.log("=== ".concat(toolClass.toolType, " ==="));
|
|
346
338
|
console.log(measurement);
|
|
347
339
|
measurementData[toolClass.toolType].push(measurement);
|
|
348
340
|
}
|
|
@@ -364,6 +356,8 @@ MeasurementReport.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE = {};
|
|
|
364
356
|
|
|
365
357
|
|
|
366
358
|
|
|
359
|
+
// EXTERNAL MODULE: ../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js
|
|
360
|
+
var defineProperty = __webpack_require__(36111);
|
|
367
361
|
;// ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/Cornerstone/cornerstone4Tag.js
|
|
368
362
|
var CORNERSTONE_4_TAG = 'cornerstoneTools@^4.0.0';
|
|
369
363
|
|
|
@@ -374,6 +368,9 @@ var CORNERSTONE_4_TAG = 'cornerstoneTools@^4.0.0';
|
|
|
374
368
|
|
|
375
369
|
|
|
376
370
|
|
|
371
|
+
|
|
372
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
373
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
377
374
|
const {
|
|
378
375
|
Length: TID300Length
|
|
379
376
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -386,8 +383,7 @@ class Length {
|
|
|
386
383
|
NUMGroup,
|
|
387
384
|
SCOORDGroup
|
|
388
385
|
} = MeasurementReport.getSetupMeasurementData(MeasurementGroup);
|
|
389
|
-
const state = {
|
|
390
|
-
...defaultState,
|
|
386
|
+
const state = _objectSpread(_objectSpread({}, defaultState), {}, {
|
|
391
387
|
length: NUMGroup.MeasuredValueSequence.NumericValue,
|
|
392
388
|
toolType: Length.toolType,
|
|
393
389
|
handles: {
|
|
@@ -401,7 +397,7 @@ class Length {
|
|
|
401
397
|
hasBoundingBox: true
|
|
402
398
|
}
|
|
403
399
|
}
|
|
404
|
-
};
|
|
400
|
+
});
|
|
405
401
|
[state.handles.start.x, state.handles.start.y, state.handles.end.x, state.handles.end.y] = SCOORDGroup.GraphicData;
|
|
406
402
|
return state;
|
|
407
403
|
}
|
|
@@ -447,6 +443,9 @@ MeasurementReport.registerTool(Length);
|
|
|
447
443
|
|
|
448
444
|
|
|
449
445
|
|
|
446
|
+
|
|
447
|
+
function FreehandRoi_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
448
|
+
function FreehandRoi_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? FreehandRoi_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : FreehandRoi_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
450
449
|
const {
|
|
451
450
|
Polyline: TID300Polyline
|
|
452
451
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -457,8 +456,7 @@ class FreehandRoi {
|
|
|
457
456
|
SCOORDGroup,
|
|
458
457
|
NUMGroup
|
|
459
458
|
} = MeasurementReport.getSetupMeasurementData(MeasurementGroup);
|
|
460
|
-
const state = {
|
|
461
|
-
...defaultState,
|
|
459
|
+
const state = FreehandRoi_objectSpread(FreehandRoi_objectSpread({}, defaultState), {}, {
|
|
462
460
|
toolType: FreehandRoi.toolType,
|
|
463
461
|
handles: {
|
|
464
462
|
points: [],
|
|
@@ -476,7 +474,7 @@ class FreehandRoi {
|
|
|
476
474
|
},
|
|
477
475
|
color: undefined,
|
|
478
476
|
invalidated: true
|
|
479
|
-
};
|
|
477
|
+
});
|
|
480
478
|
const {
|
|
481
479
|
GraphicData
|
|
482
480
|
} = SCOORDGroup;
|
|
@@ -691,6 +689,9 @@ MeasurementReport.registerTool(Bidirectional);
|
|
|
691
689
|
|
|
692
690
|
|
|
693
691
|
|
|
692
|
+
|
|
693
|
+
function EllipticalRoi_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
694
|
+
function EllipticalRoi_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? EllipticalRoi_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : EllipticalRoi_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
694
695
|
const {
|
|
695
696
|
Ellipse: TID300Ellipse
|
|
696
697
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -741,8 +742,7 @@ class EllipticalRoi {
|
|
|
741
742
|
x: majorAxis[1].x - minorAxisDirection.x * halfMinorAxisLength,
|
|
742
743
|
y: majorAxis[1].y - minorAxisDirection.y * halfMinorAxisLength
|
|
743
744
|
};
|
|
744
|
-
const state = {
|
|
745
|
-
...defaultState,
|
|
745
|
+
const state = EllipticalRoi_objectSpread(EllipticalRoi_objectSpread({}, defaultState), {}, {
|
|
746
746
|
toolType: EllipticalRoi.toolType,
|
|
747
747
|
active: false,
|
|
748
748
|
cachedStats: {
|
|
@@ -772,7 +772,7 @@ class EllipticalRoi {
|
|
|
772
772
|
},
|
|
773
773
|
invalidated: true,
|
|
774
774
|
visible: true
|
|
775
|
-
};
|
|
775
|
+
});
|
|
776
776
|
return state;
|
|
777
777
|
}
|
|
778
778
|
static getTID300RepresentationArguments(tool) {
|
|
@@ -869,6 +869,9 @@ MeasurementReport.registerTool(EllipticalRoi);
|
|
|
869
869
|
|
|
870
870
|
|
|
871
871
|
|
|
872
|
+
|
|
873
|
+
function CircleRoi_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
874
|
+
function CircleRoi_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? CircleRoi_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : CircleRoi_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
872
875
|
const {
|
|
873
876
|
Circle: TID300Circle
|
|
874
877
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -892,8 +895,7 @@ class CircleRoi {
|
|
|
892
895
|
x: GraphicData[2],
|
|
893
896
|
y: GraphicData[3]
|
|
894
897
|
};
|
|
895
|
-
const state = {
|
|
896
|
-
...defaultState,
|
|
898
|
+
const state = CircleRoi_objectSpread(CircleRoi_objectSpread({}, defaultState), {}, {
|
|
897
899
|
toolType: CircleRoi.toolType,
|
|
898
900
|
active: false,
|
|
899
901
|
cachedStats: {
|
|
@@ -903,17 +905,15 @@ class CircleRoi {
|
|
|
903
905
|
perimeter: 0
|
|
904
906
|
},
|
|
905
907
|
handles: {
|
|
906
|
-
end: {
|
|
907
|
-
...end,
|
|
908
|
+
end: CircleRoi_objectSpread(CircleRoi_objectSpread({}, end), {}, {
|
|
908
909
|
highlight: false,
|
|
909
910
|
active: false
|
|
910
|
-
},
|
|
911
|
+
}),
|
|
911
912
|
initialRotation: 0,
|
|
912
|
-
start: {
|
|
913
|
-
...center,
|
|
913
|
+
start: CircleRoi_objectSpread(CircleRoi_objectSpread({}, center), {}, {
|
|
914
914
|
highlight: false,
|
|
915
915
|
active: false
|
|
916
|
-
},
|
|
916
|
+
}),
|
|
917
917
|
textBox: {
|
|
918
918
|
hasMoved: false,
|
|
919
919
|
movesIndependently: false,
|
|
@@ -924,7 +924,7 @@ class CircleRoi {
|
|
|
924
924
|
},
|
|
925
925
|
invalidated: true,
|
|
926
926
|
visible: true
|
|
927
|
-
};
|
|
927
|
+
});
|
|
928
928
|
return state;
|
|
929
929
|
}
|
|
930
930
|
|
|
@@ -987,6 +987,9 @@ MeasurementReport.registerTool(CircleRoi);
|
|
|
987
987
|
|
|
988
988
|
|
|
989
989
|
|
|
990
|
+
|
|
991
|
+
function ArrowAnnotate_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
992
|
+
function ArrowAnnotate_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ArrowAnnotate_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ArrowAnnotate_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
990
993
|
const {
|
|
991
994
|
Point: TID300Point
|
|
992
995
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -1002,8 +1005,7 @@ class ArrowAnnotate {
|
|
|
1002
1005
|
const {
|
|
1003
1006
|
GraphicData
|
|
1004
1007
|
} = SCOORDGroup;
|
|
1005
|
-
const state = {
|
|
1006
|
-
...defaultState,
|
|
1008
|
+
const state = ArrowAnnotate_objectSpread(ArrowAnnotate_objectSpread({}, defaultState), {}, {
|
|
1007
1009
|
toolType: ArrowAnnotate.toolType,
|
|
1008
1010
|
active: false,
|
|
1009
1011
|
handles: {
|
|
@@ -1031,7 +1033,7 @@ class ArrowAnnotate {
|
|
|
1031
1033
|
},
|
|
1032
1034
|
invalidated: true,
|
|
1033
1035
|
visible: true
|
|
1034
|
-
};
|
|
1036
|
+
});
|
|
1035
1037
|
return state;
|
|
1036
1038
|
}
|
|
1037
1039
|
static getTID300RepresentationArguments(tool) {
|
|
@@ -1044,7 +1046,7 @@ class ArrowAnnotate {
|
|
|
1044
1046
|
} = tool;
|
|
1045
1047
|
const TID300RepresentationArguments = {
|
|
1046
1048
|
points,
|
|
1047
|
-
trackingIdentifierTextValue:
|
|
1049
|
+
trackingIdentifierTextValue: "cornerstoneTools@^4.0.0:ArrowAnnotate",
|
|
1048
1050
|
findingSites: findingSites || []
|
|
1049
1051
|
};
|
|
1050
1052
|
|
|
@@ -1082,6 +1084,9 @@ MeasurementReport.registerTool(ArrowAnnotate);
|
|
|
1082
1084
|
|
|
1083
1085
|
|
|
1084
1086
|
|
|
1087
|
+
|
|
1088
|
+
function CobbAngle_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1089
|
+
function CobbAngle_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? CobbAngle_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : CobbAngle_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1085
1090
|
const {
|
|
1086
1091
|
CobbAngle: TID300CobbAngle
|
|
1087
1092
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -1094,8 +1099,7 @@ class CobbAngle {
|
|
|
1094
1099
|
NUMGroup,
|
|
1095
1100
|
SCOORDGroup
|
|
1096
1101
|
} = MeasurementReport.getSetupMeasurementData(MeasurementGroup);
|
|
1097
|
-
const state = {
|
|
1098
|
-
...defaultState,
|
|
1102
|
+
const state = CobbAngle_objectSpread(CobbAngle_objectSpread({}, defaultState), {}, {
|
|
1099
1103
|
rAngle: NUMGroup.MeasuredValueSequence.NumericValue,
|
|
1100
1104
|
toolType: CobbAngle.toolType,
|
|
1101
1105
|
handles: {
|
|
@@ -1117,7 +1121,7 @@ class CobbAngle {
|
|
|
1117
1121
|
hasBoundingBox: true
|
|
1118
1122
|
}
|
|
1119
1123
|
}
|
|
1120
|
-
};
|
|
1124
|
+
});
|
|
1121
1125
|
[state.handles.start.x, state.handles.start.y, state.handles.end.x, state.handles.end.y, state.handles.start2.x, state.handles.start2.y, state.handles.end2.x, state.handles.end2.y] = SCOORDGroup.GraphicData;
|
|
1122
1126
|
return state;
|
|
1123
1127
|
}
|
|
@@ -1167,6 +1171,9 @@ MeasurementReport.registerTool(CobbAngle);
|
|
|
1167
1171
|
|
|
1168
1172
|
|
|
1169
1173
|
|
|
1174
|
+
|
|
1175
|
+
function Angle_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1176
|
+
function Angle_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Angle_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Angle_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1170
1177
|
const {
|
|
1171
1178
|
Angle: TID300Angle
|
|
1172
1179
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -1181,8 +1188,7 @@ class Angle {
|
|
|
1181
1188
|
NUMGroup,
|
|
1182
1189
|
SCOORDGroup
|
|
1183
1190
|
} = MeasurementReport.getSetupMeasurementData(MeasurementGroup);
|
|
1184
|
-
const state = {
|
|
1185
|
-
...defaultState,
|
|
1191
|
+
const state = Angle_objectSpread(Angle_objectSpread({}, defaultState), {}, {
|
|
1186
1192
|
rAngle: NUMGroup.MeasuredValueSequence.NumericValue,
|
|
1187
1193
|
toolType: Angle.toolType,
|
|
1188
1194
|
handles: {
|
|
@@ -1197,7 +1203,7 @@ class Angle {
|
|
|
1197
1203
|
hasBoundingBox: true
|
|
1198
1204
|
}
|
|
1199
1205
|
}
|
|
1200
|
-
};
|
|
1206
|
+
});
|
|
1201
1207
|
[state.handles.start.x, state.handles.start.y, state.handles.middle.x, state.handles.middle.y, state.handles.middle.x, state.handles.middle.y, state.handles.end.x, state.handles.end.y] = SCOORDGroup.GraphicData;
|
|
1202
1208
|
return state;
|
|
1203
1209
|
}
|
|
@@ -1247,6 +1253,9 @@ MeasurementReport.registerTool(Angle);
|
|
|
1247
1253
|
|
|
1248
1254
|
|
|
1249
1255
|
|
|
1256
|
+
|
|
1257
|
+
function RectangleRoi_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1258
|
+
function RectangleRoi_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? RectangleRoi_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : RectangleRoi_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1250
1259
|
const {
|
|
1251
1260
|
Polyline: RectangleRoi_TID300Polyline
|
|
1252
1261
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -1257,8 +1266,7 @@ class RectangleRoi {
|
|
|
1257
1266
|
SCOORDGroup,
|
|
1258
1267
|
NUMGroup
|
|
1259
1268
|
} = MeasurementReport.getSetupMeasurementData(MeasurementGroup);
|
|
1260
|
-
const state = {
|
|
1261
|
-
...defaultState,
|
|
1269
|
+
const state = RectangleRoi_objectSpread(RectangleRoi_objectSpread({}, defaultState), {}, {
|
|
1262
1270
|
toolType: RectangleRoi.toolType,
|
|
1263
1271
|
handles: {
|
|
1264
1272
|
start: {},
|
|
@@ -1278,7 +1286,7 @@ class RectangleRoi {
|
|
|
1278
1286
|
},
|
|
1279
1287
|
color: undefined,
|
|
1280
1288
|
invalidated: true
|
|
1281
|
-
};
|
|
1289
|
+
});
|
|
1282
1290
|
const intermediate = {};
|
|
1283
1291
|
[state.handles.start.x, state.handles.start.y, intermediate.x, intermediate.y, state.handles.end.x, state.handles.end.y] = SCOORDGroup.GraphicData;
|
|
1284
1292
|
return state;
|
|
@@ -1365,7 +1373,7 @@ function getDatasetsFromImages(images, isMultiframe, options) {
|
|
|
1365
1373
|
datasets.push(dataset);
|
|
1366
1374
|
}
|
|
1367
1375
|
}
|
|
1368
|
-
if (options
|
|
1376
|
+
if (options !== null && options !== void 0 && options.SpecificCharacterSet) {
|
|
1369
1377
|
datasets.forEach(dataset => dataset.SpecificCharacterSet = options.SpecificCharacterSet);
|
|
1370
1378
|
}
|
|
1371
1379
|
return getDatasetsFromImages_Normalizer.normalizeToDataset(datasets);
|
|
@@ -1818,12 +1826,12 @@ function checkOrientation(multiframe, validOrientations, sourceDataDimensions, t
|
|
|
1818
1826
|
const iop = sharedImageOrientationPatient || PerFrameFunctionalGroups.PlaneOrientationSequence.ImageOrientationPatient;
|
|
1819
1827
|
const inPlane = validOrientations.some(operation => esm.utilities.isEqual(iop, operation, tolerance));
|
|
1820
1828
|
if (inPlane) {
|
|
1821
|
-
return
|
|
1829
|
+
return 'Planar';
|
|
1822
1830
|
}
|
|
1823
1831
|
if (checkIfPerpendicular(iop, validOrientations[0], tolerance) && sourceDataDimensions.includes(multiframe.Rows) && sourceDataDimensions.includes(multiframe.Columns)) {
|
|
1824
|
-
return
|
|
1832
|
+
return 'Perpendicular';
|
|
1825
1833
|
}
|
|
1826
|
-
return
|
|
1834
|
+
return 'Oblique';
|
|
1827
1835
|
}
|
|
1828
1836
|
|
|
1829
1837
|
|
|
@@ -2746,22 +2754,22 @@ function getImageIdOfSourceImageBySourceImageSequence(SourceImageSequence, sopUI
|
|
|
2746
2754
|
} = SourceImageSequence;
|
|
2747
2755
|
const baseImageId = sopUIDImageIdIndexMap[ReferencedSOPInstanceUID];
|
|
2748
2756
|
if (!baseImageId) {
|
|
2749
|
-
console.warn(
|
|
2757
|
+
console.warn("No imageId found for SOPInstanceUID: ".concat(ReferencedSOPInstanceUID));
|
|
2750
2758
|
return undefined;
|
|
2751
2759
|
}
|
|
2752
2760
|
if (ReferencedFrameNumber !== undefined) {
|
|
2753
2761
|
if (baseImageId.includes('frames/')) {
|
|
2754
|
-
return baseImageId.replace(/frames\/\d+/,
|
|
2762
|
+
return baseImageId.replace(/frames\/\d+/, "frames/".concat(ReferencedFrameNumber));
|
|
2755
2763
|
} else if (baseImageId.includes('dicomfile:')) {
|
|
2756
2764
|
// dicomfile base 1, despite having frame=
|
|
2757
|
-
return baseImageId.replace(/frame=\d+/,
|
|
2765
|
+
return baseImageId.replace(/frame=\d+/, "frame=".concat(ReferencedFrameNumber));
|
|
2758
2766
|
} else if (baseImageId.includes('frame=')) {
|
|
2759
|
-
return baseImageId.replace(/frame=\d+/,
|
|
2767
|
+
return baseImageId.replace(/frame=\d+/, "frame=".concat(ReferencedFrameNumber - 1));
|
|
2760
2768
|
} else {
|
|
2761
2769
|
if (baseImageId.includes('wadors:')) {
|
|
2762
|
-
return
|
|
2770
|
+
return "".concat(baseImageId, "/frames/").concat(ReferencedFrameNumber);
|
|
2763
2771
|
} else {
|
|
2764
|
-
return
|
|
2772
|
+
return "".concat(baseImageId, "?frame=").concat(ReferencedFrameNumber - 1);
|
|
2765
2773
|
}
|
|
2766
2774
|
}
|
|
2767
2775
|
}
|
|
@@ -2792,7 +2800,8 @@ function isMultiframeImage(imageMetadata) {
|
|
|
2792
2800
|
* @return {String} The corresponding imageId.
|
|
2793
2801
|
*/
|
|
2794
2802
|
function getImageIdOfSourceImagebyGeometry(ReferencedSeriesInstanceUID, FrameOfReferenceUID, PerFrameFunctionalGroup, imageIds, metadataProvider, tolerance) {
|
|
2795
|
-
|
|
2803
|
+
var _PerFrameFunctionalGr;
|
|
2804
|
+
if (!ReferencedSeriesInstanceUID || !((_PerFrameFunctionalGr = PerFrameFunctionalGroup.PlanePositionSequence) !== null && _PerFrameFunctionalGr !== void 0 && (_PerFrameFunctionalGr = _PerFrameFunctionalGr[0]) !== null && _PerFrameFunctionalGr !== void 0 && _PerFrameFunctionalGr.ImagePositionPatient)) {
|
|
2796
2805
|
return undefined;
|
|
2797
2806
|
}
|
|
2798
2807
|
const segFramePosition = PerFrameFunctionalGroup.PlanePositionSequence[0].ImagePositionPatient;
|
|
@@ -2808,7 +2817,8 @@ function getImageIdOfSourceImagebyGeometry(ReferencedSeriesInstanceUID, FrameOfR
|
|
|
2808
2817
|
|
|
2809
2818
|
// For multiframe images, check each frame's position
|
|
2810
2819
|
if (isMultiframe) {
|
|
2811
|
-
|
|
2820
|
+
var _metadataProvider$get;
|
|
2821
|
+
const framePosition = (_metadataProvider$get = metadataProvider.get('imagePlaneModule', imageId)) === null || _metadataProvider$get === void 0 ? void 0 : _metadataProvider$get.imagePositionPatient;
|
|
2812
2822
|
if (framePosition && esm.utilities.isEqual(segFramePosition, framePosition, tolerance)) {
|
|
2813
2823
|
return imageId;
|
|
2814
2824
|
}
|
|
@@ -3057,7 +3067,7 @@ function Segmentation_generateSegmentation(images, labelmaps3DorBrushData) {
|
|
|
3057
3067
|
if (cornerstoneToolsVersion === 3) {
|
|
3058
3068
|
return Segmentation.generateSegmentation(images, labelmaps3DorBrushData, options);
|
|
3059
3069
|
}
|
|
3060
|
-
console.warn(
|
|
3070
|
+
console.warn("No generateSegmentation adapter for cornerstone version ".concat(cornerstoneToolsVersion, ", exiting."));
|
|
3061
3071
|
}
|
|
3062
3072
|
|
|
3063
3073
|
/**
|
|
@@ -3084,7 +3094,7 @@ function Segmentation_generateToolState(imageIds, arrayBuffer, metadataProvider)
|
|
|
3084
3094
|
if (cornerstoneToolsVersion === 3) {
|
|
3085
3095
|
return Segmentation.generateToolState(imageIds, arrayBuffer, metadataProvider);
|
|
3086
3096
|
}
|
|
3087
|
-
console.warn(
|
|
3097
|
+
console.warn("No generateToolState adapter for cornerstone version ".concat(cornerstoneToolsVersion, ", exiting."));
|
|
3088
3098
|
}
|
|
3089
3099
|
|
|
3090
3100
|
/**
|
|
@@ -3103,7 +3113,7 @@ function Segmentation_fillSegmentation(segmentation, inputLabelmaps3D) {
|
|
|
3103
3113
|
if (cornerstoneToolsVersion === 4) {
|
|
3104
3114
|
return Segmentation_4X_Segmentation.fillSegmentation(segmentation, inputLabelmaps3D, options);
|
|
3105
3115
|
}
|
|
3106
|
-
console.warn(
|
|
3116
|
+
console.warn("No generateSegmentation adapter for cornerstone version ".concat(cornerstoneToolsVersion, ", exiting."));
|
|
3107
3117
|
}
|
|
3108
3118
|
|
|
3109
3119
|
|
|
@@ -3126,9 +3136,9 @@ async function ParametricMap_generateToolState(imageIds, arrayBuffer, metadataPr
|
|
|
3126
3136
|
const dataset = ParametricMap_DicomMetaDictionary.naturalizeDataset(dicomData.dict);
|
|
3127
3137
|
dataset._meta = ParametricMap_DicomMetaDictionary.namifyDataset(dicomData.meta);
|
|
3128
3138
|
const multiframe = ParametricMap_Normalizer.normalizeToDataset([dataset]);
|
|
3129
|
-
const imagePlaneModule = metadataProvider.get(
|
|
3139
|
+
const imagePlaneModule = metadataProvider.get('imagePlaneModule', imageIds[0]);
|
|
3130
3140
|
if (!imagePlaneModule) {
|
|
3131
|
-
console.warn(
|
|
3141
|
+
console.warn('Insufficient metadata, imagePlaneModule missing.');
|
|
3132
3142
|
}
|
|
3133
3143
|
const ImageOrientationPatient = Array.isArray(imagePlaneModule.rowCosines) ? [...imagePlaneModule.rowCosines, ...imagePlaneModule.columnCosines] : [imagePlaneModule.rowCosines.x, imagePlaneModule.rowCosines.y, imagePlaneModule.rowCosines.z, imagePlaneModule.columnCosines.x, imagePlaneModule.columnCosines.y, imagePlaneModule.columnCosines.z];
|
|
3134
3144
|
const validOrientations = [ImageOrientationPatient];
|
|
@@ -3137,20 +3147,20 @@ async function ParametricMap_generateToolState(imageIds, arrayBuffer, metadataPr
|
|
|
3137
3147
|
const sopUIDImageIdIndexMap = imageIds.reduce((acc, imageId) => {
|
|
3138
3148
|
const {
|
|
3139
3149
|
sopInstanceUID
|
|
3140
|
-
} = metadataProvider.get(
|
|
3150
|
+
} = metadataProvider.get('generalImageModule', imageId);
|
|
3141
3151
|
acc[sopInstanceUID] = imageId;
|
|
3142
3152
|
return acc;
|
|
3143
3153
|
}, {});
|
|
3144
|
-
if (orientation !==
|
|
3154
|
+
if (orientation !== 'Planar') {
|
|
3145
3155
|
const orientationText = {
|
|
3146
|
-
Perpendicular:
|
|
3147
|
-
Oblique:
|
|
3156
|
+
Perpendicular: 'orthogonal',
|
|
3157
|
+
Oblique: 'oblique'
|
|
3148
3158
|
};
|
|
3149
|
-
throw new Error(
|
|
3159
|
+
throw new Error("Parametric maps ".concat(orientationText[orientation], " to the acquisition plane of the source data are not yet supported."));
|
|
3150
3160
|
}
|
|
3151
3161
|
const imageIdMaps = imageIds.reduce((acc, curr, index) => {
|
|
3152
3162
|
acc.indices[curr] = index;
|
|
3153
|
-
acc.metadata[curr] = metadataProvider.get(
|
|
3163
|
+
acc.metadata[curr] = metadataProvider.get('instance', curr);
|
|
3154
3164
|
return acc;
|
|
3155
3165
|
}, {
|
|
3156
3166
|
indices: {},
|
|
@@ -3174,12 +3184,12 @@ function ParametricMap_insertPixelDataPlanar(sourcePixelData, multiframe, imageI
|
|
|
3174
3184
|
const sourceSliceDataView = new sourcePixelData.constructor(sourcePixelData.buffer, i * sliceLength, sliceLength);
|
|
3175
3185
|
const imageId = ParametricMap_findReferenceSourceImageId(multiframe, i, imageIds, metadataProvider, tolerance, sopUIDImageIdIndexMap);
|
|
3176
3186
|
if (!imageId) {
|
|
3177
|
-
console.warn("Image not present in stack, can't import frame : " + i +
|
|
3187
|
+
console.warn("Image not present in stack, can't import frame : " + i + '.');
|
|
3178
3188
|
continue;
|
|
3179
3189
|
}
|
|
3180
3190
|
const sourceImageMetadata = imageIdMaps.metadata[imageId];
|
|
3181
3191
|
if (Rows !== sourceImageMetadata.Rows || Columns !== sourceImageMetadata.Columns) {
|
|
3182
|
-
throw new Error(
|
|
3192
|
+
throw new Error('Parametric map have different geometry dimensions (Rows and Columns) ' + 'respect to the source image reference frame. This is not yet supported.');
|
|
3183
3193
|
}
|
|
3184
3194
|
const imageIdIndex = imageIdMaps.indices[imageId];
|
|
3185
3195
|
const byteOffset = sliceLength * imageIdIndex * targetPixelData.BYTES_PER_ELEMENT;
|
|
@@ -3192,8 +3202,9 @@ function getPixelData(multiframe) {
|
|
|
3192
3202
|
let TypedArrayClass;
|
|
3193
3203
|
let data;
|
|
3194
3204
|
if (multiframe.PixelData) {
|
|
3205
|
+
var _multiframe$PixelRepr;
|
|
3195
3206
|
const validTypedArrays = multiframe.BitsAllocated === 16 ? [Uint16Array, Int16Array] : [Uint32Array, Int32Array];
|
|
3196
|
-
TypedArrayClass = validTypedArrays[multiframe.PixelRepresentation
|
|
3207
|
+
TypedArrayClass = validTypedArrays[(_multiframe$PixelRepr = multiframe.PixelRepresentation) !== null && _multiframe$PixelRepr !== void 0 ? _multiframe$PixelRepr : 0];
|
|
3197
3208
|
data = multiframe.PixelData;
|
|
3198
3209
|
} else if (multiframe.FloatPixelData) {
|
|
3199
3210
|
TypedArrayClass = Float32Array;
|
|
@@ -3203,7 +3214,7 @@ function getPixelData(multiframe) {
|
|
|
3203
3214
|
data = multiframe.DoubleFloatPixelData;
|
|
3204
3215
|
}
|
|
3205
3216
|
if (data === undefined) {
|
|
3206
|
-
dcmjs_es/* log */.Rm.error(
|
|
3217
|
+
dcmjs_es/* log */.Rm.error('This parametric map pixel data is undefined.');
|
|
3207
3218
|
}
|
|
3208
3219
|
if (Array.isArray(data)) {
|
|
3209
3220
|
data = data[0];
|
|
@@ -3249,7 +3260,7 @@ function ParametricMap_findReferenceSourceImageId(multiframe, frameSegment, imag
|
|
|
3249
3260
|
}
|
|
3250
3261
|
}
|
|
3251
3262
|
} else if (SourceImageSequence && SourceImageSequence.length !== 0) {
|
|
3252
|
-
console.warn(
|
|
3263
|
+
console.warn('DerivationImageSequence not present, using SourceImageSequence assuming SEG has the same geometry as the source image.');
|
|
3253
3264
|
frameSourceImageSequence = SourceImageSequence[frameSegment];
|
|
3254
3265
|
}
|
|
3255
3266
|
if (frameSourceImageSequence) {
|
|
@@ -3274,7 +3285,7 @@ function ParametricMap_getImageIdOfSourceImagebyGeometry(ReferencedSeriesInstanc
|
|
|
3274
3285
|
return undefined;
|
|
3275
3286
|
}
|
|
3276
3287
|
for (let imageIdsIndex = 0; imageIdsIndex < imageIds.length; ++imageIdsIndex) {
|
|
3277
|
-
const sourceImageMetadata = metadataProvider.get(
|
|
3288
|
+
const sourceImageMetadata = metadataProvider.get('instance', imageIds[imageIdsIndex]);
|
|
3278
3289
|
if (sourceImageMetadata === undefined || sourceImageMetadata.ImagePositionPatient === undefined || sourceImageMetadata.FrameOfReferenceUID !== FrameOfReferenceUID || sourceImageMetadata.SeriesInstanceUID !== ReferencedSeriesInstanceUID) {
|
|
3279
3290
|
continue;
|
|
3280
3291
|
}
|
|
@@ -3288,7 +3299,7 @@ function ParametricMap_getImageIdOfReferencedFrame(sopInstanceUid, frameNumber,
|
|
|
3288
3299
|
if (!imageId) {
|
|
3289
3300
|
return;
|
|
3290
3301
|
}
|
|
3291
|
-
const imageIdFrameNumber = Number(imageId.split(
|
|
3302
|
+
const imageIdFrameNumber = Number(imageId.split('frame=')[1]);
|
|
3292
3303
|
return imageIdFrameNumber === frameNumber - 1 ? imageId : undefined;
|
|
3293
3304
|
}
|
|
3294
3305
|
const ParametricMapObj = {
|
|
@@ -3411,14 +3422,14 @@ function scoordToWorld(_ref, scoord) {
|
|
|
3411
3422
|
;// ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/helpers/toPoint3.js
|
|
3412
3423
|
function toPoint3(flatPoints) {
|
|
3413
3424
|
const points = [];
|
|
3414
|
-
if (!flatPoints
|
|
3425
|
+
if (!(flatPoints !== null && flatPoints !== void 0 && flatPoints.length)) {
|
|
3415
3426
|
return points;
|
|
3416
3427
|
}
|
|
3417
3428
|
const {
|
|
3418
3429
|
length: n
|
|
3419
3430
|
} = flatPoints;
|
|
3420
3431
|
if (n % 3 !== 0) {
|
|
3421
|
-
throw new Error(
|
|
3432
|
+
throw new Error("Points array should be divisible by 3 for SCOORD3D, but contents are: ".concat(JSON.stringify(flatPoints), " of length ").concat(n));
|
|
3422
3433
|
}
|
|
3423
3434
|
for (let i = 0; i < n; i += 3) {
|
|
3424
3435
|
points.push([flatPoints[i], flatPoints[i + 1], flatPoints[i + 2]]);
|
|
@@ -3446,6 +3457,10 @@ const CodingScheme = {
|
|
|
3446
3457
|
|
|
3447
3458
|
|
|
3448
3459
|
;// ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/Cornerstone3D/constants/index.js
|
|
3460
|
+
|
|
3461
|
+
|
|
3462
|
+
function constants_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3463
|
+
function constants_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? constants_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : constants_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3449
3464
|
const NO_IMAGE_ID = 'none';
|
|
3450
3465
|
const CS3D_DESIGNATOR = '99CS3D';
|
|
3451
3466
|
const TEXT_ANNOTATION_POSITION = {
|
|
@@ -3453,6 +3468,16 @@ const TEXT_ANNOTATION_POSITION = {
|
|
|
3453
3468
|
meaning: 'Text Annotation Position',
|
|
3454
3469
|
value: 'TextPosition'
|
|
3455
3470
|
};
|
|
3471
|
+
const CONTROL_POINTS_CODE = {
|
|
3472
|
+
schemeDesignator: CS3D_DESIGNATOR,
|
|
3473
|
+
meaning: 'Control Points',
|
|
3474
|
+
value: 'ControlPoints'
|
|
3475
|
+
};
|
|
3476
|
+
const SPLINE_TYPE_CODE = {
|
|
3477
|
+
schemeDesignator: CS3D_DESIGNATOR,
|
|
3478
|
+
meaning: 'Spline Type',
|
|
3479
|
+
value: 'SplineType'
|
|
3480
|
+
};
|
|
3456
3481
|
const COMMENT_CODE = {
|
|
3457
3482
|
schemeDesignator: 'DCM',
|
|
3458
3483
|
meaning: 'Comment',
|
|
@@ -3484,13 +3509,12 @@ const metaSRAnnotation = {
|
|
|
3484
3509
|
vr: 'SH'
|
|
3485
3510
|
}
|
|
3486
3511
|
};
|
|
3487
|
-
const metaRTSSContour = {
|
|
3488
|
-
...metaSRAnnotation,
|
|
3512
|
+
const metaRTSSContour = constants_objectSpread(constants_objectSpread({}, metaSRAnnotation), {}, {
|
|
3489
3513
|
ImplementationClassUID: {
|
|
3490
3514
|
Value: [ImplementationClassRtssContours],
|
|
3491
3515
|
vr: 'UI'
|
|
3492
3516
|
}
|
|
3493
|
-
};
|
|
3517
|
+
});
|
|
3494
3518
|
|
|
3495
3519
|
|
|
3496
3520
|
|
|
@@ -3551,7 +3575,9 @@ class LabelData {
|
|
|
3551
3575
|
this.ReferencedSOPSequence = tid300Item.ReferencedSOPSequence;
|
|
3552
3576
|
}
|
|
3553
3577
|
contentItem() {
|
|
3578
|
+
var _handles$textBox;
|
|
3554
3579
|
const contentEntries = this.tid300Item.contentItem();
|
|
3580
|
+
this.fixScoordRelationships(contentEntries);
|
|
3555
3581
|
const {
|
|
3556
3582
|
label,
|
|
3557
3583
|
handles
|
|
@@ -3560,11 +3586,29 @@ class LabelData {
|
|
|
3560
3586
|
contentEntries.push(this.createQualitativeLabel(label));
|
|
3561
3587
|
this.filterCornerstoneFreeText(contentEntries);
|
|
3562
3588
|
}
|
|
3563
|
-
if (handles
|
|
3589
|
+
if (handles !== null && handles !== void 0 && (_handles$textBox = handles.textBox) !== null && _handles$textBox !== void 0 && _handles$textBox.hasMoved) {
|
|
3564
3590
|
contentEntries.push(this.createQualitativeLabelPosition(this.annotation));
|
|
3565
3591
|
}
|
|
3566
3592
|
return contentEntries;
|
|
3567
3593
|
}
|
|
3594
|
+
fixScoordRelationships(contentEntries) {
|
|
3595
|
+
const INFERRED_FROM = valueTypes.RelationshipTypes.INFERRED_FROM;
|
|
3596
|
+
for (const entry of contentEntries) {
|
|
3597
|
+
const item = entry;
|
|
3598
|
+
const contentSeq = item.ContentSequence;
|
|
3599
|
+
const children = this.normalizeContentSequence(contentSeq);
|
|
3600
|
+
for (const child of children) {
|
|
3601
|
+
if ((child.ValueType === 'SCOORD' || child.ValueType === 'SCOORD3D') && (child.RelationshipType === 'CONTAINS' || child.RelationshipType === 'Contains')) {
|
|
3602
|
+
child.RelationshipType = INFERRED_FROM;
|
|
3603
|
+
}
|
|
3604
|
+
}
|
|
3605
|
+
}
|
|
3606
|
+
}
|
|
3607
|
+
normalizeContentSequence(contentSeq) {
|
|
3608
|
+
if (!contentSeq) return [];
|
|
3609
|
+
if (Array.isArray(contentSeq)) return contentSeq;
|
|
3610
|
+
return [contentSeq];
|
|
3611
|
+
}
|
|
3568
3612
|
filterCornerstoneFreeText(contentEntries) {
|
|
3569
3613
|
const {
|
|
3570
3614
|
codeValues
|
|
@@ -3650,7 +3694,10 @@ class LabelData {
|
|
|
3650
3694
|
|
|
3651
3695
|
|
|
3652
3696
|
|
|
3697
|
+
|
|
3653
3698
|
var _MeasurementReport;
|
|
3699
|
+
function MeasurementReport_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3700
|
+
function MeasurementReport_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? MeasurementReport_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : MeasurementReport_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3654
3701
|
const {
|
|
3655
3702
|
MetadataModules
|
|
3656
3703
|
} = esm.Enums;
|
|
@@ -3683,6 +3730,10 @@ const COMMENT_POSITION = {
|
|
|
3683
3730
|
CodingSchemeDesignator: TEXT_ANNOTATION_POSITION.schemeDesignator,
|
|
3684
3731
|
CodeValue: TEXT_ANNOTATION_POSITION.value
|
|
3685
3732
|
};
|
|
3733
|
+
const CONTROL_POINTS = {
|
|
3734
|
+
CodingSchemeDesignator: CONTROL_POINTS_CODE.schemeDesignator,
|
|
3735
|
+
CodeValue: CONTROL_POINTS_CODE.value
|
|
3736
|
+
};
|
|
3686
3737
|
const MeasurementReport_FINDING_SITE = {
|
|
3687
3738
|
CodingSchemeDesignator: 'SCT',
|
|
3688
3739
|
CodeValue: '363698007'
|
|
@@ -3691,6 +3742,14 @@ const MeasurementReport_FINDING_SITE_OLD = {
|
|
|
3691
3742
|
CodingSchemeDesignator: 'SRT',
|
|
3692
3743
|
CodeValue: 'G-C0E3'
|
|
3693
3744
|
};
|
|
3745
|
+
function isSecondaryScoordGroup(group) {
|
|
3746
|
+
if (group.ValueType !== 'SCOORD' && group.ValueType !== 'SCOORD3D') {
|
|
3747
|
+
return false;
|
|
3748
|
+
}
|
|
3749
|
+
const conceptNameCodeSequence = group.ConceptNameCodeSequence;
|
|
3750
|
+
const conceptCode = Array.isArray(conceptNameCodeSequence) ? conceptNameCodeSequence[0] : conceptNameCodeSequence;
|
|
3751
|
+
return !!conceptCode && conceptCode.CodingSchemeDesignator === CONTROL_POINTS.CodingSchemeDesignator && conceptCode.CodeValue === CONTROL_POINTS.CodeValue;
|
|
3752
|
+
}
|
|
3694
3753
|
class MeasurementReport_MeasurementReport {
|
|
3695
3754
|
static getTID300ContentItem(tool, ReferencedSOPSequence, toolClass, is3DMeasurement) {
|
|
3696
3755
|
const args = toolClass.getTID300RepresentationArguments(tool, is3DMeasurement);
|
|
@@ -3719,7 +3778,7 @@ class MeasurementReport_MeasurementReport {
|
|
|
3719
3778
|
finding,
|
|
3720
3779
|
commentGroup
|
|
3721
3780
|
} = defaultState;
|
|
3722
|
-
if (commentGroup
|
|
3781
|
+
if (commentGroup !== null && commentGroup !== void 0 && commentGroup.TextValue) {
|
|
3723
3782
|
return commentGroup.TextValue;
|
|
3724
3783
|
}
|
|
3725
3784
|
const cornersoneFreeTextCodingValue = CodingScheme.codeValues.CORNERSTONEFREETEXT;
|
|
@@ -3748,7 +3807,7 @@ class MeasurementReport_MeasurementReport {
|
|
|
3748
3807
|
ReferencedSOPInstanceUID,
|
|
3749
3808
|
ReferencedFrameNumber = 1
|
|
3750
3809
|
} = ReferencedSOPSequence;
|
|
3751
|
-
const referencedImageId = sopInstanceUIDToImageIdMap[
|
|
3810
|
+
const referencedImageId = sopInstanceUIDToImageIdMap["".concat(ReferencedSOPInstanceUID, ":").concat(ReferencedFrameNumber)];
|
|
3752
3811
|
const imagePlaneModule = metadata.get('imagePlaneModule', referencedImageId);
|
|
3753
3812
|
const annotationUID = MeasurementReport_DicomMetaDictionary.uid();
|
|
3754
3813
|
return {
|
|
@@ -3815,6 +3874,7 @@ class MeasurementReport_MeasurementReport {
|
|
|
3815
3874
|
return toolData;
|
|
3816
3875
|
}
|
|
3817
3876
|
static getSpatialCoordinatesState(_ref3) {
|
|
3877
|
+
var _contentSequenceArr$f, _contentSequenceArr$f2;
|
|
3818
3878
|
let {
|
|
3819
3879
|
NUMGroup,
|
|
3820
3880
|
sopInstanceUIDToImageIdMap,
|
|
@@ -3822,8 +3882,8 @@ class MeasurementReport_MeasurementReport {
|
|
|
3822
3882
|
toolType
|
|
3823
3883
|
} = _ref3;
|
|
3824
3884
|
const contentSequenceArr = toArray(NUMGroup.ContentSequence);
|
|
3825
|
-
const SCOORDGroup = contentSequenceArr.find(group => group.ValueType === 'SCOORD');
|
|
3826
|
-
const SCOORD3DGroup = contentSequenceArr.find(group => group.ValueType === 'SCOORD3D');
|
|
3885
|
+
const SCOORDGroup = (_contentSequenceArr$f = contentSequenceArr.find(group => group.ValueType === 'SCOORD' && !isSecondaryScoordGroup(group))) !== null && _contentSequenceArr$f !== void 0 ? _contentSequenceArr$f : contentSequenceArr.find(group => group.ValueType === 'SCOORD');
|
|
3886
|
+
const SCOORD3DGroup = (_contentSequenceArr$f2 = contentSequenceArr.find(group => group.ValueType === 'SCOORD3D' && !isSecondaryScoordGroup(group))) !== null && _contentSequenceArr$f2 !== void 0 ? _contentSequenceArr$f2 : contentSequenceArr.find(group => group.ValueType === 'SCOORD3D');
|
|
3827
3887
|
const result = SCOORD3DGroup && this.processSCOORD3DGroup({
|
|
3828
3888
|
SCOORD3DGroup,
|
|
3829
3889
|
toolType
|
|
@@ -3847,6 +3907,7 @@ class MeasurementReport_MeasurementReport {
|
|
|
3847
3907
|
findingSiteGroups,
|
|
3848
3908
|
commentGroup,
|
|
3849
3909
|
commentPositionGroup,
|
|
3910
|
+
controlPointsGroup,
|
|
3850
3911
|
toolType
|
|
3851
3912
|
} = _ref4;
|
|
3852
3913
|
const {
|
|
@@ -3880,6 +3941,13 @@ class MeasurementReport_MeasurementReport {
|
|
|
3880
3941
|
worldPosition: textBoxCoords[0]
|
|
3881
3942
|
};
|
|
3882
3943
|
}
|
|
3944
|
+
if (controlPointsGroup) {
|
|
3945
|
+
const controlPoints = scoordToWorld({
|
|
3946
|
+
is3DMeasurement: !referencedImageId,
|
|
3947
|
+
referencedImageId
|
|
3948
|
+
}, controlPointsGroup);
|
|
3949
|
+
state.annotation.data.handles.points = controlPoints;
|
|
3950
|
+
}
|
|
3883
3951
|
state.finding = finding;
|
|
3884
3952
|
state.findingSites = findingSites;
|
|
3885
3953
|
state.commentGroup = commentGroup;
|
|
@@ -3911,8 +3979,13 @@ class MeasurementReport_MeasurementReport {
|
|
|
3911
3979
|
const findingGroup = contentSequenceArr.find(group => this.codeValueMatch(group, MeasurementReport_FINDING));
|
|
3912
3980
|
const commentGroup = contentSequenceArr.find(group => this.codeValueMatch(group, COMMENT));
|
|
3913
3981
|
const commentPositionGroup = contentSequenceArr.find(group => this.codeValueMatch(group, COMMENT_POSITION));
|
|
3982
|
+
let controlPointsGroup = contentSequenceArr.find(group => this.codeValueMatch(group, CONTROL_POINTS));
|
|
3983
|
+
const NUMGroupForLookup = contentSequenceArr.find(group => group.ValueType === 'NUM');
|
|
3984
|
+
if (!controlPointsGroup && NUMGroupForLookup !== null && NUMGroupForLookup !== void 0 && NUMGroupForLookup.ContentSequence) {
|
|
3985
|
+
controlPointsGroup = toArray(NUMGroupForLookup.ContentSequence).find(item => this.codeValueMatch(item, CONTROL_POINTS));
|
|
3986
|
+
}
|
|
3914
3987
|
const findingSiteGroups = contentSequenceArr.filter(group => this.codeValueMatch(group, MeasurementReport_FINDING_SITE, MeasurementReport_FINDING_SITE_OLD)) || [];
|
|
3915
|
-
const NUMGroup =
|
|
3988
|
+
const NUMGroup = NUMGroupForLookup || {
|
|
3916
3989
|
ContentSequence: contentSequenceArr.filter(group => group.ValueType === 'SCOORD' || group.ValueType === 'SCOORD3D')
|
|
3917
3990
|
};
|
|
3918
3991
|
const spatialGroup = this.processSpatialCoordinatesGroup({
|
|
@@ -3923,6 +3996,7 @@ class MeasurementReport_MeasurementReport {
|
|
|
3923
3996
|
findingSiteGroups,
|
|
3924
3997
|
commentGroup,
|
|
3925
3998
|
commentPositionGroup,
|
|
3999
|
+
controlPointsGroup,
|
|
3926
4000
|
toolType
|
|
3927
4001
|
});
|
|
3928
4002
|
const {
|
|
@@ -3935,13 +4009,12 @@ class MeasurementReport_MeasurementReport {
|
|
|
3935
4009
|
};
|
|
3936
4010
|
const scoord = spatialGroup.SCOORD3DGroup || spatialGroup.SCOORDGroup;
|
|
3937
4011
|
const worldCoords = scoordToWorld(scoordArgs, scoord);
|
|
3938
|
-
return {
|
|
3939
|
-
...spatialGroup,
|
|
4012
|
+
return MeasurementReport_objectSpread(MeasurementReport_objectSpread({}, spatialGroup), {}, {
|
|
3940
4013
|
is3DMeasurement,
|
|
3941
4014
|
scoordArgs,
|
|
3942
4015
|
scoord,
|
|
3943
4016
|
worldCoords
|
|
3944
|
-
};
|
|
4017
|
+
});
|
|
3945
4018
|
}
|
|
3946
4019
|
static generateReferencedSOPSequence(_ref5) {
|
|
3947
4020
|
let {
|
|
@@ -3982,20 +4055,22 @@ class MeasurementReport_MeasurementReport {
|
|
|
3982
4055
|
return ReferencedSOPSequence;
|
|
3983
4056
|
}
|
|
3984
4057
|
static getImageIdFromVolume(_ref6) {
|
|
4058
|
+
var _toolData$toolTypes$, _referenceToolData$me;
|
|
3985
4059
|
let {
|
|
3986
4060
|
toolData,
|
|
3987
4061
|
toolTypes
|
|
3988
4062
|
} = _ref6;
|
|
3989
|
-
const referenceToolData = toolData
|
|
3990
|
-
const volumeId = referenceToolData
|
|
4063
|
+
const referenceToolData = toolData === null || toolData === void 0 || (_toolData$toolTypes$ = toolData[toolTypes === null || toolTypes === void 0 ? void 0 : toolTypes[0]]) === null || _toolData$toolTypes$ === void 0 || (_toolData$toolTypes$ = _toolData$toolTypes$.data) === null || _toolData$toolTypes$ === void 0 ? void 0 : _toolData$toolTypes$[0];
|
|
4064
|
+
const volumeId = referenceToolData === null || referenceToolData === void 0 || (_referenceToolData$me = referenceToolData.metadata) === null || _referenceToolData$me === void 0 ? void 0 : _referenceToolData$me.volumeId;
|
|
3991
4065
|
const volume = esm.cache.getVolume(volumeId);
|
|
3992
4066
|
if (!volume) {
|
|
3993
|
-
throw new Error(
|
|
4067
|
+
throw new Error("No volume found for ".concat(volumeId));
|
|
3994
4068
|
}
|
|
3995
4069
|
const imageId = volume.imageIds[0];
|
|
3996
4070
|
return imageId;
|
|
3997
4071
|
}
|
|
3998
4072
|
static generateReport(toolState, metadataProvider, options) {
|
|
4073
|
+
var _report$dataset;
|
|
3999
4074
|
let allMeasurementGroups = [];
|
|
4000
4075
|
const sopInstanceUIDsToSeriesInstanceUIDMap = {};
|
|
4001
4076
|
const derivationSourceDatasets = [];
|
|
@@ -4029,21 +4104,20 @@ class MeasurementReport_MeasurementReport {
|
|
|
4029
4104
|
TID1501MeasurementGroups: allMeasurementGroups
|
|
4030
4105
|
}, options);
|
|
4031
4106
|
const report = new MeasurementReport_StructuredReport(derivationSourceDatasets, options);
|
|
4032
|
-
const contentItem = tid1500MeasurementReport.contentItem(derivationSourceDatasets, {
|
|
4033
|
-
...options,
|
|
4107
|
+
const contentItem = tid1500MeasurementReport.contentItem(derivationSourceDatasets, MeasurementReport_objectSpread(MeasurementReport_objectSpread({}, options), {}, {
|
|
4034
4108
|
sopInstanceUIDsToSeriesInstanceUIDMap
|
|
4035
|
-
});
|
|
4109
|
+
}));
|
|
4036
4110
|
report.dataset = Object.assign(report.dataset, contentItem);
|
|
4037
4111
|
report.dataset._meta = _meta;
|
|
4038
4112
|
report.SpecificCharacterSet = 'ISO_IR 192';
|
|
4039
|
-
report.dataset.InstanceNumber
|
|
4113
|
+
(_report$dataset = report.dataset).InstanceNumber || (_report$dataset.InstanceNumber = options.InstanceNumber || 1);
|
|
4040
4114
|
if (options.predecessorImageId) {
|
|
4041
4115
|
Object.assign(report.dataset, metadataProvider.get(MetadataModules.PREDECESSOR_SEQUENCE, options.predecessorImageId));
|
|
4042
4116
|
}
|
|
4043
4117
|
if (is3DSR) {
|
|
4044
4118
|
report.dataset.SOPClassUID = MeasurementReport_DicomMetaDictionary.sopClassUIDsByName.Comprehensive3DSR;
|
|
4045
4119
|
if (!report.dataset.SOPClassUID) {
|
|
4046
|
-
throw new Error(
|
|
4120
|
+
throw new Error("NO sop class defined for Comprehensive3DSR in ".concat(JSON.stringify(MeasurementReport_DicomMetaDictionary.sopClassUIDsByName)));
|
|
4047
4121
|
}
|
|
4048
4122
|
}
|
|
4049
4123
|
return report;
|
|
@@ -4064,21 +4138,23 @@ class MeasurementReport_MeasurementReport {
|
|
|
4064
4138
|
const measurementData = {};
|
|
4065
4139
|
measurementGroups.forEach(measurementGroup => {
|
|
4066
4140
|
try {
|
|
4141
|
+
var _hooks$getToolClass;
|
|
4067
4142
|
const measurementGroupContentSequence = toArray(measurementGroup.ContentSequence);
|
|
4068
4143
|
const trackingIdentifierGroup = measurementGroupContentSequence.find(contentItem => contentItem.ConceptNameCodeSequence.CodeMeaning === TRACKING_IDENTIFIER);
|
|
4069
4144
|
const {
|
|
4070
4145
|
TextValue: trackingIdentifierValue
|
|
4071
4146
|
} = trackingIdentifierGroup;
|
|
4072
4147
|
const trackingUniqueIdentifierGroup = measurementGroupContentSequence.find(contentItem => contentItem.ConceptNameCodeSequence.CodeMeaning === TRACKING_UNIQUE_IDENTIFIER);
|
|
4073
|
-
const trackingUniqueIdentifierValue = trackingUniqueIdentifierGroup
|
|
4074
|
-
const toolAdapter = hooks
|
|
4148
|
+
const trackingUniqueIdentifierValue = trackingUniqueIdentifierGroup === null || trackingUniqueIdentifierGroup === void 0 ? void 0 : trackingUniqueIdentifierGroup.UID;
|
|
4149
|
+
const toolAdapter = (hooks === null || hooks === void 0 || (_hooks$getToolClass = hooks.getToolClass) === null || _hooks$getToolClass === void 0 ? void 0 : _hooks$getToolClass.call(hooks, measurementGroup, dataset, this.measurementAdapterByToolType)) || this.getAdapterForTrackingIdentifier(trackingIdentifierValue) || this.getAdapterForCodeType(measurementGroup);
|
|
4075
4150
|
if (toolAdapter) {
|
|
4151
|
+
var _toolAdapter$toolType;
|
|
4076
4152
|
const measurement = toolAdapter.getMeasurementData(measurementGroup, sopInstanceUIDToImageIdMap, metadata, trackingIdentifierValue);
|
|
4077
4153
|
measurement.TrackingUniqueIdentifier = trackingUniqueIdentifierValue;
|
|
4078
4154
|
measurement.predecessorImageId = predecessorImageId;
|
|
4079
|
-
console.log(
|
|
4155
|
+
console.log("=== ".concat(toolAdapter.toolType, " ==="));
|
|
4080
4156
|
console.log(measurement);
|
|
4081
|
-
measurementData[toolAdapter.toolType]
|
|
4157
|
+
measurementData[_toolAdapter$toolType = toolAdapter.toolType] || (measurementData[_toolAdapter$toolType] = []);
|
|
4082
4158
|
measurementData[toolAdapter.toolType].push(measurement);
|
|
4083
4159
|
}
|
|
4084
4160
|
} catch (e) {
|
|
@@ -4092,7 +4168,7 @@ class MeasurementReport_MeasurementReport {
|
|
|
4092
4168
|
const registerName = toolAdapter.toolType;
|
|
4093
4169
|
if (this.measurementAdapterByToolType.has(registerName)) {
|
|
4094
4170
|
if (!replace) {
|
|
4095
|
-
throw new Error(
|
|
4171
|
+
throw new Error("The registered tool name ".concat(registerName, " already exists in adapters, use a different toolType or use replace"));
|
|
4096
4172
|
}
|
|
4097
4173
|
if (typeof replace === 'function') {
|
|
4098
4174
|
replace(this.measurementAdapterByToolType.get(registerName));
|
|
@@ -4144,8 +4220,8 @@ class MeasurementReport_MeasurementReport {
|
|
|
4144
4220
|
}
|
|
4145
4221
|
static getAdaptersForTypes(graphicCode, graphicType, pointCount) {
|
|
4146
4222
|
const adapters = [];
|
|
4147
|
-
appendList(adapters, this.measurementAdaptersByType.get(
|
|
4148
|
-
appendList(adapters, this.measurementAdaptersByType.get(
|
|
4223
|
+
appendList(adapters, this.measurementAdaptersByType.get("".concat(graphicCode, "-").concat(graphicType, "-").concat(pointCount)));
|
|
4224
|
+
appendList(adapters, this.measurementAdaptersByType.get("".concat(graphicCode, "-").concat(graphicType)));
|
|
4149
4225
|
appendList(adapters, this.measurementAdaptersByType.get(graphicCode));
|
|
4150
4226
|
appendList(adapters, this.measurementAdaptersByType.get(graphicType));
|
|
4151
4227
|
return adapters;
|
|
@@ -4163,22 +4239,23 @@ _MeasurementReport.codeValueMatch = (group, code, oldCode) => {
|
|
|
4163
4239
|
if (!ConceptNameCodeSequence) {
|
|
4164
4240
|
return;
|
|
4165
4241
|
}
|
|
4242
|
+
const seq = Array.isArray(ConceptNameCodeSequence) ? ConceptNameCodeSequence[0] : ConceptNameCodeSequence;
|
|
4243
|
+
if (!seq) {
|
|
4244
|
+
return;
|
|
4245
|
+
}
|
|
4166
4246
|
const {
|
|
4167
4247
|
CodingSchemeDesignator,
|
|
4168
4248
|
CodeValue
|
|
4169
|
-
} =
|
|
4249
|
+
} = seq;
|
|
4170
4250
|
return CodingSchemeDesignator == code.CodingSchemeDesignator && CodeValue == code.CodeValue || oldCode && CodingSchemeDesignator == oldCode.CodingSchemeDesignator && CodeValue == oldCode.CodeValue;
|
|
4171
4251
|
};
|
|
4172
4252
|
_MeasurementReport.generateDerivationSourceDataset = instance => {
|
|
4173
4253
|
const studyTags = copyStudyTags(instance);
|
|
4174
4254
|
const seriesTags = copySeriesTags(instance);
|
|
4175
|
-
return {
|
|
4176
|
-
...studyTags,
|
|
4177
|
-
...seriesTags
|
|
4178
|
-
};
|
|
4255
|
+
return MeasurementReport_objectSpread(MeasurementReport_objectSpread({}, studyTags), seriesTags);
|
|
4179
4256
|
};
|
|
4180
4257
|
function appendList(list, appendList) {
|
|
4181
|
-
if (!appendList
|
|
4258
|
+
if (!(appendList !== null && appendList !== void 0 && appendList.length)) {
|
|
4182
4259
|
return;
|
|
4183
4260
|
}
|
|
4184
4261
|
list.push(...appendList);
|
|
@@ -4195,25 +4272,25 @@ function appendList(list, appendList) {
|
|
|
4195
4272
|
|
|
4196
4273
|
class BaseAdapter3D {
|
|
4197
4274
|
static registerType() {
|
|
4198
|
-
let code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
|
|
4199
|
-
let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
|
|
4275
|
+
let code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
4276
|
+
let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
4200
4277
|
let count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
4201
4278
|
let key = code;
|
|
4202
4279
|
if (type) {
|
|
4203
|
-
key =
|
|
4280
|
+
key = "".concat(key).concat(key.length ? '-' : '').concat(type);
|
|
4204
4281
|
}
|
|
4205
4282
|
if (count) {
|
|
4206
|
-
key =
|
|
4283
|
+
key = "".concat(key).concat(key.length ? '-' : '').concat(count);
|
|
4207
4284
|
}
|
|
4208
4285
|
MeasurementReport_MeasurementReport.registerAdapterTypes(this, key);
|
|
4209
4286
|
}
|
|
4210
4287
|
static getPointsCount(graphicItem) {
|
|
4211
|
-
const is3DMeasurement = graphicItem.ValueType ===
|
|
4288
|
+
const is3DMeasurement = graphicItem.ValueType === 'SCOORD3D';
|
|
4212
4289
|
const pointSize = is3DMeasurement ? 3 : 2;
|
|
4213
4290
|
return graphicItem.GraphicData.length / pointSize;
|
|
4214
4291
|
}
|
|
4215
4292
|
static getGraphicItems(measurementGroup, filter) {
|
|
4216
|
-
const items = measurementGroup.ContentSequence.filter(group => group.ValueType ===
|
|
4293
|
+
const items = measurementGroup.ContentSequence.filter(group => group.ValueType === 'SCOORD' || group.ValueType === 'SCOORD3D');
|
|
4217
4294
|
return filter ? items.filter(filter) : items;
|
|
4218
4295
|
}
|
|
4219
4296
|
static getGraphicItem(measurementGroup) {
|
|
@@ -4230,7 +4307,7 @@ class BaseAdapter3D {
|
|
|
4230
4307
|
CodeValue: graphicValue,
|
|
4231
4308
|
CodingSchemeDesignator: graphicDesignator
|
|
4232
4309
|
} = conceptNameItem;
|
|
4233
|
-
return
|
|
4310
|
+
return "".concat(graphicDesignator, ":").concat(graphicValue);
|
|
4234
4311
|
}
|
|
4235
4312
|
static getGraphicType(graphicItem) {
|
|
4236
4313
|
return graphicItem.GraphicType;
|
|
@@ -4241,23 +4318,23 @@ class BaseAdapter3D {
|
|
|
4241
4318
|
static init(toolType, representation, options) {
|
|
4242
4319
|
this.toolType = toolType;
|
|
4243
4320
|
if (BaseAdapter3D.toolType) {
|
|
4244
|
-
throw new Error(
|
|
4321
|
+
throw new Error("Base adapter tool type set to ".concat(this.toolType, " while setting ").concat(toolType));
|
|
4245
4322
|
}
|
|
4246
|
-
this.parentType = options
|
|
4323
|
+
this.parentType = options === null || options === void 0 ? void 0 : options.parentType;
|
|
4247
4324
|
this.trackingIdentifiers = new Set();
|
|
4248
4325
|
this.TID300Representation = representation;
|
|
4249
4326
|
if (this.parentType) {
|
|
4250
|
-
this.trackingIdentifierTextValue =
|
|
4251
|
-
const alternateTrackingIdentifier =
|
|
4327
|
+
this.trackingIdentifierTextValue = "".concat(CORNERSTONE_3D_TAG, ":").concat(this.parentType, ":").concat(this.toolType);
|
|
4328
|
+
const alternateTrackingIdentifier = "".concat(CORNERSTONE_3D_TAG, ":").concat(this.toolType);
|
|
4252
4329
|
this.trackingIdentifiers.add(alternateTrackingIdentifier);
|
|
4253
4330
|
} else {
|
|
4254
|
-
this.trackingIdentifierTextValue =
|
|
4331
|
+
this.trackingIdentifierTextValue = "".concat(CORNERSTONE_3D_TAG, ":").concat(toolType);
|
|
4255
4332
|
}
|
|
4256
4333
|
this.trackingIdentifiers.add(this.trackingIdentifierTextValue);
|
|
4257
4334
|
MeasurementReport_MeasurementReport.registerTool(this);
|
|
4258
4335
|
}
|
|
4259
4336
|
static registerLegacy() {
|
|
4260
|
-
this.trackingIdentifiers.add(
|
|
4337
|
+
this.trackingIdentifiers.add("cornerstoneTools@^4.0.0:".concat(this.toolType));
|
|
4261
4338
|
}
|
|
4262
4339
|
static registerSubType(adapter, toolType, replace) {
|
|
4263
4340
|
const subAdapter = Object.create(adapter);
|
|
@@ -4271,7 +4348,7 @@ class BaseAdapter3D {
|
|
|
4271
4348
|
if (this.trackingIdentifiers.has(trackingIdentifier)) {
|
|
4272
4349
|
return true;
|
|
4273
4350
|
}
|
|
4274
|
-
if (!trackingIdentifier.includes(
|
|
4351
|
+
if (!trackingIdentifier.includes(':')) {
|
|
4275
4352
|
return false;
|
|
4276
4353
|
}
|
|
4277
4354
|
return trackingIdentifier.startsWith(this.trackingIdentifierTextValue);
|
|
@@ -4284,7 +4361,7 @@ class BaseAdapter3D {
|
|
|
4284
4361
|
state.annotation.data = {
|
|
4285
4362
|
cachedStats: {},
|
|
4286
4363
|
frameNumber: ReferencedFrameNumber,
|
|
4287
|
-
seriesLevel: trackingIdentifier
|
|
4364
|
+
seriesLevel: (trackingIdentifier === null || trackingIdentifier === void 0 ? void 0 : trackingIdentifier.indexOf(':Series')) > 0
|
|
4288
4365
|
};
|
|
4289
4366
|
return state;
|
|
4290
4367
|
}
|
|
@@ -4325,7 +4402,10 @@ class BaseAdapter3D {
|
|
|
4325
4402
|
|
|
4326
4403
|
|
|
4327
4404
|
|
|
4405
|
+
|
|
4328
4406
|
var _ArrowAnnotate;
|
|
4407
|
+
function Cornerstone3D_ArrowAnnotate_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4408
|
+
function Cornerstone3D_ArrowAnnotate_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Cornerstone3D_ArrowAnnotate_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Cornerstone3D_ArrowAnnotate_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4329
4409
|
const {
|
|
4330
4410
|
ArrowAnnotate: TID300ArrowAnnotate
|
|
4331
4411
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -4343,7 +4423,7 @@ class ArrowAnnotate_ArrowAnnotate extends BaseAdapter3D {
|
|
|
4343
4423
|
} = MeasurementReport_MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, this.toolType);
|
|
4344
4424
|
const text = state.annotation.data.label;
|
|
4345
4425
|
if (worldCoords.length === 1 && SCOORDGroup) {
|
|
4346
|
-
const imagePixelModule = metadata.get(
|
|
4426
|
+
const imagePixelModule = metadata.get('imagePixelModule', referencedImageId);
|
|
4347
4427
|
let xOffset = 10;
|
|
4348
4428
|
let yOffset = 10;
|
|
4349
4429
|
if (imagePixelModule) {
|
|
@@ -4360,16 +4440,14 @@ class ArrowAnnotate_ArrowAnnotate extends BaseAdapter3D {
|
|
|
4360
4440
|
const secondPoint = ArrowAnnotate_imageToWorldCoords(referencedImageId, [GraphicData[0] + xOffset, GraphicData[1] + yOffset]);
|
|
4361
4441
|
worldCoords.push(secondPoint);
|
|
4362
4442
|
}
|
|
4363
|
-
state.annotation.data = {
|
|
4364
|
-
...state.annotation.data,
|
|
4443
|
+
state.annotation.data = Cornerstone3D_ArrowAnnotate_objectSpread(Cornerstone3D_ArrowAnnotate_objectSpread({}, state.annotation.data), {}, {
|
|
4365
4444
|
text,
|
|
4366
|
-
handles: {
|
|
4367
|
-
...state.annotation.data.handles,
|
|
4445
|
+
handles: Cornerstone3D_ArrowAnnotate_objectSpread(Cornerstone3D_ArrowAnnotate_objectSpread({}, state.annotation.data.handles), {}, {
|
|
4368
4446
|
arrowFirst: true,
|
|
4369
4447
|
points: worldCoords
|
|
4370
|
-
},
|
|
4448
|
+
}),
|
|
4371
4449
|
frameNumber: ReferencedFrameNumber
|
|
4372
|
-
};
|
|
4450
|
+
});
|
|
4373
4451
|
return state;
|
|
4374
4452
|
}
|
|
4375
4453
|
static getTID300RepresentationArguments(tool) {
|
|
@@ -4410,7 +4488,7 @@ class ArrowAnnotate_ArrowAnnotate extends BaseAdapter3D {
|
|
|
4410
4488
|
}
|
|
4411
4489
|
_ArrowAnnotate = ArrowAnnotate_ArrowAnnotate;
|
|
4412
4490
|
(() => {
|
|
4413
|
-
_ArrowAnnotate.init(
|
|
4491
|
+
_ArrowAnnotate.init('ArrowAnnotate', TID300ArrowAnnotate);
|
|
4414
4492
|
_ArrowAnnotate.registerLegacy();
|
|
4415
4493
|
})();
|
|
4416
4494
|
|
|
@@ -4424,12 +4502,15 @@ _ArrowAnnotate = ArrowAnnotate_ArrowAnnotate;
|
|
|
4424
4502
|
|
|
4425
4503
|
|
|
4426
4504
|
|
|
4505
|
+
|
|
4427
4506
|
var _Bidirectional;
|
|
4507
|
+
function Bidirectional_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4508
|
+
function Bidirectional_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Bidirectional_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Bidirectional_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4428
4509
|
const {
|
|
4429
4510
|
Bidirectional: Bidirectional_TID300Bidirectional
|
|
4430
4511
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
4431
|
-
const Bidirectional_LONG_AXIS =
|
|
4432
|
-
const Bidirectional_SHORT_AXIS =
|
|
4512
|
+
const Bidirectional_LONG_AXIS = 'Long Axis';
|
|
4513
|
+
const Bidirectional_SHORT_AXIS = 'Short Axis';
|
|
4433
4514
|
class Bidirectional_Bidirectional extends BaseAdapter3D {
|
|
4434
4515
|
static getMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata) {
|
|
4435
4516
|
const {
|
|
@@ -4443,22 +4524,20 @@ class Bidirectional_Bidirectional extends BaseAdapter3D {
|
|
|
4443
4524
|
} = MeasurementGroup;
|
|
4444
4525
|
const longAxisNUMGroup = toArray(ContentSequence).find(group => group.ConceptNameCodeSequence.CodeMeaning === Bidirectional_LONG_AXIS);
|
|
4445
4526
|
const shortAxisNUMGroup = toArray(ContentSequence).find(group => group.ConceptNameCodeSequence.CodeMeaning === Bidirectional_SHORT_AXIS);
|
|
4446
|
-
const longAxisScoordGroup = toArray(longAxisNUMGroup.ContentSequence).find(group => group.ValueType ===
|
|
4447
|
-
const shortAxisScoordGroup = toArray(shortAxisNUMGroup.ContentSequence).find(group => group.ValueType ===
|
|
4527
|
+
const longAxisScoordGroup = toArray(longAxisNUMGroup.ContentSequence).find(group => group.ValueType === 'SCOORD3D' || group.ValueType === 'SCOORD');
|
|
4528
|
+
const shortAxisScoordGroup = toArray(shortAxisNUMGroup.ContentSequence).find(group => group.ValueType === 'SCOORD3D' || group.ValueType === 'SCOORD');
|
|
4448
4529
|
const worldCoords = [];
|
|
4449
4530
|
worldCoords.push(...scoordToWorld(scoordArgs, longAxisScoordGroup));
|
|
4450
4531
|
worldCoords.push(...scoordToWorld(scoordArgs, shortAxisScoordGroup));
|
|
4451
|
-
state.annotation.data = {
|
|
4452
|
-
|
|
4453
|
-
handles: {
|
|
4454
|
-
...state.annotation.data.handles,
|
|
4532
|
+
state.annotation.data = Bidirectional_objectSpread(Bidirectional_objectSpread({}, state.annotation.data), {}, {
|
|
4533
|
+
handles: Bidirectional_objectSpread(Bidirectional_objectSpread({}, state.annotation.data.handles), {}, {
|
|
4455
4534
|
points: [worldCoords[0], worldCoords[1], worldCoords[2], worldCoords[3]]
|
|
4456
|
-
},
|
|
4535
|
+
}),
|
|
4457
4536
|
frameNumber: ReferencedFrameNumber
|
|
4458
|
-
};
|
|
4537
|
+
});
|
|
4459
4538
|
if (referencedImageId) {
|
|
4460
4539
|
state.annotation.data.cachedStats = {
|
|
4461
|
-
[
|
|
4540
|
+
["imageId:".concat(referencedImageId)]: {
|
|
4462
4541
|
length: longAxisNUMGroup.MeasuredValueSequence.NumericValue,
|
|
4463
4542
|
width: shortAxisNUMGroup.MeasuredValueSequence.NumericValue,
|
|
4464
4543
|
unit: longAxisNUMGroup.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue,
|
|
@@ -4511,7 +4590,7 @@ class Bidirectional_Bidirectional extends BaseAdapter3D {
|
|
|
4511
4590
|
length,
|
|
4512
4591
|
width,
|
|
4513
4592
|
unit
|
|
4514
|
-
} = cachedStats[
|
|
4593
|
+
} = cachedStats["imageId:".concat(referencedImageId)] || {};
|
|
4515
4594
|
return {
|
|
4516
4595
|
longAxis: {
|
|
4517
4596
|
point1: longAxisStartImage,
|
|
@@ -4534,7 +4613,7 @@ class Bidirectional_Bidirectional extends BaseAdapter3D {
|
|
|
4534
4613
|
}
|
|
4535
4614
|
_Bidirectional = Bidirectional_Bidirectional;
|
|
4536
4615
|
(() => {
|
|
4537
|
-
_Bidirectional.init(
|
|
4616
|
+
_Bidirectional.init('Bidirectional', Bidirectional_TID300Bidirectional);
|
|
4538
4617
|
_Bidirectional.registerLegacy();
|
|
4539
4618
|
})();
|
|
4540
4619
|
|
|
@@ -4547,7 +4626,10 @@ _Bidirectional = Bidirectional_Bidirectional;
|
|
|
4547
4626
|
|
|
4548
4627
|
|
|
4549
4628
|
|
|
4629
|
+
|
|
4550
4630
|
var _Angle;
|
|
4631
|
+
function Cornerstone3D_Angle_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4632
|
+
function Cornerstone3D_Angle_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Cornerstone3D_Angle_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Cornerstone3D_Angle_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4551
4633
|
const {
|
|
4552
4634
|
CobbAngle: Angle_TID300CobbAngle
|
|
4553
4635
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -4561,22 +4643,21 @@ class Angle_Angle extends BaseAdapter3D {
|
|
|
4561
4643
|
ReferencedFrameNumber
|
|
4562
4644
|
} = MeasurementReport_MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, this.toolType);
|
|
4563
4645
|
const cachedStats = referencedImageId ? {
|
|
4564
|
-
[
|
|
4646
|
+
["imageId:".concat(referencedImageId)]: {
|
|
4565
4647
|
angle: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : null
|
|
4566
4648
|
}
|
|
4567
4649
|
} : {};
|
|
4568
|
-
state.annotation.data = {
|
|
4569
|
-
|
|
4570
|
-
handles: {
|
|
4571
|
-
...state.annotation.data.handles,
|
|
4650
|
+
state.annotation.data = Cornerstone3D_Angle_objectSpread(Cornerstone3D_Angle_objectSpread({}, state.annotation.data), {}, {
|
|
4651
|
+
handles: Cornerstone3D_Angle_objectSpread(Cornerstone3D_Angle_objectSpread({}, state.annotation.data.handles), {}, {
|
|
4572
4652
|
points: [worldCoords[0], worldCoords[1], worldCoords[3]]
|
|
4573
|
-
},
|
|
4653
|
+
}),
|
|
4574
4654
|
cachedStats,
|
|
4575
4655
|
frameNumber: ReferencedFrameNumber
|
|
4576
|
-
};
|
|
4656
|
+
});
|
|
4577
4657
|
return state;
|
|
4578
4658
|
}
|
|
4579
4659
|
static getTID300RepresentationArguments(tool) {
|
|
4660
|
+
var _cachedStats;
|
|
4580
4661
|
let is3DMeasurement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4581
4662
|
const {
|
|
4582
4663
|
data,
|
|
@@ -4599,7 +4680,7 @@ class Angle_Angle extends BaseAdapter3D {
|
|
|
4599
4680
|
const point2 = toScoord(scoordProps, handles.points[1]);
|
|
4600
4681
|
const point3 = toScoord(scoordProps, handles.points[1]);
|
|
4601
4682
|
const point4 = toScoord(scoordProps, handles.points[2]);
|
|
4602
|
-
const angle = cachedStats[
|
|
4683
|
+
const angle = (_cachedStats = cachedStats["imageId:".concat(referencedImageId)]) === null || _cachedStats === void 0 ? void 0 : _cachedStats.angle;
|
|
4603
4684
|
return {
|
|
4604
4685
|
point1,
|
|
4605
4686
|
point2,
|
|
@@ -4616,7 +4697,7 @@ class Angle_Angle extends BaseAdapter3D {
|
|
|
4616
4697
|
}
|
|
4617
4698
|
_Angle = Angle_Angle;
|
|
4618
4699
|
(() => {
|
|
4619
|
-
_Angle.init(
|
|
4700
|
+
_Angle.init('Angle', Angle_TID300CobbAngle);
|
|
4620
4701
|
_Angle.registerLegacy();
|
|
4621
4702
|
})();
|
|
4622
4703
|
|
|
@@ -4629,7 +4710,10 @@ _Angle = Angle_Angle;
|
|
|
4629
4710
|
|
|
4630
4711
|
|
|
4631
4712
|
|
|
4713
|
+
|
|
4632
4714
|
var _CobbAngle;
|
|
4715
|
+
function Cornerstone3D_CobbAngle_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4716
|
+
function Cornerstone3D_CobbAngle_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Cornerstone3D_CobbAngle_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Cornerstone3D_CobbAngle_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4633
4717
|
const {
|
|
4634
4718
|
CobbAngle: CobbAngle_TID300CobbAngle
|
|
4635
4719
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -4642,17 +4726,15 @@ class CobbAngle_CobbAngle extends BaseAdapter3D {
|
|
|
4642
4726
|
worldCoords,
|
|
4643
4727
|
ReferencedFrameNumber
|
|
4644
4728
|
} = MeasurementReport_MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, CobbAngle_CobbAngle.toolType);
|
|
4645
|
-
state.annotation.data = {
|
|
4646
|
-
|
|
4647
|
-
handles: {
|
|
4648
|
-
...state.annotation.data.handles,
|
|
4729
|
+
state.annotation.data = Cornerstone3D_CobbAngle_objectSpread(Cornerstone3D_CobbAngle_objectSpread({}, state.annotation.data), {}, {
|
|
4730
|
+
handles: Cornerstone3D_CobbAngle_objectSpread(Cornerstone3D_CobbAngle_objectSpread({}, state.annotation.data.handles), {}, {
|
|
4649
4731
|
points: [worldCoords[0], worldCoords[1], worldCoords[2], worldCoords[3]]
|
|
4650
|
-
},
|
|
4732
|
+
}),
|
|
4651
4733
|
frameNumber: ReferencedFrameNumber
|
|
4652
|
-
};
|
|
4734
|
+
});
|
|
4653
4735
|
if (referencedImageId) {
|
|
4654
4736
|
state.annotation.data.cachedStats = {
|
|
4655
|
-
[
|
|
4737
|
+
["imageId:".concat(referencedImageId)]: {
|
|
4656
4738
|
angle: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : null
|
|
4657
4739
|
}
|
|
4658
4740
|
};
|
|
@@ -4682,7 +4764,7 @@ class CobbAngle_CobbAngle extends BaseAdapter3D {
|
|
|
4682
4764
|
const [point1, point2, point3, point4] = points;
|
|
4683
4765
|
const {
|
|
4684
4766
|
angle
|
|
4685
|
-
} = cachedStats[
|
|
4767
|
+
} = cachedStats["imageId:".concat(referencedImageId)] || {};
|
|
4686
4768
|
return {
|
|
4687
4769
|
point1,
|
|
4688
4770
|
point2,
|
|
@@ -4699,7 +4781,7 @@ class CobbAngle_CobbAngle extends BaseAdapter3D {
|
|
|
4699
4781
|
}
|
|
4700
4782
|
_CobbAngle = CobbAngle_CobbAngle;
|
|
4701
4783
|
(() => {
|
|
4702
|
-
_CobbAngle.init(
|
|
4784
|
+
_CobbAngle.init('CobbAngle', CobbAngle_TID300CobbAngle);
|
|
4703
4785
|
_CobbAngle.registerLegacy();
|
|
4704
4786
|
})();
|
|
4705
4787
|
|
|
@@ -4710,17 +4792,18 @@ function extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID) {
|
|
|
4710
4792
|
const numGroupsBySOPInstanceUID = {};
|
|
4711
4793
|
if (MeasurementGroup.ContentSequence) {
|
|
4712
4794
|
MeasurementGroup.ContentSequence.forEach(item => {
|
|
4713
|
-
if (item.ValueType ===
|
|
4795
|
+
if (item.ValueType === 'NUM' && item.ConceptNameCodeSequence) {
|
|
4796
|
+
var _item$MeasuredValueSe, _item$MeasuredValueSe2;
|
|
4714
4797
|
const codeMeaning = item.ConceptNameCodeSequence.CodeMeaning;
|
|
4715
|
-
const numericValue = item.MeasuredValueSequence
|
|
4716
|
-
const unitCode = item.MeasuredValueSequence
|
|
4798
|
+
const numericValue = (_item$MeasuredValueSe = item.MeasuredValueSequence) === null || _item$MeasuredValueSe === void 0 ? void 0 : _item$MeasuredValueSe.NumericValue;
|
|
4799
|
+
const unitCode = (_item$MeasuredValueSe2 = item.MeasuredValueSequence) === null || _item$MeasuredValueSe2 === void 0 || (_item$MeasuredValueSe2 = _item$MeasuredValueSe2.MeasurementUnitsCodeSequence) === null || _item$MeasuredValueSe2 === void 0 ? void 0 : _item$MeasuredValueSe2.CodeValue;
|
|
4717
4800
|
if (numericValue !== undefined && referencedSOPInstanceUID) {
|
|
4718
4801
|
if (!numGroupsBySOPInstanceUID[referencedSOPInstanceUID]) {
|
|
4719
4802
|
numGroupsBySOPInstanceUID[referencedSOPInstanceUID] = {};
|
|
4720
4803
|
}
|
|
4721
4804
|
numGroupsBySOPInstanceUID[referencedSOPInstanceUID][codeMeaning] = {
|
|
4722
4805
|
value: numericValue,
|
|
4723
|
-
unit: unitCode ||
|
|
4806
|
+
unit: unitCode || ''
|
|
4724
4807
|
};
|
|
4725
4808
|
}
|
|
4726
4809
|
}
|
|
@@ -4730,22 +4813,22 @@ function extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID) {
|
|
|
4730
4813
|
}
|
|
4731
4814
|
function restoreAdditionalMetrics(numGroups) {
|
|
4732
4815
|
const additionalMetrics = {};
|
|
4733
|
-
let modalityUnit =
|
|
4816
|
+
let modalityUnit = '';
|
|
4734
4817
|
const metricMapping = {
|
|
4735
|
-
Mean:
|
|
4736
|
-
|
|
4737
|
-
Maximum:
|
|
4738
|
-
Minimum:
|
|
4739
|
-
Area:
|
|
4740
|
-
Radius:
|
|
4741
|
-
Perimeter:
|
|
4742
|
-
Length:
|
|
4743
|
-
Width:
|
|
4818
|
+
Mean: 'mean',
|
|
4819
|
+
'Standard Deviation': 'stdDev',
|
|
4820
|
+
Maximum: 'max',
|
|
4821
|
+
Minimum: 'min',
|
|
4822
|
+
Area: 'area',
|
|
4823
|
+
Radius: 'radius',
|
|
4824
|
+
Perimeter: 'perimeter',
|
|
4825
|
+
Length: 'length',
|
|
4826
|
+
Width: 'width'
|
|
4744
4827
|
};
|
|
4745
4828
|
const unitCategory = {
|
|
4746
|
-
area:
|
|
4747
|
-
radius:
|
|
4748
|
-
width:
|
|
4829
|
+
area: 'areaUnit',
|
|
4830
|
+
radius: 'radiusUnit',
|
|
4831
|
+
width: 'widthUnit'
|
|
4749
4832
|
};
|
|
4750
4833
|
for (const [codeMeaning, metricKey] of Object.entries(metricMapping)) {
|
|
4751
4834
|
const group = numGroups[codeMeaning];
|
|
@@ -4772,7 +4855,7 @@ function restoreAdditionalMetrics(numGroups) {
|
|
|
4772
4855
|
additionalMetrics[category] = unit;
|
|
4773
4856
|
}
|
|
4774
4857
|
} else {
|
|
4775
|
-
additionalMetrics[
|
|
4858
|
+
additionalMetrics["".concat(metricKey, "Unit")] = unit;
|
|
4776
4859
|
}
|
|
4777
4860
|
}
|
|
4778
4861
|
additionalMetrics.modalityUnit = modalityUnit;
|
|
@@ -4789,7 +4872,10 @@ function restoreAdditionalMetrics(numGroups) {
|
|
|
4789
4872
|
|
|
4790
4873
|
|
|
4791
4874
|
|
|
4875
|
+
|
|
4792
4876
|
var _CircleROI;
|
|
4877
|
+
function CircleROI_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4878
|
+
function CircleROI_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? CircleROI_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : CircleROI_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4793
4879
|
const {
|
|
4794
4880
|
Circle: CircleROI_TID300Circle
|
|
4795
4881
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -4805,22 +4891,19 @@ class CircleROI extends BaseAdapter3D {
|
|
|
4805
4891
|
const referencedSOPInstanceUID = state.sopInstanceUid;
|
|
4806
4892
|
const allNUMGroups = extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID);
|
|
4807
4893
|
const measurementNUMGroups = allNUMGroups[referencedSOPInstanceUID] || {};
|
|
4808
|
-
state.annotation.data = {
|
|
4809
|
-
|
|
4810
|
-
handles: {
|
|
4811
|
-
...state.annotation.data.handles,
|
|
4894
|
+
state.annotation.data = CircleROI_objectSpread(CircleROI_objectSpread({}, state.annotation.data), {}, {
|
|
4895
|
+
handles: CircleROI_objectSpread(CircleROI_objectSpread({}, state.annotation.data.handles), {}, {
|
|
4812
4896
|
points: worldCoords
|
|
4813
|
-
},
|
|
4897
|
+
}),
|
|
4814
4898
|
frameNumber: ReferencedFrameNumber
|
|
4815
|
-
};
|
|
4899
|
+
});
|
|
4816
4900
|
if (referencedImageId) {
|
|
4817
4901
|
state.annotation.data.cachedStats = {
|
|
4818
|
-
[
|
|
4902
|
+
["imageId:".concat(referencedImageId)]: CircleROI_objectSpread({
|
|
4819
4903
|
area: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : 0,
|
|
4820
4904
|
radius: 0,
|
|
4821
|
-
perimeter: 0
|
|
4822
|
-
|
|
4823
|
-
}
|
|
4905
|
+
perimeter: 0
|
|
4906
|
+
}, restoreAdditionalMetrics(measurementNUMGroups))
|
|
4824
4907
|
};
|
|
4825
4908
|
}
|
|
4826
4909
|
return state;
|
|
@@ -4856,7 +4939,7 @@ class CircleROI extends BaseAdapter3D {
|
|
|
4856
4939
|
modalityUnit,
|
|
4857
4940
|
radiusUnit,
|
|
4858
4941
|
areaUnit
|
|
4859
|
-
} = cachedStats[
|
|
4942
|
+
} = cachedStats["imageId:".concat(referencedImageId)] || {};
|
|
4860
4943
|
const perimeter = 2 * Math.PI * radius;
|
|
4861
4944
|
return {
|
|
4862
4945
|
area,
|
|
@@ -4880,7 +4963,7 @@ class CircleROI extends BaseAdapter3D {
|
|
|
4880
4963
|
}
|
|
4881
4964
|
_CircleROI = CircleROI;
|
|
4882
4965
|
(() => {
|
|
4883
|
-
_CircleROI.init(
|
|
4966
|
+
_CircleROI.init('CircleROI', CircleROI_TID300Circle);
|
|
4884
4967
|
_CircleROI.registerLegacy();
|
|
4885
4968
|
})();
|
|
4886
4969
|
|
|
@@ -4894,7 +4977,10 @@ _CircleROI = CircleROI;
|
|
|
4894
4977
|
|
|
4895
4978
|
|
|
4896
4979
|
|
|
4980
|
+
|
|
4897
4981
|
var _EllipticalROI;
|
|
4982
|
+
function EllipticalROI_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4983
|
+
function EllipticalROI_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? EllipticalROI_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : EllipticalROI_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4898
4984
|
const {
|
|
4899
4985
|
Ellipse: EllipticalROI_TID300Ellipse
|
|
4900
4986
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -4910,19 +4996,16 @@ class EllipticalROI extends BaseAdapter3D {
|
|
|
4910
4996
|
const referencedSOPInstanceUID = state.sopInstanceUid;
|
|
4911
4997
|
const allNUMGroups = extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID);
|
|
4912
4998
|
const measurementNUMGroups = allNUMGroups[referencedSOPInstanceUID] || {};
|
|
4913
|
-
state.annotation.data = {
|
|
4914
|
-
|
|
4915
|
-
handles: {
|
|
4916
|
-
...state.annotation.data.handles,
|
|
4999
|
+
state.annotation.data = EllipticalROI_objectSpread(EllipticalROI_objectSpread({}, state.annotation.data), {}, {
|
|
5000
|
+
handles: EllipticalROI_objectSpread(EllipticalROI_objectSpread({}, state.annotation.data.handles), {}, {
|
|
4917
5001
|
points: worldCoords
|
|
4918
|
-
},
|
|
5002
|
+
}),
|
|
4919
5003
|
frameNumber: ReferencedFrameNumber
|
|
4920
|
-
};
|
|
5004
|
+
});
|
|
4921
5005
|
state.annotation.data.cachedStats = referencedImageId ? {
|
|
4922
|
-
[
|
|
4923
|
-
area: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : 0
|
|
4924
|
-
|
|
4925
|
-
}
|
|
5006
|
+
["imageId:".concat(referencedImageId)]: EllipticalROI_objectSpread({
|
|
5007
|
+
area: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : 0
|
|
5008
|
+
}, restoreAdditionalMetrics(measurementNUMGroups))
|
|
4926
5009
|
} : {};
|
|
4927
5010
|
return state;
|
|
4928
5011
|
}
|
|
@@ -4974,7 +5057,7 @@ class EllipticalROI extends BaseAdapter3D {
|
|
|
4974
5057
|
stdDev,
|
|
4975
5058
|
modalityUnit,
|
|
4976
5059
|
areaUnit
|
|
4977
|
-
} = cachedStats[
|
|
5060
|
+
} = cachedStats["imageId:".concat(referencedImageId)] || {};
|
|
4978
5061
|
const convertedPoints = points.map(point => toScoord(scoordProps, point));
|
|
4979
5062
|
return {
|
|
4980
5063
|
area,
|
|
@@ -4994,7 +5077,7 @@ class EllipticalROI extends BaseAdapter3D {
|
|
|
4994
5077
|
}
|
|
4995
5078
|
}
|
|
4996
5079
|
_EllipticalROI = EllipticalROI;
|
|
4997
|
-
_EllipticalROI.init(
|
|
5080
|
+
_EllipticalROI.init('EllipticalROI', EllipticalROI_TID300Ellipse);
|
|
4998
5081
|
|
|
4999
5082
|
|
|
5000
5083
|
|
|
@@ -5006,7 +5089,10 @@ _EllipticalROI.init("EllipticalROI", EllipticalROI_TID300Ellipse);
|
|
|
5006
5089
|
|
|
5007
5090
|
|
|
5008
5091
|
|
|
5092
|
+
|
|
5009
5093
|
var _RectangleROI;
|
|
5094
|
+
function RectangleROI_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5095
|
+
function RectangleROI_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? RectangleROI_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : RectangleROI_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5010
5096
|
const {
|
|
5011
5097
|
Polyline: RectangleROI_TID300Polyline
|
|
5012
5098
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -5014,9 +5100,10 @@ class RectangleROI extends BaseAdapter3D {
|
|
|
5014
5100
|
static isValidMeasurement(measurement) {
|
|
5015
5101
|
const graphicItem = this.getGraphicItem(measurement);
|
|
5016
5102
|
const pointsCount = this.getPointsCount(graphicItem);
|
|
5017
|
-
return this.getGraphicType(graphicItem) ===
|
|
5103
|
+
return this.getGraphicType(graphicItem) === 'POLYLINE' && (pointsCount === 4 || pointsCount === 5);
|
|
5018
5104
|
}
|
|
5019
5105
|
static getMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata) {
|
|
5106
|
+
var _areaGroup$MeasuredVa, _areaGroup$MeasuredVa2;
|
|
5020
5107
|
const {
|
|
5021
5108
|
state,
|
|
5022
5109
|
worldCoords,
|
|
@@ -5024,26 +5111,24 @@ class RectangleROI extends BaseAdapter3D {
|
|
|
5024
5111
|
ReferencedFrameNumber
|
|
5025
5112
|
} = MeasurementReport_MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, this.toolType);
|
|
5026
5113
|
const points = worldCoords.length === 5 ? worldCoords.slice(0, 4) : worldCoords;
|
|
5027
|
-
const areaGroup = MeasurementGroup.ContentSequence.find(g => g.ValueType ===
|
|
5114
|
+
const areaGroup = MeasurementGroup.ContentSequence.find(g => g.ValueType === 'NUM' && g.ConceptNameCodeSequence.CodeMeaning === 'Area');
|
|
5028
5115
|
const referencedSOPInstanceUID = state.sopInstanceUid;
|
|
5029
5116
|
const allNUMGroups = extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID);
|
|
5030
5117
|
const measurementNUMGroups = allNUMGroups[referencedSOPInstanceUID] || {};
|
|
5031
5118
|
const cachedStats = referencedImageId ? {
|
|
5032
|
-
[
|
|
5033
|
-
area: areaGroup
|
|
5034
|
-
areaUnit: areaGroup
|
|
5035
|
-
|
|
5036
|
-
}
|
|
5119
|
+
["imageId:".concat(referencedImageId)]: RectangleROI_objectSpread({
|
|
5120
|
+
area: (areaGroup === null || areaGroup === void 0 || (_areaGroup$MeasuredVa = areaGroup.MeasuredValueSequence) === null || _areaGroup$MeasuredVa === void 0 || (_areaGroup$MeasuredVa = _areaGroup$MeasuredVa[0]) === null || _areaGroup$MeasuredVa === void 0 ? void 0 : _areaGroup$MeasuredVa.NumericValue) || 0,
|
|
5121
|
+
areaUnit: areaGroup === null || areaGroup === void 0 || (_areaGroup$MeasuredVa2 = areaGroup.MeasuredValueSequence) === null || _areaGroup$MeasuredVa2 === void 0 || (_areaGroup$MeasuredVa2 = _areaGroup$MeasuredVa2[0]) === null || _areaGroup$MeasuredVa2 === void 0 || (_areaGroup$MeasuredVa2 = _areaGroup$MeasuredVa2.MeasurementUnitsCodeSequence) === null || _areaGroup$MeasuredVa2 === void 0 ? void 0 : _areaGroup$MeasuredVa2.CodeValue
|
|
5122
|
+
}, restoreAdditionalMetrics(measurementNUMGroups))
|
|
5037
5123
|
} : {};
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
handles: {
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
},
|
|
5124
|
+
const handlesPoints = [points[0], points[1], points[3], points[2]];
|
|
5125
|
+
state.annotation.data = RectangleROI_objectSpread(RectangleROI_objectSpread({}, state.annotation.data), {}, {
|
|
5126
|
+
handles: RectangleROI_objectSpread(RectangleROI_objectSpread({}, state.annotation.data.handles), {}, {
|
|
5127
|
+
points: handlesPoints
|
|
5128
|
+
}),
|
|
5044
5129
|
cachedStats,
|
|
5045
5130
|
frameNumber: ReferencedFrameNumber
|
|
5046
|
-
};
|
|
5131
|
+
});
|
|
5047
5132
|
return state;
|
|
5048
5133
|
}
|
|
5049
5134
|
static getTID300RepresentationArguments(tool) {
|
|
@@ -5070,7 +5155,7 @@ class RectangleROI extends BaseAdapter3D {
|
|
|
5070
5155
|
stdDev,
|
|
5071
5156
|
areaUnit,
|
|
5072
5157
|
modalityUnit
|
|
5073
|
-
} = data.cachedStats[
|
|
5158
|
+
} = data.cachedStats["imageId:".concat(referencedImageId)] || {};
|
|
5074
5159
|
return {
|
|
5075
5160
|
points: [corners[0], corners[1], corners[3], corners[2], corners[0]],
|
|
5076
5161
|
area,
|
|
@@ -5089,10 +5174,10 @@ class RectangleROI extends BaseAdapter3D {
|
|
|
5089
5174
|
}
|
|
5090
5175
|
_RectangleROI = RectangleROI;
|
|
5091
5176
|
(() => {
|
|
5092
|
-
_RectangleROI.init(
|
|
5177
|
+
_RectangleROI.init('RectangleROI', RectangleROI_TID300Polyline);
|
|
5093
5178
|
_RectangleROI.registerLegacy();
|
|
5094
|
-
_RectangleROI.registerType(
|
|
5095
|
-
_RectangleROI.registerType(
|
|
5179
|
+
_RectangleROI.registerType('DCM:111030', 'POLYLINE', 4);
|
|
5180
|
+
_RectangleROI.registerType('DCM:111030', 'POLYLINE', 5);
|
|
5096
5181
|
})();
|
|
5097
5182
|
|
|
5098
5183
|
|
|
@@ -5104,11 +5189,14 @@ _RectangleROI = RectangleROI;
|
|
|
5104
5189
|
|
|
5105
5190
|
|
|
5106
5191
|
|
|
5192
|
+
|
|
5107
5193
|
var _Length;
|
|
5194
|
+
function Length_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5195
|
+
function Length_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Length_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Length_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5108
5196
|
const {
|
|
5109
5197
|
Length: Length_TID300Length
|
|
5110
5198
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
5111
|
-
const Length_LENGTH =
|
|
5199
|
+
const Length_LENGTH = 'Length';
|
|
5112
5200
|
class Length_Length extends BaseAdapter3D {
|
|
5113
5201
|
static getMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata) {
|
|
5114
5202
|
const {
|
|
@@ -5119,21 +5207,19 @@ class Length_Length extends BaseAdapter3D {
|
|
|
5119
5207
|
ReferencedFrameNumber
|
|
5120
5208
|
} = MeasurementReport_MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, this.toolType);
|
|
5121
5209
|
const cachedStats = referencedImageId ? {
|
|
5122
|
-
[
|
|
5210
|
+
["imageId:".concat(referencedImageId)]: {
|
|
5123
5211
|
length: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : 0,
|
|
5124
5212
|
unit: NUMGroup.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue
|
|
5125
5213
|
}
|
|
5126
5214
|
} : {};
|
|
5127
|
-
state.annotation.data = {
|
|
5128
|
-
|
|
5129
|
-
handles: {
|
|
5130
|
-
...state.annotation.data.handles,
|
|
5215
|
+
state.annotation.data = Length_objectSpread(Length_objectSpread({}, state.annotation.data), {}, {
|
|
5216
|
+
handles: Length_objectSpread(Length_objectSpread({}, state.annotation.data.handles), {}, {
|
|
5131
5217
|
points: [worldCoords[0], worldCoords[1]],
|
|
5132
5218
|
activeHandleIndex: 0
|
|
5133
|
-
},
|
|
5219
|
+
}),
|
|
5134
5220
|
cachedStats,
|
|
5135
5221
|
frameNumber: ReferencedFrameNumber
|
|
5136
|
-
};
|
|
5222
|
+
});
|
|
5137
5223
|
return state;
|
|
5138
5224
|
}
|
|
5139
5225
|
static getTID300RepresentationArguments(tool) {
|
|
@@ -5159,7 +5245,7 @@ class Length_Length extends BaseAdapter3D {
|
|
|
5159
5245
|
const point2 = toScoord(scoordProps, handles.points[1]);
|
|
5160
5246
|
const {
|
|
5161
5247
|
length: distance
|
|
5162
|
-
} = cachedStats[
|
|
5248
|
+
} = cachedStats["imageId:".concat(referencedImageId)] || {};
|
|
5163
5249
|
return {
|
|
5164
5250
|
point1,
|
|
5165
5251
|
point2,
|
|
@@ -5181,6 +5267,100 @@ _Length = Length_Length;
|
|
|
5181
5267
|
|
|
5182
5268
|
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
|
|
5183
5269
|
var gl_matrix_esm = __webpack_require__(3823);
|
|
5270
|
+
;// ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/Cornerstone3D/ControlPointPolyline.js
|
|
5271
|
+
|
|
5272
|
+
|
|
5273
|
+
|
|
5274
|
+
const {
|
|
5275
|
+
valueTypes: ControlPointPolyline_valueTypes
|
|
5276
|
+
} = dcmjs_es.sr;
|
|
5277
|
+
const {
|
|
5278
|
+
Polyline: ControlPointPolyline_TID300Polyline
|
|
5279
|
+
} = dcmjs_es/* utilities */.BF.TID300;
|
|
5280
|
+
class ControlPointPolyline extends ControlPointPolyline_TID300Polyline {
|
|
5281
|
+
contentItem() {
|
|
5282
|
+
const contentEntries = super.contentItem();
|
|
5283
|
+
const self = this;
|
|
5284
|
+
const {
|
|
5285
|
+
controlPoints,
|
|
5286
|
+
use3DSpatialCoordinates,
|
|
5287
|
+
ReferencedSOPSequence,
|
|
5288
|
+
ReferencedFrameOfReferenceUID,
|
|
5289
|
+
use3DSpatialCoordinates: is3DMeasurement
|
|
5290
|
+
} = self.props;
|
|
5291
|
+
if (!(controlPoints !== null && controlPoints !== void 0 && controlPoints.length)) {
|
|
5292
|
+
return contentEntries;
|
|
5293
|
+
}
|
|
5294
|
+
const GraphicData = self.flattenPoints({
|
|
5295
|
+
points: controlPoints,
|
|
5296
|
+
use3DSpatialCoordinates
|
|
5297
|
+
});
|
|
5298
|
+
const GraphicType = ControlPointPolyline_valueTypes.GraphicTypes.MULTIPOINT;
|
|
5299
|
+
const scoordPlain = is3DMeasurement ? {
|
|
5300
|
+
RelationshipType: ControlPointPolyline_valueTypes.RelationshipTypes.CONTAINS,
|
|
5301
|
+
ValueType: 'SCOORD3D',
|
|
5302
|
+
ConceptNameCodeSequence: [{
|
|
5303
|
+
CodeValue: CONTROL_POINTS_CODE.value,
|
|
5304
|
+
CodingSchemeDesignator: CONTROL_POINTS_CODE.schemeDesignator,
|
|
5305
|
+
CodeMeaning: CONTROL_POINTS_CODE.meaning
|
|
5306
|
+
}],
|
|
5307
|
+
GraphicType,
|
|
5308
|
+
GraphicData,
|
|
5309
|
+
ReferencedFrameOfReferenceUID,
|
|
5310
|
+
ContentSequence: [{
|
|
5311
|
+
RelationshipType: ControlPointPolyline_valueTypes.RelationshipTypes.SELECTED_FROM,
|
|
5312
|
+
ValueType: ControlPointPolyline_valueTypes.ValueTypes.IMAGE,
|
|
5313
|
+
ReferencedSOPSequence
|
|
5314
|
+
}]
|
|
5315
|
+
} : {
|
|
5316
|
+
RelationshipType: ControlPointPolyline_valueTypes.RelationshipTypes.CONTAINS,
|
|
5317
|
+
ValueType: 'SCOORD',
|
|
5318
|
+
ConceptNameCodeSequence: [{
|
|
5319
|
+
CodeValue: CONTROL_POINTS_CODE.value,
|
|
5320
|
+
CodingSchemeDesignator: CONTROL_POINTS_CODE.schemeDesignator,
|
|
5321
|
+
CodeMeaning: CONTROL_POINTS_CODE.meaning
|
|
5322
|
+
}],
|
|
5323
|
+
GraphicType,
|
|
5324
|
+
GraphicData,
|
|
5325
|
+
ContentSequence: [{
|
|
5326
|
+
RelationshipType: ControlPointPolyline_valueTypes.RelationshipTypes.SELECTED_FROM,
|
|
5327
|
+
ValueType: ControlPointPolyline_valueTypes.ValueTypes.IMAGE,
|
|
5328
|
+
ReferencedSOPSequence
|
|
5329
|
+
}]
|
|
5330
|
+
};
|
|
5331
|
+
const {
|
|
5332
|
+
splineType
|
|
5333
|
+
} = self.props;
|
|
5334
|
+
const entries = contentEntries;
|
|
5335
|
+
const numEntry = entries.find(e => e.ValueType === 'NUM');
|
|
5336
|
+
if (numEntry) {
|
|
5337
|
+
const inner = numEntry.ContentSequence;
|
|
5338
|
+
const innerArray = Array.isArray(inner) ? inner : inner ? [inner] : [];
|
|
5339
|
+
numEntry.ContentSequence = [...innerArray, scoordPlain];
|
|
5340
|
+
} else {
|
|
5341
|
+
entries.push(scoordPlain);
|
|
5342
|
+
}
|
|
5343
|
+
if (splineType) {
|
|
5344
|
+
const splineTypeObsContext = {
|
|
5345
|
+
RelationshipType: ControlPointPolyline_valueTypes.RelationshipTypes.HAS_OBS_CONTEXT,
|
|
5346
|
+
ValueType: 'TEXT',
|
|
5347
|
+
ConceptNameCodeSequence: {
|
|
5348
|
+
CodeValue: SPLINE_TYPE_CODE.value,
|
|
5349
|
+
CodingSchemeDesignator: SPLINE_TYPE_CODE.schemeDesignator,
|
|
5350
|
+
CodeMeaning: SPLINE_TYPE_CODE.meaning
|
|
5351
|
+
},
|
|
5352
|
+
TextValue: splineType
|
|
5353
|
+
};
|
|
5354
|
+
const hasObsContextIndex = entries.findIndex(e => e.RelationshipType === ControlPointPolyline_valueTypes.RelationshipTypes.HAS_OBS_CONTEXT);
|
|
5355
|
+
const insertIndex = hasObsContextIndex >= 0 ? hasObsContextIndex + 2 : 2;
|
|
5356
|
+
entries.splice(insertIndex, 0, splineTypeObsContext);
|
|
5357
|
+
}
|
|
5358
|
+
return entries;
|
|
5359
|
+
}
|
|
5360
|
+
}
|
|
5361
|
+
|
|
5362
|
+
|
|
5363
|
+
|
|
5184
5364
|
;// ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/Cornerstone3D/PlanarFreehandROI.js
|
|
5185
5365
|
|
|
5186
5366
|
|
|
@@ -5190,12 +5370,16 @@ var gl_matrix_esm = __webpack_require__(3823);
|
|
|
5190
5370
|
|
|
5191
5371
|
|
|
5192
5372
|
|
|
5373
|
+
|
|
5374
|
+
|
|
5375
|
+
|
|
5376
|
+
|
|
5193
5377
|
var _PlanarFreehandROI;
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
} = dcmjs_es/* utilities */.BF.TID300;
|
|
5378
|
+
function PlanarFreehandROI_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5379
|
+
function PlanarFreehandROI_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? PlanarFreehandROI_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : PlanarFreehandROI_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5197
5380
|
class PlanarFreehandROI extends BaseAdapter3D {
|
|
5198
5381
|
static getMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata) {
|
|
5382
|
+
var _state$annotation$dat, _state$annotation$dat2, _numSeq$find;
|
|
5199
5383
|
const {
|
|
5200
5384
|
state,
|
|
5201
5385
|
NUMGroup,
|
|
@@ -5209,36 +5393,45 @@ class PlanarFreehandROI extends BaseAdapter3D {
|
|
|
5209
5393
|
worldCoords.pop();
|
|
5210
5394
|
isOpenContour = false;
|
|
5211
5395
|
}
|
|
5212
|
-
|
|
5213
|
-
if (isOpenContour) {
|
|
5214
|
-
points
|
|
5396
|
+
let points = (_state$annotation$dat = (_state$annotation$dat2 = state.annotation.data.handles) === null || _state$annotation$dat2 === void 0 ? void 0 : _state$annotation$dat2.points) !== null && _state$annotation$dat !== void 0 ? _state$annotation$dat : [];
|
|
5397
|
+
if (isOpenContour && points.length === 0) {
|
|
5398
|
+
points = [worldCoords[0], worldCoords[worldCoords.length - 1]];
|
|
5215
5399
|
}
|
|
5216
5400
|
const referencedSOPInstanceUID = state.sopInstanceUid;
|
|
5217
5401
|
const allNUMGroups = extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID);
|
|
5218
5402
|
const measurementNUMGroups = allNUMGroups[referencedSOPInstanceUID] || {};
|
|
5219
|
-
|
|
5220
|
-
|
|
5403
|
+
const SPLINE_TYPE = {
|
|
5404
|
+
CodingSchemeDesignator: SPLINE_TYPE_CODE.schemeDesignator,
|
|
5405
|
+
CodeValue: SPLINE_TYPE_CODE.value
|
|
5406
|
+
};
|
|
5407
|
+
const numSeq = NUMGroup ? toArray(NUMGroup.ContentSequence) : [];
|
|
5408
|
+
const mgContentSeq = toArray(MeasurementGroup.ContentSequence);
|
|
5409
|
+
const splineTypeItem = (_numSeq$find = numSeq.find(item => MeasurementReport_MeasurementReport.codeValueMatch(item, SPLINE_TYPE))) !== null && _numSeq$find !== void 0 ? _numSeq$find : mgContentSeq.find(item => MeasurementReport_MeasurementReport.codeValueMatch(item, SPLINE_TYPE));
|
|
5410
|
+
state.annotation.data = PlanarFreehandROI_objectSpread(PlanarFreehandROI_objectSpread({}, state.annotation.data), {}, {
|
|
5221
5411
|
contour: {
|
|
5222
5412
|
polyline: worldCoords,
|
|
5223
5413
|
closed: !isOpenContour
|
|
5224
5414
|
},
|
|
5225
|
-
handles: {
|
|
5226
|
-
...state.annotation.data.handles,
|
|
5415
|
+
handles: PlanarFreehandROI_objectSpread(PlanarFreehandROI_objectSpread({}, state.annotation.data.handles), {}, {
|
|
5227
5416
|
points
|
|
5228
|
-
},
|
|
5417
|
+
}),
|
|
5229
5418
|
frameNumber: ReferencedFrameNumber
|
|
5230
|
-
}
|
|
5419
|
+
}, splineTypeItem && {
|
|
5420
|
+
spline: {
|
|
5421
|
+
type: splineTypeItem.TextValue
|
|
5422
|
+
}
|
|
5423
|
+
});
|
|
5231
5424
|
if (referencedImageId) {
|
|
5232
5425
|
state.annotation.data.cachedStats = {
|
|
5233
|
-
[
|
|
5234
|
-
area: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : null
|
|
5235
|
-
|
|
5236
|
-
}
|
|
5426
|
+
["imageId:".concat(referencedImageId)]: PlanarFreehandROI_objectSpread({
|
|
5427
|
+
area: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : null
|
|
5428
|
+
}, restoreAdditionalMetrics(measurementNUMGroups))
|
|
5237
5429
|
};
|
|
5238
5430
|
}
|
|
5239
5431
|
return state;
|
|
5240
5432
|
}
|
|
5241
5433
|
static getTID300RepresentationArguments(tool) {
|
|
5434
|
+
var _handles$points, _data$spline;
|
|
5242
5435
|
let is3DMeasurement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
5243
5436
|
const {
|
|
5244
5437
|
data,
|
|
@@ -5246,6 +5439,9 @@ class PlanarFreehandROI extends BaseAdapter3D {
|
|
|
5246
5439
|
findingSites,
|
|
5247
5440
|
metadata
|
|
5248
5441
|
} = tool;
|
|
5442
|
+
const {
|
|
5443
|
+
handles
|
|
5444
|
+
} = data;
|
|
5249
5445
|
const {
|
|
5250
5446
|
polyline,
|
|
5251
5447
|
closed
|
|
@@ -5263,6 +5459,7 @@ class PlanarFreehandROI extends BaseAdapter3D {
|
|
|
5263
5459
|
const firstPoint = points[0];
|
|
5264
5460
|
points.push(firstPoint);
|
|
5265
5461
|
}
|
|
5462
|
+
const controlPoints = (handles === null || handles === void 0 || (_handles$points = handles.points) === null || _handles$points === void 0 ? void 0 : _handles$points.length) && toScoords(scoordProps, handles.points);
|
|
5266
5463
|
const {
|
|
5267
5464
|
area,
|
|
5268
5465
|
areaUnit,
|
|
@@ -5272,16 +5469,18 @@ class PlanarFreehandROI extends BaseAdapter3D {
|
|
|
5272
5469
|
max,
|
|
5273
5470
|
stdDev,
|
|
5274
5471
|
length
|
|
5275
|
-
} = data.cachedStats[
|
|
5472
|
+
} = data.cachedStats["imageId:".concat(referencedImageId)] || {};
|
|
5276
5473
|
return {
|
|
5277
5474
|
points,
|
|
5475
|
+
controlPoints,
|
|
5278
5476
|
area,
|
|
5279
5477
|
areaUnit,
|
|
5280
|
-
perimeter: perimeter
|
|
5478
|
+
perimeter: perimeter !== null && perimeter !== void 0 ? perimeter : length,
|
|
5281
5479
|
modalityUnit,
|
|
5282
5480
|
mean,
|
|
5283
5481
|
max,
|
|
5284
5482
|
stdDev,
|
|
5483
|
+
splineType: (_data$spline = data.spline) === null || _data$spline === void 0 ? void 0 : _data$spline.type,
|
|
5285
5484
|
trackingIdentifierTextValue: this.trackingIdentifierTextValue,
|
|
5286
5485
|
finding,
|
|
5287
5486
|
findingSites: findingSites || [],
|
|
@@ -5292,7 +5491,11 @@ class PlanarFreehandROI extends BaseAdapter3D {
|
|
|
5292
5491
|
}
|
|
5293
5492
|
_PlanarFreehandROI = PlanarFreehandROI;
|
|
5294
5493
|
_PlanarFreehandROI.closedContourThreshold = 1e-5;
|
|
5295
|
-
|
|
5494
|
+
(() => {
|
|
5495
|
+
_PlanarFreehandROI.init('PlanarFreehandROI', ControlPointPolyline);
|
|
5496
|
+
_PlanarFreehandROI.registerSubType(_PlanarFreehandROI, 'LivewireContour');
|
|
5497
|
+
_PlanarFreehandROI.registerSubType(_PlanarFreehandROI, 'SplineROI');
|
|
5498
|
+
})();
|
|
5296
5499
|
|
|
5297
5500
|
|
|
5298
5501
|
|
|
@@ -5303,16 +5506,20 @@ _PlanarFreehandROI.init("PlanarFreehandROI", PlanarFreehandROI_TID300Polyline);
|
|
|
5303
5506
|
|
|
5304
5507
|
|
|
5305
5508
|
|
|
5509
|
+
|
|
5306
5510
|
var _Probe;
|
|
5511
|
+
function Probe_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5512
|
+
function Probe_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Probe_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Probe_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5307
5513
|
const {
|
|
5308
5514
|
Point: Probe_TID300Point
|
|
5309
5515
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
5310
5516
|
class Probe extends BaseAdapter3D {
|
|
5311
5517
|
static isValidMeasurement(measurement) {
|
|
5312
5518
|
const graphicItem = this.getGraphicItem(measurement);
|
|
5313
|
-
return this.getGraphicType(graphicItem) ===
|
|
5519
|
+
return this.getGraphicType(graphicItem) === 'POINT' && this.getPointsCount(graphicItem) <= 2;
|
|
5314
5520
|
}
|
|
5315
5521
|
static getMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, _trackingIdentifier) {
|
|
5522
|
+
var _NUMGroup$MeasuredVal, _NUMGroup$MeasuredVal2;
|
|
5316
5523
|
const {
|
|
5317
5524
|
state,
|
|
5318
5525
|
NUMGroup,
|
|
@@ -5321,20 +5528,18 @@ class Probe extends BaseAdapter3D {
|
|
|
5321
5528
|
ReferencedFrameNumber
|
|
5322
5529
|
} = MeasurementReport_MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, this.toolType);
|
|
5323
5530
|
const cachedStats = referencedImageId ? {
|
|
5324
|
-
[
|
|
5325
|
-
value: NUMGroup
|
|
5531
|
+
["imageId:".concat(referencedImageId)]: {
|
|
5532
|
+
value: (_NUMGroup$MeasuredVal = NUMGroup === null || NUMGroup === void 0 || (_NUMGroup$MeasuredVal2 = NUMGroup.MeasuredValueSequence) === null || _NUMGroup$MeasuredVal2 === void 0 ? void 0 : _NUMGroup$MeasuredVal2.NumericValue) !== null && _NUMGroup$MeasuredVal !== void 0 ? _NUMGroup$MeasuredVal : null
|
|
5326
5533
|
}
|
|
5327
5534
|
} : {};
|
|
5328
|
-
state.annotation.data = {
|
|
5329
|
-
|
|
5330
|
-
handles: {
|
|
5331
|
-
...state.annotation.data.handles,
|
|
5535
|
+
state.annotation.data = Probe_objectSpread(Probe_objectSpread({}, state.annotation.data), {}, {
|
|
5536
|
+
handles: Probe_objectSpread(Probe_objectSpread({}, state.annotation.data.handles), {}, {
|
|
5332
5537
|
points: worldCoords
|
|
5333
|
-
},
|
|
5538
|
+
}),
|
|
5334
5539
|
cachedStats,
|
|
5335
5540
|
frameNumber: ReferencedFrameNumber,
|
|
5336
5541
|
invalidated: true
|
|
5337
|
-
};
|
|
5542
|
+
});
|
|
5338
5543
|
return state;
|
|
5339
5544
|
}
|
|
5340
5545
|
static getTID300RepresentationArguments(tool) {
|
|
@@ -5372,10 +5577,10 @@ class Probe extends BaseAdapter3D {
|
|
|
5372
5577
|
}
|
|
5373
5578
|
_Probe = Probe;
|
|
5374
5579
|
(() => {
|
|
5375
|
-
_Probe.init(
|
|
5580
|
+
_Probe.init('Probe', Probe_TID300Point);
|
|
5376
5581
|
_Probe.registerLegacy();
|
|
5377
|
-
_Probe.registerType(
|
|
5378
|
-
_Probe.registerType(
|
|
5582
|
+
_Probe.registerType('DCM:111030', 'POINT', 1);
|
|
5583
|
+
_Probe.registerType('DCM:111030', 'POINT', 2);
|
|
5379
5584
|
})();
|
|
5380
5585
|
|
|
5381
5586
|
|
|
@@ -5386,7 +5591,10 @@ _Probe = Probe;
|
|
|
5386
5591
|
|
|
5387
5592
|
|
|
5388
5593
|
|
|
5594
|
+
|
|
5389
5595
|
var _UltrasoundDirectional;
|
|
5596
|
+
function UltrasoundDirectional_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5597
|
+
function UltrasoundDirectional_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? UltrasoundDirectional_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : UltrasoundDirectional_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5390
5598
|
const {
|
|
5391
5599
|
Length: UltrasoundDirectional_TID300Length
|
|
5392
5600
|
} = dcmjs_es/* utilities */.BF.TID300;
|
|
@@ -5400,14 +5608,12 @@ class UltrasoundDirectional extends BaseAdapter3D {
|
|
|
5400
5608
|
worldCoords,
|
|
5401
5609
|
ReferencedFrameNumber
|
|
5402
5610
|
} = MeasurementReport_MeasurementReport.getSetupMeasurementData(measurementGroup, sopInstanceUIDToImageIdMap, metadata, this.toolType);
|
|
5403
|
-
state.annotation.data = {
|
|
5404
|
-
|
|
5405
|
-
handles: {
|
|
5406
|
-
...state.annotation.data.handles,
|
|
5611
|
+
state.annotation.data = UltrasoundDirectional_objectSpread(UltrasoundDirectional_objectSpread({}, state.annotation.data), {}, {
|
|
5612
|
+
handles: UltrasoundDirectional_objectSpread(UltrasoundDirectional_objectSpread({}, state.annotation.data.handles), {}, {
|
|
5407
5613
|
points: worldCoords
|
|
5408
|
-
},
|
|
5614
|
+
}),
|
|
5409
5615
|
frameNumber: ReferencedFrameNumber
|
|
5410
|
-
};
|
|
5616
|
+
});
|
|
5411
5617
|
return state;
|
|
5412
5618
|
}
|
|
5413
5619
|
static getTID300RepresentationArguments(tool, is3DMeasurement) {
|
|
@@ -5424,7 +5630,7 @@ class UltrasoundDirectional extends BaseAdapter3D {
|
|
|
5424
5630
|
referencedImageId
|
|
5425
5631
|
} = metadata;
|
|
5426
5632
|
if (!referencedImageId) {
|
|
5427
|
-
throw new Error(
|
|
5633
|
+
throw new Error('UltrasoundDirectionalTool.getTID300RepresentationArguments: referencedImageId is not defined');
|
|
5428
5634
|
}
|
|
5429
5635
|
const start = worldToImageCoords(referencedImageId, handles.points[0]);
|
|
5430
5636
|
const end = worldToImageCoords(referencedImageId, handles.points[1]);
|
|
@@ -5446,7 +5652,7 @@ class UltrasoundDirectional extends BaseAdapter3D {
|
|
|
5446
5652
|
}
|
|
5447
5653
|
}
|
|
5448
5654
|
_UltrasoundDirectional = UltrasoundDirectional;
|
|
5449
|
-
_UltrasoundDirectional.init(
|
|
5655
|
+
_UltrasoundDirectional.init('UltrasoundDirectionalTool', UltrasoundDirectional_TID300Length);
|
|
5450
5656
|
|
|
5451
5657
|
|
|
5452
5658
|
|
|
@@ -5455,6 +5661,9 @@ _UltrasoundDirectional.init("UltrasoundDirectionalTool", UltrasoundDirectional_T
|
|
|
5455
5661
|
|
|
5456
5662
|
|
|
5457
5663
|
|
|
5664
|
+
|
|
5665
|
+
function generateSegmentation_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5666
|
+
function generateSegmentation_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? generateSegmentation_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : generateSegmentation_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5458
5667
|
const {
|
|
5459
5668
|
MetadataModules: generateSegmentation_MetadataModules
|
|
5460
5669
|
} = esm.Enums;
|
|
@@ -5468,7 +5677,7 @@ function generateSegmentation_generateSegmentation(images, labelmaps, metadata)
|
|
|
5468
5677
|
let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
5469
5678
|
const segmentation = _createMultiframeSegmentationFromReferencedImages(images, metadata, options);
|
|
5470
5679
|
const segmentationResult = fillSegmentation(segmentation, labelmaps, options);
|
|
5471
|
-
const predecessorImageId = options
|
|
5680
|
+
const predecessorImageId = options === null || options === void 0 ? void 0 : options.predecessorImageId;
|
|
5472
5681
|
if (predecessorImageId) {
|
|
5473
5682
|
const predecessor = metadata.get(generateSegmentation_MetadataModules.PREDECESSOR_SEQUENCE, predecessorImageId);
|
|
5474
5683
|
Object.assign(segmentationResult, predecessor);
|
|
@@ -5476,7 +5685,7 @@ function generateSegmentation_generateSegmentation(images, labelmaps, metadata)
|
|
|
5476
5685
|
return segmentationResult;
|
|
5477
5686
|
}
|
|
5478
5687
|
function _createMultiframeSegmentationFromReferencedImages(images, metadata, options) {
|
|
5479
|
-
const studyImageId = options
|
|
5688
|
+
const studyImageId = (options === null || options === void 0 ? void 0 : options.predecessorImageId) || images[0].imageId;
|
|
5480
5689
|
const studyData = metadata.get(generateSegmentation_MetadataModules.STUDY_DATA, studyImageId);
|
|
5481
5690
|
const datasets = images.map(image => {
|
|
5482
5691
|
const {
|
|
@@ -5484,17 +5693,14 @@ function _createMultiframeSegmentationFromReferencedImages(images, metadata, opt
|
|
|
5484
5693
|
} = image;
|
|
5485
5694
|
const seriesData = metadata.get(generateSegmentation_MetadataModules.SERIES_DATA, imageId);
|
|
5486
5695
|
const imageData = metadata.get(generateSegmentation_MetadataModules.IMAGE_DATA, imageId);
|
|
5487
|
-
return {
|
|
5488
|
-
...studyData,
|
|
5489
|
-
...seriesData,
|
|
5490
|
-
...imageData,
|
|
5696
|
+
return generateSegmentation_objectSpread(generateSegmentation_objectSpread(generateSegmentation_objectSpread(generateSegmentation_objectSpread({}, studyData), seriesData), imageData), {}, {
|
|
5491
5697
|
PixelData: image.voxelManager.getScalarData(),
|
|
5492
5698
|
BitsAllocated: 16,
|
|
5493
5699
|
_vrMap: {
|
|
5494
5700
|
PixelData: 'OW'
|
|
5495
5701
|
},
|
|
5496
5702
|
_meta: {}
|
|
5497
|
-
};
|
|
5703
|
+
});
|
|
5498
5704
|
});
|
|
5499
5705
|
const isSingleNonMultiFrame = datasets.length === 1 && !(datasets[0].NumberOfFrames > 1);
|
|
5500
5706
|
if (isSingleNonMultiFrame) {
|
|
@@ -5508,14 +5714,15 @@ function _createMultiframeSegmentationFromReferencedImages(images, metadata, opt
|
|
|
5508
5714
|
if (!multiframe) {
|
|
5509
5715
|
throw new Error('Failed to normalize the multiframe dataset, the data is not multi-frame.');
|
|
5510
5716
|
}
|
|
5511
|
-
multiframe.SharedFunctionalGroupsSequence
|
|
5717
|
+
multiframe.SharedFunctionalGroupsSequence || (multiframe.SharedFunctionalGroupsSequence = {});
|
|
5512
5718
|
multiframe.SharedFunctionalGroupsSequence.PixelMeasuresSequence = {};
|
|
5513
|
-
multiframe.PerFrameFunctionalGroupsSequence
|
|
5719
|
+
multiframe.PerFrameFunctionalGroupsSequence || (multiframe.PerFrameFunctionalGroupsSequence = []);
|
|
5514
5720
|
for (let index = 0; index < images.length; index++) {
|
|
5515
|
-
|
|
5721
|
+
var _multiframe$PerFrameF, _index;
|
|
5722
|
+
(_multiframe$PerFrameF = multiframe.PerFrameFunctionalGroupsSequence)[_index = index] || (_multiframe$PerFrameF[_index] = {
|
|
5516
5723
|
PlanePositionSequence: {},
|
|
5517
5724
|
PlaneOrientationSequence: {}
|
|
5518
|
-
};
|
|
5725
|
+
});
|
|
5519
5726
|
}
|
|
5520
5727
|
if (isSingleNonMultiFrame) {
|
|
5521
5728
|
multiframe.PerFrameFunctionalGroupsSequence = [multiframe.PerFrameFunctionalGroupsSequence[0]];
|
|
@@ -5700,11 +5907,11 @@ async function createLabelmapsFromBufferInternal(referencedImageIds, arrayBuffer
|
|
|
5700
5907
|
const dataset = labelmapImagesFromBuffer_DicomMetaDictionary.naturalizeDataset(dicomData.dict);
|
|
5701
5908
|
dataset._meta = labelmapImagesFromBuffer_DicomMetaDictionary.namifyDataset(dicomData.meta);
|
|
5702
5909
|
const multiframe = labelmapImagesFromBuffer_Normalizer.normalizeToDataset([dataset]);
|
|
5703
|
-
const imagePlaneModule = metadataProvider.get(
|
|
5704
|
-
const generalSeriesModule = metadataProvider.get(
|
|
5910
|
+
const imagePlaneModule = metadataProvider.get('imagePlaneModule', referencedImageIds[0]);
|
|
5911
|
+
const generalSeriesModule = metadataProvider.get('generalSeriesModule', referencedImageIds[0]);
|
|
5705
5912
|
const SeriesInstanceUID = generalSeriesModule.seriesInstanceUID;
|
|
5706
5913
|
if (!imagePlaneModule) {
|
|
5707
|
-
console.warn(
|
|
5914
|
+
console.warn('Insufficient metadata, imagePlaneModule missing.');
|
|
5708
5915
|
}
|
|
5709
5916
|
const ImageOrientationPatient = Array.isArray(imagePlaneModule.rowCosines) ? [...imagePlaneModule.rowCosines, ...imagePlaneModule.columnCosines] : [imagePlaneModule.rowCosines.x, imagePlaneModule.rowCosines.y, imagePlaneModule.rowCosines.z, imagePlaneModule.columnCosines.x, imagePlaneModule.columnCosines.y, imagePlaneModule.columnCosines.z];
|
|
5710
5917
|
const validOrientations = Segmentation_4X_getValidOrientations(ImageOrientationPatient);
|
|
@@ -5712,11 +5919,11 @@ async function createLabelmapsFromBufferInternal(referencedImageIds, arrayBuffer
|
|
|
5712
5919
|
const TransferSyntaxUID = multiframe._meta.TransferSyntaxUID.Value[0];
|
|
5713
5920
|
let pixelData;
|
|
5714
5921
|
let pixelDataChunks;
|
|
5715
|
-
if (TransferSyntaxUID ===
|
|
5922
|
+
if (TransferSyntaxUID === '1.2.840.10008.1.2.5') {
|
|
5716
5923
|
const rleEncodedFrames = Array.isArray(multiframe.PixelData) ? multiframe.PixelData : [multiframe.PixelData];
|
|
5717
5924
|
pixelData = labelmapImagesFromBuffer_decode(rleEncodedFrames, multiframe.Rows, multiframe.Columns);
|
|
5718
5925
|
if (multiframe.BitsStored === 1) {
|
|
5719
|
-
console.warn(
|
|
5926
|
+
console.warn('No implementation for rle + bit packing.');
|
|
5720
5927
|
return;
|
|
5721
5928
|
}
|
|
5722
5929
|
pixelDataChunks = [pixelData];
|
|
@@ -5725,26 +5932,26 @@ async function createLabelmapsFromBufferInternal(referencedImageIds, arrayBuffer
|
|
|
5725
5932
|
maxBytesPerChunk
|
|
5726
5933
|
});
|
|
5727
5934
|
if (!pixelDataChunks) {
|
|
5728
|
-
throw new Error(
|
|
5935
|
+
throw new Error('Fractional segmentations are not yet supported');
|
|
5729
5936
|
}
|
|
5730
5937
|
}
|
|
5731
5938
|
const orientation = checkOrientation(multiframe, validOrientations, [imagePlaneModule.rows, imagePlaneModule.columns, referencedImageIds.length], tolerance);
|
|
5732
5939
|
const sopUIDImageIdIndexMap = referencedImageIds.reduce((acc, imageId) => {
|
|
5733
5940
|
const {
|
|
5734
5941
|
sopInstanceUID
|
|
5735
|
-
} = metadataProvider.get(
|
|
5942
|
+
} = metadataProvider.get('generalImageModule', imageId);
|
|
5736
5943
|
acc[sopInstanceUID] = imageId;
|
|
5737
5944
|
return acc;
|
|
5738
5945
|
}, {});
|
|
5739
5946
|
let insertFunction;
|
|
5740
5947
|
switch (orientation) {
|
|
5741
|
-
case
|
|
5948
|
+
case 'Planar':
|
|
5742
5949
|
insertFunction = labelmapImagesFromBuffer_insertPixelDataPlanar;
|
|
5743
5950
|
break;
|
|
5744
|
-
case
|
|
5745
|
-
throw new Error(
|
|
5746
|
-
case
|
|
5747
|
-
throw new Error(
|
|
5951
|
+
case 'Perpendicular':
|
|
5952
|
+
throw new Error('Segmentations orthogonal to the acquisition plane of the source data are not yet supported.');
|
|
5953
|
+
case 'Oblique':
|
|
5954
|
+
throw new Error('Segmentations oblique to the acquisition plane of the source data are not yet supported.');
|
|
5748
5955
|
}
|
|
5749
5956
|
const segmentsOnFrame = [];
|
|
5750
5957
|
const imageIdMaps = {
|
|
@@ -5755,7 +5962,7 @@ async function createLabelmapsFromBufferInternal(referencedImageIds, arrayBuffer
|
|
|
5755
5962
|
for (let i = 0; i < referencedImageIds.length; i++) {
|
|
5756
5963
|
const referenceImageId = referencedImageIds[i];
|
|
5757
5964
|
imageIdMaps.indices[referenceImageId] = i;
|
|
5758
|
-
imageIdMaps.metadata[referenceImageId] = metadataProvider.get(
|
|
5965
|
+
imageIdMaps.metadata[referenceImageId] = metadataProvider.get('instance', referenceImageId);
|
|
5759
5966
|
const labelMapImage = esm.imageLoader.createAndCacheDerivedLabelmapImage(referenceImageId);
|
|
5760
5967
|
labelMapImages.push(labelMapImage);
|
|
5761
5968
|
}
|
|
@@ -5830,23 +6037,23 @@ function labelmapImagesFromBuffer_insertPixelDataPlanar(_ref4) {
|
|
|
5830
6037
|
const pixelDataI2D = ndarray_default()(view, [Rows, Columns]);
|
|
5831
6038
|
const alignedPixelDataI = Segmentation_4X_alignPixelDataWithSourceData(pixelDataI2D, ImageOrientationPatientI, validOrientations, tolerance);
|
|
5832
6039
|
if (!alignedPixelDataI) {
|
|
5833
|
-
throw new Error(
|
|
6040
|
+
throw new Error('Individual SEG frames are out of plane with respect to the first SEG frame. ' + 'This is not yet supported. Aborting segmentation loading.');
|
|
5834
6041
|
}
|
|
5835
6042
|
const segmentIndex = getSegmentIndex(multiframe, i);
|
|
5836
6043
|
if (segmentIndex === undefined) {
|
|
5837
|
-
throw new Error(
|
|
6044
|
+
throw new Error('Could not retrieve the segment index. Aborting segmentation loading.');
|
|
5838
6045
|
}
|
|
5839
6046
|
if (!segmentsPixelIndices.has(segmentIndex)) {
|
|
5840
6047
|
segmentsPixelIndices.set(segmentIndex, {});
|
|
5841
6048
|
}
|
|
5842
6049
|
const imageId = findReferenceSourceImageId(multiframe, i, referencedImageIds, metadataProvider, tolerance, sopUIDImageIdIndexMap);
|
|
5843
6050
|
if (!imageId) {
|
|
5844
|
-
console.warn("Image not present in stack, can't import frame : " + i +
|
|
6051
|
+
console.warn("Image not present in stack, can't import frame : " + i + '.');
|
|
5845
6052
|
return;
|
|
5846
6053
|
}
|
|
5847
6054
|
const sourceImageMetadata = imageIdMaps.metadata[imageId];
|
|
5848
6055
|
if (Rows !== sourceImageMetadata.Rows || Columns !== sourceImageMetadata.Columns) {
|
|
5849
|
-
throw new Error(
|
|
6056
|
+
throw new Error('Individual SEG frames have different geometry dimensions (Rows and Columns) ' + 'respect to the source image reference frame. This is not yet supported. ' + 'Aborting segmentation loading. ');
|
|
5850
6057
|
}
|
|
5851
6058
|
const imageIdIndex = imageIdMaps.indices[imageId];
|
|
5852
6059
|
const labelmapImage = labelMapImages[imageIdIndex];
|
|
@@ -5905,8 +6112,9 @@ function labelmapImagesFromBuffer_insertPixelDataPlanar(_ref4) {
|
|
|
5905
6112
|
}
|
|
5906
6113
|
};
|
|
5907
6114
|
const processLabelmapChunk = firstIndex => {
|
|
6115
|
+
var _multiframe$SharedFun;
|
|
5908
6116
|
const pfSeq = multiframe.PerFrameFunctionalGroupsSequence;
|
|
5909
|
-
const sharedPlaneOrientation = multiframe.SharedFunctionalGroupsSequence.PlaneOrientationSequence
|
|
6117
|
+
const sharedPlaneOrientation = (_multiframe$SharedFun = multiframe.SharedFunctionalGroupsSequence.PlaneOrientationSequence) === null || _multiframe$SharedFun === void 0 ? void 0 : _multiframe$SharedFun.ImageOrientationPatient;
|
|
5910
6118
|
for (let i = firstIndex; i < firstIndex + imagesPerChunk && i < groupsLen; i++) {
|
|
5911
6119
|
const PerFrameFunctionalGroups = pfSeq[i];
|
|
5912
6120
|
const ImageOrientationPatientI = sharedPlaneOrientation || PerFrameFunctionalGroups.PlaneOrientationSequence.ImageOrientationPatient;
|
|
@@ -5914,16 +6122,16 @@ function labelmapImagesFromBuffer_insertPixelDataPlanar(_ref4) {
|
|
|
5914
6122
|
const pixelDataI2D = ndarray_default()(view, [Rows, Columns]);
|
|
5915
6123
|
const alignedPixelDataI = Segmentation_4X_alignPixelDataWithSourceData(pixelDataI2D, ImageOrientationPatientI, validOrientations, tolerance);
|
|
5916
6124
|
if (!alignedPixelDataI) {
|
|
5917
|
-
throw new Error(
|
|
6125
|
+
throw new Error('Individual Labelmap SEG frames are out of plane with respect to the first SEG frame. ' + 'This is not yet supported. Aborting segmentation loading.');
|
|
5918
6126
|
}
|
|
5919
6127
|
const imageId = findReferenceSourceImageId(multiframe, i, referencedImageIds, metadataProvider, tolerance, sopUIDImageIdIndexMap);
|
|
5920
6128
|
if (!imageId) {
|
|
5921
|
-
console.warn(
|
|
6129
|
+
console.warn("Image not present in stack, can't import frame : ".concat(i, "."));
|
|
5922
6130
|
continue;
|
|
5923
6131
|
}
|
|
5924
6132
|
const sourceImageMetadata = imageIdMaps.metadata[imageId];
|
|
5925
6133
|
if (Rows !== sourceImageMetadata.Rows || Columns !== sourceImageMetadata.Columns) {
|
|
5926
|
-
throw new Error(
|
|
6134
|
+
throw new Error('Individual Labelmap SEG frames have different geometry dimensions (Rows and Columns) ' + 'respect to the source image reference frame. This is not yet supported. ' + 'Aborting segmentation loading. ');
|
|
5927
6135
|
}
|
|
5928
6136
|
const imageIdIndex = imageIdMaps.indices[imageId];
|
|
5929
6137
|
const labelmapImage = labelMapImages[imageIdIndex];
|
|
@@ -5965,7 +6173,7 @@ function labelmapImagesFromBuffer_insertPixelDataPlanar(_ref4) {
|
|
|
5965
6173
|
});
|
|
5966
6174
|
}
|
|
5967
6175
|
};
|
|
5968
|
-
if (multiframe.SegmentationType ===
|
|
6176
|
+
if (multiframe.SegmentationType === 'LABELMAP') {
|
|
5969
6177
|
processLabelmapChunk(0);
|
|
5970
6178
|
} else {
|
|
5971
6179
|
processChunk(0);
|
|
@@ -5989,7 +6197,7 @@ const getAlignedPixelData = _ref5 => {
|
|
|
5989
6197
|
const pixelDataI2D = ndarray_default()(view, [Rows, Columns]);
|
|
5990
6198
|
const alignedPixelDataI = Segmentation_4X_alignPixelDataWithSourceData(pixelDataI2D, ImageOrientationPatientI, validOrientations, tolerance);
|
|
5991
6199
|
if (!alignedPixelDataI) {
|
|
5992
|
-
throw new Error(
|
|
6200
|
+
throw new Error('Individual SEG frames are out of plane with respect to the first SEG frame. ' + 'This is not yet supported. Aborting segmentation loading.');
|
|
5993
6201
|
}
|
|
5994
6202
|
return alignedPixelDataI;
|
|
5995
6203
|
};
|
|
@@ -6000,9 +6208,9 @@ const checkImageDimensions = _ref6 => {
|
|
|
6000
6208
|
Rows,
|
|
6001
6209
|
Columns
|
|
6002
6210
|
} = _ref6;
|
|
6003
|
-
const sourceImageMetadata = metadataProvider.get(
|
|
6211
|
+
const sourceImageMetadata = metadataProvider.get('instance', imageId);
|
|
6004
6212
|
if (Rows !== sourceImageMetadata.Rows || Columns !== sourceImageMetadata.Columns) {
|
|
6005
|
-
throw new Error(
|
|
6213
|
+
throw new Error('Individual SEG frames have different geometry dimensions (Rows and Columns) ' + 'respect to the source image reference frame. This is not yet supported. ' + 'Aborting segmentation loading. ');
|
|
6006
6214
|
}
|
|
6007
6215
|
};
|
|
6008
6216
|
const getArrayOfLabelMapImagesWithSegmentData = _ref7 => {
|
|
@@ -6265,7 +6473,7 @@ function getReferencedFrameOfReferenceSequence(referencedFrameOfReferenceSequenc
|
|
|
6265
6473
|
const {
|
|
6266
6474
|
FrameOfReferenceUID
|
|
6267
6475
|
} = metadata;
|
|
6268
|
-
referencedFrameOfReferenceSequence
|
|
6476
|
+
referencedFrameOfReferenceSequence || (referencedFrameOfReferenceSequence = []);
|
|
6269
6477
|
let referencedItem = referencedFrameOfReferenceSequence.find(it => it.FrameOfReferenceUID === FrameOfReferenceUID);
|
|
6270
6478
|
if (!referencedItem) {
|
|
6271
6479
|
referencedItem = {
|
|
@@ -6285,12 +6493,12 @@ const {
|
|
|
6285
6493
|
MetadataModules: getReferencedSeriesSequence_MetadataModules
|
|
6286
6494
|
} = esm.Enums;
|
|
6287
6495
|
function getReferencedSeriesSequence(referencedSeriesSequence, metadata, options) {
|
|
6288
|
-
const metadataProvider = options
|
|
6496
|
+
const metadataProvider = (options === null || options === void 0 ? void 0 : options.metadataProvider) || esm.metaData;
|
|
6289
6497
|
const {
|
|
6290
6498
|
referencedImageId: imageId
|
|
6291
6499
|
} = metadata;
|
|
6292
6500
|
const newReferenceSeq = metadataProvider.get(getReferencedSeriesSequence_MetadataModules.REFERENCED_SERIES_REFERENCE, imageId);
|
|
6293
|
-
referencedSeriesSequence
|
|
6501
|
+
referencedSeriesSequence || (referencedSeriesSequence = []);
|
|
6294
6502
|
if (newReferenceSeq) {
|
|
6295
6503
|
const {
|
|
6296
6504
|
ReferencedSeriesInstanceUID: newSeriesUid,
|
|
@@ -6316,11 +6524,12 @@ function getReferencedSeriesSequence(referencedSeriesSequence, metadata, options
|
|
|
6316
6524
|
|
|
6317
6525
|
;// ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getRTROIObservationsSequence.js
|
|
6318
6526
|
function getRTROIObservationsSequence(segment, index, options) {
|
|
6527
|
+
var _segment$segmentIndex;
|
|
6319
6528
|
return {
|
|
6320
6529
|
ObservationNumber: index + 1,
|
|
6321
|
-
ReferencedROINumber: segment.segmentIndex
|
|
6322
|
-
RTROIInterpretedType: options
|
|
6323
|
-
ROIInterpreter: options
|
|
6530
|
+
ReferencedROINumber: (_segment$segmentIndex = segment.segmentIndex) !== null && _segment$segmentIndex !== void 0 ? _segment$segmentIndex : index + 1,
|
|
6531
|
+
RTROIInterpretedType: (options === null || options === void 0 ? void 0 : options.interpretedType) || 'ORGAN',
|
|
6532
|
+
ROIInterpreter: (options === null || options === void 0 ? void 0 : options.observerName) || ''
|
|
6324
6533
|
};
|
|
6325
6534
|
}
|
|
6326
6535
|
|
|
@@ -6347,6 +6556,9 @@ function getStructureSetModule(contour, segment) {
|
|
|
6347
6556
|
|
|
6348
6557
|
|
|
6349
6558
|
|
|
6559
|
+
|
|
6560
|
+
function referencedMetadataProvider_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6561
|
+
function referencedMetadataProvider_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? referencedMetadataProvider_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : referencedMetadataProvider_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6350
6562
|
const {
|
|
6351
6563
|
DicomMetaDictionary: referencedMetadataProvider_DicomMetaDictionary
|
|
6352
6564
|
} = dcmjs_es/* default.data */.Ay.data;
|
|
@@ -6358,7 +6570,8 @@ const SERIES_MODULES = [referencedMetadataProvider_MetadataModules.GENERAL_SERIE
|
|
|
6358
6570
|
const IMAGE_MODULES = [referencedMetadataProvider_MetadataModules.GENERAL_IMAGE, referencedMetadataProvider_MetadataModules.IMAGE_PLANE, referencedMetadataProvider_MetadataModules.CINE, referencedMetadataProvider_MetadataModules.VOI_LUT, referencedMetadataProvider_MetadataModules.MODALITY_LUT, referencedMetadataProvider_MetadataModules.SOP_COMMON];
|
|
6359
6571
|
const metadataProvider = {
|
|
6360
6572
|
get: function (type, imageId, options) {
|
|
6361
|
-
|
|
6573
|
+
var _metadataProvider$typ;
|
|
6574
|
+
return (_metadataProvider$typ = metadataProvider[type]) === null || _metadataProvider$typ === void 0 ? void 0 : _metadataProvider$typ.call(metadataProvider, imageId, options);
|
|
6362
6575
|
},
|
|
6363
6576
|
[referencedMetadataProvider_MetadataModules.IMAGE_SOP_INSTANCE_REFERENCE]: function (imageId) {
|
|
6364
6577
|
const frameModule = esm.metaData.get(referencedMetadataProvider_MetadataModules.FRAME_MODULE, imageId);
|
|
@@ -6392,9 +6605,7 @@ const metadataProvider = {
|
|
|
6392
6605
|
};
|
|
6393
6606
|
},
|
|
6394
6607
|
[referencedMetadataProvider_MetadataModules.PREDECESSOR_SEQUENCE]: imageId => {
|
|
6395
|
-
const result = {
|
|
6396
|
-
...esm.metaData.get(referencedMetadataProvider_MetadataModules.SERIES_DATA, imageId)
|
|
6397
|
-
};
|
|
6608
|
+
const result = referencedMetadataProvider_objectSpread({}, esm.metaData.get(referencedMetadataProvider_MetadataModules.SERIES_DATA, imageId));
|
|
6398
6609
|
const generalImage = esm.metaData.get(referencedMetadataProvider_MetadataModules.GENERAL_IMAGE, imageId);
|
|
6399
6610
|
const study = esm.metaData.get(referencedMetadataProvider_MetadataModules.GENERAL_STUDY, imageId);
|
|
6400
6611
|
result.InstanceNumber = 1 + Number(generalImage.instanceNumber);
|
|
@@ -6421,8 +6632,7 @@ const metadataProvider = {
|
|
|
6421
6632
|
},
|
|
6422
6633
|
[referencedMetadataProvider_MetadataModules.RTSS_INSTANCE_DATA]: imageId => {
|
|
6423
6634
|
const newInstanceData = esm.metaData.get(referencedMetadataProvider_MetadataModules.NEW_INSTANCE_DATA, imageId);
|
|
6424
|
-
return {
|
|
6425
|
-
...newInstanceData,
|
|
6635
|
+
return referencedMetadataProvider_objectSpread(referencedMetadataProvider_objectSpread({}, newInstanceData), {}, {
|
|
6426
6636
|
SeriesNumber: '3201',
|
|
6427
6637
|
StructureSetROISequence: [],
|
|
6428
6638
|
ROIContourSequence: [],
|
|
@@ -6435,12 +6645,11 @@ const metadataProvider = {
|
|
|
6435
6645
|
StructureSetName: '',
|
|
6436
6646
|
StructureSetDate: referencedMetadataProvider_DicomMetaDictionary.date(),
|
|
6437
6647
|
StructureSetTime: referencedMetadataProvider_DicomMetaDictionary.time()
|
|
6438
|
-
};
|
|
6648
|
+
});
|
|
6439
6649
|
},
|
|
6440
6650
|
[referencedMetadataProvider_MetadataModules.NEW_INSTANCE_DATA]: imageId => {
|
|
6441
6651
|
const studyData = esm.metaData.get(referencedMetadataProvider_MetadataModules.STUDY_DATA, imageId);
|
|
6442
|
-
return {
|
|
6443
|
-
...studyData,
|
|
6652
|
+
return referencedMetadataProvider_objectSpread(referencedMetadataProvider_objectSpread({}, studyData), {}, {
|
|
6444
6653
|
SeriesNumber: '50000',
|
|
6445
6654
|
InstanceNumber: '1',
|
|
6446
6655
|
OperatorsName: '',
|
|
@@ -6449,7 +6658,7 @@ const metadataProvider = {
|
|
|
6449
6658
|
Manufacturer: 'cs3d',
|
|
6450
6659
|
SOPInstanceUID: referencedMetadataProvider_DicomMetaDictionary.uid(),
|
|
6451
6660
|
SeriesInstanceUID: referencedMetadataProvider_DicomMetaDictionary.uid()
|
|
6452
|
-
};
|
|
6661
|
+
});
|
|
6453
6662
|
},
|
|
6454
6663
|
[referencedMetadataProvider_MetadataModules.RTSS_CONTOUR]: () => metaRTSSContour,
|
|
6455
6664
|
[referencedMetadataProvider_MetadataModules.SR_ANNOTATION]: () => metaSRAnnotation
|
|
@@ -6472,7 +6681,7 @@ function assignDefined(dest, source, options) {
|
|
|
6472
6681
|
if (value === undefined) {
|
|
6473
6682
|
continue;
|
|
6474
6683
|
}
|
|
6475
|
-
if (dest[key] === undefined && options
|
|
6684
|
+
if (dest[key] === undefined && options !== null && options !== void 0 && options.requireDestinationKey) {
|
|
6476
6685
|
continue;
|
|
6477
6686
|
}
|
|
6478
6687
|
dest[key] = value;
|
|
@@ -6509,6 +6718,9 @@ function createInstance(instanceKey, studyExemplarImageId, base, options) {
|
|
|
6509
6718
|
|
|
6510
6719
|
|
|
6511
6720
|
|
|
6721
|
+
|
|
6722
|
+
function RTSS_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6723
|
+
function RTSS_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? RTSS_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : RTSS_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6512
6724
|
const {
|
|
6513
6725
|
generateContourSetsFromLabelmap,
|
|
6514
6726
|
AnnotationToPointData
|
|
@@ -6523,6 +6735,7 @@ function generateRTSSFromSegmentations(segmentation, metadataProvider, _DicomMet
|
|
|
6523
6735
|
});
|
|
6524
6736
|
}
|
|
6525
6737
|
async function generateRTSSFromLabelmap(segmentations, options) {
|
|
6738
|
+
var _dataset$ReferencedFr;
|
|
6526
6739
|
const {
|
|
6527
6740
|
metadataProvider = esm.metaData
|
|
6528
6741
|
} = options;
|
|
@@ -6555,7 +6768,7 @@ async function generateRTSSFromLabelmap(segmentations, options) {
|
|
|
6555
6768
|
});
|
|
6556
6769
|
});
|
|
6557
6770
|
});
|
|
6558
|
-
const segLabel = contourSet.label ||
|
|
6771
|
+
const segLabel = contourSet.label || "Segment ".concat(segIndex + 1);
|
|
6559
6772
|
const ROIContour = {
|
|
6560
6773
|
name: segLabel,
|
|
6561
6774
|
description: segLabel,
|
|
@@ -6580,12 +6793,13 @@ async function generateRTSSFromLabelmap(segmentations, options) {
|
|
|
6580
6793
|
dataset.ReferencedSeriesSequence = getReferencedSeriesSequence(dataset.ReferencedSeriesSequence, contour.metadata, options);
|
|
6581
6794
|
dataset.ReferencedFrameOfReferenceSequence = getReferencedFrameOfReferenceSequence(dataset.ReferencedFrameOfReferenceSequence, contour.metadata);
|
|
6582
6795
|
});
|
|
6583
|
-
if (dataset.ReferencedFrameOfReferenceSequence
|
|
6796
|
+
if (((_dataset$ReferencedFr = dataset.ReferencedFrameOfReferenceSequence) === null || _dataset$ReferencedFr === void 0 ? void 0 : _dataset$ReferencedFr.length) === 1) {
|
|
6584
6797
|
dataset.FrameOfReferenceUID = dataset.ReferencedFrameOfReferenceSequence[0].FrameOfReferenceUID;
|
|
6585
6798
|
}
|
|
6586
6799
|
return dataset;
|
|
6587
6800
|
}
|
|
6588
6801
|
function generateRTSSFromAnnotations(segmentations, annotations, options) {
|
|
6802
|
+
var _dataset$ReferencedFr2;
|
|
6589
6803
|
const dataset = _initializeDataset(segmentations, annotations[0].metadata, options);
|
|
6590
6804
|
const segmentsContour = new Map();
|
|
6591
6805
|
annotations.forEach((annotation, index) => {
|
|
@@ -6602,20 +6816,19 @@ function generateRTSSFromAnnotations(segmentations, annotations, options) {
|
|
|
6602
6816
|
segmentationId,
|
|
6603
6817
|
segmentIndex
|
|
6604
6818
|
} = segmentation;
|
|
6605
|
-
const key =
|
|
6819
|
+
const key = "".concat(segmentationId, ":").concat(segmentIndex);
|
|
6606
6820
|
let segmentAnnotation = segmentsContour.get(key);
|
|
6607
6821
|
if (!segmentAnnotation) {
|
|
6608
6822
|
const segment = segmentations.segments[segmentIndex];
|
|
6609
6823
|
const structureSetModule = getStructureSetModule(annotation, segment);
|
|
6610
6824
|
dataset.StructureSetROISequence.push(structureSetModule);
|
|
6611
6825
|
dataset.RTROIObservationsSequence.push(getRTROIObservationsSequence(segment, index, options));
|
|
6612
|
-
segmentAnnotation = {
|
|
6613
|
-
...segmentation,
|
|
6826
|
+
segmentAnnotation = RTSS_objectSpread(RTSS_objectSpread({}, segmentation), {}, {
|
|
6614
6827
|
annotations: [],
|
|
6615
6828
|
structureSetModule,
|
|
6616
6829
|
segment,
|
|
6617
6830
|
roiContourSequence: null
|
|
6618
|
-
};
|
|
6831
|
+
});
|
|
6619
6832
|
segmentsContour.set(key, segmentAnnotation);
|
|
6620
6833
|
}
|
|
6621
6834
|
const roiContourSequence = AnnotationToPointData.convert(annotation, segmentAnnotation.segment, esm.metaData);
|
|
@@ -6628,7 +6841,7 @@ function generateRTSSFromAnnotations(segmentations, annotations, options) {
|
|
|
6628
6841
|
dataset.ReferencedSeriesSequence = getReferencedSeriesSequence(dataset.ReferencedSeriesSequence, annotation.metadata, options);
|
|
6629
6842
|
dataset.ReferencedFrameOfReferenceSequence = getReferencedFrameOfReferenceSequence(dataset.ReferencedFrameOfReferenceSequence, annotation.metadata);
|
|
6630
6843
|
});
|
|
6631
|
-
if (dataset.ReferencedFrameOfReferenceSequence
|
|
6844
|
+
if (((_dataset$ReferencedFr2 = dataset.ReferencedFrameOfReferenceSequence) === null || _dataset$ReferencedFr2 === void 0 ? void 0 : _dataset$ReferencedFr2.length) === 1) {
|
|
6632
6845
|
dataset.FrameOfReferenceUID = dataset.ReferencedFrameOfReferenceSequence[0].FrameOfReferenceUID;
|
|
6633
6846
|
}
|
|
6634
6847
|
return dataset;
|
|
@@ -6669,7 +6882,7 @@ function generateRTSSFromRepresentation(segmentations) {
|
|
|
6669
6882
|
if (segmentations.representationData.Contour) {
|
|
6670
6883
|
return generateRTSSFromContour(segmentations, options);
|
|
6671
6884
|
}
|
|
6672
|
-
throw new Error(
|
|
6885
|
+
throw new Error("No representation available to save to RTSS: ".concat(Object.keys(segmentations.representationData)));
|
|
6673
6886
|
}
|
|
6674
6887
|
|
|
6675
6888
|
|
|
@@ -6698,7 +6911,7 @@ class KeyImage extends Probe {
|
|
|
6698
6911
|
const {
|
|
6699
6912
|
data
|
|
6700
6913
|
} = baseData.annotation;
|
|
6701
|
-
data.isPoint = trackingIdentifier.indexOf(
|
|
6914
|
+
data.isPoint = trackingIdentifier.indexOf('Point') !== -1;
|
|
6702
6915
|
return baseData;
|
|
6703
6916
|
}
|
|
6704
6917
|
static getTID300RepresentationArguments(tool) {
|
|
@@ -6726,12 +6939,12 @@ class KeyImage extends Probe {
|
|
|
6726
6939
|
}
|
|
6727
6940
|
}
|
|
6728
6941
|
_KeyImage = KeyImage;
|
|
6729
|
-
_KeyImage.init(
|
|
6942
|
+
_KeyImage.init('KeyImage', KeyImage_TID300Point, {
|
|
6730
6943
|
parentType: Probe.toolType
|
|
6731
6944
|
});
|
|
6732
|
-
_KeyImage.trackingSeriesIdentifier =
|
|
6733
|
-
_KeyImage.trackingPointIdentifier =
|
|
6734
|
-
_KeyImage.trackingSeriesPointIdentifier =
|
|
6945
|
+
_KeyImage.trackingSeriesIdentifier = "".concat(_KeyImage.trackingIdentifierTextValue, ":Series");
|
|
6946
|
+
_KeyImage.trackingPointIdentifier = "".concat(_KeyImage.trackingIdentifierTextValue, ":Point");
|
|
6947
|
+
_KeyImage.trackingSeriesPointIdentifier = "".concat(_KeyImage.trackingIdentifierTextValue, ":SeriesPoint");
|
|
6735
6948
|
|
|
6736
6949
|
|
|
6737
6950
|
|
|
@@ -7073,311 +7286,10 @@ function downloadDICOMData(bufferOrDataset, filename) {
|
|
|
7073
7286
|
|
|
7074
7287
|
|
|
7075
7288
|
|
|
7076
|
-
/***/ }
|
|
7077
|
-
|
|
7078
|
-
/***/ 75183:
|
|
7079
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7080
|
-
|
|
7081
|
-
"use strict";
|
|
7082
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7083
|
-
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
7084
|
-
/* harmony export */ });
|
|
7085
|
-
var ChangeTypes;
|
|
7086
|
-
(function (ChangeTypes) {
|
|
7087
|
-
ChangeTypes["Interaction"] = "Interaction";
|
|
7088
|
-
ChangeTypes["HandlesUpdated"] = "HandlesUpdated";
|
|
7089
|
-
ChangeTypes["StatsUpdated"] = "StatsUpdated";
|
|
7090
|
-
ChangeTypes["InitialSetup"] = "InitialSetup";
|
|
7091
|
-
ChangeTypes["Completed"] = "Completed";
|
|
7092
|
-
ChangeTypes["InterpolationUpdated"] = "InterpolationUpdated";
|
|
7093
|
-
ChangeTypes["History"] = "History";
|
|
7094
|
-
ChangeTypes["MetadataReferenceModified"] = "MetadataReferenceModified";
|
|
7095
|
-
ChangeTypes["LabelChange"] = "LabelChange";
|
|
7096
|
-
})(ChangeTypes || (ChangeTypes = {}));
|
|
7097
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ChangeTypes);
|
|
7098
|
-
|
|
7099
|
-
|
|
7100
|
-
/***/ }),
|
|
7101
|
-
|
|
7102
|
-
/***/ 94021:
|
|
7103
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7104
|
-
|
|
7105
|
-
"use strict";
|
|
7106
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7107
|
-
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
7108
|
-
/* harmony export */ });
|
|
7109
|
-
var Events;
|
|
7110
|
-
(function (Events) {
|
|
7111
|
-
Events["TOOL_ACTIVATED"] = "CORNERSTONE_TOOLS_TOOL_ACTIVATED";
|
|
7112
|
-
Events["TOOLGROUP_VIEWPORT_ADDED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_ADDED";
|
|
7113
|
-
Events["TOOLGROUP_VIEWPORT_REMOVED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_REMOVED";
|
|
7114
|
-
Events["TOOL_MODE_CHANGED"] = "CORNERSTONE_TOOLS_TOOL_MODE_CHANGED";
|
|
7115
|
-
Events["CROSSHAIR_TOOL_CENTER_CHANGED"] = "CORNERSTONE_TOOLS_CROSSHAIR_TOOL_CENTER_CHANGED";
|
|
7116
|
-
Events["VOLUMECROPPINGCONTROL_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPINGCONTROL_TOOL_CHANGED";
|
|
7117
|
-
Events["VOLUMECROPPING_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPING_TOOL_CHANGED";
|
|
7118
|
-
Events["STACK_PREFETCH_COMPLETE"] = "CORNERSTONE_TOOLS_STACK_PREFETCH_COMPLETE";
|
|
7119
|
-
Events["ANNOTATION_ADDED"] = "CORNERSTONE_TOOLS_ANNOTATION_ADDED";
|
|
7120
|
-
Events["ANNOTATION_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_COMPLETED";
|
|
7121
|
-
Events["ANNOTATION_MODIFIED"] = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED";
|
|
7122
|
-
Events["ANNOTATION_REMOVED"] = "CORNERSTONE_TOOLS_ANNOTATION_REMOVED";
|
|
7123
|
-
Events["ANNOTATION_SELECTION_CHANGE"] = "CORNERSTONE_TOOLS_ANNOTATION_SELECTION_CHANGE";
|
|
7124
|
-
Events["ANNOTATION_LOCK_CHANGE"] = "CORNERSTONE_TOOLS_ANNOTATION_LOCK_CHANGE";
|
|
7125
|
-
Events["ANNOTATION_VISIBILITY_CHANGE"] = "CORNERSTONE_TOOLS_ANNOTATION_VISIBILITY_CHANGE";
|
|
7126
|
-
Events["ANNOTATION_RENDERED"] = "CORNERSTONE_TOOLS_ANNOTATION_RENDERED";
|
|
7127
|
-
Events["ANNOTATION_CUT_MERGE_PROCESS_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_CUT_MERGE_PROCESS_COMPLETED";
|
|
7128
|
-
Events["ANNOTATION_INTERPOLATION_PROCESS_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_INTERPOLATION_PROCESS_COMPLETED";
|
|
7129
|
-
Events["INTERPOLATED_ANNOTATIONS_REMOVED"] = "CORNERSTONE_TOOLS_INTERPOLATED_ANNOTATIONS_REMOVED";
|
|
7130
|
-
Events["SEGMENTATION_MODIFIED"] = "CORNERSTONE_TOOLS_SEGMENTATION_MODIFIED";
|
|
7131
|
-
Events["SEGMENTATION_RENDERED"] = "CORNERSTONE_TOOLS_SEGMENTATION_RENDERED";
|
|
7132
|
-
Events["SEGMENTATION_REPRESENTATION_ADDED"] = "CORNERSTONE_TOOLS_SEGMENTATION_REPRESENTATION_ADDED";
|
|
7133
|
-
Events["SEGMENTATION_ADDED"] = "CORNERSTONE_TOOLS_SEGMENTATION_ADDED";
|
|
7134
|
-
Events["SEGMENTATION_REPRESENTATION_MODIFIED"] = "CORNERSTONE_TOOLS_SEGMENTATION_REPRESENTATION_MODIFIED";
|
|
7135
|
-
Events["SEGMENTATION_REMOVED"] = "CORNERSTONE_TOOLS_SEGMENTATION_REMOVED";
|
|
7136
|
-
Events["SEGMENTATION_REPRESENTATION_REMOVED"] = "CORNERSTONE_TOOLS_SEGMENTATION_REPRESENTATION_REMOVED";
|
|
7137
|
-
Events["SEGMENTATION_DATA_MODIFIED"] = "CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED";
|
|
7138
|
-
Events["HISTORY_UNDO"] = "CORNERSTONE_TOOLS_HISTORY_UNDO";
|
|
7139
|
-
Events["HISTORY_REDO"] = "CORNERSTONE_TOOLS_HISTORY_REDO";
|
|
7140
|
-
Events["KEY_DOWN"] = "CORNERSTONE_TOOLS_KEY_DOWN";
|
|
7141
|
-
Events["KEY_UP"] = "CORNERSTONE_TOOLS_KEY_UP";
|
|
7142
|
-
Events["MOUSE_DOWN"] = "CORNERSTONE_TOOLS_MOUSE_DOWN";
|
|
7143
|
-
Events["MOUSE_UP"] = "CORNERSTONE_TOOLS_MOUSE_UP";
|
|
7144
|
-
Events["MOUSE_DOWN_ACTIVATE"] = "CORNERSTONE_TOOLS_MOUSE_DOWN_ACTIVATE";
|
|
7145
|
-
Events["MOUSE_DRAG"] = "CORNERSTONE_TOOLS_MOUSE_DRAG";
|
|
7146
|
-
Events["MOUSE_MOVE"] = "CORNERSTONE_TOOLS_MOUSE_MOVE";
|
|
7147
|
-
Events["MOUSE_CLICK"] = "CORNERSTONE_TOOLS_MOUSE_CLICK";
|
|
7148
|
-
Events["MOUSE_DOUBLE_CLICK"] = "CORNERSTONE_TOOLS_MOUSE_DOUBLE_CLICK";
|
|
7149
|
-
Events["MOUSE_WHEEL"] = "CORNERSTONE_TOOLS_MOUSE_WHEEL";
|
|
7150
|
-
Events["TOUCH_START"] = "CORNERSTONE_TOOLS_TOUCH_START";
|
|
7151
|
-
Events["TOUCH_START_ACTIVATE"] = "CORNERSTONE_TOOLS_TOUCH_START_ACTIVATE";
|
|
7152
|
-
Events["TOUCH_PRESS"] = "CORNERSTONE_TOOLS_TOUCH_PRESS";
|
|
7153
|
-
Events["TOUCH_DRAG"] = "CORNERSTONE_TOOLS_TOUCH_DRAG";
|
|
7154
|
-
Events["TOUCH_END"] = "CORNERSTONE_TOOLS_TOUCH_END";
|
|
7155
|
-
Events["TOUCH_TAP"] = "CORNERSTONE_TOOLS_TAP";
|
|
7156
|
-
Events["TOUCH_SWIPE"] = "CORNERSTONE_TOOLS_SWIPE";
|
|
7157
|
-
})(Events || (Events = {}));
|
|
7158
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Events);
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
/***/ }),
|
|
7162
|
-
|
|
7163
|
-
/***/ 18682:
|
|
7164
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7165
|
-
|
|
7166
|
-
"use strict";
|
|
7167
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7168
|
-
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
7169
|
-
/* harmony export */ });
|
|
7170
|
-
var SegmentationRepresentations;
|
|
7171
|
-
(function (SegmentationRepresentations) {
|
|
7172
|
-
SegmentationRepresentations["Labelmap"] = "Labelmap";
|
|
7173
|
-
SegmentationRepresentations["Contour"] = "Contour";
|
|
7174
|
-
SegmentationRepresentations["Surface"] = "Surface";
|
|
7175
|
-
})(SegmentationRepresentations || (SegmentationRepresentations = {}));
|
|
7176
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SegmentationRepresentations);
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
/***/ }),
|
|
7180
|
-
|
|
7181
|
-
/***/ 84093:
|
|
7182
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7183
|
-
|
|
7184
|
-
"use strict";
|
|
7185
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7186
|
-
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
7187
|
-
/* harmony export */ });
|
|
7188
|
-
var StrategyCallbacks;
|
|
7189
|
-
(function (StrategyCallbacks) {
|
|
7190
|
-
StrategyCallbacks["CalculateCursorGeometry"] = "calculateCursorGeometry";
|
|
7191
|
-
StrategyCallbacks["RenderCursor"] = "renderCursor";
|
|
7192
|
-
StrategyCallbacks["OnInteractionStart"] = "onInteractionStart";
|
|
7193
|
-
StrategyCallbacks["OnInteractionEnd"] = "onInteractionEnd";
|
|
7194
|
-
StrategyCallbacks["Preview"] = "preview";
|
|
7195
|
-
StrategyCallbacks["RejectPreview"] = "rejectPreview";
|
|
7196
|
-
StrategyCallbacks["AcceptPreview"] = "acceptPreview";
|
|
7197
|
-
StrategyCallbacks["Fill"] = "fill";
|
|
7198
|
-
StrategyCallbacks["Interpolate"] = "interpolate";
|
|
7199
|
-
StrategyCallbacks["StrategyFunction"] = "strategyFunction";
|
|
7200
|
-
StrategyCallbacks["CreateIsInThreshold"] = "createIsInThreshold";
|
|
7201
|
-
StrategyCallbacks["Initialize"] = "initialize";
|
|
7202
|
-
StrategyCallbacks["INTERNAL_setValue"] = "setValue";
|
|
7203
|
-
StrategyCallbacks["AddPreview"] = "addPreview";
|
|
7204
|
-
StrategyCallbacks["ComputeInnerCircleRadius"] = "computeInnerCircleRadius";
|
|
7205
|
-
StrategyCallbacks["GetStatistics"] = "getStatistics";
|
|
7206
|
-
StrategyCallbacks["EnsureImageVolumeFor3DManipulation"] = "ensureImageVolumeFor3DManipulation";
|
|
7207
|
-
StrategyCallbacks["EnsureSegmentationVolumeFor3DManipulation"] = "ensureSegmentationVolumeFor3DManipulation";
|
|
7208
|
-
})(StrategyCallbacks || (StrategyCallbacks = {}));
|
|
7209
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StrategyCallbacks);
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
/***/ }),
|
|
7213
|
-
|
|
7214
|
-
/***/ 66452:
|
|
7215
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7216
|
-
|
|
7217
|
-
"use strict";
|
|
7218
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7219
|
-
/* harmony export */ i: () => (/* binding */ MouseBindings),
|
|
7220
|
-
/* harmony export */ q: () => (/* binding */ KeyboardBindings)
|
|
7221
|
-
/* harmony export */ });
|
|
7222
|
-
var MouseBindings;
|
|
7223
|
-
(function (MouseBindings) {
|
|
7224
|
-
MouseBindings[MouseBindings["Primary"] = 1] = "Primary";
|
|
7225
|
-
MouseBindings[MouseBindings["Secondary"] = 2] = "Secondary";
|
|
7226
|
-
MouseBindings[MouseBindings["Primary_And_Secondary"] = 3] = "Primary_And_Secondary";
|
|
7227
|
-
MouseBindings[MouseBindings["Auxiliary"] = 4] = "Auxiliary";
|
|
7228
|
-
MouseBindings[MouseBindings["Primary_And_Auxiliary"] = 5] = "Primary_And_Auxiliary";
|
|
7229
|
-
MouseBindings[MouseBindings["Secondary_And_Auxiliary"] = 6] = "Secondary_And_Auxiliary";
|
|
7230
|
-
MouseBindings[MouseBindings["Primary_And_Secondary_And_Auxiliary"] = 7] = "Primary_And_Secondary_And_Auxiliary";
|
|
7231
|
-
MouseBindings[MouseBindings["Fourth_Button"] = 8] = "Fourth_Button";
|
|
7232
|
-
MouseBindings[MouseBindings["Fifth_Button"] = 16] = "Fifth_Button";
|
|
7233
|
-
MouseBindings[MouseBindings["Wheel"] = 524288] = "Wheel";
|
|
7234
|
-
MouseBindings[MouseBindings["Wheel_Primary"] = 524289] = "Wheel_Primary";
|
|
7235
|
-
})(MouseBindings || (MouseBindings = {}));
|
|
7236
|
-
var KeyboardBindings;
|
|
7237
|
-
(function (KeyboardBindings) {
|
|
7238
|
-
KeyboardBindings[KeyboardBindings["Shift"] = 16] = "Shift";
|
|
7239
|
-
KeyboardBindings[KeyboardBindings["Ctrl"] = 17] = "Ctrl";
|
|
7240
|
-
KeyboardBindings[KeyboardBindings["Alt"] = 18] = "Alt";
|
|
7241
|
-
KeyboardBindings[KeyboardBindings["Meta"] = 91] = "Meta";
|
|
7242
|
-
KeyboardBindings[KeyboardBindings["ShiftCtrl"] = 1617] = "ShiftCtrl";
|
|
7243
|
-
KeyboardBindings[KeyboardBindings["ShiftAlt"] = 1618] = "ShiftAlt";
|
|
7244
|
-
KeyboardBindings[KeyboardBindings["ShiftMeta"] = 1691] = "ShiftMeta";
|
|
7245
|
-
KeyboardBindings[KeyboardBindings["CtrlAlt"] = 1718] = "CtrlAlt";
|
|
7246
|
-
KeyboardBindings[KeyboardBindings["CtrlMeta"] = 1791] = "CtrlMeta";
|
|
7247
|
-
KeyboardBindings[KeyboardBindings["AltMeta"] = 1891] = "AltMeta";
|
|
7248
|
-
})(KeyboardBindings || (KeyboardBindings = {}));
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
/***/ }),
|
|
7253
|
-
|
|
7254
|
-
/***/ 49892:
|
|
7255
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7256
|
-
|
|
7257
|
-
"use strict";
|
|
7258
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7259
|
-
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
7260
|
-
/* harmony export */ });
|
|
7261
|
-
var ToolModes;
|
|
7262
|
-
(function (ToolModes) {
|
|
7263
|
-
ToolModes["Active"] = "Active";
|
|
7264
|
-
ToolModes["Passive"] = "Passive";
|
|
7265
|
-
ToolModes["Enabled"] = "Enabled";
|
|
7266
|
-
ToolModes["Disabled"] = "Disabled";
|
|
7267
|
-
})(ToolModes || (ToolModes = {}));
|
|
7268
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ToolModes);
|
|
7269
|
-
|
|
7270
|
-
|
|
7271
|
-
/***/ }),
|
|
7272
|
-
|
|
7273
|
-
/***/ 10401:
|
|
7274
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7275
|
-
|
|
7276
|
-
"use strict";
|
|
7277
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7278
|
-
/* harmony export */ H: () => (/* binding */ Swipe)
|
|
7279
|
-
/* harmony export */ });
|
|
7280
|
-
var Swipe;
|
|
7281
|
-
(function (Swipe) {
|
|
7282
|
-
Swipe["UP"] = "UP";
|
|
7283
|
-
Swipe["DOWN"] = "DOWN";
|
|
7284
|
-
Swipe["LEFT"] = "LEFT";
|
|
7285
|
-
Swipe["RIGHT"] = "RIGHT";
|
|
7286
|
-
})(Swipe || (Swipe = {}));
|
|
7287
|
-
|
|
7288
|
-
|
|
7289
|
-
|
|
7290
|
-
/***/ }),
|
|
7291
|
-
|
|
7292
|
-
/***/ 29857:
|
|
7293
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7294
|
-
|
|
7295
|
-
"use strict";
|
|
7296
|
-
// ESM COMPAT FLAG
|
|
7297
|
-
__webpack_require__.r(__webpack_exports__);
|
|
7298
|
-
|
|
7299
|
-
// EXPORTS
|
|
7300
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
7301
|
-
AnnotationStyleStates: () => (/* reexport */ enums_AnnotationStyleStates),
|
|
7302
|
-
ChangeTypes: () => (/* reexport */ ChangeTypes/* default */.A),
|
|
7303
|
-
Events: () => (/* reexport */ Events/* default */.A),
|
|
7304
|
-
KeyboardBindings: () => (/* reexport */ ToolBindings/* KeyboardBindings */.q),
|
|
7305
|
-
MeasurementType: () => (/* reexport */ MeasurementType),
|
|
7306
|
-
MouseBindings: () => (/* reexport */ ToolBindings/* MouseBindings */.i),
|
|
7307
|
-
SegmentationRepresentations: () => (/* reexport */ SegmentationRepresentations/* default */.A),
|
|
7308
|
-
StrategyCallbacks: () => (/* reexport */ StrategyCallbacks/* default */.A),
|
|
7309
|
-
Swipe: () => (/* reexport */ Touch/* Swipe */.H),
|
|
7310
|
-
ToolModes: () => (/* reexport */ ToolModes/* default */.A),
|
|
7311
|
-
WorkerTypes: () => (/* reexport */ WorkerTypes)
|
|
7312
|
-
});
|
|
7313
|
-
|
|
7314
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/ToolBindings.js
|
|
7315
|
-
var ToolBindings = __webpack_require__(66452);
|
|
7316
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/ToolModes.js
|
|
7317
|
-
var ToolModes = __webpack_require__(49892);
|
|
7318
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/AnnotationStyleStates.js
|
|
7319
|
-
var AnnotationStyleStates;
|
|
7320
|
-
(function (AnnotationStyleStates) {
|
|
7321
|
-
AnnotationStyleStates["Default"] = "";
|
|
7322
|
-
AnnotationStyleStates["Highlighted"] = "Highlighted";
|
|
7323
|
-
AnnotationStyleStates["Selected"] = "Selected";
|
|
7324
|
-
AnnotationStyleStates["Locked"] = "Locked";
|
|
7325
|
-
AnnotationStyleStates["AutoGenerated"] = "AutoGenerated";
|
|
7326
|
-
})(AnnotationStyleStates || (AnnotationStyleStates = {}));
|
|
7327
|
-
/* harmony default export */ const enums_AnnotationStyleStates = (AnnotationStyleStates);
|
|
7328
|
-
|
|
7329
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/Events.js
|
|
7330
|
-
var Events = __webpack_require__(94021);
|
|
7331
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/SegmentationRepresentations.js
|
|
7332
|
-
var SegmentationRepresentations = __webpack_require__(18682);
|
|
7333
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/Touch.js
|
|
7334
|
-
var Touch = __webpack_require__(10401);
|
|
7335
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/StrategyCallbacks.js
|
|
7336
|
-
var StrategyCallbacks = __webpack_require__(84093);
|
|
7337
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/ChangeTypes.js
|
|
7338
|
-
var ChangeTypes = __webpack_require__(75183);
|
|
7339
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/WorkerTypes.js
|
|
7340
|
-
var WorkerTypes_ChangeTypes;
|
|
7341
|
-
(function (ChangeTypes) {
|
|
7342
|
-
ChangeTypes["POLYSEG_CONTOUR_TO_LABELMAP"] = "Converting Contour to Labelmap";
|
|
7343
|
-
ChangeTypes["POLYSEG_SURFACE_TO_LABELMAP"] = "Converting Surfaces to Labelmap";
|
|
7344
|
-
ChangeTypes["POLYSEG_CONTOUR_TO_SURFACE"] = "Converting Contour to Surface";
|
|
7345
|
-
ChangeTypes["POLYSEG_LABELMAP_TO_SURFACE"] = "Converting Labelmap to Surface";
|
|
7346
|
-
ChangeTypes["SURFACE_CLIPPING"] = "Clipping Surfaces";
|
|
7347
|
-
ChangeTypes["COMPUTE_STATISTICS"] = "Computing Statistics";
|
|
7348
|
-
ChangeTypes["INTERPOLATE_LABELMAP"] = "Interpolating Labelmap";
|
|
7349
|
-
ChangeTypes["COMPUTE_LARGEST_BIDIRECTIONAL"] = "Computing Largest Bidirectional";
|
|
7350
|
-
ChangeTypes["GENERATE_CONTOUR_SETS"] = "Generating Contour Sets";
|
|
7351
|
-
})(WorkerTypes_ChangeTypes || (WorkerTypes_ChangeTypes = {}));
|
|
7352
|
-
/* harmony default export */ const WorkerTypes = (WorkerTypes_ChangeTypes);
|
|
7353
|
-
|
|
7354
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/MeasurementType.js
|
|
7355
|
-
var MeasurementType;
|
|
7356
|
-
(function (MeasurementType) {
|
|
7357
|
-
MeasurementType["Linear"] = "Linear";
|
|
7358
|
-
MeasurementType["Area"] = "Area";
|
|
7359
|
-
MeasurementType["Volume"] = "Volume";
|
|
7360
|
-
MeasurementType["Pixel"] = "Pixel";
|
|
7361
|
-
})(MeasurementType || (MeasurementType = {}));
|
|
7362
|
-
|
|
7363
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/enums/index.js
|
|
7364
|
-
|
|
7365
|
-
|
|
7366
|
-
|
|
7367
|
-
|
|
7368
|
-
|
|
7369
|
-
|
|
7370
|
-
|
|
7371
|
-
|
|
7372
|
-
|
|
7373
|
-
|
|
7374
|
-
|
|
7375
|
-
|
|
7376
|
-
|
|
7377
|
-
/***/ }),
|
|
7289
|
+
/***/ },
|
|
7378
7290
|
|
|
7379
|
-
/***/ 26337
|
|
7380
|
-
|
|
7291
|
+
/***/ 26337
|
|
7292
|
+
(module) {
|
|
7381
7293
|
|
|
7382
7294
|
"use strict";
|
|
7383
7295
|
|
|
@@ -7392,10 +7304,10 @@ function iota(n) {
|
|
|
7392
7304
|
|
|
7393
7305
|
module.exports = iota
|
|
7394
7306
|
|
|
7395
|
-
/***/ }
|
|
7307
|
+
/***/ },
|
|
7396
7308
|
|
|
7397
|
-
/***/ 11604
|
|
7398
|
-
|
|
7309
|
+
/***/ 11604
|
|
7310
|
+
(module) {
|
|
7399
7311
|
|
|
7400
7312
|
/*!
|
|
7401
7313
|
* Determine if an object is a Buffer
|
|
@@ -7420,10 +7332,10 @@ function isSlowBuffer (obj) {
|
|
|
7420
7332
|
}
|
|
7421
7333
|
|
|
7422
7334
|
|
|
7423
|
-
/***/ }
|
|
7335
|
+
/***/ },
|
|
7424
7336
|
|
|
7425
|
-
/***/ 3293
|
|
7426
|
-
|
|
7337
|
+
/***/ 3293
|
|
7338
|
+
(module, __unused_webpack_exports, __webpack_require__) {
|
|
7427
7339
|
|
|
7428
7340
|
var iota = __webpack_require__(26337)
|
|
7429
7341
|
var isBuffer = __webpack_require__(11604)
|
|
@@ -7776,6 +7688,6 @@ function wrappedNDArrayCtor(data, shape, stride, offset) {
|
|
|
7776
7688
|
module.exports = wrappedNDArrayCtor
|
|
7777
7689
|
|
|
7778
7690
|
|
|
7779
|
-
/***/ }
|
|
7691
|
+
/***/ }
|
|
7780
7692
|
|
|
7781
7693
|
}]);
|