@ohif/app 3.9.0-beta.22 → 3.9.0-beta.24

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 (34) hide show
  1. package/dist/{117.bundle.772ce244eee25d9b7316.js → 117.bundle.ba41cf7978afb629dcff.js} +16 -3
  2. package/dist/{129.bundle.6d295bd7fb0e53fe8cea.js → 129.bundle.a95b9a51ee8d9f0abbd8.js} +11 -11
  3. package/dist/{139.bundle.737ae06ef5dea8ea26a1.js → 139.bundle.679c4baad7c7f65ebabd.js} +5 -5
  4. package/dist/{164.bundle.3221590f5e6855086889.js → 164.bundle.79cc35bc3e6b792636cd.js} +16 -3
  5. package/dist/{236.bundle.d3a631d79ee8952e3c60.js → 236.bundle.343bcd0be60d0ae61901.js} +8 -1
  6. package/dist/{363.bundle.df2a0935efb4986c73f6.js → 363.bundle.27df904aebd9be296ee9.js} +148 -124
  7. package/dist/{370.bundle.baa389d217c390b0e92b.js → 370.bundle.b14c810be6e912b10b5c.js} +2 -2
  8. package/dist/{461.bundle.e574201c5e748acff58b.js → 461.bundle.2c6ec9c73b2dc2419418.js} +2 -2
  9. package/dist/{501.bundle.7d5003758fa3ffbb344b.js → 501.bundle.3dcc63f03d9c252a9bee.js} +135 -65
  10. package/dist/{717.bundle.a17f9c36acad5d857a05.js → 717.bundle.0c1736a0b34262585bbb.js} +16 -7
  11. package/dist/{792.bundle.dae5f4413e6d7dc5e1cf.js → 792.bundle.485ad2f98823a4b3feb1.js} +1 -1
  12. package/dist/{app.bundle.c49ae16ac540c444e098.js → app.bundle.c083b9fd68666d817dd8.js} +149 -73
  13. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  14. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  15. package/dist/index.html +1 -1
  16. package/dist/{polySeg.bundle.b0392069f29e128b4efa.js → polySeg.bundle.4dcac8ade13133f637ed.js} +1 -1
  17. package/dist/{suv-peak-worker.bundle.8a7a3a0ab00929f3f6fd.js → suv-peak-worker.bundle.501ee603bb303e916068.js} +1 -1
  18. package/dist/sw.js +1 -1
  19. package/package.json +19 -19
  20. /package/dist/{121.bundle.2fdeec686e65ce537b1f.js → 121.bundle.d832c214ab421d7e90f3.js} +0 -0
  21. /package/dist/{14.bundle.ce086eab882d3e7011c3.js → 14.bundle.1fd47132c905efb09179.js} +0 -0
  22. /package/dist/{140.bundle.369184112225c87bc54a.js → 140.bundle.837657eee863ea8cff5d.js} +0 -0
  23. /package/dist/{194.bundle.de02c60b2396a84b8db1.js → 194.bundle.f230d7f0c45926e4a6af.js} +0 -0
  24. /package/dist/{211.bundle.f6b369f58a90eeab3068.js → 211.bundle.dad774eca76c3a064111.js} +0 -0
  25. /package/dist/{218.bundle.5b81be3be8e96af35384.js → 218.bundle.1e987ac1168ab893d63e.js} +0 -0
  26. /package/dist/{382.bundle.d33b09876870316d57f6.js → 382.bundle.5bb7995aeb6dcdb01392.js} +0 -0
  27. /package/dist/{444.bundle.5d0a8df0c3333bd5e770.js → 444.bundle.84521e5aca976d4db33b.js} +0 -0
  28. /package/dist/{552.bundle.41b9bcb1eaf3afd6efdb.js → 552.bundle.164ac71f797c74bea5dd.js} +0 -0
  29. /package/dist/{555.bundle.b8791e37ae40aaba203f.js → 555.bundle.8cb01f96a16c7e4d3281.js} +0 -0
  30. /package/dist/{799.bundle.48a81049bcbce40a038e.js → 799.bundle.f8b2e0f36d7f79051798.js} +0 -0
  31. /package/dist/{806.bundle.8d11f47a2cf0377dd8cb.js → 806.bundle.540d172cb731587a612e.js} +0 -0
  32. /package/dist/{853.bundle.6a2626fe3d65ce940e97.js → 853.bundle.6f574756d9deaada7209.js} +0 -0
  33. /package/dist/{920.bundle.8eba7400074eb4d941de.js → 920.bundle.b7fb54439f90df91aa13.js} +0 -0
  34. /package/dist/{989.bundle.533c0e668edee10c8f72.js → 989.bundle.d13657ef9448c11751e6.js} +0 -0
