@cornerstonejs/core 0.9.0 → 0.10.2

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 (167) hide show
  1. package/dist/cjs/RenderingEngine/RenderingEngine.js +6 -2
  2. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/StackViewport.d.ts +1 -1
  4. package/dist/cjs/RenderingEngine/StackViewport.js +47 -40
  5. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  6. package/dist/cjs/RenderingEngine/Viewport.d.ts +3 -3
  7. package/dist/cjs/RenderingEngine/Viewport.js +37 -33
  8. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  9. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +5 -3
  10. package/dist/cjs/RenderingEngine/VolumeViewport.js +122 -52
  11. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  12. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +19 -5
  13. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +1 -1
  14. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +2 -1
  15. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
  16. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.d.ts +1 -1
  17. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js +30 -3
  18. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  19. package/dist/cjs/RenderingEngine/helpers/index.d.ts +2 -1
  20. package/dist/cjs/RenderingEngine/helpers/index.js +3 -1
  21. package/dist/cjs/RenderingEngine/helpers/index.js.map +1 -1
  22. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -0
  23. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js +163 -0
  24. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -0
  25. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +4 -0
  26. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +42 -0
  27. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -0
  28. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +12 -0
  29. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +11 -2
  30. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  31. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +2 -0
  32. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  33. package/dist/cjs/Settings.js +1 -0
  34. package/dist/cjs/Settings.js.map +1 -1
  35. package/dist/cjs/cache/classes/ImageVolume.d.ts +1 -0
  36. package/dist/cjs/cache/classes/ImageVolume.js +1 -0
  37. package/dist/cjs/cache/classes/ImageVolume.js.map +1 -1
  38. package/dist/cjs/constants/index.d.ts +2 -2
  39. package/dist/cjs/constants/index.js +2 -2
  40. package/dist/cjs/constants/index.js.map +1 -1
  41. package/dist/cjs/constants/rendering.d.ts +5 -2
  42. package/dist/cjs/constants/rendering.js +6 -2
  43. package/dist/cjs/constants/rendering.js.map +1 -1
  44. package/dist/cjs/enums/BlendModes.js +1 -1
  45. package/dist/cjs/enums/BlendModes.js.map +1 -1
  46. package/dist/cjs/enums/Events.d.ts +1 -0
  47. package/dist/cjs/enums/Events.js +1 -0
  48. package/dist/cjs/enums/Events.js.map +1 -1
  49. package/dist/cjs/types/ActorSliceRange.d.ts +11 -0
  50. package/dist/cjs/types/ActorSliceRange.js +3 -0
  51. package/dist/cjs/types/ActorSliceRange.js.map +1 -0
  52. package/dist/cjs/types/EventTypes.d.ts +10 -1
  53. package/dist/cjs/types/IActor.d.ts +4 -3
  54. package/dist/cjs/types/IImageVolume.d.ts +1 -0
  55. package/dist/cjs/types/IStackViewport.d.ts +1 -1
  56. package/dist/cjs/types/IVolumeInput.d.ts +0 -1
  57. package/dist/cjs/types/IVolumeViewport.d.ts +4 -3
  58. package/dist/cjs/types/ImageSliceData.d.ts +5 -0
  59. package/dist/cjs/types/ImageSliceData.js +3 -0
  60. package/dist/cjs/types/ImageSliceData.js.map +1 -0
  61. package/dist/cjs/types/Metadata.d.ts +1 -0
  62. package/dist/cjs/types/index.d.ts +4 -2
  63. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
  64. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js +37 -0
  65. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
  66. package/dist/cjs/utilities/getScalingParameters.d.ts +2 -0
  67. package/dist/cjs/utilities/getScalingParameters.js +41 -0
  68. package/dist/cjs/utilities/getScalingParameters.js.map +1 -0
  69. package/dist/cjs/utilities/getSliceRange.d.ts +2 -0
  70. package/dist/cjs/utilities/getSliceRange.js +39 -0
  71. package/dist/cjs/utilities/getSliceRange.js.map +1 -0
  72. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +1 -1
  73. package/dist/cjs/utilities/getVolumeViewportsContainingVolumeId.js +2 -2
  74. package/dist/cjs/utilities/getVolumeViewportsContainingVolumeId.js.map +1 -1
  75. package/dist/cjs/utilities/index.d.ts +6 -2
  76. package/dist/cjs/utilities/index.js +9 -1
  77. package/dist/cjs/utilities/index.js.map +1 -1
  78. package/dist/cjs/utilities/loadImageToCanvas.js +2 -9
  79. package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
  80. package/dist/cjs/utilities/snapFocalPointToSlice.d.ts +5 -0
  81. package/dist/cjs/utilities/snapFocalPointToSlice.js +41 -0
  82. package/dist/cjs/utilities/snapFocalPointToSlice.js.map +1 -0
  83. package/dist/esm/RenderingEngine/RenderingEngine.js +6 -2
  84. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  85. package/dist/esm/RenderingEngine/StackViewport.d.ts +1 -1
  86. package/dist/esm/RenderingEngine/StackViewport.js +47 -40
  87. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  88. package/dist/esm/RenderingEngine/Viewport.d.ts +3 -3
  89. package/dist/esm/RenderingEngine/Viewport.js +38 -34
  90. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  91. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +5 -3
  92. package/dist/esm/RenderingEngine/VolumeViewport.js +104 -53
  93. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  94. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +19 -5
  95. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +1 -1
  96. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +2 -1
  97. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
  98. package/dist/esm/RenderingEngine/helpers/createVolumeActor.d.ts +1 -1
  99. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +30 -3
  100. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  101. package/dist/esm/RenderingEngine/helpers/index.d.ts +2 -1
  102. package/dist/esm/RenderingEngine/helpers/index.js +2 -1
  103. package/dist/esm/RenderingEngine/helpers/index.js.map +1 -1
  104. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -0
  105. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +132 -0
  106. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -0
  107. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +4 -0
  108. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +35 -0
  109. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -0
  110. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +12 -0
  111. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +11 -2
  112. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  113. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +2 -0
  114. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  115. package/dist/esm/Settings.js +1 -0
  116. package/dist/esm/Settings.js.map +1 -1
  117. package/dist/esm/cache/classes/ImageVolume.d.ts +1 -0
  118. package/dist/esm/cache/classes/ImageVolume.js +1 -0
  119. package/dist/esm/cache/classes/ImageVolume.js.map +1 -1
  120. package/dist/esm/constants/index.d.ts +2 -2
  121. package/dist/esm/constants/index.js +2 -2
  122. package/dist/esm/constants/index.js.map +1 -1
  123. package/dist/esm/constants/rendering.d.ts +5 -2
  124. package/dist/esm/constants/rendering.js +6 -2
  125. package/dist/esm/constants/rendering.js.map +1 -1
  126. package/dist/esm/enums/BlendModes.js +1 -1
  127. package/dist/esm/enums/BlendModes.js.map +1 -1
  128. package/dist/esm/enums/Events.d.ts +1 -0
  129. package/dist/esm/enums/Events.js +1 -0
  130. package/dist/esm/enums/Events.js.map +1 -1
  131. package/dist/esm/types/ActorSliceRange.d.ts +11 -0
  132. package/dist/esm/types/ActorSliceRange.js +2 -0
  133. package/dist/esm/types/ActorSliceRange.js.map +1 -0
  134. package/dist/esm/types/EventTypes.d.ts +10 -1
  135. package/dist/esm/types/IActor.d.ts +4 -3
  136. package/dist/esm/types/IImageVolume.d.ts +1 -0
  137. package/dist/esm/types/IStackViewport.d.ts +1 -1
  138. package/dist/esm/types/IVolumeInput.d.ts +0 -1
  139. package/dist/esm/types/IVolumeViewport.d.ts +4 -3
  140. package/dist/esm/types/ImageSliceData.d.ts +5 -0
  141. package/dist/esm/types/ImageSliceData.js +2 -0
  142. package/dist/esm/types/ImageSliceData.js.map +1 -0
  143. package/dist/esm/types/Metadata.d.ts +1 -0
  144. package/dist/esm/types/index.d.ts +4 -2
  145. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
  146. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js +32 -0
  147. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
  148. package/dist/esm/utilities/getScalingParameters.d.ts +2 -0
  149. package/dist/esm/utilities/getScalingParameters.js +22 -0
  150. package/dist/esm/utilities/getScalingParameters.js.map +1 -0
  151. package/dist/esm/utilities/getSliceRange.d.ts +2 -0
  152. package/dist/esm/utilities/getSliceRange.js +33 -0
  153. package/dist/esm/utilities/getSliceRange.js.map +1 -0
  154. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +1 -1
  155. package/dist/esm/utilities/getVolumeViewportsContainingVolumeId.js +2 -2
  156. package/dist/esm/utilities/getVolumeViewportsContainingVolumeId.js.map +1 -1
  157. package/dist/esm/utilities/index.d.ts +6 -2
  158. package/dist/esm/utilities/index.js +6 -2
  159. package/dist/esm/utilities/index.js.map +1 -1
  160. package/dist/esm/utilities/loadImageToCanvas.js +2 -9
  161. package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
  162. package/dist/esm/utilities/snapFocalPointToSlice.d.ts +5 -0
  163. package/dist/esm/utilities/snapFocalPointToSlice.js +38 -0
  164. package/dist/esm/utilities/snapFocalPointToSlice.js.map +1 -0
  165. package/dist/umd/index.js +1 -1
  166. package/dist/umd/index.js.map +1 -1
  167. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VolumeViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VolumeViewport.ts"],"names":[],"mappings":"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"}
