@cornerstonejs/core 0.9.0 → 0.10.0

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 (125) hide show
  1. package/dist/cjs/RenderingEngine/RenderingEngine.js +4 -1
  2. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/StackViewport.js +12 -20
  4. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  5. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +1 -0
  6. package/dist/cjs/RenderingEngine/VolumeViewport.js +47 -3
  7. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  8. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +19 -5
  9. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +1 -1
  10. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +2 -1
  11. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
  12. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.d.ts +1 -1
  13. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js +31 -3
  14. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  15. package/dist/cjs/RenderingEngine/helpers/index.d.ts +2 -1
  16. package/dist/cjs/RenderingEngine/helpers/index.js +3 -1
  17. package/dist/cjs/RenderingEngine/helpers/index.js.map +1 -1
  18. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -0
  19. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js +163 -0
  20. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -0
  21. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +4 -0
  22. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +42 -0
  23. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -0
  24. package/dist/cjs/Settings.js +1 -0
  25. package/dist/cjs/Settings.js.map +1 -1
  26. package/dist/cjs/cache/classes/ImageVolume.d.ts +1 -0
  27. package/dist/cjs/cache/classes/ImageVolume.js +1 -0
  28. package/dist/cjs/cache/classes/ImageVolume.js.map +1 -1
  29. package/dist/cjs/enums/BlendModes.js +1 -1
  30. package/dist/cjs/enums/BlendModes.js.map +1 -1
  31. package/dist/cjs/enums/Events.d.ts +1 -0
  32. package/dist/cjs/enums/Events.js +1 -0
  33. package/dist/cjs/enums/Events.js.map +1 -1
  34. package/dist/cjs/types/ActorSliceRange.d.ts +11 -0
  35. package/dist/cjs/types/ActorSliceRange.js +3 -0
  36. package/dist/cjs/types/ActorSliceRange.js.map +1 -0
  37. package/dist/cjs/types/EventTypes.d.ts +10 -1
  38. package/dist/cjs/types/IImageVolume.d.ts +1 -0
  39. package/dist/cjs/types/ImageSliceData.d.ts +5 -0
  40. package/dist/cjs/types/ImageSliceData.js +3 -0
  41. package/dist/cjs/types/ImageSliceData.js.map +1 -0
  42. package/dist/cjs/types/Metadata.d.ts +1 -0
  43. package/dist/cjs/types/index.d.ts +3 -1
  44. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
  45. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js +37 -0
  46. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
  47. package/dist/cjs/utilities/getScalingParameters.d.ts +2 -0
  48. package/dist/cjs/utilities/getScalingParameters.js +41 -0
  49. package/dist/cjs/utilities/getScalingParameters.js.map +1 -0
  50. package/dist/cjs/utilities/getSliceRange.d.ts +2 -0
  51. package/dist/cjs/utilities/getSliceRange.js +39 -0
  52. package/dist/cjs/utilities/getSliceRange.js.map +1 -0
  53. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +1 -1
  54. package/dist/cjs/utilities/index.d.ts +6 -2
  55. package/dist/cjs/utilities/index.js +9 -1
  56. package/dist/cjs/utilities/index.js.map +1 -1
  57. package/dist/cjs/utilities/loadImageToCanvas.js +2 -9
  58. package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
  59. package/dist/cjs/utilities/snapFocalPointToSlice.d.ts +5 -0
  60. package/dist/cjs/utilities/snapFocalPointToSlice.js +41 -0
  61. package/dist/cjs/utilities/snapFocalPointToSlice.js.map +1 -0
  62. package/dist/esm/RenderingEngine/RenderingEngine.js +4 -1
  63. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  64. package/dist/esm/RenderingEngine/StackViewport.js +12 -20
  65. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  66. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +1 -0
  67. package/dist/esm/RenderingEngine/VolumeViewport.js +28 -3
  68. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  69. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +19 -5
  70. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +1 -1
  71. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +2 -1
  72. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
  73. package/dist/esm/RenderingEngine/helpers/createVolumeActor.d.ts +1 -1
  74. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +31 -3
  75. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  76. package/dist/esm/RenderingEngine/helpers/index.d.ts +2 -1
  77. package/dist/esm/RenderingEngine/helpers/index.js +2 -1
  78. package/dist/esm/RenderingEngine/helpers/index.js.map +1 -1
  79. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -0
  80. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +132 -0
  81. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -0
  82. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +4 -0
  83. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +35 -0
  84. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -0
  85. package/dist/esm/Settings.js +1 -0
  86. package/dist/esm/Settings.js.map +1 -1
  87. package/dist/esm/cache/classes/ImageVolume.d.ts +1 -0
  88. package/dist/esm/cache/classes/ImageVolume.js +1 -0
  89. package/dist/esm/cache/classes/ImageVolume.js.map +1 -1
  90. package/dist/esm/enums/BlendModes.js +1 -1
  91. package/dist/esm/enums/BlendModes.js.map +1 -1
  92. package/dist/esm/enums/Events.d.ts +1 -0
  93. package/dist/esm/enums/Events.js +1 -0
  94. package/dist/esm/enums/Events.js.map +1 -1
  95. package/dist/esm/types/ActorSliceRange.d.ts +11 -0
  96. package/dist/esm/types/ActorSliceRange.js +2 -0
  97. package/dist/esm/types/ActorSliceRange.js.map +1 -0
  98. package/dist/esm/types/EventTypes.d.ts +10 -1
  99. package/dist/esm/types/IImageVolume.d.ts +1 -0
  100. package/dist/esm/types/ImageSliceData.d.ts +5 -0
  101. package/dist/esm/types/ImageSliceData.js +2 -0
  102. package/dist/esm/types/ImageSliceData.js.map +1 -0
  103. package/dist/esm/types/Metadata.d.ts +1 -0
  104. package/dist/esm/types/index.d.ts +3 -1
  105. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
  106. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js +32 -0
  107. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
  108. package/dist/esm/utilities/getScalingParameters.d.ts +2 -0
  109. package/dist/esm/utilities/getScalingParameters.js +22 -0
  110. package/dist/esm/utilities/getScalingParameters.js.map +1 -0
  111. package/dist/esm/utilities/getSliceRange.d.ts +2 -0
  112. package/dist/esm/utilities/getSliceRange.js +33 -0
  113. package/dist/esm/utilities/getSliceRange.js.map +1 -0
  114. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +1 -1
  115. package/dist/esm/utilities/index.d.ts +6 -2
  116. package/dist/esm/utilities/index.js +6 -2
  117. package/dist/esm/utilities/index.js.map +1 -1
  118. package/dist/esm/utilities/loadImageToCanvas.js +2 -9
  119. package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
  120. package/dist/esm/utilities/snapFocalPointToSlice.d.ts +5 -0
  121. package/dist/esm/utilities/snapFocalPointToSlice.js +38 -0
  122. package/dist/esm/utilities/snapFocalPointToSlice.js.map +1 -0
  123. package/dist/umd/index.js +1 -1
  124. package/dist/umd/index.js.map +1 -1
  125. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setDefaultVolumeVOI.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/setDefaultVolumeVOI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { EventTypes } from '../../types';
