@ohif/app 3.9.0-beta.3 → 3.9.0-beta.31
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/{117.bundle.a80b1511ef4b302fb7cc.js → 117.bundle.ba41cf7978afb629dcff.js} +66 -18
- package/dist/{889.bundle.5611d644c8cb24f864ff.js → 121.bundle.378e95375a06144508ba.js} +40 -12
- package/dist/{998.bundle.b8ffa2bc390d5d4edf16.js → 129.bundle.1b625d18d376f42effc1.js} +22 -21
- package/dist/{574.bundle.72bd5061ccd504235419.js → 139.bundle.679c4baad7c7f65ebabd.js} +25 -37
- package/dist/{989.bundle.bf6bc62794b717824f7e.js → 14.bundle.ec550834dd50b923108d.js} +5 -5
- package/dist/{783.bundle.126cd640a5fd49804d8e.js → 140.bundle.38a0dfa4b46a70e33664.js} +2 -2
- package/dist/{164.bundle.1da1cadb56951caef1d6.js → 164.bundle.79cc35bc3e6b792636cd.js} +334 -44
- package/dist/{544.bundle.e8227e98860e39636a00.js → 172.bundle.e3e82e398b39958577e6.js} +16 -30
- package/dist/{487.bundle.b1a29dcf2b152693935d.js → 194.bundle.0c81e6f43d76f29392c0.js} +5 -5
- package/dist/{699.bundle.2adb0c0ad7f7cb9e338a.js → 211.bundle.86d88aa73d5352e82c97.js} +33 -4
- package/dist/{776.bundle.9680d347bafb63f8688a.js → 218.bundle.77c26ca8507b4765c981.js} +14 -9
- package/dist/{236.bundle.4ca7987e1d57f60ec13a.js → 236.bundle.343bcd0be60d0ae61901.js} +396 -56
- package/dist/{530.bundle.17b9a34fefff133e5379.js → 265.bundle.b32a0cc143efa80ee3cc.js} +8 -12
- package/dist/{862.bundle.55dde21bab4c841b6259.js → 323.bundle.8e5137bf61179c8704d6.js} +5 -9
- package/dist/{342.bundle.340982440de15f540a89.js → 342.bundle.67c49f2e52829a5696a4.js} +7 -0
- package/dist/{550.bundle.a2267752bc8874fedfd5.js → 363.bundle.0e87c4c9afa24a9a2843.js} +226 -150
- package/dist/{473.bundle.6cd4be953853f35b29c3.js → 367.bundle.6a0746aeca702ae6eba6.js} +279 -29
- package/dist/{806.bundle.50e039eb624382ee1fce.js → 370.bundle.02108fbb881fbe75b59c.js} +82 -11
- package/dist/{682.bundle.ec07ec1bc2f69f9d0d94.js → 382.bundle.67d162cdbb2a84192cae.js} +24 -4
- package/dist/{907.bundle.13dc5f4b5581d12562b8.js → 444.bundle.5bc9c6c628d3f12a78c7.js} +4 -4
- package/dist/{483.bundle.a353efc5a5dd563c903c.js → 483.bundle.016de3c3ec209d9fa42a.js} +16 -3
- package/dist/{35.bundle.0168d78bfad0cb784112.js → 501.bundle.3dcc63f03d9c252a9bee.js} +885 -312
- package/dist/{905.bundle.4105e428f61f925a310d.js → 552.bundle.4a503e6689070df070de.js} +3 -3
- package/dist/{981.bundle.a0fabcf9845c1a623990.js → 555.bundle.0f587ef1e590e457a5ed.js} +7 -6
- package/dist/{939.bundle.9d93b2e47c52338747a2.js → 612.bundle.297a033523539e0b47f9.js} +2 -2
- package/dist/{295.bundle.9926ff25c6dbf53845b1.js → 675.bundle.c9720f40fd7c7e9b7e54.js} +5 -9
- package/dist/{325.bundle.98612a2afacf5d63b25a.js → 717.bundle.133ee5f2065b3338498e.js} +32 -23
- package/dist/{722.bundle.2547630541b670f10d6e.js → 722.bundle.1242e0348afc63ca4f5e.js} +10 -4
- package/dist/{121.bundle.b582314ec0024fdf2d15.js → 792.bundle.485ad2f98823a4b3feb1.js} +6 -10
- package/dist/{721.bundle.a210baa38d34b9bcacfd.js → 799.bundle.55be56fa31b0f5c993c6.js} +12 -12
- package/dist/{448.bundle.70dc1363d8b2783dc51e.js → 806.bundle.f89c0302312b41de4227.js} +5 -5
- package/dist/{390.bundle.2751b81dbe439a40ba90.js → 827.bundle.05ca1cba07979c0e199f.js} +446 -53
- package/dist/{297.bundle.194d8985ab974839b5b6.js → 837.bundle.ff9fe44bf863a5bceabc.js} +2 -2
- package/dist/{961.bundle.2c81565fe334d6cd2f9c.js → 853.bundle.98f5e69f10cc359c364c.js} +4 -4
- package/dist/{94.bundle.9b92ece5801a7df7d08c.js → 920.bundle.8ddd71fdf3cf8152cc74.js} +39 -9
- package/dist/{243.bundle.96439f589bc338b977ea.js → 989.bundle.944239c4bf1fec35fee8.js} +4 -4
- package/dist/app-config.js +5 -1
- package/dist/{app.bundle.cbecae40543f47cc8c7e.js → app.bundle.1c724ee4d081d129ddd5.js} +162728 -46021
- package/dist/app.bundle.css +5 -4
- package/dist/assets/images/action-new-dialog.svg +14 -0
- package/dist/assets/images/arrow-down.svg +5 -0
- package/dist/assets/images/arrow-left-small.svg +6 -0
- package/dist/assets/images/arrow-left.svg +6 -0
- package/dist/assets/images/arrow-right-small.svg +6 -0
- package/dist/assets/images/arrow-right.svg +6 -0
- package/dist/assets/images/calendar.svg +5 -0
- package/dist/assets/images/cancel.svg +8 -0
- package/dist/assets/images/checkbox-active.svg +9 -0
- package/dist/assets/images/checkbox-checked.svg +9 -0
- package/dist/assets/images/checkbox-default.svg +3 -0
- package/dist/assets/images/checkbox-unchecked.svg +3 -0
- package/dist/assets/images/chevron-down.svg +3 -0
- package/dist/assets/images/chevron-left.svg +3 -0
- package/dist/assets/images/chevron-menu.svg +12 -0
- package/dist/assets/images/chevron-next.svg +6 -0
- package/dist/assets/images/chevron-prev.svg +6 -0
- package/dist/assets/images/chevron-right.svg +3 -0
- package/dist/assets/images/circled-checkmark.svg +6 -0
- package/dist/assets/images/clipboard.svg +1 -0
- package/dist/assets/images/closeIcon.svg +3 -0
- package/dist/assets/images/content-next.svg +9 -0
- package/dist/assets/images/content-prev.svg +9 -0
- package/dist/assets/images/dotted-circle.svg +3 -0
- package/dist/assets/images/edit-patient.svg +15 -0
- package/dist/assets/images/exclamation.svg +9 -0
- package/dist/assets/images/external-link.svg +5 -0
- package/dist/assets/images/eye-hidden.svg +8 -0
- package/dist/assets/images/eye-visible.svg +6 -0
- package/dist/assets/images/focus-frame-target.svg +13 -0
- package/dist/assets/images/group-layers.svg +6 -0
- package/dist/assets/images/icon-add.svg +15 -0
- package/dist/assets/images/icon-alert-small.svg +8 -0
- package/dist/assets/images/icon-chevron-patient.svg +12 -0
- package/dist/assets/images/icon-clear-field.svg +8 -0
- package/dist/assets/images/icon-close.svg +8 -0
- package/dist/assets/images/icon-color-lut.svg +23 -0
- package/dist/assets/images/icon-delete.svg +17 -0
- package/dist/assets/images/icon-disclosure-close.svg +12 -0
- package/dist/assets/images/icon-disclosure-open.svg +12 -0
- package/dist/assets/images/icon-display-settings.svg +21 -0
- package/dist/assets/images/icon-more-menu.svg +17 -0
- package/dist/assets/images/icon-mpr-alt.svg +9 -0
- package/dist/assets/images/icon-multiple-patients.svg +21 -0
- package/dist/assets/images/icon-next-inactive.svg +6 -0
- package/dist/assets/images/icon-next.svg +6 -0
- package/dist/assets/images/icon-patient.svg +13 -0
- package/dist/assets/images/icon-pause.svg +6 -0
- package/dist/assets/images/icon-play.svg +6 -0
- package/dist/assets/images/icon-prev-inactive.svg +6 -0
- package/dist/assets/images/icon-prev.svg +6 -0
- package/dist/assets/images/icon-rename.svg +15 -0
- package/dist/assets/images/icon-search.svg +9 -0
- package/dist/assets/images/icon-settings.svg +13 -0
- package/dist/assets/images/icon-status-alert.svg +8 -0
- package/dist/assets/images/icon-tool-scissor.svg +17 -0
- package/dist/assets/images/icon-toolbar-back.svg +12 -0
- package/dist/assets/images/icon-transferring.svg +6 -0
- package/dist/assets/images/icon-upload.svg +6 -0
- package/dist/assets/images/icons-alert-outline.svg +8 -0
- package/dist/assets/images/illustration-investigational-use.svg +20 -0
- package/dist/assets/images/info-action.svg +10 -0
- package/dist/assets/images/info-link.svg +7 -0
- package/dist/assets/images/info.svg +3 -0
- package/dist/assets/images/launch-arrow.svg +7 -0
- package/dist/assets/images/launch-info.svg +8 -0
- package/dist/assets/images/layout-advanced-3d-four-up.svg +13 -0
- package/dist/assets/images/layout-advanced-3d-main.svg +12 -0
- package/dist/assets/images/layout-advanced-3d-only.svg +9 -0
- package/dist/assets/images/layout-advanced-3d-primary.svg +12 -0
- package/dist/assets/images/layout-advanced-axial-primary.svg +11 -0
- package/dist/assets/images/layout-advanced-mpr.svg +11 -0
- package/dist/assets/images/layout-common-1x1.svg +9 -0
- package/dist/assets/images/layout-common-1x2.svg +10 -0
- package/dist/assets/images/layout-common-2x2.svg +11 -0
- package/dist/assets/images/layout-common-2x3.svg +12 -0
- package/dist/assets/images/list-bullets.svg +10 -0
- package/dist/assets/images/loading-ohif-mark.svg +5 -0
- package/dist/assets/images/lock.svg +1 -0
- package/dist/assets/images/logo-ohif-small.svg +5 -0
- package/dist/assets/images/magnifier.svg +7 -0
- package/dist/assets/images/navigation-panel-right-hide.svg +5 -0
- package/dist/assets/images/navigation-panel-right-reveal.svg +5 -0
- package/dist/assets/images/next-arrow.svg +12 -0
- package/dist/assets/images/notifications-error.svg +8 -0
- package/dist/assets/images/notifications-info.svg +8 -0
- package/dist/assets/images/notifications-success.svg +6 -0
- package/dist/assets/images/notifications-warning.svg +8 -0
- package/dist/assets/images/notificationwarning-diamond.svg +10 -0
- package/dist/assets/images/ohif-logo-color-darkbg.svg +20 -0
- package/dist/assets/images/ohif-logo.svg +18 -0
- package/dist/assets/images/old-play.svg +9 -0
- package/dist/assets/images/old-stop.svg +9 -0
- package/dist/assets/images/old-trash.svg +9 -0
- package/dist/assets/images/panel-group-more.svg +6 -0
- package/dist/assets/images/panel-group-open-close.svg +6 -0
- package/dist/assets/images/pencil.svg +4 -0
- package/dist/assets/images/power-off.svg +11 -0
- package/dist/assets/images/prev-arrow.svg +12 -0
- package/dist/assets/images/profile.svg +1 -0
- package/dist/assets/images/push-left.svg +5 -0
- package/dist/assets/images/push-right.svg +5 -0
- package/dist/assets/images/row-add.svg +8 -0
- package/dist/assets/images/row-edit.svg +9 -0
- package/dist/assets/images/row-hidden.svg +11 -0
- package/dist/assets/images/row-lock.svg +7 -0
- package/dist/assets/images/row-shown.svg +9 -0
- package/dist/assets/images/row-unlock.svg +7 -0
- package/dist/assets/images/settings.svg +6 -0
- package/dist/assets/images/side-panel-close-left.svg +14 -0
- package/dist/assets/images/side-panel-close-right.svg +14 -0
- package/dist/assets/images/sorting-active-down.svg +6 -0
- package/dist/assets/images/sorting-active-up.svg +6 -0
- package/dist/assets/images/sorting.svg +6 -0
- package/dist/assets/images/status-alert-warning.svg +9 -0
- package/dist/assets/images/status-alert.svg +7 -0
- package/dist/assets/images/status-locked.svg +7 -0
- package/dist/assets/images/status-tracked.svg +7 -0
- package/dist/assets/images/status-untracked.svg +6 -0
- package/dist/assets/images/tab-4d.svg +13 -0
- package/dist/assets/images/tab-linear.svg +8 -0
- package/dist/assets/images/tab-patient-info.svg +7 -0
- package/dist/assets/images/tab-roi-threshold.svg +10 -0
- package/dist/assets/images/tab-segmentation.svg +11 -0
- package/dist/assets/images/tab-studies.svg +13 -0
- package/dist/assets/images/tool-3d-rotate.svg +20 -0
- package/dist/assets/images/tool-angle.svg +12 -0
- package/dist/assets/images/tool-annotate.svg +11 -0
- package/dist/assets/images/tool-bidirectional.svg +21 -0
- package/dist/assets/images/tool-calibrate.svg +19 -0
- package/dist/assets/images/tool-capture.svg +10 -0
- package/dist/assets/images/tool-cine.svg +9 -0
- package/dist/assets/images/tool-circle.svg +8 -0
- package/dist/assets/images/tool-create-threshold.svg +9 -0
- package/dist/assets/images/tool-crosshair.svg +14 -0
- package/dist/assets/images/tool-dicom-tag-browser.svg +15 -0
- package/dist/assets/images/tool-flip-horizontal.svg +10 -0
- package/dist/assets/images/tool-freehand-polygon.svg +37 -0
- package/dist/assets/images/tool-freehand-roi.svg +12 -0
- package/dist/assets/images/tool-freehand.svg +34 -0
- package/dist/assets/images/tool-fusion-color.svg +13 -0
- package/dist/assets/images/tool-invert.svg +10 -0
- package/dist/assets/images/tool-layout-default.svg +22 -0
- package/dist/assets/images/tool-length.svg +16 -0
- package/dist/assets/images/tool-magnetic-roi.svg +17 -0
- package/dist/assets/images/tool-magnify.svg +7 -0
- package/dist/assets/images/tool-measure-elipse.svg +12 -0
- package/dist/assets/images/tool-more-menu.svg +6 -0
- package/dist/assets/images/tool-move.svg +13 -0
- package/dist/assets/images/tool-polygon.svg +3 -0
- package/dist/assets/images/tool-quick-magnify.svg +11 -0
- package/dist/assets/images/tool-rectangle.svg +12 -0
- package/dist/assets/images/tool-reference-lines.svg +13 -0
- package/dist/assets/images/tool-reset.svg +9 -0
- package/dist/assets/images/tool-rotate-right.svg +12 -0
- package/dist/assets/images/tool-seg-brush.svg +9 -0
- package/dist/assets/images/tool-seg-eraser.svg +10 -0
- package/dist/assets/images/tool-seg-shape.svg +9 -0
- package/dist/assets/images/tool-seg-threshold.svg +17 -0
- package/dist/assets/images/tool-spline-roi.svg +14 -0
- package/dist/assets/images/tool-stack-image-sync.svg +10 -0
- package/dist/assets/images/tool-stack-scroll.svg +10 -0
- package/dist/assets/images/tool-toggle-dicom-overlay.svg +9 -0
- package/dist/assets/images/tool-ultrasound-bidirectional.svg +15 -0
- package/dist/assets/images/tool-window-level.svg +9 -0
- package/dist/assets/images/tool-zoom.svg +9 -0
- package/dist/assets/images/tracked.svg +6 -0
- package/dist/assets/images/ui-arrow-down.svg +3 -0
- package/dist/assets/images/ui-arrow-left.svg +3 -0
- package/dist/assets/images/ui-arrow-right.svg +3 -0
- package/dist/assets/images/ui-arrow-up.svg +3 -0
- package/dist/assets/images/unlink.svg +9 -0
- package/dist/assets/images/viewport-status-tracked.svg +13 -0
- package/dist/assets/images/viewport-window-level.svg +17 -0
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/google.js +1 -0
- package/dist/{histogram-worker.bundle.829e14ec12c2b41a4323.js → histogram-worker.bundle.6b31e5ed4c4a7a6998f2.js} +2 -2
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.1799686b019040500219.js → polySeg.bundle.cc8400971fca41347b25.js} +3 -3
- package/dist/{suv-peak-worker.bundle.25f8b85eab9ec06da48d.js → suv-peak-worker.bundle.59ea76ac47db7a736234.js} +4 -4
- package/dist/sw.js +1 -1
- package/package.json +26 -23
- /package/dist/{998.css → 129.css} +0 -0
- /package/dist/{574.css → 139.css} +0 -0
- /package/dist/{544.css → 172.css} +0 -0
- /package/dist/{550.css → 363.css} +0 -0
- /package/dist/{325.css → 404.css} +0 -0
- /package/dist/{481.css → 717.css} +0 -0
- /package/dist/{726.bundle.c8de818cf1a3ff0cf7d2.js → 726.bundle.90d63d40a19b058034ee.js} +0 -0
- /package/dist/{835.bundle.4c0eaa2c1a427ee41817.js → 835.bundle.5d1951da8bbc6afdf3e0.js} +0 -0
- /package/dist/{931.bundle.d270a1fda9a2836c3cc5.js → 931.bundle.058f8de4606f27b31f4f.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[367],{
|
|
3
3
|
|
|
4
4
|
/***/ 52454:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -293,6 +293,102 @@ class AnnotationFrameRange {
|
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
|
|
296
|
+
/***/ }),
|
|
297
|
+
|
|
298
|
+
/***/ 25781:
|
|
299
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
300
|
+
|
|
301
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
302
|
+
/* harmony export */ i: () => (/* binding */ annotationHydration),
|
|
303
|
+
/* harmony export */ x: () => (/* binding */ getClosestImageIdForStackViewport)
|
|
304
|
+
/* harmony export */ });
|
|
305
|
+
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92136);
|
|
306
|
+
/* harmony import */ var _stateManagement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(95778);
|
|
307
|
+
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44753);
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
function annotationHydration(viewport, toolName, worldPoints, options) {
|
|
312
|
+
const viewReference = viewport.getViewReference();
|
|
313
|
+
const { viewPlaneNormal, FrameOfReferenceUID } = viewReference;
|
|
314
|
+
const annotation = {
|
|
315
|
+
annotationUID: options?.annotationUID || _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.uuidv4(),
|
|
316
|
+
data: {
|
|
317
|
+
handles: {
|
|
318
|
+
points: worldPoints,
|
|
319
|
+
},
|
|
320
|
+
},
|
|
321
|
+
highlighted: false,
|
|
322
|
+
autoGenerated: false,
|
|
323
|
+
invalidated: false,
|
|
324
|
+
isLocked: false,
|
|
325
|
+
isVisible: true,
|
|
326
|
+
metadata: {
|
|
327
|
+
toolName,
|
|
328
|
+
viewPlaneNormal,
|
|
329
|
+
FrameOfReferenceUID,
|
|
330
|
+
referencedImageId: getReferencedImageId(viewport, worldPoints[0], viewPlaneNormal),
|
|
331
|
+
...options,
|
|
332
|
+
},
|
|
333
|
+
};
|
|
334
|
+
(0,_stateManagement__WEBPACK_IMPORTED_MODULE_1__/* .addAnnotation */ .lC)(annotation, viewport.element);
|
|
335
|
+
return annotation;
|
|
336
|
+
}
|
|
337
|
+
function getReferencedImageId(viewport, worldPos, viewPlaneNormal) {
|
|
338
|
+
let referencedImageId;
|
|
339
|
+
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.StackViewport) {
|
|
340
|
+
referencedImageId = getClosestImageIdForStackViewport(viewport, worldPos, viewPlaneNormal);
|
|
341
|
+
}
|
|
342
|
+
else if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
|
|
343
|
+
const targetId = getTargetId(viewport);
|
|
344
|
+
const volumeId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getVolumeId(targetId);
|
|
345
|
+
const imageVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(volumeId);
|
|
346
|
+
referencedImageId = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.getClosestImageId(imageVolume, worldPos, viewPlaneNormal);
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
throw new Error('getReferencedImageId: viewport must be a StackViewport or BaseVolumeViewport');
|
|
350
|
+
}
|
|
351
|
+
return referencedImageId;
|
|
352
|
+
}
|
|
353
|
+
function getTargetId(viewport) {
|
|
354
|
+
const targetId = viewport.getReferenceId?.();
|
|
355
|
+
if (targetId) {
|
|
356
|
+
return targetId;
|
|
357
|
+
}
|
|
358
|
+
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
|
|
359
|
+
return `volumeId:${getTargetVolumeId(viewport)}`;
|
|
360
|
+
}
|
|
361
|
+
throw new Error('getTargetId: viewport must have a getTargetId method');
|
|
362
|
+
}
|
|
363
|
+
function getTargetVolumeId(viewport) {
|
|
364
|
+
const actorEntries = viewport.getActors();
|
|
365
|
+
if (!actorEntries) {
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
return actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume')?.uid;
|
|
369
|
+
}
|
|
370
|
+
function getClosestImageIdForStackViewport(viewport, worldPos, viewPlaneNormal) {
|
|
371
|
+
const imageIds = viewport.getImageIds();
|
|
372
|
+
if (!imageIds || !imageIds.length) {
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
const distanceImagePairs = imageIds.map((imageId) => {
|
|
376
|
+
const { imagePositionPatient } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.metaData.get('imagePlaneModule', imageId);
|
|
377
|
+
const distance = calculateDistanceToImage(worldPos, imagePositionPatient, viewPlaneNormal);
|
|
378
|
+
return { imageId, distance };
|
|
379
|
+
});
|
|
380
|
+
distanceImagePairs.sort((a, b) => a.distance - b.distance);
|
|
381
|
+
return distanceImagePairs[0].imageId;
|
|
382
|
+
}
|
|
383
|
+
function calculateDistanceToImage(worldPos, ImagePositionPatient, viewPlaneNormal) {
|
|
384
|
+
const dir = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.create */ .eR.create();
|
|
385
|
+
gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.sub */ .eR.sub(dir, worldPos, ImagePositionPatient);
|
|
386
|
+
const dot = gl_matrix__WEBPACK_IMPORTED_MODULE_2__/* .vec3.dot */ .eR.dot(dir, viewPlaneNormal);
|
|
387
|
+
return Math.abs(dot);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
|
|
296
392
|
/***/ }),
|
|
297
393
|
|
|
298
394
|
/***/ 42290:
|
|
@@ -2214,6 +2310,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
2214
2310
|
Calculator: () => (/* reexport */ basic_Calculator)
|
|
2215
2311
|
});
|
|
2216
2312
|
|
|
2313
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 28 modules
|
|
2314
|
+
var esm = __webpack_require__(92136);
|
|
2217
2315
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/basic/Calculator.js
|
|
2218
2316
|
class Calculator {
|
|
2219
2317
|
}
|
|
@@ -2221,55 +2319,73 @@ class Calculator {
|
|
|
2221
2319
|
|
|
2222
2320
|
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/basic/BasicStatsCalculator.js
|
|
2223
2321
|
|
|
2322
|
+
|
|
2323
|
+
const { PointsManager } = esm.utilities;
|
|
2224
2324
|
class BasicStatsCalculator extends basic_Calculator {
|
|
2225
2325
|
static { this.max = [-Infinity]; }
|
|
2326
|
+
static { this.min = [Infinity]; }
|
|
2226
2327
|
static { this.sum = [0]; }
|
|
2227
|
-
static { this.sumSquares = [0]; }
|
|
2228
|
-
static { this.squaredDiffSum = [0]; }
|
|
2229
2328
|
static { this.count = 0; }
|
|
2230
|
-
static { this.
|
|
2329
|
+
static { this.runMean = [0]; }
|
|
2330
|
+
static { this.m2 = [0]; }
|
|
2331
|
+
static { this.pointsInShape = PointsManager.create3(1024); }
|
|
2332
|
+
static statsInit(options) {
|
|
2333
|
+
if (options.noPointsCollection) {
|
|
2334
|
+
BasicStatsCalculator.pointsInShape = null;
|
|
2335
|
+
}
|
|
2336
|
+
}
|
|
2337
|
+
static { this.statsCallback = ({ value: newValue, pointLPS = null }) => {
|
|
2231
2338
|
if (Array.isArray(newValue) &&
|
|
2232
2339
|
newValue.length > 1 &&
|
|
2233
2340
|
this.max.length === 1) {
|
|
2234
2341
|
this.max.push(this.max[0], this.max[0]);
|
|
2342
|
+
this.min.push(this.min[0], this.min[0]);
|
|
2235
2343
|
this.sum.push(this.sum[0], this.sum[0]);
|
|
2236
|
-
this.
|
|
2237
|
-
this.
|
|
2344
|
+
this.runMean.push(0, 0);
|
|
2345
|
+
this.m2.push(this.m2[0], this.m2[0]);
|
|
2238
2346
|
}
|
|
2347
|
+
this.pointsInShape?.push(pointLPS);
|
|
2239
2348
|
const newArray = Array.isArray(newValue) ? newValue : [newValue];
|
|
2240
2349
|
this.count += 1;
|
|
2241
|
-
this.max.
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2350
|
+
this.max.map((it, idx) => {
|
|
2351
|
+
const value = newArray[idx];
|
|
2352
|
+
const delta = value - this.runMean[idx];
|
|
2353
|
+
this.sum[idx] += value;
|
|
2354
|
+
this.runMean[idx] += delta / this.count;
|
|
2355
|
+
const delta2 = value - this.runMean[idx];
|
|
2356
|
+
this.m2[idx] += delta * delta2;
|
|
2357
|
+
this.min[idx] = Math.min(this.min[idx], value);
|
|
2358
|
+
this.max[idx] = Math.max(it, value);
|
|
2359
|
+
});
|
|
2245
2360
|
}; }
|
|
2246
|
-
static { this.getStatistics = () => {
|
|
2361
|
+
static { this.getStatistics = (options) => {
|
|
2247
2362
|
const mean = this.sum.map((sum) => sum / this.count);
|
|
2248
|
-
const stdDev = this.
|
|
2249
|
-
const
|
|
2363
|
+
const stdDev = this.m2.map((squaredDiffSum) => Math.sqrt(squaredDiffSum / this.count));
|
|
2364
|
+
const unit = options?.unit || null;
|
|
2250
2365
|
const named = {
|
|
2251
2366
|
max: {
|
|
2252
2367
|
name: 'max',
|
|
2253
2368
|
label: 'Max Pixel',
|
|
2254
2369
|
value: singleArrayAsNumber(this.max),
|
|
2255
|
-
unit
|
|
2370
|
+
unit,
|
|
2371
|
+
},
|
|
2372
|
+
min: {
|
|
2373
|
+
name: 'min',
|
|
2374
|
+
label: 'Min Pixel',
|
|
2375
|
+
value: singleArrayAsNumber(this.min),
|
|
2376
|
+
unit,
|
|
2256
2377
|
},
|
|
2257
2378
|
mean: {
|
|
2258
2379
|
name: 'mean',
|
|
2259
2380
|
label: 'Mean Pixel',
|
|
2260
2381
|
value: singleArrayAsNumber(mean),
|
|
2261
|
-
unit
|
|
2382
|
+
unit,
|
|
2262
2383
|
},
|
|
2263
2384
|
stdDev: {
|
|
2264
2385
|
name: 'stdDev',
|
|
2265
2386
|
label: 'Standard Deviation',
|
|
2266
2387
|
value: singleArrayAsNumber(stdDev),
|
|
2267
|
-
unit
|
|
2268
|
-
},
|
|
2269
|
-
stdDevWithSumSquare: {
|
|
2270
|
-
name: 'stdDevWithSumSquare',
|
|
2271
|
-
value: singleArrayAsNumber(stdDevWithSumSquare),
|
|
2272
|
-
unit: null,
|
|
2388
|
+
unit,
|
|
2273
2389
|
},
|
|
2274
2390
|
count: {
|
|
2275
2391
|
name: 'count',
|
|
@@ -2277,14 +2393,17 @@ class BasicStatsCalculator extends basic_Calculator {
|
|
|
2277
2393
|
value: this.count,
|
|
2278
2394
|
unit: null,
|
|
2279
2395
|
},
|
|
2396
|
+
pointsInShape: this.pointsInShape,
|
|
2280
2397
|
array: [],
|
|
2281
2398
|
};
|
|
2282
|
-
named.array.push(named.max, named.mean, named.stdDev, named.
|
|
2399
|
+
named.array.push(named.max, named.mean, named.stdDev, named.stdDev, named.count);
|
|
2283
2400
|
this.max = [-Infinity];
|
|
2401
|
+
this.min = [Infinity];
|
|
2284
2402
|
this.sum = [0];
|
|
2285
|
-
this.
|
|
2286
|
-
this.
|
|
2403
|
+
this.m2 = [0];
|
|
2404
|
+
this.runMean = [0];
|
|
2287
2405
|
this.count = 0;
|
|
2406
|
+
this.pointsInShape = PointsManager.create3(1024);
|
|
2288
2407
|
return named;
|
|
2289
2408
|
}; }
|
|
2290
2409
|
}
|
|
@@ -6968,14 +7087,145 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
6968
7087
|
|
|
6969
7088
|
/***/ }),
|
|
6970
7089
|
|
|
6971
|
-
/***/
|
|
7090
|
+
/***/ 14149:
|
|
6972
7091
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6973
7092
|
|
|
7093
|
+
// ESM COMPAT FLAG
|
|
6974
7094
|
__webpack_require__.r(__webpack_exports__);
|
|
6975
|
-
|
|
6976
|
-
|
|
6977
|
-
|
|
6978
|
-
|
|
7095
|
+
|
|
7096
|
+
// EXPORTS
|
|
7097
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
7098
|
+
colorbar: () => (/* reexport */ colorbar),
|
|
7099
|
+
windowLevel: () => (/* reexport */ windowlevel_namespaceObject)
|
|
7100
|
+
});
|
|
7101
|
+
|
|
7102
|
+
// NAMESPACE OBJECT: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/windowlevel/index.js
|
|
7103
|
+
var windowlevel_namespaceObject = {};
|
|
7104
|
+
__webpack_require__.r(windowlevel_namespaceObject);
|
|
7105
|
+
__webpack_require__.d(windowlevel_namespaceObject, {
|
|
7106
|
+
calculateMinMaxMean: () => (calculateMinMaxMean),
|
|
7107
|
+
extractWindowLevelRegionToolData: () => (extractWindowLevelRegionToolData),
|
|
7108
|
+
getLuminanceFromRegion: () => (getLuminanceFromRegion)
|
|
7109
|
+
});
|
|
7110
|
+
|
|
7111
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/colorbar/index.js
|
|
7112
|
+
var colorbar = __webpack_require__(64690);
|
|
7113
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/windowlevel/getLuminanceFromRegion.js
|
|
7114
|
+
function getLuminanceFromRegion(imageData, x, y, width, height) {
|
|
7115
|
+
const luminance = [];
|
|
7116
|
+
let index = 0;
|
|
7117
|
+
const pixelData = imageData.scalarData;
|
|
7118
|
+
let spIndex, row, column;
|
|
7119
|
+
if (imageData.color) {
|
|
7120
|
+
for (row = 0; row < height; row++) {
|
|
7121
|
+
for (column = 0; column < width; column++) {
|
|
7122
|
+
spIndex = ((row + y) * imageData.columns + (column + x)) * 4;
|
|
7123
|
+
const red = pixelData[spIndex];
|
|
7124
|
+
const green = pixelData[spIndex + 1];
|
|
7125
|
+
const blue = pixelData[spIndex + 2];
|
|
7126
|
+
luminance[index++] = 0.2126 * red + 0.7152 * green + 0.0722 * blue;
|
|
7127
|
+
}
|
|
7128
|
+
}
|
|
7129
|
+
}
|
|
7130
|
+
else {
|
|
7131
|
+
for (row = 0; row < height; row++) {
|
|
7132
|
+
for (column = 0; column < width; column++) {
|
|
7133
|
+
spIndex = (row + y) * imageData.columns + (column + x);
|
|
7134
|
+
luminance[index++] = pixelData[spIndex];
|
|
7135
|
+
}
|
|
7136
|
+
}
|
|
7137
|
+
}
|
|
7138
|
+
return luminance;
|
|
7139
|
+
}
|
|
7140
|
+
|
|
7141
|
+
|
|
7142
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/windowlevel/calculateMinMaxMean.js
|
|
7143
|
+
function calculateMinMaxMean(pixelLuminance, globalMin, globalMax) {
|
|
7144
|
+
const numPixels = pixelLuminance.length;
|
|
7145
|
+
let min = globalMax;
|
|
7146
|
+
let max = globalMin;
|
|
7147
|
+
let sum = 0;
|
|
7148
|
+
if (numPixels < 2) {
|
|
7149
|
+
return {
|
|
7150
|
+
min,
|
|
7151
|
+
max,
|
|
7152
|
+
mean: (globalMin + globalMax) / 2,
|
|
7153
|
+
};
|
|
7154
|
+
}
|
|
7155
|
+
for (let index = 0; index < numPixels; index++) {
|
|
7156
|
+
const spv = pixelLuminance[index];
|
|
7157
|
+
min = Math.min(min, spv);
|
|
7158
|
+
max = Math.max(max, spv);
|
|
7159
|
+
sum += spv;
|
|
7160
|
+
}
|
|
7161
|
+
return {
|
|
7162
|
+
min,
|
|
7163
|
+
max,
|
|
7164
|
+
mean: sum / numPixels,
|
|
7165
|
+
};
|
|
7166
|
+
}
|
|
7167
|
+
|
|
7168
|
+
|
|
7169
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 28 modules
|
|
7170
|
+
var esm = __webpack_require__(92136);
|
|
7171
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.js
|
|
7172
|
+
|
|
7173
|
+
function extractWindowLevelRegionToolData(viewport) {
|
|
7174
|
+
if (viewport instanceof esm.VolumeViewport) {
|
|
7175
|
+
return extractImageDataVolume(viewport);
|
|
7176
|
+
}
|
|
7177
|
+
if (viewport instanceof esm.StackViewport) {
|
|
7178
|
+
return extractImageDataStack(viewport);
|
|
7179
|
+
}
|
|
7180
|
+
throw new Error('Viewport not supported');
|
|
7181
|
+
}
|
|
7182
|
+
function extractImageDataVolume(viewport) {
|
|
7183
|
+
const { scalarData, width, height } = esm.utilities.getCurrentVolumeViewportSlice(viewport);
|
|
7184
|
+
const { min: minPixelValue, max: maxPixelValue } = esm.utilities.getMinMax(scalarData);
|
|
7185
|
+
const volumeId = viewport.getVolumeId();
|
|
7186
|
+
const volume = esm.cache.getVolume(volumeId);
|
|
7187
|
+
const { metadata, cornerstoneImageMetaData } = volume;
|
|
7188
|
+
const { Rows: rows, Columns: columns } = metadata;
|
|
7189
|
+
const { color } = cornerstoneImageMetaData;
|
|
7190
|
+
return {
|
|
7191
|
+
scalarData,
|
|
7192
|
+
width,
|
|
7193
|
+
height,
|
|
7194
|
+
minPixelValue,
|
|
7195
|
+
maxPixelValue,
|
|
7196
|
+
rows,
|
|
7197
|
+
columns,
|
|
7198
|
+
color,
|
|
7199
|
+
};
|
|
7200
|
+
}
|
|
7201
|
+
function extractImageDataStack(viewport) {
|
|
7202
|
+
const imageData = viewport.getImageData();
|
|
7203
|
+
const { scalarData } = imageData;
|
|
7204
|
+
const { min: minPixelValue, max: maxPixelValue } = esm.utilities.getMinMax(scalarData);
|
|
7205
|
+
const width = imageData.dimensions[0];
|
|
7206
|
+
const height = imageData.dimensions[1];
|
|
7207
|
+
const { rows, columns, color } = viewport.getCornerstoneImage();
|
|
7208
|
+
return {
|
|
7209
|
+
scalarData,
|
|
7210
|
+
width,
|
|
7211
|
+
height,
|
|
7212
|
+
minPixelValue,
|
|
7213
|
+
maxPixelValue,
|
|
7214
|
+
rows,
|
|
7215
|
+
columns,
|
|
7216
|
+
color,
|
|
7217
|
+
};
|
|
7218
|
+
}
|
|
7219
|
+
|
|
7220
|
+
|
|
7221
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/windowlevel/index.js
|
|
7222
|
+
|
|
7223
|
+
|
|
7224
|
+
|
|
7225
|
+
|
|
7226
|
+
|
|
7227
|
+
;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/voi/index.js
|
|
7228
|
+
|
|
6979
7229
|
|
|
6980
7230
|
|
|
6981
7231
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
1
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[370],{
|
|
2
2
|
|
|
3
3
|
/***/ 93858:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1840,6 +1840,40 @@ function wheelListener(evt) {
|
|
|
1840
1840
|
/* harmony default export */ const wheel_wheelListener = (wheelListener);
|
|
1841
1841
|
|
|
1842
1842
|
|
|
1843
|
+
/***/ }),
|
|
1844
|
+
|
|
1845
|
+
/***/ 99595:
|
|
1846
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1847
|
+
|
|
1848
|
+
"use strict";
|
|
1849
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1850
|
+
/* harmony export */ Q: () => (/* binding */ checkAndDefineTextBoxProperty),
|
|
1851
|
+
/* harmony export */ d: () => (/* binding */ checkAndDefineCachedStatsProperty)
|
|
1852
|
+
/* harmony export */ });
|
|
1853
|
+
const checkAndDefineTextBoxProperty = (annotation) => {
|
|
1854
|
+
if (!annotation.data) {
|
|
1855
|
+
annotation.data = {};
|
|
1856
|
+
}
|
|
1857
|
+
if (!annotation.data.handles) {
|
|
1858
|
+
annotation.data.handles = {};
|
|
1859
|
+
}
|
|
1860
|
+
if (!annotation.data.handles.textBox) {
|
|
1861
|
+
annotation.data.handles.textBox = {};
|
|
1862
|
+
}
|
|
1863
|
+
return annotation;
|
|
1864
|
+
};
|
|
1865
|
+
const checkAndDefineCachedStatsProperty = (annotation) => {
|
|
1866
|
+
if (!annotation.data) {
|
|
1867
|
+
annotation.data = {};
|
|
1868
|
+
}
|
|
1869
|
+
if (!annotation.data.cachedStats) {
|
|
1870
|
+
annotation.data.cachedStats = {};
|
|
1871
|
+
}
|
|
1872
|
+
return annotation;
|
|
1873
|
+
};
|
|
1874
|
+
|
|
1875
|
+
|
|
1876
|
+
|
|
1843
1877
|
/***/ }),
|
|
1844
1878
|
|
|
1845
1879
|
/***/ 95778:
|
|
@@ -2522,7 +2556,7 @@ class AdvancedMagnifyViewportManager {
|
|
|
2522
2556
|
/* harmony export */ });
|
|
2523
2557
|
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92136);
|
|
2524
2558
|
/* harmony import */ var _distancePointToContour__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7783);
|
|
2525
|
-
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
2559
|
+
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49574);
|
|
2526
2560
|
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73047);
|
|
2527
2561
|
|
|
2528
2562
|
|
|
@@ -3836,7 +3870,7 @@ function registerOpenContourEndEditLoop(toolInstance) {
|
|
|
3836
3870
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
3837
3871
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
3838
3872
|
/* harmony export */ });
|
|
3839
|
-
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
3873
|
+
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49574);
|
|
3840
3874
|
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73047);
|
|
3841
3875
|
/* harmony import */ var _findOpenUShapedContourVectorToPeak__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51051);
|
|
3842
3876
|
/* harmony import */ var _utilities_contours__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75534);
|
|
@@ -4009,10 +4043,42 @@ function renderOpenContourBeingEdited(enabledElement, svgDrawingHelper, annotati
|
|
|
4009
4043
|
const polylineUIDToRender = 'preview-1';
|
|
4010
4044
|
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPolyline)(svgDrawingHelper, annotation.annotationUID, polylineUIDToRender, fusedCanvasPoints, options);
|
|
4011
4045
|
}
|
|
4046
|
+
function renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation) {
|
|
4047
|
+
if (annotation.parentAnnotationUID) {
|
|
4048
|
+
return;
|
|
4049
|
+
}
|
|
4050
|
+
const { viewport } = enabledElement;
|
|
4051
|
+
const options = this._getRenderingOptions(enabledElement, annotation);
|
|
4052
|
+
const canvasPolyline = annotation.data.contour.polyline.map((worldPos) => viewport.worldToCanvas(worldPos));
|
|
4053
|
+
const childContours = (0,_utilities_contours__WEBPACK_IMPORTED_MODULE_3__.getContourHolesDataCanvas)(annotation, viewport);
|
|
4054
|
+
const polylineUID = '1';
|
|
4055
|
+
const center = canvasPolyline[0];
|
|
4056
|
+
const radius = 6;
|
|
4057
|
+
const numberOfPoints = 100;
|
|
4058
|
+
const circlePoints = [];
|
|
4059
|
+
for (let i = 0; i < numberOfPoints; i++) {
|
|
4060
|
+
const angle = (i / numberOfPoints) * 2 * Math.PI;
|
|
4061
|
+
const x = center[0] + radius * Math.cos(angle);
|
|
4062
|
+
const y = center[1] + radius * Math.sin(angle);
|
|
4063
|
+
circlePoints.push([x, y]);
|
|
4064
|
+
}
|
|
4065
|
+
const crosshair = [
|
|
4066
|
+
[center[0] - radius * 2, center[1]],
|
|
4067
|
+
[center[0] + radius * 2, center[1]],
|
|
4068
|
+
[center[0], center[1] - radius * 2],
|
|
4069
|
+
[center[0], center[1] + radius * 2],
|
|
4070
|
+
];
|
|
4071
|
+
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID + '-crosshair_v', [crosshair[0], crosshair[1]], options);
|
|
4072
|
+
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID + '-crosshair_h', [crosshair[2], crosshair[3]], options);
|
|
4073
|
+
const allContours = [circlePoints, ...childContours];
|
|
4074
|
+
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID, allContours, options);
|
|
4075
|
+
}
|
|
4012
4076
|
function registerRenderMethods(toolInstance) {
|
|
4013
4077
|
toolInstance.renderContour = renderContour.bind(toolInstance);
|
|
4014
4078
|
toolInstance.renderClosedContour = renderClosedContour.bind(toolInstance);
|
|
4015
4079
|
toolInstance.renderOpenContour = renderOpenContour.bind(toolInstance);
|
|
4080
|
+
toolInstance.renderPointContourWithMarker =
|
|
4081
|
+
renderPointContourWithMarker.bind(toolInstance);
|
|
4016
4082
|
toolInstance.renderOpenUShapedContour =
|
|
4017
4083
|
renderOpenUShapedContour.bind(toolInstance);
|
|
4018
4084
|
toolInstance.renderContourBeingDrawn =
|
|
@@ -4738,8 +4804,8 @@ var stateManagement_segmentation = __webpack_require__(63421);
|
|
|
4738
4804
|
var enums = __webpack_require__(84901);
|
|
4739
4805
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
|
|
4740
4806
|
var annotationState = __webpack_require__(38296);
|
|
4741
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js +
|
|
4742
|
-
var drawingSvg = __webpack_require__(
|
|
4807
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js + 18 modules
|
|
4808
|
+
var drawingSvg = __webpack_require__(49574);
|
|
4743
4809
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/AnnotationTool.js
|
|
4744
4810
|
var AnnotationTool = __webpack_require__(52454);
|
|
4745
4811
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contours/index.js
|
|
@@ -5149,6 +5215,8 @@ function deleteConfigCache(segmentationRepresentationUID) {
|
|
|
5149
5215
|
|
|
5150
5216
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/index.js + 31 modules
|
|
5151
5217
|
var stateManagement_segmentation = __webpack_require__(63421);
|
|
5218
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/annotationHydration.js
|
|
5219
|
+
var annotationHydration = __webpack_require__(25781);
|
|
5152
5220
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/CellArray.js
|
|
5153
5221
|
var CellArray = __webpack_require__(24768);
|
|
5154
5222
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/Points.js
|
|
@@ -5218,6 +5286,7 @@ var contourSegmentation = __webpack_require__(7259);
|
|
|
5218
5286
|
|
|
5219
5287
|
|
|
5220
5288
|
|
|
5289
|
+
|
|
5221
5290
|
function handleContourSegmentation(viewport, geometryIds, annotationUIDsMap, contourRepresentation, contourRepresentationConfig) {
|
|
5222
5291
|
const addOrUpdateFn = annotationUIDsMap.size
|
|
5223
5292
|
? updateContourSets
|
|
@@ -5303,10 +5372,10 @@ function addContourSetsToElement(viewport, geometryIds, contourRepresentation, c
|
|
|
5303
5372
|
highlighted: false,
|
|
5304
5373
|
autoGenerated: false,
|
|
5305
5374
|
invalidated: false,
|
|
5306
|
-
isLocked:
|
|
5375
|
+
isLocked: true,
|
|
5307
5376
|
isVisible: true,
|
|
5308
5377
|
metadata: {
|
|
5309
|
-
referencedImageId: viewport.
|
|
5378
|
+
referencedImageId: (0,annotationHydration/* getClosestImageIdForStackViewport */.x)(viewport, points[0], viewport.getCamera().viewPlaneNormal),
|
|
5310
5379
|
toolName: 'PlanarFreehandContourSegmentationTool',
|
|
5311
5380
|
FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
|
|
5312
5381
|
viewPlaneNormal: viewport.getCamera().viewPlaneNormal,
|
|
@@ -5433,7 +5502,7 @@ async function addLabelmapToElement(element, labelMapData, segmentationRepresent
|
|
|
5433
5502
|
actorUID: segmentationRepresentationUID,
|
|
5434
5503
|
},
|
|
5435
5504
|
];
|
|
5436
|
-
await (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.addImageSlicesToViewports)(renderingEngine, stackInputs, [viewportId]
|
|
5505
|
+
await (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.addImageSlicesToViewports)(renderingEngine, stackInputs, [viewportId]);
|
|
5437
5506
|
}
|
|
5438
5507
|
}
|
|
5439
5508
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (addLabelmapToElement);
|
|
@@ -7331,9 +7400,11 @@ function _addInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex,
|
|
|
7331
7400
|
const points = interpolated3DPoints.points;
|
|
7332
7401
|
const { viewport } = eventData;
|
|
7333
7402
|
const interpolatedAnnotation = createPolylineToolData(points, handlePoints, referencedToolData);
|
|
7334
|
-
const
|
|
7335
|
-
|
|
7336
|
-
|
|
7403
|
+
const viewRef = viewport.getViewReference({ sliceIndex });
|
|
7404
|
+
if (!viewRef) {
|
|
7405
|
+
throw new Error(`Can't find slice ${sliceIndex}`);
|
|
7406
|
+
}
|
|
7407
|
+
Object.assign(interpolatedAnnotation.metadata, viewRef);
|
|
7337
7408
|
stateManagement_annotation.state.addAnnotation(interpolatedAnnotation, viewport.element);
|
|
7338
7409
|
referencedToolData.onInterpolationComplete?.(interpolatedAnnotation, referencedToolData);
|
|
7339
7410
|
const { parentAnnotationUID } = referencedToolData;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[382],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 72382:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -16,7 +16,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
19
|
-
var src = __webpack_require__(
|
|
19
|
+
var src = __webpack_require__(75186);
|
|
20
20
|
// EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
|
|
21
21
|
var i18next = __webpack_require__(92344);
|
|
22
22
|
;// CONCATENATED MODULE: ../../../modes/longitudinal/package.json
|
|
@@ -111,6 +111,11 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
|
|
|
111
111
|
toolName: toolNames.SegmentationDisplay
|
|
112
112
|
}, {
|
|
113
113
|
toolName: toolNames.CalibrationLine
|
|
114
|
+
}, {
|
|
115
|
+
toolName: toolNames.PlanarFreehandContourSegmentation,
|
|
116
|
+
configuration: {
|
|
117
|
+
displayOnePointAsCrosshairs: true
|
|
118
|
+
}
|
|
114
119
|
}, {
|
|
115
120
|
toolName: toolNames.UltrasoundDirectional
|
|
116
121
|
}, {
|
|
@@ -178,6 +183,11 @@ function initSRToolGroup(extensionManager, toolGroupService) {
|
|
|
178
183
|
toolName: SRToolNames.SRPlanarFreehandROI
|
|
179
184
|
}, {
|
|
180
185
|
toolName: SRToolNames.SRRectangleROI
|
|
186
|
+
}, {
|
|
187
|
+
toolName: SRToolNames.SRPlanarFreehandContourSegmentation,
|
|
188
|
+
configuration: {
|
|
189
|
+
displayOnePointAsCrosshairs: true
|
|
190
|
+
}
|
|
181
191
|
}],
|
|
182
192
|
enabled: [{
|
|
183
193
|
toolName: SRToolNames.DICOMSRDisplay,
|
|
@@ -265,11 +275,21 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager, m
|
|
|
265
275
|
toolName: toolNames.PlanarFreehandROI
|
|
266
276
|
}, {
|
|
267
277
|
toolName: toolNames.SegmentationDisplay
|
|
278
|
+
}, {
|
|
279
|
+
toolName: toolNames.PlanarFreehandContourSegmentation,
|
|
280
|
+
configuration: {
|
|
281
|
+
displayOnePointAsCrosshairs: true
|
|
282
|
+
}
|
|
268
283
|
}],
|
|
269
284
|
disabled: [{
|
|
270
285
|
toolName: toolNames.Crosshairs,
|
|
271
286
|
configuration: {
|
|
272
|
-
viewportIndicators:
|
|
287
|
+
viewportIndicators: true,
|
|
288
|
+
viewportIndicatorsConfig: {
|
|
289
|
+
circleRadius: 5,
|
|
290
|
+
xOffset: 0.95,
|
|
291
|
+
yOffset: 0.05
|
|
292
|
+
},
|
|
273
293
|
disableOnPassive: true,
|
|
274
294
|
autoPan: {
|
|
275
295
|
enabled: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[444],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 34444:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -22,7 +22,7 @@ const id = package_namespaceObject.UU;
|
|
|
22
22
|
const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-pdf`;
|
|
23
23
|
|
|
24
24
|
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
25
|
-
var src = __webpack_require__(
|
|
25
|
+
var src = __webpack_require__(75186);
|
|
26
26
|
;// CONCATENATED MODULE: ../../../extensions/dicom-pdf/src/getSopClassHandlerModule.js
|
|
27
27
|
|
|
28
28
|
|
|
@@ -109,7 +109,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
112
|
-
return __webpack_require__.e(/* import() */
|
|
112
|
+
return __webpack_require__.e(/* import() */ 837).then(__webpack_require__.bind(__webpack_require__, 70218));
|
|
113
113
|
});
|
|
114
114
|
const OHIFCornerstonePdfViewport = props => {
|
|
115
115
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|