@ohif/app 3.8.0-beta.65 → 3.8.0-beta.67

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.
Files changed (66) hide show
  1. package/dist/{121.bundle.fda405f29003c308ce09.js → 121.bundle.d8b3c6b530d6151f251d.js} +52 -75
  2. package/dist/{155.bundle.a57744809d0f46030ee0.js → 155.bundle.a2b8640977007e407d30.js} +7 -16
  3. package/dist/{188.bundle.c448aed48915741e9f97.js → 188.bundle.b6a7e833fdf99cee3ee6.js} +2 -2
  4. package/dist/{191.bundle.4850ab82949bb6f0eb73.js → 191.bundle.7d89c921abefd1140d50.js} +29 -8
  5. package/dist/{295.bundle.57700cd41fd87e1521b4.js → 295.bundle.075944a082306d2e432f.js} +75 -86
  6. package/dist/{41.bundle.58b85dd990fb6fac615e.js → 41.bundle.1c504116ebea23b157f6.js} +10 -50
  7. package/dist/{448.bundle.d195aba3aef25ec286d1.js → 448.bundle.f284c88c8780233e06b1.js} +7 -15
  8. package/dist/494.bundle.ffd75704a069c0720596.js +2565 -0
  9. package/dist/{530.bundle.72d9812f117036615a38.js → 530.bundle.aaf1c61342805ff32648.js} +41 -67
  10. package/dist/{544.bundle.c3009e245ceb1554c70a.js → 544.bundle.33ed8e4a3eaf16b55af7.js} +4 -4
  11. package/dist/{559.bundle.05bd51e94422a2cab116.js → 559.bundle.601f9e285f6b3b4d1ac5.js} +4 -4
  12. package/dist/{889.bundle.ffc727aa6d1a74f2138d.js → 574.bundle.c79d3fa0066f39b76442.js} +1005 -49
  13. package/dist/{594.bundle.14b122ab995e4b13e652.js → 594.bundle.49d072fb31c8994ae85f.js} +4 -4
  14. package/dist/{701.bundle.bc40f1a7d5d6b1a4dd38.js → 595.bundle.7a41a0998ab07dfa0212.js} +958 -66
  15. package/dist/{638.bundle.a63003e18bed65f227bb.js → 638.bundle.4c2972aa5a19f816d94a.js} +4 -4
  16. package/dist/{699.bundle.efc67171e6d212f25a24.js → 699.bundle.43997eacac9490c1751c.js} +7 -21
  17. package/dist/{724.bundle.3945f8d2e9c8b0b23628.js → 724.bundle.00e619f0960de50c8e19.js} +22 -57
  18. package/dist/{862.bundle.d787dac01f4567560a42.js → 862.bundle.1f1613561a4d6059a8aa.js} +64 -83
  19. package/dist/{270.bundle.16ac8114c5c4ce006f4a.js → 889.bundle.2daaac42e278b28b3d01.js} +5 -5
  20. package/dist/{90.bundle.abde898ebd3c74f521f9.js → 90.bundle.ce42cccceaec1135a165.js} +39 -34
  21. package/dist/{905.bundle.6b5b42b2403e4676bb3a.js → 905.bundle.af59bd2bcb04c4978059.js} +2 -2
  22. package/dist/{907.bundle.fbd5768fa5b53f9d3f86.js → 907.bundle.401a07f50863efc6c6c1.js} +2 -2
  23. package/dist/{961.bundle.8bb5a713fc5a3817c6a6.js → 961.bundle.fdf0e1c0c54cfb2a952a.js} +2 -2
  24. package/dist/{987.bundle.91d4867efedd5b4d84cb.js → 987.bundle.6bdfb3cd8762b8889632.js} +27 -7
  25. package/dist/{app.bundle.0c24b249dc8b631916ef.js → app.bundle.aadaff7af8cd415a1eae.js} +1818 -644
  26. package/dist/app.bundle.css +6 -4
  27. package/dist/assets/images/CT-AAA.png +0 -0
  28. package/dist/assets/images/CT-AAA2.png +0 -0
  29. package/dist/assets/images/CT-Air.png +0 -0
  30. package/dist/assets/images/CT-Bone.png +0 -0
  31. package/dist/assets/images/CT-Bones.png +0 -0
  32. package/dist/assets/images/CT-Cardiac.png +0 -0
  33. package/dist/assets/images/CT-Cardiac2.png +0 -0
  34. package/dist/assets/images/CT-Cardiac3.png +0 -0
  35. package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
  36. package/dist/assets/images/CT-Chest-Vessels.png +0 -0
  37. package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
  38. package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
  39. package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
  40. package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
  41. package/dist/assets/images/CT-Fat.png +0 -0
  42. package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
  43. package/dist/assets/images/CT-Lung.png +0 -0
  44. package/dist/assets/images/CT-MIP.png +0 -0
  45. package/dist/assets/images/CT-Muscle.png +0 -0
  46. package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
  47. package/dist/assets/images/CT-Soft-Tissue.png +0 -0
  48. package/dist/assets/images/DTI-FA-Brain.png +0 -0
  49. package/dist/assets/images/MR-Angio.png +0 -0
  50. package/dist/assets/images/MR-Default.png +0 -0
  51. package/dist/assets/images/MR-MIP.png +0 -0
  52. package/dist/assets/images/MR-T2-Brain.png +0 -0
  53. package/dist/assets/images/VolumeRendering.png +0 -0
  54. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  55. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  56. package/dist/index.html +1 -1
  57. package/dist/{polySeg.bundle.c1cec6312eb6c6dc3701.js → polySeg.bundle.e7b4c29fb9173e8567b8.js} +1 -1
  58. package/dist/sw.js +1 -1
  59. package/package.json +18 -18
  60. package/dist/339.bundle.57dac3644803cefe3e3d.js +0 -2591
  61. /package/dist/{164.bundle.ff12d6019a627cda2a6c.js → 164.bundle.ce3d1cd75bd8e13791d7.js} +0 -0
  62. /package/dist/{290.bundle.8b4d7dfbc7cfe418a0f1.js → 290.bundle.952de53057f98e2c5ef0.js} +0 -0
  63. /package/dist/{342.bundle.a039c24e9f661f3b884d.js → 342.bundle.6e49f63ea7cea4645c0a.js} +0 -0
  64. /package/dist/{504.bundle.aa165082e2acc5ccf080.js → 504.bundle.993d7e2dec36257d4ce4.js} +0 -0
  65. /package/dist/{889.css → 574.css} +0 -0
  66. /package/dist/{701.css → 595.css} +0 -0