2
+ export declare function resetVolumeNewImageState(viewportId: string): void;
3
+ declare function volumeNewImageEventDispatcher(cameraEvent: EventTypes.CameraModifiedEvent): void;
4
+ export default volumeNewImageEventDispatcher;
@@ -0,0 +1,35 @@
1
+ import { getImageSliceDataForVolumeViewport, triggerEvent, } from '../../utilities';
2
+ import { Events } from '../../enums';
3
+ import { getRenderingEngine } from '../getRenderingEngine';
4
+ import VolumeViewport from '../VolumeViewport';
5
+ const state = {};
6
+ export function resetVolumeNewImageState(viewportId) {
7
+ if (state[viewportId]) {
8
+ delete state[viewportId];
9
+ }
10
+ }
11
+ function volumeNewImageEventDispatcher(cameraEvent) {
12
+ const { renderingEngineId, viewportId } = cameraEvent.detail;
13
+ const renderingEngine = getRenderingEngine(renderingEngineId);
14
+ const viewport = renderingEngine.getViewport(viewportId);
15
+ if (!(viewport instanceof VolumeViewport)) {
16
+ throw new Error(`volumeNewImageEventDispatcher: viewport is not a VolumeViewport`);
17
+ }
18
+ if (!state[viewport.id]) {
19
+ state[viewport.id] = 0;
20
+ }
21
+ const { numberOfSlices, imageIndex } = getImageSliceDataForVolumeViewport(viewport);
22
+ if (state[viewport.id] === imageIndex) {
23
+ return;
24
+ }
25
+ state[viewport.id] = imageIndex;
26
+ const eventDetail = {
27
+ imageIndex,
28
+ viewportId,
29
+ renderingEngineId,
30
+ numberOfSlices,
31
+ };
32
+ triggerEvent(viewport.element, Events.VOLUME_NEW_IMAGE, eventDetail);
33
+ }
34
+ export default volumeNewImageEventDispatcher;
35
+ //# sourceMappingURL=volumeNewImageEventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volumeNewImageEventDispatcher.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/volumeNewImageEventDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAK/C,MAAM,KAAK,GAAqB,EAAE,CAAC;AAEnC,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC1B;AACH,CAAC;AAYD,SAAS,6BAA6B,CACpC,WAA2C;IAE3C,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;IAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;KACH;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACvB,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;KACxB;IAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAClC,kCAAkC,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE;QACrC,OAAO;KACR;IAED,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;IAEhC,MAAM,WAAW,GAAyC;QACxD,UAAU;QACV,UAAU;QACV,iBAAiB;QACjB,cAAc;KACf,CAAC;IAEF,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AACvE,CAAC;AAED,eAAe,6BAA6B,CAAC"}
@@ -187,4 +187,5 @@ function deepSet(context, key, value) {
187
187
  context[key] = value;
188
188
  }
189
189
  }
190
+ Settings.getDefaultSettings().set('useCursors', true);
190
191
  //# sourceMappingURL=Settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/Settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/Settings.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class ImageVolume implements IImageVolume {
6
6
  metadata: Metadata;
7
7
  origin: Point3;
8
8
  scalarData: Float32Array | Uint8Array;