@@ -7,7 +7,7 @@
7
7
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
8
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
9
9
  /* harmony export */ });
10
- async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds, immediateRender = false, suppressEvents = false) {
10
+ async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds) {
11
11
  for (const viewportId of viewportIds) {
12
12
  const viewport = renderingEngine.getViewport(viewportId);
13
13
  if (!viewport) {
@@ -20,7 +20,7 @@ async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportI
20
20
  }
21
21
  const addStackPromises = viewportIds.map(async (viewportId) => {
22
22
  const viewport = renderingEngine.getViewport(viewportId);
23
- return viewport.addImages(stackInputs, immediateRender, suppressEvents);
23
+ return viewport.addImages(stackInputs);
24
24
  });
25
25
  await Promise.all(addStackPromises);
26
26
  }
@@ -656,12 +656,24 @@ function createAndCacheDerivedImage(referencedImageId, options = {}, preventCach
656
656
  const { TypedArrayConstructor } = (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.getBufferConfiguration)(options.targetBufferType, length);
657
657
  const imageScalarData = new TypedArrayConstructor(skipCreateBuffer ? 1 : length);
658
658
  const derivedImageId = imageId;
659
- ['imagePixelModule', 'imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
659
+ ['imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
660
660
  _utilities__WEBPACK_IMPORTED_MODULE_4__.genericMetadataProvider.add(derivedImageId, {
661
661
  type,
662
662
  metadata: ___WEBPACK_IMPORTED_MODULE_6__.metaData.get(type, referencedImageId),
663
663
  });
664
664
  });
665
+ const imagePixelModule = ___WEBPACK_IMPORTED_MODULE_6__.metaData.get('imagePixelModule', referencedImageId);
666
+ _utilities__WEBPACK_IMPORTED_MODULE_4__.genericMetadataProvider.add(derivedImageId, {
667
+ type: 'imagePixelModule',
668
+ metadata: {
669
+ ...imagePixelModule,
670
+ bitsAllocated: 8,
671
+ bitsStored: 8,
672
+ highBit: 7,
673
+ samplesPerPixel: 1,
674
+ pixelRepresentation: 0,
675
+ },
676
+ });
665
677
  const localImage = createAndCacheLocalImage({ scalarData: imageScalarData, onCacheAdd, skipCreateBuffer }, imageId, true);
666
678
  const imageLoadObject = {
667
679
  promise: Promise.resolve(localImage),
@@ -3057,6 +3069,7 @@ class BidirectionalTool extends _base__WEBPACK_IMPORTED_MODULE_4__/* .Annotation
3057
3069
  viewUp: [...viewUp],
3058
3070
  FrameOfReferenceUID,
3059
3071
  referencedImageId,
3072
+ ...viewport.getViewReference({ points: [worldPos] }),
3060
3073
  },
3061
3074
  data: {
3062
3075
  handles: {
@@ -880,7 +880,7 @@ var ImageData = __webpack_require__(51250);
880
880
  * @param params.viewportId - ID of the viewport to be updated.
881
881
  * @param params.loadFn - Function to load the segmentation data.
882
882
  * @param params.servicesManager - The services manager.
883
- * @param params.referencedDisplaySetInstanceUID - Optional UID for the referenced display set instance.
883
+ * @param params.displaySet - the display set.
884
884
  *
885
885
  * @returns Returns true upon successful update of viewports for segmentation rendering.
886
886
  */
@@ -888,7 +888,7 @@ async function updateViewportsForSegmentationRendering({
888
888
  viewportId,
889
889
  loadFn,
890
890
  servicesManager,
891
- referencedDisplaySetInstanceUID
891
+ displaySet
892
892
  }) {
893
893
  const {
894
894
  cornerstoneViewportService,
@@ -900,11 +900,11 @@ async function updateViewportsForSegmentationRendering({
900
900
  viewportGridService
901
901
  });
902
902
  const targetViewportId = viewport.viewportOptions.viewportId;
903
- referencedDisplaySetInstanceUID = referencedDisplaySetInstanceUID || viewport?.displaySetInstanceUIDs[0];
903
+ const referencedDisplaySetInstanceUID = displaySet?.referencedDisplaySetInstanceUID || viewport?.displaySetInstanceUIDs[0];
904
904
  const updatedViewports = getUpdatedViewportsForSegmentation({
905
905
  servicesManager,
906
906
  viewportId,
907
- referencedDisplaySetInstanceUID
907
+ displaySet
908
908
  });
909
909
 
910
910
  // create Segmentation callback which needs to be waited until
@@ -920,7 +920,7 @@ async function updateViewportsForSegmentationRendering({
920
920
  updatedViewports.forEach(async viewport => {
921
921
  viewport.viewportOptions = {
922
922
  ...viewport.viewportOptions,
923
- viewportType: 'volume',
923
+ viewportType: displaySet?.Modality === 'RTSTRUCT' ? 'stack' : 'volume',
924
924
  needsRerendering: true
925
925
  };
926
926
  const viewportId = viewport.viewportId;
@@ -929,7 +929,7 @@ async function updateViewportsForSegmentationRendering({
929
929
 
930
930
  // only run the createSegmentationForVolume for the targetViewportId
931
931
  // since the rest will get handled by cornerstoneViewportService
932
- if (volumeExists && viewportId === targetViewportId) {
932
+ if ((volumeExists || displaySet.Modality === 'RTSTRUCT') && viewportId === targetViewportId) {
933
933
  await createSegmentationForVolume();
934
934
  return;
935
935
  }
@@ -978,14 +978,14 @@ const getTargetViewport = ({
978
978
  * @param {Object} params - Parameters for the function.
979
979
  * @param params.viewportId - the ID of the viewport to be updated.
980
980
  * @param params.servicesManager - The services manager
981
- * @param params.referencedDisplaySetInstanceUID - Optional UID for the referenced display set instance.
981
+ * @param params.displaySet - the display set.
982
982
  *
983
983
  * @returns {Array} Returns an array of viewports that require updates for segmentation rendering.
984
984
  */
985
985
  function getUpdatedViewportsForSegmentation({
986
986
  viewportId,
987
987
  servicesManager,
988
- referencedDisplaySetInstanceUID
988
+ displaySet
989
989
  }) {
990
990
  const {
991
991
  hangingProtocolService,
@@ -1003,7 +1003,7 @@ function getUpdatedViewportsForSegmentation({
1003
1003
  });
1004
1004
  const targetViewportId = viewport.viewportOptions.viewportId;
1005
1005
  const displaySetInstanceUIDs = viewports.get(targetViewportId).displaySetInstanceUIDs;
1006
- const referenceDisplaySetInstanceUID = referencedDisplaySetInstanceUID || displaySetInstanceUIDs[0];
1006
+ const referenceDisplaySetInstanceUID = displaySet?.referencedDisplaySetInstanceUID || displaySetInstanceUIDs[0];
1007
1007
  const referencedDisplaySet = displaySetService.getDisplaySetByUID(referenceDisplaySetInstanceUID);
1008
1008
  const segmentationFrameOfReferenceUID = referencedDisplaySet.instances[0].FrameOfReferenceUID;
1009
1009
  const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(targetViewportId, referenceDisplaySetInstanceUID, isHangingProtocolLayout);
@@ -1017,7 +1017,7 @@ function getUpdatedViewportsForSegmentation({
1017
1017
  viewportId,
1018
1018
  displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
1019
1019
  viewportOptions: {
1020
- viewportType: 'volume',
1020
+ viewportType: displaySet.Modality === 'RTSTRUCT' ? 'stack' : 'volume',
1021
1021
  needsRerendering: true
1022
1022
  }
1023
1023
  });
@@ -1225,7 +1225,7 @@ const commandsModule = ({
1225
1225
  updateViewportsForSegmentationRendering({
1226
1226
  viewportId,
1227
1227
  servicesManager,
1228
- referencedDisplaySetInstanceUID: displaySet.referencedDisplaySetInstanceUID,
1228
+ displaySet,
1229
1229
  loadFn: async () => {
1230
1230
  const segDisplaySet = displaySet;
1231
1231
  const suppressEvents = false;
@@ -83,7 +83,7 @@ function CornerstoneImageScrollbar({
83
83
  const imageIndex = viewport.getCurrentImageIdIndex();
84
84
  setImageSliceData({
85
85
  imageIndex: imageIndex,
86
- numberOfSlices: viewportData.data.imageIds.length
86
+ numberOfSlices: viewportData.data[0].imageIds.length
87
87
  });
88
88
  return;
89
89
  }
@@ -113,7 +113,7 @@ function CornerstoneImageScrollbar({
113
113
  // find the index of imageId in the imageIds
114
114
  setImageSliceData({
115
115
  imageIndex: newImageIdIndex,
116
- numberOfSlices: viewportData.data.imageIds.length
116
+ numberOfSlices: viewportData.data[0].imageIds.length
117
117
  });
118
118
  };
119
119
  element.addEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_SCROLL, updateStackIndex);
@@ -468,7 +468,7 @@ function CustomizableViewportOverlay({
468
468
  function _getViewportInstances(viewportData) {
469
469
  const imageIds = [];
470
470
  if (viewportData.viewportType === dist_esm.Enums.ViewportType.STACK) {
471
- imageIds.push(viewportData.data.imageIds[0]);
471
+ imageIds.push(viewportData.data[0].imageIds[0]);
472
472
  } else if (viewportData.viewportType === dist_esm.Enums.ViewportType.ORTHOGRAPHIC) {
473
473
  const volumes = viewportData.data;
474
474
  volumes.forEach(volume => {
@@ -498,7 +498,7 @@ const getInstanceNumber = (viewportData, viewportId, imageIndex, cornerstoneView
498
498
  return instanceNumber ?? null;
499
499
  };
500
500
  function _getInstanceNumberFromStack(viewportData, imageIndex) {
501
- const imageIds = viewportData.data.imageIds;
501
+ const imageIds = viewportData.data[0].imageIds;
502
502
  const imageId = imageIds[imageIndex];
503
503
  if (!imageId) {
504
504
  return;
@@ -693,7 +693,7 @@ function ViewportOrientationMarkers({
693
693
  let rowCosines, columnCosines;
694
694
  if (viewportData.viewportType === 'stack') {
695
695
  const imageIndex = imageSliceData.imageIndex;
696
- const imageId = viewportData.data.imageIds?.[imageIndex];
696
+ const imageId = viewportData.data[0].imageIds?.[imageIndex];
697
697
 
698
698
  // Workaround for below TODO stub
699
699
  if (!imageId) {
@@ -7,7 +7,7 @@
7
7
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
8
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
9
9
  /* harmony export */ });
10
- async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds, immediateRender = false, suppressEvents = false) {
10
+ async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds) {
11
11
  for (const viewportId of viewportIds) {
12
12
  const viewport = renderingEngine.getViewport(viewportId);
13
13
  if (!viewport) {
@@ -20,7 +20,7 @@ async function addImageSlicesToViewports(renderingEngine, stackInputs, viewportI
20
20
  }
21
21
  const addStackPromises = viewportIds.map(async (viewportId) => {
22
22
  const viewport = renderingEngine.getViewport(viewportId);
23
- return viewport.addImages(stackInputs, immediateRender, suppressEvents);
23
+ return viewport.addImages(stackInputs);
24
24
  });
25
25
  await Promise.all(addStackPromises);
26
26
  }
@@ -647,12 +647,24 @@ function createAndCacheDerivedImage(referencedImageId, options = {}, preventCach
647
647
  const { TypedArrayConstructor } = (0,_utilities__WEBPACK_IMPORTED_MODULE_4__.getBufferConfiguration)(options.targetBufferType, length);
648
648
  const imageScalarData = new TypedArrayConstructor(skipCreateBuffer ? 1 : length);
649
649
  const derivedImageId = imageId;
650
- ['imagePixelModule', 'imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
650
+ ['imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
651
651
  _utilities__WEBPACK_IMPORTED_MODULE_4__.genericMetadataProvider.add(derivedImageId, {
652
652
  type,
653
653
  metadata: ___WEBPACK_IMPORTED_MODULE_6__.metaData.get(type, referencedImageId),
654
654
  });
655
655
  });
656
+ const imagePixelModule = ___WEBPACK_IMPORTED_MODULE_6__.metaData.get('imagePixelModule', referencedImageId);
657
+ _utilities__WEBPACK_IMPORTED_MODULE_4__.genericMetadataProvider.add(derivedImageId, {
658
+ type: 'imagePixelModule',
659
+ metadata: {
660
+ ...imagePixelModule,
661
+ bitsAllocated: 8,
662
+ bitsStored: 8,
663
+ highBit: 7,
664
+ samplesPerPixel: 1,
665
+ pixelRepresentation: 0,
666
+ },
667
+ });
656
668
  const localImage = createAndCacheLocalImage({ scalarData: imageScalarData, onCacheAdd, skipCreateBuffer }, imageId, true);
657
669
  const imageLoadObject = {
658
670
  promise: Promise.resolve(localImage),
@@ -2324,6 +2336,7 @@ class BidirectionalTool extends _base__WEBPACK_IMPORTED_MODULE_4__/* .Annotation
2324
2336
  viewUp: [...viewUp],
2325
2337
  FrameOfReferenceUID,
2326
2338
  referencedImageId,
2339
+ ...viewport.getViewReference({ points: [worldPos] }),
2327
2340
  },
2328
2341
  data: {
2329
2342
  handles: {
@@ -2770,7 +2770,7 @@ function _imageChangeEventListener(evt) {
2770
2770
  imageActor.getMapper().setInputData(imageData);
2771
2771
  },
2772
2772
  },
2773
- ], true, false);
2773
+ ]);
2774
2774
  (0,triggerSegmentationRender/* default */.Ay)(toolGroup.id);
2775
2775
  return;
2776
2776
  }
@@ -13061,6 +13061,7 @@ class AngleTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .AnnotationTool */
13061
13061
  viewUp: [...viewUp],
13062
13062
  FrameOfReferenceUID,
13063
13063
  referencedImageId,
13064
+ ...viewport.getViewReference({ points: [worldPos] }),
13064
13065
  },
13065
13066
  data: {
13066
13067
  handles: {
@@ -13528,6 +13529,7 @@ class ArrowAnnotateTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .Annotation
13528
13529
  viewUp: [...viewUp],
13529
13530
  FrameOfReferenceUID,
13530
13531
  referencedImageId,
13532
+ ...viewport.getViewReference({ points: [worldPos] }),
13531
13533
  },
13532
13534
  data: {
13533
13535
  text: '',
@@ -14599,6 +14601,7 @@ class BidirectionalTool extends _base__WEBPACK_IMPORTED_MODULE_4__/* .Annotation
14599
14601
  viewUp: [...viewUp],
14600
14602
  FrameOfReferenceUID,
14601
14603
  referencedImageId,
14604
+ ...viewport.getViewReference({ points: [worldPos] }),
14602
14605
  },
14603
14606
  data: {
14604
14607
  handles: {
@@ -14751,6 +14754,7 @@ class CircleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationTool
14751
14754
  viewUp: [...viewUp],
14752
14755
  FrameOfReferenceUID,
14753
14756
  referencedImageId,
14757
+ ...viewport.getViewReference({ points: [worldPos] }),
14754
14758
  },
14755
14759
  data: {
14756
14760
  label: '',
@@ -15361,6 +15365,7 @@ class CobbAngleTool extends _base__WEBPACK_IMPORTED_MODULE_3__/* .AnnotationTool
15361
15365
  viewUp: [...viewUp],
15362
15366
  FrameOfReferenceUID,
15363
15367
  referencedImageId,
15368
+ ...viewport.getViewReference({ points: [worldPos] }),
15364
15369
  },
15365
15370
  data: {
15366
15371
  handles: {
@@ -16231,6 +16236,7 @@ class EllipticalROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .Annotation
16231
16236
  viewUp: [...viewUp],
16232
16237
  FrameOfReferenceUID,
16233
16238
  referencedImageId,
16239
+ ...viewport.getViewReference({ points: [worldPos] }),
16234
16240
  },
16235
16241
  data: {
16236
16242
  label: '',
@@ -18642,6 +18648,7 @@ class RectangleROITool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .AnnotationT
18642
18648
  viewUp: [...viewUp],
18643
18649
  FrameOfReferenceUID,
18644
18650
  referencedImageId,
18651
+ ...viewport.getViewReference({ points: [worldPos] }),
18645
18652
  },
18646
18653
  data: {
18647
18654
  label: '',