@@ -31,8 +31,8 @@ __webpack_require__.d(utils_namespaceObject, {
31
31
 
32
32
  // EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
33
33
  var dicomweb_client_es = __webpack_require__(36922);
34
- // EXTERNAL MODULE: ../../core/src/index.ts + 67 modules
35
- var src = __webpack_require__(78198);
34
+ // EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
35
+ var src = __webpack_require__(85073);
36
36
  // EXTERNAL MODULE: ../../core/src/utils/sortStudy.ts
37
37
  var sortStudy = __webpack_require__(45476);
38
38
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/qido.js
@@ -2484,8 +2484,8 @@ var react = __webpack_require__(41766);
2484
2484
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
2485
2485
  var prop_types = __webpack_require__(11374);
2486
2486
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
2487
- // EXTERNAL MODULE: ../../ui/src/index.js + 497 modules
2488
- var ui_src = __webpack_require__(58046);
2487
+ // EXTERNAL MODULE: ../../ui/src/index.js + 519 modules
2488
+ var ui_src = __webpack_require__(3962);
2489
2489
  // EXTERNAL MODULE: ./state/index.js + 1 modules
2490
2490
  var state = __webpack_require__(15575);
2491
2491
  // EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
@@ -2494,8 +2494,8 @@ var dist = __webpack_require__(37396);
2494
2494
  var es = __webpack_require__(80619);
2495
2495
  // EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
2496
2496
  var react_router_dist = __webpack_require__(10971);
2497
- // EXTERNAL MODULE: ../../i18n/src/index.js + 148 modules
2498
- var i18n_src = __webpack_require__(69536);
2497
+ // EXTERNAL MODULE: ../../i18n/src/index.js + 150 modules
2498
+ var i18n_src = __webpack_require__(912);
2499
2499
  // EXTERNAL MODULE: ../../../node_modules/classnames/index.js
2500
2500
  var classnames = __webpack_require__(61466);
2501
2501
  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
@@ -2604,8 +2604,8 @@ function ViewerHeader({
2604
2604
  hotkeyDefinitions,
2605
2605
  hotkeyDefaults
2606
2606
  } = hotkeysManager;
2607
- const versionNumber = "3.8.0-beta.65";
2608
- const commitHash = "617043fe0da5de91fbea4ac33a27f1df16ae1ca6";
2607
+ const versionNumber = "3.8.0-beta.67";
2608
+ const commitHash = "b7f90e3951845396f99b69f0a74fc56b2ffeada1";
2609
2609
  const menuOptions = [{
2610
2610
  title: t('Header:About'),
2611
2611
  icon: 'info',
@@ -2662,7 +2662,9 @@ function ViewerHeader({
2662
2662
  menuOptions: menuOptions,
2663
2663
  isReturnEnabled: !!appConfig.showStudyList,
2664
2664
  onClickReturnButton: onClickReturnButton,
2665
- WhiteLabeling: appConfig.whiteLabeling
2665
+ WhiteLabeling: appConfig.whiteLabeling,
2666
+ showPatientInfo: appConfig.showPatientInfo,
2667
+ servicesManager: servicesManager
2666
2668
  }, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.tH, {
2667
2669
  context: "Primary Toolbar"
2668
2670
  }, /*#__PURE__*/react.createElement("div", {
@@ -4493,40 +4495,32 @@ const generateAdvancedPresets = hangingProtocolService => {
4493
4495
  }).filter(preset => preset !== null);
4494
4496
  };
4495
4497
  function ToolbarLayoutSelectorWithServices({
4498
+ commandsManager,
4496
4499
  servicesManager,
4497
4500
  ...props
4498
4501
  }) {
4499
- const {
4500
- toolbarService
4501
- } = servicesManager.services;
4502
4502
  const [isDisabled, setIsDisabled] = (0,react.useState)(false);
4503
4503
  const handleMouseEnter = () => {
4504
4504
  setIsDisabled(false);
4505
4505
  };
4506
4506
  const onSelection = (0,react.useCallback)(props => {
4507
- toolbarService.recordInteraction({
4508
- interactionType: 'action',
4509
- commands: [{
4510
- commandName: 'setViewportGridLayout',
4511
- commandOptions: {
4512
- ...props
4513
- }
4514
- }]
4507
+ commandsManager.run({
4508
+ commandName: 'setViewportGridLayout',
4509
+ commandOptions: {
4510
+ ...props
4511
+ }
4515
4512
  });
4516
4513
  setIsDisabled(true);
4517
- }, [toolbarService]);
4514
+ }, []);
4518
4515
  const onSelectionPreset = (0,react.useCallback)(props => {
4519
- toolbarService.recordInteraction({
4520
- interactionType: 'action',
4521
- commands: [{
4522
- commandName: 'setHangingProtocol',
4523
- commandOptions: {
4524
- ...props
4525
- }
4526
- }]
4516
+ commandsManager.run({
4517
+ commandName: 'setHangingProtocol',
4518
+ commandOptions: {
4519
+ ...props
4520
+ }
4527
4521
  });
4528
4522
  setIsDisabled(true);
4529
- }, [toolbarService]);
4523
+ }, []);
4530
4524
  return /*#__PURE__*/react.createElement("div", {
4531
4525
  onMouseEnter: handleMouseEnter
4532
4526
  }, /*#__PURE__*/react.createElement(LayoutSelector, ToolbarLayoutSelector_extends({}, props, {
@@ -4577,7 +4571,7 @@ function LayoutSelector({
4577
4571
  rounded: rest.rounded,
4578
4572
  disableToolTip: tooltipDisabled,
4579
4573
  dropdownContent: DropdownContent !== null && /*#__PURE__*/react.createElement("div", {
4580
- className: "flex"
4574
+ className: "flex "
4581
4575
  }, /*#__PURE__*/react.createElement("div", {
4582
4576
  className: "bg-secondary-dark flex flex-col gap-2.5 p-2"
4583
4577
  }, /*#__PURE__*/react.createElement("div", {
@@ -4586,7 +4580,7 @@ function LayoutSelector({
4586
4580
  className: "flex gap-4"
4587
4581
  }, commonPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.qu, {
4588
4582
  key: index,
4589
- classNames: "hover:bg-primary-dark group p-1",
4583
+ classNames: "hover:bg-primary-dark group p-1 cursor-pointer",
4590
4584
  icon: preset.icon,
4591
4585
  commandOptions: preset.commandOptions,
4592
4586
  onSelection: onSelection
@@ -4598,7 +4592,7 @@ function LayoutSelector({
4598
4592
  className: "flex flex-col gap-2.5"
4599
4593
  }, advancedPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.qu, {
4600
4594
  key: index + commonPresets.length,
4601
- classNames: "hover:bg-primary-dark group flex gap-2 p-1",
4595
+ classNames: "hover:bg-primary-dark group flex gap-2 p-1 cursor-pointer",
4602
4596
  icon: preset.icon,
4603
4597
  title: preset.title,
4604
4598
  commandOptions: preset.commandOptions,
@@ -4772,7 +4766,11 @@ function getToolbarModule({
4772
4766
  defaultComponent: Toolbar_ToolbarSplitButtonWithServices
4773
4767
  }, {
4774
4768
  name: 'ohif.layoutSelector',
4775
- defaultComponent: ToolbarLayoutSelector
4769
+ defaultComponent: props => ToolbarLayoutSelector({
4770
+ ...props,
4771
+ commandsManager,
4772
+ servicesManager
4773
+ })
4776
4774
  }, {
4777
4775
  name: 'ohif.buttonGroup',
4778
4776
  defaultComponent: Toolbar_ToolbarButtonGroupWithServices
@@ -5801,6 +5799,13 @@ const findViewportsByPosition_findOrCreateViewport = (hangingProtocolService, vi
5801
5799
  }
5802
5800
  };
5803
5801
  }
5802
+
5803
+ // and lastly if there is no default viewport, then we see if we can grab the
5804
+ // viewportsByPosition at the position index and use that
5805
+ // const candidate = Object.values(viewportsByPosition)[position];
5806
+
5807
+ // // if it has something to display, then we can use it
5808
+ // return candidate?.displaySetInstanceUIDs ? candidate : {};
5804
5809
  return {};
5805
5810
  };
5806
5811
 
@@ -13,8 +13,8 @@ __webpack_require__.d(__webpack_exports__, {
13
13
  "default": () => (/* binding */ microscopy_src)
14
14
  });
15
15
 
16
- // EXTERNAL MODULE: ../../core/src/index.ts + 67 modules
17
- var src = __webpack_require__(78198);
16
+ // EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
17
+ var src = __webpack_require__(85073);
18
18
  // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
19
19
  var i18next = __webpack_require__(92344);
20
20
  ;// CONCATENATED MODULE: ../../../modes/microscopy/package.json
@@ -21,8 +21,8 @@ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-
21
21
  const id = package_namespaceObject.UU;
22
22
  const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-pdf`;
23
23
 
24
- // EXTERNAL MODULE: ../../core/src/index.ts + 67 modules
25
- var src = __webpack_require__(78198);
24
+ // EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
25
+ var src = __webpack_require__(85073);
26
26
  ;// CONCATENATED MODULE: ../../../extensions/dicom-pdf/src/getSopClassHandlerModule.js
27
27
 
28
28
 
@@ -21,8 +21,8 @@ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-
21
21
  const id = package_namespaceObject.UU;
22
22
  const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-video`;
23
23
 
24
- // EXTERNAL MODULE: ../../core/src/index.ts + 67 modules
25
- var src = __webpack_require__(78198);
24
+ // EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
25
+ var src = __webpack_require__(85073);
26
26
  ;// CONCATENATED MODULE: ../../../extensions/dicom-video/src/getSopClassHandlerModule.js
27
27
 
28
28
 
@@ -45594,7 +45594,7 @@ class Viewport {
45594
45594
  getCurrentImageIdIndex() {
45595
45595
  throw new Error('Not implemented');
45596
45596
  }
45597
- getReferenceId(specifier) {
45597
+ getReferenceId(_specifier) {
45598
45598
  return null;
45599
45599
  }
45600
45600
  setPan(pan, storeAsInitialCamera = false) {
@@ -50913,7 +50913,7 @@ class StackViewport extends RenderingEngine_Viewport {
50913
50913
  const colonIndex = imageId.indexOf(':');
50914
50914
  imageURI = imageId.substring(colonIndex + 1);
50915
50915
  }
50916
- return referencedImageId.endsWith(imageURI);
50916
+ return referencedImageId?.endsWith(imageURI);
50917
50917
  }
50918
50918
  getViewReference(viewRefSpecifier = {}) {
50919
50919
  const { sliceIndex: sliceIndex = this.currentImageIdIndex } = viewRefSpecifier;
@@ -70283,6 +70283,26 @@ class TrackballRotateTool extends base/* BaseTool */.oS {
70283
70283
  },
70284
70284
  }) {
70285
70285
  super(toolProps, defaultToolProps);
70286
+ this.preMouseDownCallback = (evt) => {
70287
+ const eventDetail = evt.detail;
70288
+ const { element } = eventDetail;
70289
+ const enabledElement = (0,esm.getEnabledElement)(element);
70290
+ const { viewport } = enabledElement;
70291
+ const actorEntry = viewport.getDefaultActor();
70292
+ const actor = actorEntry.actor;
70293
+ const mapper = actor.getMapper();
70294
+ const originalSampleDistance = mapper.getSampleDistance();
70295
+ mapper.setSampleDistance(originalSampleDistance * 2);
70296
+ if (this.cleanUp !== null) {
70297
+ element.removeEventListener('mouseup', this.cleanUp);
70298
+ }
70299
+ this.cleanUp = () => {
70300
+ mapper.setSampleDistance(originalSampleDistance);
70301
+ viewport.render();
70302
+ };
70303
+ element.addEventListener('mouseup', this.cleanUp, { once: true });
70304
+ return true;
70305
+ };
70286
70306
  this.rotateCamera = (viewport, centerWorld, axis, angle) => {
70287
70307
  const vtkCamera = viewport.getVtkActiveCamera();
70288
70308
  const viewUp = vtkCamera.getViewUp();
@@ -84987,7 +85007,6 @@ function state_getToolStateByViewportId(viewportId) {
84987
85007
  const { ViewportStatus } = esm.Enums;
84988
85008
  const { triggerEvent } = esm.utilities;
84989
85009
  const debounced = true;
84990
- const loop = true;
84991
85010
  const dynamicVolumesPlayingMap = new Map();
84992
85011
  function playClip(element, playClipOptions) {
84993
85012
  let playClipTimeouts;
@@ -85048,7 +85067,7 @@ function playClip(element, playClipOptions) {
85048
85067
  const { numScrollSteps, currentStepIndex } = playClipContext;
85049
85068
  let newStepIndex = currentStepIndex + (playClipData.reverse ? -1 : 1);
85050
85069
  const newStepIndexOutOfRange = newStepIndex < 0 || newStepIndex >= numScrollSteps;
85051
- if (!loop && newStepIndexOutOfRange) {
85070
+ if (!playClipData.loop && newStepIndexOutOfRange) {
85052
85071
  _stopClip(element, {
85053
85072
  stopDynamicCine: !isDynamicCinePlaying,
85054
85073
  viewportId: viewport.id,
@@ -88674,7 +88693,7 @@ __webpack_require__.d(__webpack_exports__, {
88674
88693
  triggerSegmentationRender: () => (/* reexport */ triggerSegmentationRender/* triggerSegmentationRender */.h6)
88675
88694
  });
88676
88695
 
88677
- // UNUSED EXPORTS: contourAndFindLargestBidirectional, createBidirectionalToolData, createLabelmapVolumeForViewport, createMergedLabelmapForIndex, floodFill, getBrushSizeForToolGroup, getBrushThresholdForToolGroup, getDefaultRepresentationConfig, isValidRepresentationConfig, rectangleROIThresholdVolumeByRange, segmentContourAction, setBrushSizeForToolGroup, setBrushThresholdForToolGroup, thresholdSegmentationByRange, thresholdVolumeByRange
88696
+ // UNUSED EXPORTS: contourAndFindLargestBidirectional, createBidirectionalToolData, createLabelmapVolumeForViewport, createMergedLabelmapForIndex, floodFill, getBrushSizeForToolGroup, getBrushThresholdForToolGroup, getBrushToolInstances, getDefaultRepresentationConfig, isValidRepresentationConfig, rectangleROIThresholdVolumeByRange, segmentContourAction, setBrushSizeForToolGroup, setBrushThresholdForToolGroup, thresholdSegmentationByRange, thresholdVolumeByRange
88678
88697
 
88679
88698
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/index.js + 25 modules
88680
88699
  var utilities = __webpack_require__(21013);
@@ -89382,7 +89401,7 @@ function invalidateBrushCursor(toolGroupId) {
89382
89401
  if (toolGroup === undefined) {
89383
89402
  return;
89384
89403
  }
89385
- const brushBasedToolInstances = (0,segmentation_utilities/* default */.Ay)(toolGroupId);
89404
+ const brushBasedToolInstances = (0,segmentation_utilities/* getBrushToolInstances */.n7)(toolGroupId);
89386
89405
  brushBasedToolInstances.forEach((tool) => {
89387
89406
  tool.invalidateBrushCursor();
89388
89407
  });
@@ -89598,6 +89617,7 @@ function getHoveredContourSegmentationAnnotation(segmentationId) {
89598
89617
 
89599
89618
 
89600
89619
 
89620
+
89601
89621
 
89602
89622
 
89603
89623
  /***/ }),
@@ -89732,7 +89752,7 @@ function triggerSegmentationRender(toolGroupId) {
89732
89752
 
89733
89753
  "use strict";
89734
89754
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
89735
- /* harmony export */ Ay: () => (/* binding */ getBrushToolInstances)
89755
+ /* harmony export */ n7: () => (/* binding */ getBrushToolInstances)
89736
89756
  /* harmony export */ });
89737
89757
  /* unused harmony exports getVoxelOverlap, processVolumes */
89738
89758
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50719);