9
+ isPrescaled: boolean;
9
10
  scaling?: {
10
11
  PET?: {
11
12
  SUVlbmFactor?: number;
@@ -1,6 +1,7 @@
1
1
  import { vtkStreamingOpenGLTexture } from '../../RenderingEngine/vtkClasses';
2
2
  export class ImageVolume {
3
3
  constructor(props) {
4
+ this.isPrescaled = false;
4
5
  this.volumeId = props.volumeId;
5
6
  this.metadata = props.metadata;
6
7
  this.dimensions = props.dimensions;
@@ -1 +1 @@
1
- {"version":3,"file":"ImageVolume.js","sourceRoot":"","sources":["../../../../src/cache/classes/ImageVolume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAM7E,MAAM,OAAO,WAAW;IAyCtB,YAAY,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAChE,IAAI,CAAC,SAAS;YACZ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE/D,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;SAC9B;QAED,IAAI,KAAK,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;SACpD;IACH,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ImageVolume.js","sourceRoot":"","sources":["../../../../src/cache/classes/ImageVolume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAM7E,MAAM,OAAO,WAAW;IA2CtB,YAAY,KAAc;QA7B1B,gBAAW,GAAG,KAAK,CAAC;QA8BlB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAChE,IAAI,CAAC,SAAS;YACZ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE/D,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;SAC9B;QAED,IAAI,KAAK,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;SACpD;IACH,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
@@ -2,7 +2,7 @@ import vtkConstants from '@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants'
2
2
  const { BlendMode } = vtkConstants;
3
3
  var BlendModes;
4
4
  (function (BlendModes) {
5
- BlendModes[BlendModes["COMPOSITE"] = BlendMode.COMPOSITE] = "COMPOSITE";
5
+ BlendModes[BlendModes["COMPOSITE"] = BlendMode.COMPOSITE_BLEND] = "COMPOSITE";
6
6
  BlendModes[BlendModes["MAXIMUM_INTENSITY_BLEND"] = BlendMode.MAXIMUM_INTENSITY_BLEND] = "MAXIMUM_INTENSITY_BLEND";
7
7
  BlendModes[BlendModes["MINIMUM_INTENSITY_BLEND"] = BlendMode.MINIMUM_INTENSITY_BLEND] = "MINIMUM_INTENSITY_BLEND";
8
8
  BlendModes[BlendModes["AVERAGE_INTENSITY_BLEND"] = BlendMode.AVERAGE_INTENSITY_BLEND] = "AVERAGE_INTENSITY_BLEND";
@@ -1 +1 @@
1
- {"version":3,"file":"BlendModes.js","sourceRoot":"","sources":["../../../src/enums/BlendModes.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,uDAAuD,CAAC;AAEjF,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;AASnC,IAAK,UASJ;AATD,WAAK,UAAU;IAEb,qCAAY,SAAS,CAAC,SAAS,eAAA,CAAA;IAE/B,mDAA0B,SAAS,CAAC,uBAAuB,6BAAA,CAAA;IAE3D,mDAA0B,SAAS,CAAC,uBAAuB,6BAAA,CAAA;IAE3D,mDAA0B,SAAS,CAAC,uBAAuB,6BAAA,CAAA;AAC7D,CAAC,EATI,UAAU,KAAV,UAAU,QASd;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BlendModes.js","sourceRoot":"","sources":["../../../src/enums/BlendModes.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,uDAAuD,CAAC;AAEjF,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;AASnC,IAAK,UASJ;AATD,WAAK,UAAU;IAEb,qCAAY,SAAS,CAAC,eAAe,eAAA,CAAA;IAErC,mDAA0B,SAAS,CAAC,uBAAuB,6BAAA,CAAA;IAE3D,mDAA0B,SAAS,CAAC,uBAAuB,6BAAA,CAAA;IAE3D,mDAA0B,SAAS,CAAC,uBAAuB,6BAAA,CAAA;AAC7D,CAAC,EATI,UAAU,KAAV,UAAU,QASd;AAED,eAAe,UAAU,CAAC"}
@@ -16,6 +16,7 @@ declare enum Events {
16
16
  VOLUME_CACHE_VOLUME_ADDED = "CORNERSTONE_VOLUME_CACHE_VOLUME_ADDED",
17
17
  VOLUME_CACHE_VOLUME_REMOVED = "CORNERSTONE_VOLUME_CACHE_VOLUME_REMOVED",
18
18
  STACK_NEW_IMAGE = "CORNERSTONE_STACK_NEW_IMAGE",
19
+ VOLUME_NEW_IMAGE = "CORNERSTONE_VOLUME_NEW_IMAGE",
19
20
  PRE_STACK_NEW_IMAGE = "CORNERSTONE_PRE_STACK_NEW_IMAGE",
20
21
  IMAGE_SPACING_CALIBRATED = "CORNERSTONE_IMAGE_SPACING_CALIBRATED",
21
22
  IMAGE_LOAD_PROGRESS = "CORNERSTONE_IMAGE_LOAD_PROGRESS"
@@ -17,6 +17,7 @@ var Events;
17
17
  Events["VOLUME_CACHE_VOLUME_ADDED"] = "CORNERSTONE_VOLUME_CACHE_VOLUME_ADDED";
18
18
  Events["VOLUME_CACHE_VOLUME_REMOVED"] = "CORNERSTONE_VOLUME_CACHE_VOLUME_REMOVED";
19
19
  Events["STACK_NEW_IMAGE"] = "CORNERSTONE_STACK_NEW_IMAGE";
20
+ Events["VOLUME_NEW_IMAGE"] = "CORNERSTONE_VOLUME_NEW_IMAGE";
20
21
  Events["PRE_STACK_NEW_IMAGE"] = "CORNERSTONE_PRE_STACK_NEW_IMAGE";
21
22
  Events["IMAGE_SPACING_CALIBRATED"] = "CORNERSTONE_IMAGE_SPACING_CALIBRATED";
22
23
  Events["IMAGE_LOAD_PROGRESS"] = "CORNERSTONE_IMAGE_LOAD_PROGRESS";
@@ -1 +1 @@
1
- {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/enums/Events.ts"],"names":[],"mappings":"AAGA,IAAK,MAoJJ;AApJD,WAAK,MAAM;IAST,qDAA2C,CAAA;IAK3C,+CAAqC,CAAA;IAQrC,yDAA+C,CAAA;IAO/C,mDAAyC,CAAA;IAOzC,2DAAiD,CAAA;IAOjD,yDAA+C,CAAA;IAO/C,uDAA6C,CAAA;IAS7C,qEAA2D,CAAA;IAO3D,mDAAyC,CAAA;IAOzC,6DAAmD,CAAA;IAOnD,qDAA2C,CAAA;IAO3C,mEAAyD,CAAA;IAOzD,yEAA+D,CAAA;IAO/D,6EAAmE,CAAA;IAOnE,6EAAmE,CAAA;IAOnE,iFAAuE,CAAA;IAOvE,yDAA+C,CAAA;IAO/C,iEAAuD,CAAA;IAOvD,2EAAiE,CAAA;IAQjE,iEAAuD,CAAA;AAIzD,CAAC,EApJI,MAAM,KAAN,MAAM,QAoJV;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/enums/Events.ts"],"names":[],"mappings":"AAGA,IAAK,MA8JJ;AA9JD,WAAK,MAAM;IAST,qDAA2C,CAAA;IAK3C,+CAAqC,CAAA;IAQrC,yDAA+C,CAAA;IAO/C,mDAAyC,CAAA;IAOzC,2DAAiD,CAAA;IAOjD,yDAA+C,CAAA;IAO/C,uDAA6C,CAAA;IAS7C,qEAA2D,CAAA;IAO3D,mDAAyC,CAAA;IAOzC,6DAAmD,CAAA;IAOnD,qDAA2C,CAAA;IAO3C,mEAAyD,CAAA;IAOzD,yEAA+D,CAAA;IAO/D,6EAAmE,CAAA;IAOnE,6EAAmE,CAAA;IAOnE,iFAAuE,CAAA;IAOvE,yDAA+C,CAAA;IAS/C,2DAAiD,CAAA;IAQjD,iEAAuD,CAAA;IAOvD,2EAAiE,CAAA;IAQjE,iEAAuD,CAAA;AAIzD,CAAC,EA9JI,MAAM,KAAN,MAAM,QA8JV;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { VolumeActor } from './IActor';
2
+ import Point3 from './Point3';
3
+ declare type ActorSliceRange = {
4
+ actor: VolumeActor;
5
+ viewPlaneNormal: Point3;
6
+ focalPoint: Point3;
7
+ min: number;
8
+ max: number;
9
+ current: number;
10
+ };
11
+ export default ActorSliceRange;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ActorSliceRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActorSliceRange.js","sourceRoot":"","sources":["../../../src/types/ActorSliceRange.ts"],"names":[],"mappings":""}
@@ -68,12 +68,20 @@ declare type VolumeCacheVolumeAddedEventDetail = {
68
68
  };
69
69
  declare type PreStackNewImageEventDetail = {
70
70
  imageId: string;
71
+ imageIdIndex: number;
71
72
  viewportId: string;
72
73
  renderingEngineId: string;
73
74
  };
74
75
  declare type StackNewImageEventDetail = {
75
76
  image: IImage;
76
77
  imageId: string;
78
+ imageIdIndex: number;
79
+ viewportId: string;
80
+ renderingEngineId: string;
81
+ };
82
+ declare type VolumeNewImageEventDetail = {
83
+ imageIndex: number;
84
+ numberOfSlices: number;
77
85
  viewportId: string;
78
86
  renderingEngineId: string;
79
87
  };
@@ -109,7 +117,8 @@ declare type ImageCacheImageRemovedEvent = CustomEventType<ImageCacheImageRemove
109
117
  declare type VolumeCacheVolumeAddedEvent = CustomEventType<VolumeCacheVolumeAddedEventDetail>;
110
118
  declare type VolumeCacheVolumeRemovedEvent = CustomEventType<VolumeCacheVolumeRemovedEventDetail>;
111
119
  declare type StackNewImageEvent = CustomEventType<StackNewImageEventDetail>;
120
+ declare type VolumeNewImageEvent = CustomEventType<VolumeNewImageEventDetail>;
112
121
  declare type PreStackNewImageEvent = CustomEventType<PreStackNewImageEventDetail>;
113
122
  declare type ImageSpacingCalibratedEvent = CustomEventType<ImageSpacingCalibratedEventDetail>;
114
123
  declare type ImageLoadProgressEvent = CustomEventType<ImageLoadProgressEventDetail>;
115
- export type { CameraModifiedEventDetail, CameraModifiedEvent, VoiModifiedEvent, VoiModifiedEventDetail, ElementDisabledEvent, ElementDisabledEventDetail, ElementEnabledEvent, ElementEnabledEventDetail, ImageRenderedEventDetail, ImageRenderedEvent, ImageVolumeModifiedEvent, ImageVolumeModifiedEventDetail, ImageLoadedEvent, ImageLoadedEventDetail, ImageLoadedFailedEventDetail, ImageLoadedFailedEvent, VolumeLoadedEvent, VolumeLoadedEventDetail, VolumeLoadedFailedEvent, VolumeLoadedFailedEventDetail, ImageCacheImageAddedEvent, ImageCacheImageAddedEventDetail, ImageCacheImageRemovedEvent, ImageCacheImageRemovedEventDetail, VolumeCacheVolumeAddedEvent, VolumeCacheVolumeAddedEventDetail, VolumeCacheVolumeRemovedEvent, VolumeCacheVolumeRemovedEventDetail, StackNewImageEvent, StackNewImageEventDetail, PreStackNewImageEvent, PreStackNewImageEventDetail, ImageSpacingCalibratedEvent, ImageSpacingCalibratedEventDetail, ImageLoadProgressEvent, ImageLoadProgressEventDetail, };
124
+ export type { CameraModifiedEventDetail, CameraModifiedEvent, VoiModifiedEvent, VoiModifiedEventDetail, ElementDisabledEvent, ElementDisabledEventDetail, ElementEnabledEvent, ElementEnabledEventDetail, ImageRenderedEventDetail, ImageRenderedEvent, ImageVolumeModifiedEvent, ImageVolumeModifiedEventDetail, ImageLoadedEvent, ImageLoadedEventDetail, ImageLoadedFailedEventDetail, ImageLoadedFailedEvent, VolumeLoadedEvent, VolumeLoadedEventDetail, VolumeLoadedFailedEvent, VolumeLoadedFailedEventDetail, ImageCacheImageAddedEvent, ImageCacheImageAddedEventDetail, ImageCacheImageRemovedEvent, ImageCacheImageRemovedEventDetail, VolumeCacheVolumeAddedEvent, VolumeCacheVolumeAddedEventDetail, VolumeCacheVolumeRemovedEvent, VolumeCacheVolumeRemovedEventDetail, StackNewImageEvent, StackNewImageEventDetail, PreStackNewImageEvent, PreStackNewImageEventDetail, ImageSpacingCalibratedEvent, ImageSpacingCalibratedEventDetail, ImageLoadProgressEvent, ImageLoadProgressEventDetail, VolumeNewImageEvent, VolumeNewImageEventDetail, };
@@ -7,6 +7,7 @@ interface IImageVolume {
7
7
  metadata: Metadata;
8
8
  origin: Point3;
9
9
  scalarData: any;
10
+ isPrescaled: boolean;
10
11
  scaling?: {
11
12
  PET?: {
12
13
  SUVlbmFactor?: number;
@@ -0,0 +1,5 @@
1
+ declare type ImageSliceData = {
2
+ numberOfSlices: number;
3
+ imageIndex: number;
4
+ };
5
+ export default ImageSliceData;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ImageSliceData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageSliceData.js","sourceRoot":"","sources":["../../../src/types/ImageSliceData.ts"],"names":[],"mappings":""}
@@ -7,6 +7,7 @@ declare type Metadata = {
7
7
  PhotometricInterpretation: string;
8
8
  PixelRepresentation: number;
9
9
  Modality: string;
10
+ SeriesInstanceUID: string;
10
11
  ImageOrientationPatient: Array<number>;
11
12
  PixelSpacing: Array<number>;
12
13
  FrameOfReferenceUID: string;
@@ -46,4 +46,6 @@ import type CPUFallbackRenderingTools from './CPUFallbackRenderingTools';
46
46
  import type { IVolumeInput, VolumeInputCallback } from './IVolumeInput';
47
47
  import type * as EventTypes from './EventTypes';
48
48
  import type IRenderingEngine from './IRenderingEngine';
49
- export type { ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, IViewportId, IImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, PublicViewportInput, VolumeActor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, Metadata, Orientation, Point2, Point3, Point4, Plane, ViewportInputOptions, VOIRange, VOI, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, };
49
+ import type ActorSliceRange from './ActorSliceRange';
50
+ import type ImageSliceData from './ImageSliceData';
51
+ export type { ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, IViewportId, IImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, PublicViewportInput, VolumeActor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, Metadata, Orientation, Point2, Point3, Point4, Plane, ViewportInputOptions, VOIRange, VOI, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, };
@@ -0,0 +1,3 @@
1
+ import { ImageSliceData, IVolumeViewport } from '../types';
2
+ declare function getImageSliceDataForVolumeViewport(viewport: IVolumeViewport): ImageSliceData;
3
+ export default getImageSliceDataForVolumeViewport;
@@ -0,0 +1,32 @@
1
+ import getSliceRange from './getSliceRange';
2
+ import getTargetVolumeAndSpacingInNormalDir from './getTargetVolumeAndSpacingInNormalDir';
3
+ function getImageSliceDataForVolumeViewport(viewport) {
4
+ const camera = viewport.getCamera();
5
+ const { spacingInNormalDirection, imageVolume } = getTargetVolumeAndSpacingInNormalDir(viewport, camera);
6
+ if (!imageVolume) {
7
+ return;
8
+ }
9
+ const { viewPlaneNormal, focalPoint } = camera;
10
+ const actor = viewport.getActor(imageVolume.volumeId);
11
+ if (!actor) {
12
+ console.warn('No actor found for with actorUID of', imageVolume.volumeId);
13
+ }
14
+ const { volumeActor } = actor;
15
+ const sliceRange = getSliceRange(volumeActor, viewPlaneNormal, focalPoint);
16
+ const { min, max, current } = sliceRange;
17
+ const numberOfSlices = Math.round((max - min) / spacingInNormalDirection) + 1;
18
+ let imageIndex = ((current - min) / (max - min)) * numberOfSlices;
19
+ imageIndex = Math.floor(imageIndex);
20
+ if (imageIndex > numberOfSlices - 1) {
21
+ imageIndex = numberOfSlices - 1;
22
+ }
23
+ else if (imageIndex < 0) {
24
+ imageIndex = 0;
25
+ }
26
+ return {
27
+ numberOfSlices,
28
+ imageIndex,
29
+ };
30
+ }
31
+ export default getImageSliceDataForVolumeViewport;
32
+ //# sourceMappingURL=getImageSliceDataForVolumeViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getImageSliceDataForVolumeViewport.js","sourceRoot":"","sources":["../../../src/utilities/getImageSliceDataForVolumeViewport.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAQ1F,SAAS,kCAAkC,CACzC,QAAyB;IAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IAEpC,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,GAC7C,oCAAoC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEzD,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;KACR;IAED,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;KAC3E;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE3E,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAG9E,IAAI,UAAU,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;IAClE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAGpC,IAAI,UAAU,GAAG,cAAc,GAAG,CAAC,EAAE;QACnC,UAAU,GAAG,cAAc,GAAG,CAAC,CAAC;KACjC;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE;QACzB,UAAU,GAAG,CAAC,CAAC;KAChB;IAED,OAAO;QACL,cAAc;QACd,UAAU;KACX,CAAC;AACJ,CAAC;AAED,eAAe,kCAAkC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ScalingParameters } from '../types';
2
+ export default function getScalingParameters(imageId: string): ScalingParameters | undefined;
@@ -0,0 +1,22 @@
1
+ import * as metaData from '../metaData';
2
+ export default function getScalingParameters(imageId) {
3
+ const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
4
+ const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
5
+ const { modality } = generalSeriesModule;
6
+ const scalingParameters = {
7
+ rescaleSlope: modalityLutModule.rescaleSlope,
8
+ rescaleIntercept: modalityLutModule.rescaleIntercept,
9
+ modality,
10
+ };
11
+ if (modality !== 'PT') {
12
+ return scalingParameters;
13
+ }
14
+ const suvFactor = metaData.get('scalingModule', imageId) || {};
15
+ if (modality === 'PT' && suvFactor.suvbw) {
16
+ return {
17
+ ...scalingParameters,
18
+ suvbw: suvFactor.suvbw,
19
+ };
20
+ }
21
+ }
22
+ //# sourceMappingURL=getScalingParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getScalingParameters.js","sourceRoot":"","sources":["../../../src/utilities/getScalingParameters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AASxC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,OAAe;IAEf,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE3E,MAAM,mBAAmB,GACvB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAErD,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC;IAEzC,MAAM,iBAAiB,GAAsB;QAC3C,YAAY,EAAE,iBAAiB,CAAC,YAAY;QAC5C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;QACpD,QAAQ;KACT,CAAC;IAEF,IAAI,QAAQ,KAAK,IAAI,EAAE;QACrB,OAAO,iBAAiB,CAAC;KAC1B;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/D,IAAI,QAAQ,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE;QACxC,OAAO;YACL,GAAG,iBAAiB;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;KACH;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { VolumeActor, Point3, ActorSliceRange } from '../types';
2
+ export default function getSliceRange(volumeActor: VolumeActor, viewPlaneNormal: Point3, focalPoint: Point3): ActorSliceRange;
@@ -0,0 +1,33 @@
1
+ import vtkMatrixBuilder from '@kitware/vtk.js/Common/Core/MatrixBuilder';
2
+ import getVolumeActorCorners from './getVolumeActorCorners';
3
+ export default function getSliceRange(volumeActor, viewPlaneNormal, focalPoint) {
4
+ const corners = getVolumeActorCorners(volumeActor);
5
+ const transform = vtkMatrixBuilder
6
+ .buildFromDegree()
7
+ .identity()
8
+ .rotateFromDirections(viewPlaneNormal, [1, 0, 0]);
9
+ corners.forEach((pt) => transform.apply(pt));
10
+ const transformedFocalPoint = [...focalPoint];
11
+ transform.apply(transformedFocalPoint);
12
+ const currentSlice = transformedFocalPoint[0];
13
+ let minX = Infinity;
14
+ let maxX = -Infinity;
15
+ for (let i = 0; i < 8; i++) {
16
+ const x = corners[i][0];
17
+ if (x > maxX) {
18
+ maxX = x;
19
+ }
20
+ if (x < minX) {
21
+ minX = x;
22
+ }
23
+ }
24
+ return {
25
+ min: minX,
26
+ max: maxX,
27
+ current: currentSlice,
28
+ actor: volumeActor,
29
+ viewPlaneNormal,
30
+ focalPoint,
31
+ };
32
+ }
33
+ //# sourceMappingURL=getSliceRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSliceRange.js","sourceRoot":"","sources":["../../../src/utilities/getSliceRange.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAe5D,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,WAAwB,EACxB,eAAuB,EACvB,UAAkB;IAElB,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAGnD,MAAM,SAAS,GAAG,gBAAgB;SAC/B,eAAe,EAAE;SACjB,QAAQ,EAAE;SACV,oBAAoB,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,qBAAqB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAE9C,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAG9C,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,EAAE;YACZ,IAAI,GAAG,CAAC,CAAC;SACV;QACD,IAAI,CAAC,GAAG,IAAI,EAAE;YACZ,IAAI,GAAG,CAAC,CAAC;SACV;KACF;IAED,OAAO;QACL,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,WAAW;QAClB,eAAe;QACf,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@ import getSpacingInNormalDirection from './getSpacingInNormalDirection';
3
3
  export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId) {
4
4
  const { viewPlaneNormal } = camera;
5
5
  const volumeActors = viewport.getActors();
6
- if (!volumeActors && !volumeActors.length) {
6
+ if (!volumeActors || !volumeActors.length) {
7
7
  return { spacingInNormalDirection: null, imageVolume: null };
8
8
  }
9
9
  const numVolumeActors = volumeActors.length;
@@ -1,4 +1,4 @@
1
- import invertRgbTransferFunction from './invertRgbTransferFunction';
1
+ import csUtils from './invertRgbTransferFunction';
2
2
  import scaleRgbTransferFunction from './scaleRgbTransferFunction';
3
3
  import triggerEvent from './triggerEvent';
4
4
  import uuidv4 from './uuidv4';
@@ -23,6 +23,10 @@ import loadImageToCanvas from './loadImageToCanvas';
23
23
  import renderToCanvas from './renderToCanvas';
24
24
  import worldToImageCoords from './worldToImageCoords';
25
25
  import imageToWorldCoords from './imageToWorldCoords';
26
+ import getSliceRange from './getSliceRange';
27
+ import snapFocalPointToSlice from './snapFocalPointToSlice';
28
+ import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeViewport';
29
+ import getScalingParameters from './getScalingParameters';
26
30
  import * as planar from './planar';
27
31
  import * as windowLevel from './windowLevel';
28
- export { invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, };
32
+ export { csUtils as invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, getScalingParameters, };
@@ -1,4 +1,4 @@
1
- import invertRgbTransferFunction from './invertRgbTransferFunction';
1
+ import csUtils from './invertRgbTransferFunction';
2
2
  import scaleRgbTransferFunction from './scaleRgbTransferFunction';
3
3
  import triggerEvent from './triggerEvent';
4
4
  import uuidv4 from './uuidv4';
@@ -23,7 +23,11 @@ import loadImageToCanvas from './loadImageToCanvas';
23
23
  import renderToCanvas from './renderToCanvas';
24
24
  import worldToImageCoords from './worldToImageCoords';
25
25
  import imageToWorldCoords from './imageToWorldCoords';
26
+ import getSliceRange from './getSliceRange';
27
+ import snapFocalPointToSlice from './snapFocalPointToSlice';
28
+ import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeViewport';
29
+ import getScalingParameters from './getScalingParameters';
26
30
  import * as planar from './planar';
27
31
  import * as windowLevel from './windowLevel';
28
- export { invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, };
32
+ export { csUtils as invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, getScalingParameters, };
29
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,sCAAsC,MAAM,0CAA0C,CAAC;AAC9F,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,uCAAuC,MAAM,2CAA2C,CAAC;AAChG,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,sCAAsC,EACtC,MAAM,EACN,MAAM,EACN,SAAS,EACT,YAAY,EACZ,OAAO,EACP,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,oCAAoC,EACpC,qBAAqB,EACrB,qBAAqB,EACrB,uCAAuC,EACvC,oCAAoC,EACpC,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,sCAAsC,MAAM,0CAA0C,CAAC;AAC9F,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,uCAAuC,MAAM,2CAA2C,CAAC;AAChG,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AACtF,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,OAAO,IAAI,yBAAyB,EACpC,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,sCAAsC,EACtC,MAAM,EACN,MAAM,EACN,SAAS,EACT,YAAY,EACZ,OAAO,EACP,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,oCAAoC,EACpC,qBAAqB,EACrB,qBAAqB,EACrB,uCAAuC,EACvC,oCAAoC,EACpC,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,kCAAkC,EAClC,oBAAoB,GACrB,CAAC"}
@@ -3,6 +3,7 @@ import * as metaData from '../metaData';
3
3
  import { RequestType } from '../enums';
4
4
  import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
5
5
  import renderToCanvas from './renderToCanvas';
6
+ import getScalingParameters from './getScalingParameters';
6
7
  export default function loadImageToCanvas(canvas, imageId, requestType = RequestType.Thumbnail, priority = -5) {
7
8
  return new Promise((resolve, reject) => {
8
9
  function successCallback(image, imageId) {
@@ -22,15 +23,7 @@ export default function loadImageToCanvas(canvas, imageId, requestType = Request
22
23
  errorCallback.call(this, error, imageId);
23
24
  });
24
25
  }
25
- const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
26
- const suvFactor = metaData.get('scalingModule', imageId) || {};
27
- const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
28
- const scalingParameters = {
29
- rescaleSlope: modalityLutModule.rescaleSlope,
30
- rescaleIntercept: modalityLutModule.rescaleIntercept,
31
- modality: generalSeriesModule.modality,
32
- suvbw: suvFactor.suvbw,
33
- };
26
+ const scalingParameters = getScalingParameters(imageId);
34
27
  const options = {
35
28
  targetBuffer: {
36
29
  type: 'Float32Array',
@@ -1 +1 @@
1
- {"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ActorSliceRange, Point3 } from '../types';
2
+ export default function snapFocalPointToSlice(focalPoint: Point3, position: Point3, sliceRange: ActorSliceRange, viewPlaneNormal: Point3, spacingInNormalDirection: number, deltaFrames: number): {
3
+ newFocalPoint: Point3;
4
+ newPosition: Point3;
5
+ };
@@ -0,0 +1,38 @@
1
+ import { vec3 } from 'gl-matrix';
2
+ export default function snapFocalPointToSlice(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, deltaFrames) {
3
+ const { min, max, current } = sliceRange;
4
+ const posDiffFromFocalPoint = vec3.create();
5
+ vec3.sub(posDiffFromFocalPoint, position, focalPoint);
6
+ const steps = Math.round((max - min) / spacingInNormalDirection);
7
+ const fraction = (current - min) / (max - min);
8
+ const floatingStepNumber = fraction * steps;
9
+ let frameIndex = Math.round(floatingStepNumber);
10
+ let newFocalPoint = [
11
+ focalPoint[0] -
12
+ viewPlaneNormal[0] * floatingStepNumber * spacingInNormalDirection,
13
+ focalPoint[1] -
14
+ viewPlaneNormal[1] * floatingStepNumber * spacingInNormalDirection,
15
+ focalPoint[2] -
16
+ viewPlaneNormal[2] * floatingStepNumber * spacingInNormalDirection,
17
+ ];
18
+ frameIndex += deltaFrames;
19
+ if (frameIndex > steps) {
20
+ frameIndex = steps;
21
+ }
22
+ else if (frameIndex < 0) {
23
+ frameIndex = 0;
24
+ }
25
+ const newSlicePosFromMin = frameIndex * spacingInNormalDirection;
26
+ newFocalPoint = [
27
+ newFocalPoint[0] + viewPlaneNormal[0] * newSlicePosFromMin,
28
+ newFocalPoint[1] + viewPlaneNormal[1] * newSlicePosFromMin,
29
+ newFocalPoint[2] + viewPlaneNormal[2] * newSlicePosFromMin,
30
+ ];
31
+ const newPosition = [
32
+ newFocalPoint[0] + posDiffFromFocalPoint[0],
33
+ newFocalPoint[1] + posDiffFromFocalPoint[1],
34
+ newFocalPoint[2] + posDiffFromFocalPoint[2],
35
+ ];
36
+ return { newFocalPoint, newPosition };
37
+ }
38
+ //# sourceMappingURL=snapFocalPointToSlice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapFocalPointToSlice.js","sourceRoot":"","sources":["../../../src/utilities/snapFocalPointToSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,UAAkB,EAClB,QAAgB,EAChB,UAA2B,EAC3B,eAAuB,EACvB,wBAAgC,EAChC,WAAmB;IAEnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAE5C,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAQ,QAAQ,EAAQ,UAAU,CAAC,CAAC;IAGlE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAGjE,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAGhD,IAAI,aAAa,GAAW;QAC1B,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;QACpE,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;QACpE,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;KACrE,CAAC;IAGF,UAAU,IAAI,WAAW,CAAC;IAG1B,IAAI,UAAU,GAAG,KAAK,EAAE;QACtB,UAAU,GAAG,KAAK,CAAC;KACpB;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE;QACzB,UAAU,GAAG,CAAC,CAAC;KAChB;IAGD,MAAM,kBAAkB,GAAG,UAAU,GAAG,wBAAwB,CAAC;IAEjE,aAAa,GAAW;QACtB,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;QAC1D,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;QAC1D,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;KAC3D,CAAC;IAEF,MAAM,WAAW,GAAW;QAC1B,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;KAC5C,CAAC;IAEF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACxC,CAAC"}