@@ -17,14 +17,28 @@ function default_1(image, windowWidth, windowCenter, invert, modalityLUT, voiLUT
17
17
  const lut = image.cachedLut.lutArray;
18
18
  const mlutfn = (0, getModalityLut_1.default)(image.slope, image.intercept, modalityLUT);
19
19
  const vlutfn = (0, getVOILut_1.default)(windowWidth, windowCenter, voiLUT);
20
- if (invert === true) {
21
- for (let storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
22
- lut[storedValue + -offset] = 255 - vlutfn(mlutfn(storedValue));
20
+ if (image.isPreScaled) {
21
+ if (invert === true) {
22
+ for (let storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
23
+ lut[storedValue + -offset] = 255 - vlutfn(storedValue);
24
+ }
25
+ }
26
+ else {
27
+ for (let storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
28
+ lut[storedValue + -offset] = vlutfn(storedValue);
29
+ }
23
30
  }
24
31
  }
25
32
  else {
26
- for (let storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
27
- lut[storedValue + -offset] = vlutfn(mlutfn(storedValue));
33
+ if (invert === true) {
34
+ for (let storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
35
+ lut[storedValue + -offset] = 255 - vlutfn(mlutfn(storedValue));
36
+ }
37
+ }
38
+ else {
39
+ for (let storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
40
+ lut[storedValue + -offset] = vlutfn(mlutfn(storedValue));
41
+ }
28
42
  }
29
43
  }
30
44
  return lut;
@@ -1 +1 @@
1
- {"version":3,"file":"generateLut.js","sourceRoot":"","sources":["../../../../../../src/RenderingEngine/helpers/cpuFallback/rendering/generateLut.ts"],"names":[],"mappings":";;;;;AAAA,sEAA8C;AAC9C,4DAAoC;AAgBpC,mBACE,KAAa,EACb,WAAmB,EACnB,YAAoB,EACpB,MAAe,EACf,WAA2B,EAC3B,MAAsB;IAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAE1C,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;QACjC,MAAM,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC;QAE1C,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC1D;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;IAErC,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAE5D,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,KACE,IAAI,WAAW,GAAG,aAAa,EAC/B,WAAW,IAAI,aAAa,EAC5B,WAAW,EAAE,EACb;YACA,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;SAChE;KACF;SAAM;QACL,KACE,IAAI,WAAW,GAAG,aAAa,EAC/B,WAAW,IAAI,aAAa,EAC5B,WAAW,EAAE,EACb;YACA,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;SAC1D;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AA3CD,4BA2CC"}
1
+ {"version":3,"file":"generateLut.js","sourceRoot":"","sources":["../../../../../../src/RenderingEngine/helpers/cpuFallback/rendering/generateLut.ts"],"names":[],"mappings":";;;;;AAAA,sEAA8C;AAC9C,4DAAoC;AAgBpC,mBACE,KAAa,EACb,WAAmB,EACnB,YAAoB,EACpB,MAAe,EACf,WAA2B,EAC3B,MAAsB;IAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAE1C,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;QACjC,MAAM,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC;QAE1C,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC1D;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;IAErC,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAE5D,IAAI,KAAK,CAAC,WAAW,EAAE;QAGrB,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,KACE,IAAI,WAAW,GAAG,aAAa,EAC/B,WAAW,IAAI,aAAa,EAC5B,WAAW,EAAE,EACb;gBACA,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;aACxD;SACF;aAAM;YACL,KACE,IAAI,WAAW,GAAG,aAAa,EAC/B,WAAW,IAAI,aAAa,EAC5B,WAAW,EAAE,EACb;gBACA,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;aAClD;SACF;KACF;SAAM;QACL,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,KACE,IAAI,WAAW,GAAG,aAAa,EAC/B,WAAW,IAAI,aAAa,EAC5B,WAAW,EAAE,EACb;gBACA,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;aAChE;SACF;aAAM;YACL,KACE,IAAI,WAAW,GAAG,aAAa,EAC/B,WAAW,IAAI,aAAa,EAC5B,WAAW,EAAE,EACb;gBACA,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;aAC1D;SACF;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAjED,4BAiEC"}
@@ -20,7 +20,8 @@ function default_1(canvas, image, modality, colormap) {
20
20
  windowCenter: 2.5,
21
21
  };
22
22
  }
23
- else if (image.windowWidth && image.windowCenter) {
23
+ else if (image.windowWidth !== undefined &&
24
+ image.windowCenter !== undefined) {
24
25
  voi = {
25
26
  windowWidth: Array.isArray(image.windowWidth)
26
27
  ? image.windowWidth[0]
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultViewport.js","sourceRoot":"","sources":["../../../../../../src/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.ts"],"names":[],"mappings":";;;;;AAAA,sEAA8C;AAC9C,0EAAkD;AAclD,mBACE,MAAyB,EACzB,KAAa,EACb,QAAiB,EACjB,QAA8B;IAE9B,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;KACH;IAED,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,IAAA,wBAAc,GAAE,CAAC;KACzB;IAGD,MAAM,KAAK,GAAG,IAAA,0BAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7D,IAAI,GAAG,CAAC;IAER,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE;QAC1C,GAAG,GAAG;YACJ,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,GAAG;SAClB,CAAC;KACH;SAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE;QAClD,GAAG,GAAG;YACJ,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC3C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtB,CAAC,CAAC,KAAK,CAAC,WAAW;YACrB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC7C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,KAAK,CAAC,YAAY;SACvB,CAAC;KACH;IAED,OAAO;QACL,KAAK;QACL,WAAW,EAAE;YACX,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;QACD,GAAG;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,gBAAgB,EAAE,KAAK;QACvB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ;QACR,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;QAC5D,aAAa,EAAE;YACb,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,KAAK,CAAC,OAAO;gBAChB,CAAC,EAAE,KAAK,CAAC,IAAI;aACd;YACD,eAAe,EACb,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe;YACjE,kBAAkB,EAChB,KAAK,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB;YACvE,oBAAoB,EAAE,MAAM;SAC7B;KACF,CAAC;AACJ,CAAC;AArED,4BAqEC"}
1
+ {"version":3,"file":"getDefaultViewport.js","sourceRoot":"","sources":["../../../../../../src/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.ts"],"names":[],"mappings":";;;;;AAAA,sEAA8C;AAC9C,0EAAkD;AAclD,mBACE,MAAyB,EACzB,KAAa,EACb,QAAiB,EACjB,QAA8B;IAE9B,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;KACH;IAED,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,IAAA,wBAAc,GAAE,CAAC;KACzB;IAGD,MAAM,KAAK,GAAG,IAAA,0BAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7D,IAAI,GAAG,CAAC;IAER,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE;QAC1C,GAAG,GAAG;YACJ,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,GAAG;SAClB,CAAC;KACH;SAAM,IACL,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,YAAY,KAAK,SAAS,EAChC;QACA,GAAG,GAAG;YACJ,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC3C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtB,CAAC,CAAC,KAAK,CAAC,WAAW;YACrB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC7C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,KAAK,CAAC,YAAY;SACvB,CAAC;KACH;IAED,OAAO;QACL,KAAK;QACL,WAAW,EAAE;YACX,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;QACD,GAAG;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,gBAAgB,EAAE,KAAK;QACvB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ;QACR,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;QAC5D,aAAa,EAAE;YACb,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,KAAK,CAAC,OAAO;gBAChB,CAAC,EAAE,KAAK,CAAC,IAAI;aACd;YACD,eAAe,EACb,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe;YACjE,kBAAkB,EAChB,KAAK,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB;YACvE,oBAAoB,EAAE,MAAM;SAC7B;KACF,CAAC;AACJ,CAAC;AAxED,4BAwEC"}
@@ -8,5 +8,5 @@ interface createVolumeActorInterface {
8
8
  }) => void;
9
9
  blendMode?: BlendModes;
10
10
  }
11
- declare function createVolumeActor(props: createVolumeActorInterface): Promise<VolumeActor>;
11
+ declare function createVolumeActor(props: createVolumeActorInterface, element: HTMLDivElement, viewportId: string): Promise<VolumeActor>;
12
12
  export default createVolumeActor;
@@ -15,7 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const Volume_1 = __importDefault(require("@kitware/vtk.js/Rendering/Core/Volume"));
16
16
  const volumeLoader_1 = require("../../volumeLoader");
17
17
  const createVolumeMapper_1 = __importDefault(require("./createVolumeMapper"));
18
- function createVolumeActor(props) {
18
+ const utilities_1 = require("../../utilities");
19
+ const enums_1 = require("../../enums");
20
+ const setDefaultVolumeVOI_1 = __importDefault(require("./setDefaultVolumeVOI"));
21
+ function createVolumeActor(props, element, viewportId) {
19
22
  return __awaiter(this, void 0, void 0, function* () {
20
23
  const { volumeId, callback, blendMode } = props;
21
24
  const imageVolume = yield (0, volumeLoader_1.loadVolume)(volumeId);
@@ -29,11 +32,35 @@ function createVolumeActor(props) {
29
32
  }
30
33
  const volumeActor = Volume_1.default.newInstance();
31
34
  volumeActor.setMapper(volumeMapper);
32
- if (callback) {
33
- callback({ volumeActor, volumeId });
35
+ if (imageVolume.imageIds) {
36
+ yield (0, setDefaultVolumeVOI_1.default)(volumeActor, imageVolume);
37
+ if (callback) {
38
+ callback({ volumeActor, volumeId });
39
+ }
40
+ triggerVOIModified(element, viewportId, volumeActor);
41
+ }
42
+ else {
43
+ if (callback) {
44
+ callback({ volumeActor, volumeId });
45
+ }
46
+ triggerVOIModified(element, viewportId, volumeActor);
34
47
  }
35
48
  return volumeActor;
36
49
  });
37
50
  }
51
+ function triggerVOIModified(element, viewportId, volumeActor) {
52
+ const voiRange = volumeActor
53
+ .getProperty()
54
+ .getRGBTransferFunction(0)
55
+ .getRange();
56
+ const voiModifiedEventDetail = {
57
+ viewportId,
58
+ range: {
59
+ lower: voiRange[0],
60
+ upper: voiRange[1],
61
+ },
62
+ };
63
+ (0, utilities_1.triggerEvent)(element, enums_1.Events.VOI_MODIFIED, voiModifiedEventDetail);
64
+ }
38
65
  exports.default = createVolumeActor;
39
66
  //# sourceMappingURL=createVolumeActor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createVolumeActor.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/createVolumeActor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mFAA8D;AAC9D,qDAAgD;AAEhD,8EAAsD;AAiBtD,SAAe,iBAAiB,CAC9B,KAAiC;;QAEjC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAEhD,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAU,EAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,CAAC,QAAQ,iBAAiB,CAC9D,CAAC;SACH;QAED,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAA,4BAAkB,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAErE,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SACtC;QAED,MAAM,WAAW,GAAG,gBAAS,CAAC,WAAW,EAAE,CAAC;QAC5C,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAEpC,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;SACrC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"createVolumeActor.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/createVolumeActor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mFAA8D;AAI9D,qDAAgD;AAChD,8EAAsD;AAEtD,+CAA+C;AAC/C,uCAAqC;AACrC,gFAAwD;AAgBxD,SAAe,iBAAiB,CAC9B,KAAiC,EACjC,OAAuB,EACvB,UAAkB;;QAElB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAEhD,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAU,EAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,CAAC,QAAQ,iBAAiB,CAC9D,CAAC;SACH;QAED,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAA,4BAAkB,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAErE,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SACtC;QAED,MAAM,WAAW,GAAG,gBAAS,CAAC,WAAW,EAAE,CAAC;QAC5C,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAMpC,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,IAAA,6BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACpD,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;aACrC;YACD,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;SACtD;aAAM;YACL,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;aACrC;YAED,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;SACtD;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AAED,SAAS,kBAAkB,CACzB,OAAuB,EACvB,UAAkB,EAClB,WAAwB;IAExB,MAAM,QAAQ,GAAG,WAAW;SACzB,WAAW,EAAE;SACb,sBAAsB,CAAC,CAAC,CAAC;SACzB,QAAQ,EAAE,CAAC;IAEd,MAAM,sBAAsB,GAA2B;QACrD,UAAU;QACV,KAAK,EAAE;YACL,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;SACnB;KACF,CAAC;IAEF,IAAA,wBAAY,EAAC,OAAO,EAAE,cAAM,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AACrE,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -3,4 +3,5 @@ import createVolumeMapper from './createVolumeMapper';
3
3
  import getOrCreateCanvas from './getOrCreateCanvas';
4
4
  import setVolumesForViewports from './setVolumesForViewports';
5
5
  import addVolumesToViewports from './addVolumesToViewports';
6
- export { createVolumeActor, createVolumeMapper, getOrCreateCanvas, setVolumesForViewports, addVolumesToViewports, };
6
+ import volumeNewImageEventDispatcher from './volumeNewImageEventDispatcher';
7
+ export { createVolumeActor, createVolumeMapper, getOrCreateCanvas, setVolumesForViewports, addVolumesToViewports, volumeNewImageEventDispatcher, };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addVolumesToViewports = exports.setVolumesForViewports = exports.getOrCreateCanvas = exports.createVolumeMapper = exports.createVolumeActor = void 0;
6
+ exports.volumeNewImageEventDispatcher = exports.addVolumesToViewports = exports.setVolumesForViewports = exports.getOrCreateCanvas = exports.createVolumeMapper = exports.createVolumeActor = void 0;
7
7
  const createVolumeActor_1 = __importDefault(require("./createVolumeActor"));
8
8
  exports.createVolumeActor = createVolumeActor_1.default;
9
9
  const createVolumeMapper_1 = __importDefault(require("./createVolumeMapper"));
@@ -14,4 +14,6 @@ const setVolumesForViewports_1 = __importDefault(require("./setVolumesForViewpor
14
14
  exports.setVolumesForViewports = setVolumesForViewports_1.default;
15
15
  const addVolumesToViewports_1 = __importDefault(require("./addVolumesToViewports"));
16
16
  exports.addVolumesToViewports = addVolumesToViewports_1.default;
17
+ const volumeNewImageEventDispatcher_1 = __importDefault(require("./volumeNewImageEventDispatcher"));
18
+ exports.volumeNewImageEventDispatcher = volumeNewImageEventDispatcher_1.default;
17
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAoD;AAOlD,4BAPK,2BAAiB,CAOL;AANnB,8EAAsD;AAOpD,6BAPK,4BAAkB,CAOL;AANpB,4EAAoD;AAOlD,4BAPK,2BAAiB,CAOL;AANnB,sFAA8D;AAO5D,iCAPK,gCAAsB,CAOL;AANxB,oFAA4D;AAO1D,gCAPK,+BAAqB,CAOL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAoD;AAQlD,4BARK,2BAAiB,CAQL;AAPnB,8EAAsD;AAQpD,6BARK,4BAAkB,CAQL;AAPpB,4EAAoD;AAQlD,4BARK,2BAAiB,CAQL;AAPnB,sFAA8D;AAQ5D,iCARK,gCAAsB,CAQL;AAPxB,oFAA4D;AAQ1D,gCARK,+BAAqB,CAQL;AAPvB,oGAA4E;AAQ1E,wCARK,uCAA6B,CAQL"}
@@ -0,0 +1,3 @@
1
+ import { VolumeActor, IImageVolume } from '../../types';
2
+ declare function setDefaultVolumeVOI(volumeActor: VolumeActor, imageVolume: IImageVolume): Promise<void>;
3
+ export default setDefaultVolumeVOI;
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ const imageLoader_1 = require("../../imageLoader");
32
+ const metaData = __importStar(require("../../metaData"));
33
+ const utilities_1 = require("../../utilities");
34
+ const enums_1 = require("../../enums");
35
+ const PRIORITY = 0;
36
+ const REQUEST_TYPE = enums_1.RequestType.Prefetch;
37
+ function setDefaultVolumeVOI(volumeActor, imageVolume) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ let voi = getVOIFromMetadata(imageVolume);
40
+ if (!voi) {
41
+ voi = yield getVOIFromMinMax(imageVolume);
42
+ }
43
+ if (!voi || voi.lower === undefined || voi.upper === undefined) {
44
+ throw new Error('Could not get VOI from metadata, nor from the min max of the image middle slice');
45
+ }
46
+ voi = handlePreScaledVolume(imageVolume, voi);
47
+ const { lower, upper } = voi;
48
+ volumeActor
49
+ .getProperty()
50
+ .getRGBTransferFunction(0)
51
+ .setMappingRange(lower, upper);
52
+ });
53
+ }
54
+ function handlePreScaledVolume(imageVolume, voi) {
55
+ const imageIds = imageVolume.imageIds;
56
+ const imageIdIndex = Math.floor(imageIds.length / 2);
57
+ const imageId = imageIds[imageIdIndex];
58
+ const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
59
+ if (generalSeriesModule.modality === 'PT' && imageVolume.isPrescaled) {
60
+ return {
61
+ lower: 0,
62
+ upper: 5,
63
+ };
64
+ }
65
+ return voi;
66
+ }
67
+ function getVOIFromMetadata(imageVolume) {
68
+ const { imageIds } = imageVolume;
69
+ const imageIdIndex = Math.floor(imageIds.length / 2);
70
+ const imageId = imageIds[imageIdIndex];
71
+ const voiLutModule = metaData.get('voiLutModule', imageId);
72
+ if (voiLutModule && voiLutModule.windowWidth && voiLutModule.windowCenter) {
73
+ const { windowWidth, windowCenter } = voiLutModule;
74
+ const voi = {
75
+ windowWidth: Array.isArray(windowWidth) ? windowWidth[0] : windowWidth,
76
+ windowCenter: Array.isArray(windowCenter)
77
+ ? windowCenter[0]
78
+ : windowCenter,
79
+ };
80
+ const { lower, upper } = utilities_1.windowLevel.toLowHighRange(Number(voi.windowWidth), Number(voi.windowCenter));
81
+ return {
82
+ lower,
83
+ upper,
84
+ };
85
+ }
86
+ }
87
+ function getVOIFromMinMax(imageVolume) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const { scalarData, imageIds } = imageVolume;
90
+ const imageIdIndex = Math.floor(imageIds.length / 2);
91
+ const imageId = imageVolume.imageIds[imageIdIndex];
92
+ const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
93
+ const { modality } = generalSeriesModule;
94
+ const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
95
+ const numImages = imageIds.length;
96
+ const bytesPerImage = scalarData.byteLength / numImages;
97
+ const voxelsPerImage = scalarData.length / numImages;
98
+ const bytePerPixel = scalarData.BYTES_PER_ELEMENT;
99
+ let type;
100
+ if (scalarData instanceof Uint8Array) {
101
+ type = 'Uint8Array';
102
+ }
103
+ else if (scalarData instanceof Float32Array) {
104
+ type = 'Float32Array';
105
+ }
106
+ else {
107
+ throw new Error('Unsupported array type');
108
+ }
109
+ const scalingParameters = {
110
+ rescaleSlope: modalityLutModule.rescaleSlope,
111
+ rescaleIntercept: modalityLutModule.rescaleIntercept,
112
+ modality,
113
+ };
114
+ let scalingParametersToUse;
115
+ if (modality === 'PT') {
116
+ const suvFactor = metaData.get('scalingModule', imageId);
117
+ if (suvFactor) {
118
+ scalingParametersToUse = Object.assign(Object.assign({}, scalingParameters), { suvbw: suvFactor.suvbw });
119
+ }
120
+ }
121
+ const byteOffset = imageIdIndex * bytesPerImage;
122
+ const options = {
123
+ targetBuffer: {
124
+ arrayBuffer: scalarData.buffer,
125
+ offset: byteOffset,
126
+ length: voxelsPerImage,
127
+ type,
128
+ },
129
+ priority: PRIORITY,
130
+ requestType: REQUEST_TYPE,
131
+ preScale: {
132
+ scalingParameters: scalingParametersToUse,
133
+ },
134
+ };
135
+ const image = yield (0, imageLoader_1.loadAndCacheImage)(imageId, options);
136
+ let imageScalarData;
137
+ if (!image) {
138
+ imageScalarData = _getImageScalarDataFromImageVolume(imageVolume, byteOffset, bytePerPixel, voxelsPerImage);
139
+ }
140
+ else {
141
+ imageScalarData = image.getPixelData();
142
+ }
143
+ const { min, max } = (0, utilities_1.getMinMax)(imageScalarData);
144
+ return {
145
+ lower: min,
146
+ upper: max,
147
+ };
148
+ });
149
+ }
150
+ function _getImageScalarDataFromImageVolume(imageVolume, byteOffset, bytePerPixel, voxelsPerImage) {
151
+ const { scalarData } = imageVolume;
152
+ const { volumeBuffer } = scalarData;
153
+ if (scalarData.BYTES_PER_ELEMENT !== bytePerPixel) {
154
+ byteOffset *= scalarData.BYTES_PER_ELEMENT / bytePerPixel;
155
+ }
156
+ const TypedArray = scalarData.constructor;
157
+ const imageScalarData = new TypedArray(voxelsPerImage);
158
+ const volumeBufferView = new TypedArray(volumeBuffer, byteOffset, voxelsPerImage);
159
+ imageScalarData.set(volumeBufferView);
160
+ return imageScalarData;
161
+ }
162
+ exports.default = setDefaultVolumeVOI;
163
+ //# sourceMappingURL=setDefaultVolumeVOI.js.map
@@ -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,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resetVolumeNewImageState = void 0;
7
+ const utilities_1 = require("../../utilities");
8
+ const enums_1 = require("../../enums");
9
+ const getRenderingEngine_1 = require("../getRenderingEngine");
10
+ const VolumeViewport_1 = __importDefault(require("../VolumeViewport"));
11
+ const state = {};
12
+ function resetVolumeNewImageState(viewportId) {
13
+ if (state[viewportId] !== undefined) {
14
+ delete state[viewportId];
15
+ }
16
+ }
17
+ exports.resetVolumeNewImageState = resetVolumeNewImageState;
18
+ function volumeNewImageEventDispatcher(cameraEvent) {
19
+ const { renderingEngineId, viewportId } = cameraEvent.detail;
20
+ const renderingEngine = (0, getRenderingEngine_1.getRenderingEngine)(renderingEngineId);
21
+ const viewport = renderingEngine.getViewport(viewportId);
22
+ if (!(viewport instanceof VolumeViewport_1.default)) {
23
+ throw new Error(`volumeNewImageEventDispatcher: viewport is not a VolumeViewport`);
24
+ }
25
+ if (state[viewport.id] === undefined) {
26
+ state[viewport.id] = 0;
27
+ }
28
+ const { numberOfSlices, imageIndex } = (0, utilities_1.getImageSliceDataForVolumeViewport)(viewport);
29
+ if (state[viewport.id] === imageIndex) {
30
+ return;
31
+ }
32
+ state[viewport.id] = imageIndex;
33
+ const eventDetail = {
34
+ imageIndex,
35
+ viewportId,
36
+ renderingEngineId,
37
+ numberOfSlices,
38
+ };
39
+ (0, utilities_1.triggerEvent)(viewport.element, enums_1.Events.VOLUME_NEW_IMAGE, eventDetail);
40
+ }
41
+ exports.default = volumeNewImageEventDispatcher;
42
+ //# sourceMappingURL=volumeNewImageEventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volumeNewImageEventDispatcher.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/volumeNewImageEventDispatcher.ts"],"names":[],"mappings":";;;;;;AAAA,+CAGyB;AAEzB,uCAAqC;AACrC,8DAA2D;AAC3D,uEAA+C;AAK/C,MAAM,KAAK,GAAqB,EAAE,CAAC;AAEnC,SAAgB,wBAAwB,CAAC,UAAkB;IACzD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;QACnC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC1B;AACH,CAAC;AAJD,4DAIC;AAYD,SAAS,6BAA6B,CACpC,WAA2C;IAE3C,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,uCAAkB,EAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC,CAAC,QAAQ,YAAY,wBAAc,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;KACH;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;QACpC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;KACxB;IAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAClC,IAAA,8CAAkC,EAAC,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,IAAA,wBAAY,EAAC,QAAQ,CAAC,OAAO,EAAE,cAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AACvE,CAAC;AAED,kBAAe,6BAA6B,CAAC"}
@@ -361,6 +361,12 @@ export interface vtkSlabCamera extends VtkObject {
361
361
  */
362
362
  getWorldToPhysicalMatrix(result: mat4): void;
363
363
 
364
+ /**
365
+ *
366
+ * @defaultValue false
367
+ */
368
+ getIsPerformingCoordinateTransformation(status: boolean): void;
369
+
364
370
  /**
365
371
  * Recompute the ViewUp vector to force it to be perpendicular to the camera's focalpoint vector.
366
372
  */
@@ -730,6 +736,12 @@ export interface vtkSlabCamera extends VtkObject {
730
736
  * @param factor -
731
737
  */
732
738
  zoom(factor: number): void;
739
+
740
+ /**
741
+ * Activate camera clipping customization necessary when doing coordinate transformations
742
+ * @param status -
743
+ */
744
+ setIsPerformingCoordinateTransformation(status: boolean): void;
733
745
  }
734
746
 
735
747
  /**
@@ -23,8 +23,12 @@ function vtkSlabCamera(publicAPI, model) {
23
23
  return result;
24
24
  }
25
25
  gl_matrix_1.mat4.identity(tmpMatrix);
26
- const cRange0 = model.distance;
27
- const cRange1 = model.distance + 0.1;
26
+ let cRange0 = model.clippingRange[0];
27
+ let cRange1 = model.clippingRange[1];
28
+ if (model.isPerformingCoordinateTransformation) {
29
+ cRange0 = model.distance;
30
+ cRange1 = model.distance + 0.1;
31
+ }
28
32
  const cWidth = cRange1 - cRange0;
29
33
  const cRange = [
30
34
  cRange0 + ((nearz + 1) * cWidth) / 2.0,
@@ -74,8 +78,13 @@ function vtkSlabCamera(publicAPI, model) {
74
78
  return result;
75
79
  };
76
80
  }
81
+ const DEFAULT_VALUES = {
82
+ isPerformingCoordinateTransformation: false,
83
+ };
77
84
  function extend(publicAPI, model, initialValues = {}) {
85
+ Object.assign(model, DEFAULT_VALUES, initialValues);
78
86
  Camera_1.default.extend(publicAPI, model, initialValues);
87
+ macros_1.default.setGet(publicAPI, model, ['isPerformingCoordinateTransformation']);
79
88
  vtkSlabCamera(publicAPI, model);
80
89
  }
81
90
  exports.extend = extend;
@@ -1 +1 @@
1
- {"version":3,"file":"vtkSlabCamera.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkSlabCamera.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vtkSlabCamera.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkSlabCamera.js"],"names":[],"mappings":"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"}
@@ -159,7 +159,9 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
159
159
  program.setUniformf('camThick', crange[1] - crange[0]);
160
160
  program.setUniformf('camNear', crange[0]);
161
161
  program.setUniformf('camFar', crange[1]);
162
+ cam.setIsPerformingCoordinateTransformation(true);
162
163
  const keyMats = model.openGLCamera.getKeyMatrices(ren);
164
+ cam.setIsPerformingCoordinateTransformation(false);
163
165
  const actMats = model.openGLVolume.getKeyMatrices();
164
166
  gl_matrix_1.mat4.multiply(model.modelToView, keyMats.wcvc, actMats.mcwc);
165
167
  const bounds = model.currentInput.getBounds();