@cornerstonejs/core 0.8.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 (167) 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.d.ts +1 -1
  4. package/dist/cjs/RenderingEngine/StackViewport.js +17 -23
  5. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  6. package/dist/cjs/RenderingEngine/Viewport.d.ts +8 -2
  7. package/dist/cjs/RenderingEngine/Viewport.js +54 -33
  8. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  9. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +4 -2
  10. package/dist/cjs/RenderingEngine/VolumeViewport.js +120 -46
  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 +31 -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 +0 -24
  29. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +4 -14
  30. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  31. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -14
  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 -1
  39. package/dist/cjs/constants/index.js +3 -1
  40. package/dist/cjs/constants/index.js.map +1 -1
  41. package/dist/cjs/constants/rendering.d.ts +2 -0
  42. package/dist/cjs/constants/rendering.js +5 -0
  43. package/dist/cjs/constants/rendering.js.map +1 -0
  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 +1 -0
  54. package/dist/cjs/types/ICamera.d.ts +0 -3
  55. package/dist/cjs/types/IImageVolume.d.ts +1 -0
  56. package/dist/cjs/types/IStackViewport.d.ts +1 -1
  57. package/dist/cjs/types/IViewport.d.ts +2 -0
  58. package/dist/cjs/types/IVolumeInput.d.ts +1 -0
  59. package/dist/cjs/types/IVolumeViewport.d.ts +3 -2
  60. package/dist/cjs/types/ImageSliceData.d.ts +5 -0
  61. package/dist/cjs/types/ImageSliceData.js +3 -0
  62. package/dist/cjs/types/ImageSliceData.js.map +1 -0
  63. package/dist/cjs/types/Metadata.d.ts +1 -0
  64. package/dist/cjs/types/index.d.ts +3 -1
  65. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
  66. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js +37 -0
  67. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
  68. package/dist/cjs/utilities/getScalingParameters.d.ts +2 -0
  69. package/dist/cjs/utilities/getScalingParameters.js +41 -0
  70. package/dist/cjs/utilities/getScalingParameters.js.map +1 -0
  71. package/dist/cjs/utilities/getSliceRange.d.ts +2 -0
  72. package/dist/cjs/utilities/getSliceRange.js +39 -0
  73. package/dist/cjs/utilities/getSliceRange.js.map +1 -0
  74. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +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 +4 -1
  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 +17 -23
  87. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  88. package/dist/esm/RenderingEngine/Viewport.d.ts +8 -2
  89. package/dist/esm/RenderingEngine/Viewport.js +54 -33
  90. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  91. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +4 -2
  92. package/dist/esm/RenderingEngine/VolumeViewport.js +101 -46
  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 +31 -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 +0 -24
  111. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +4 -14
  112. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  113. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -14
  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 -1
  121. package/dist/esm/constants/index.js +2 -1
  122. package/dist/esm/constants/index.js.map +1 -1
  123. package/dist/esm/constants/rendering.d.ts +2 -0
  124. package/dist/esm/constants/rendering.js +3 -0
  125. package/dist/esm/constants/rendering.js.map +1 -0
  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 +1 -0
  136. package/dist/esm/types/ICamera.d.ts +0 -3
  137. package/dist/esm/types/IImageVolume.d.ts +1 -0
  138. package/dist/esm/types/IStackViewport.d.ts +1 -1
  139. package/dist/esm/types/IViewport.d.ts +2 -0
  140. package/dist/esm/types/IVolumeInput.d.ts +1 -0
  141. package/dist/esm/types/IVolumeViewport.d.ts +3 -2
  142. package/dist/esm/types/ImageSliceData.d.ts +5 -0
  143. package/dist/esm/types/ImageSliceData.js +2 -0
  144. package/dist/esm/types/ImageSliceData.js.map +1 -0
  145. package/dist/esm/types/Metadata.d.ts +1 -0
  146. package/dist/esm/types/index.d.ts +3 -1
  147. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
  148. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js +32 -0
  149. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
  150. package/dist/esm/utilities/getScalingParameters.d.ts +2 -0
  151. package/dist/esm/utilities/getScalingParameters.js +22 -0
  152. package/dist/esm/utilities/getScalingParameters.js.map +1 -0
  153. package/dist/esm/utilities/getSliceRange.d.ts +2 -0
  154. package/dist/esm/utilities/getSliceRange.js +33 -0
  155. package/dist/esm/utilities/getSliceRange.js.map +1 -0
  156. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +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 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/Viewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/Viewport.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ declare class VolumeViewport extends Viewport implements IVolumeViewport {
7
7
  private _FrameOfReferenceUID;
8
8
  constructor(props: ViewportInput);
9
9
  static get useCustomRenderingPipeline(): boolean;
10
+ private initializeVolumeNewImageEventDispatcher;
10
11
  setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean): Promise<void>;
11
12
  addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean): Promise<void>;
12
13
  removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
@@ -14,9 +15,10 @@ declare class VolumeViewport extends Viewport implements IVolumeViewport {
14
15
  getIntensityFromWorld(point: Point3): number;
15
16
  getBounds(): number[];
16
17
  flip(flipDirection: FlipDirection): void;
17
- resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
18
+ resetCamera(resetPan?: boolean, resetZoom?: boolean): number;
18
19
  getFrameOfReferenceUID: () => string;
19
- setSlabThickness(slabThickness: number): void;
20
+ setSlabThicknessForAllVolumeActors(slabThickness: number): void;
21
+ setSlabThicknessForVolumeActor(actorUID: string, slabThickness: number): void;
20
22
  getSlabThickness(): number;
21
23
  getImageData(): IImageData | undefined;
22
24
  private _setVolumeActors;
@@ -1,4 +1,23 @@
1
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
+ };
2
21
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
22
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
23
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -17,10 +36,15 @@ const cache_1 = __importDefault(require("../cache"));
17
36
  const ViewportType_1 = __importDefault(require("../enums/ViewportType"));
18
37
  const Viewport_1 = __importDefault(require("./Viewport"));
19
38
  const helpers_1 = require("./helpers");
39
+ const volumeNewImageEventDispatcher_1 = __importStar(require("./helpers/volumeNewImageEventDispatcher"));
20
40
  const volumeLoader_1 = require("../volumeLoader");
41
+ const Plane_1 = __importDefault(require("@kitware/vtk.js/Common/DataModel/Plane"));
21
42
  const vtkSlabCamera_1 = __importDefault(require("./vtkClasses/vtkSlabCamera"));
22
43
  const init_1 = require("../init");
23
44
  const transformWorldToIndex_1 = __importDefault(require("../utilities/transformWorldToIndex"));
45
+ const constants_1 = require("../constants");
46
+ const enums_1 = require("../enums");
47
+ const eventTarget_1 = __importDefault(require("../eventTarget"));
24
48
  const EPSILON = 1e-3;
25
49
  class VolumeViewport extends Viewport_1.default {
26
50
  constructor(props) {
@@ -30,9 +54,6 @@ class VolumeViewport extends Viewport_1.default {
30
54
  return this._FrameOfReferenceUID;
31
55
  };
32
56
  this.canvasToWorld = (canvasPos) => {
33
- const vtkCamera = this.getVtkActiveCamera();
34
- const slabThicknessActive = vtkCamera.getSlabThicknessActive();
35
- vtkCamera.setSlabThicknessActive(false);
36
57
  const renderer = this.getRenderer();
37
58
  const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
38
59
  const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
@@ -40,14 +61,10 @@ class VolumeViewport extends Viewport_1.default {
40
61
  const displayCoord = [canvasPos[0] + this.sx, canvasPos[1] + this.sy];
41
62
  displayCoord[1] = size[1] - displayCoord[1];
42
63
  let worldCoord = openGLRenderWindow.displayToWorld(displayCoord[0], displayCoord[1], 0, renderer);
43
- vtkCamera.setSlabThicknessActive(slabThicknessActive);
44
64
  worldCoord = this.applyFlipTx(worldCoord);
45
65
  return worldCoord;
46
66
  };
47
67
  this.worldToCanvas = (worldPos) => {
48
- const vtkCamera = this.getVtkActiveCamera();
49
- const slabThicknessActive = vtkCamera.getSlabThicknessActive();
50
- vtkCamera.setSlabThicknessActive(false);
51
68
  const renderer = this.getRenderer();
52
69
  const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
53
70
  const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
@@ -58,7 +75,6 @@ class VolumeViewport extends Viewport_1.default {
58
75
  displayCoord[0] - this.sx,
59
76
  displayCoord[1] - this.sy,
60
77
  ];
61
- vtkCamera.setSlabThicknessActive(slabThicknessActive);
62
78
  return canvasCoord;
63
79
  };
64
80
  this.getCurrentImageIdIndex = () => {
@@ -110,15 +126,36 @@ class VolumeViewport extends Viewport_1.default {
110
126
  default:
111
127
  throw new Error(`Unrecognized viewport type: ${this.type}`);
112
128
  }
129
+ this.initializeVolumeNewImageEventDispatcher();
113
130
  const { sliceNormal, viewUp } = this.defaultOptions.orientation;
114
131
  camera.setDirectionOfProjection(-sliceNormal[0], -sliceNormal[1], -sliceNormal[2]);
115
132
  camera.setViewUpFrom(viewUp);
116
- camera.setFreezeFocalPoint(true);
117
133
  this.resetCamera();
118
134
  }
119
135
  static get useCustomRenderingPipeline() {
120
136
  return false;
121
137
  }
138
+ initializeVolumeNewImageEventDispatcher() {
139
+ function volumeNewImageHandler(cameraEvent) {
140
+ const viewportImageData = this.getImageData();
141
+ if (!viewportImageData) {
142
+ return;
143
+ }
144
+ (0, volumeNewImageEventDispatcher_1.default)(cameraEvent);
145
+ }
146
+ function volumeNewImageCleanUp(evt) {
147
+ const { viewportId } = evt.detail;
148
+ if (viewportId !== this.id) {
149
+ return;
150
+ }
151
+ eventTarget_1.default.removeEventListener(enums_1.Events.ELEMENT_DISABLED, volumeNewImageCleanUp);
152
+ (0, volumeNewImageEventDispatcher_1.resetVolumeNewImageState)(viewportId);
153
+ this.element.removeEventListener(enums_1.Events.CAMERA_MODIFIED, volumeNewImageHandler);
154
+ }
155
+ this.element.removeEventListener(enums_1.Events.CAMERA_MODIFIED, volumeNewImageHandler.bind(this));
156
+ this.element.addEventListener(enums_1.Events.CAMERA_MODIFIED, volumeNewImageHandler.bind(this));
157
+ eventTarget_1.default.addEventListener(enums_1.Events.ELEMENT_DISABLED, volumeNewImageCleanUp.bind(this));
158
+ }
122
159
  setVolumes(volumeInputArray, immediate = false) {
123
160
  return __awaiter(this, void 0, void 0, function* () {
124
161
  const firstImageVolume = cache_1.default.getVolume(volumeInputArray[0].volumeId);
@@ -128,20 +165,17 @@ class VolumeViewport extends Viewport_1.default {
128
165
  const FrameOfReferenceUID = firstImageVolume.metadata.FrameOfReferenceUID;
129
166
  yield this._isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID);
130
167
  this._FrameOfReferenceUID = FrameOfReferenceUID;
131
- const slabThicknessValues = [];
132
168
  const volumeActors = [];
133
169
  for (let i = 0; i < volumeInputArray.length; i++) {
134
- const { volumeId, slabThickness, actorUID } = volumeInputArray[i];
135
- const volumeActor = yield (0, helpers_1.createVolumeActor)(volumeInputArray[i]);
170
+ const { volumeId, actorUID, slabThickness, slabThicknessEnabled } = volumeInputArray[i];
171
+ const volumeActor = yield (0, helpers_1.createVolumeActor)(volumeInputArray[i], this.element, this.id);
136
172
  const uid = actorUID || volumeId;
137
- volumeActors.push({ uid, volumeActor, slabThickness });
138
- if (slabThickness !== undefined &&
139
- !slabThicknessValues.includes(slabThickness)) {
140
- slabThicknessValues.push(slabThickness);
141
- }
142
- }
143
- if (slabThicknessValues.length > 1) {
144
- console.warn('Currently slab thickness for intensity projections is tied to the camera, not per volume, using the largest of the two volumes for this viewport.');
173
+ volumeActors.push({
174
+ uid,
175
+ volumeActor,
176
+ slabThickness,
177
+ slabThicknessEnabled,
178
+ });
145
179
  }
146
180
  this._setVolumeActors(volumeActors);
147
181
  if (immediate) {
@@ -154,13 +188,18 @@ class VolumeViewport extends Viewport_1.default {
154
188
  const volumeActors = [];
155
189
  yield this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
156
190
  for (let i = 0; i < volumeInputArray.length; i++) {
157
- const { volumeId, visibility, actorUID } = volumeInputArray[i];
158
- const volumeActor = yield (0, helpers_1.createVolumeActor)(volumeInputArray[i]);
191
+ const { volumeId, visibility, actorUID, slabThickness, slabThicknessEnabled, } = volumeInputArray[i];
192
+ const volumeActor = yield (0, helpers_1.createVolumeActor)(volumeInputArray[i], this.element, this.id);
159
193
  if (visibility === false) {
160
194
  volumeActor.setVisibility(false);
161
195
  }
162
196
  const uid = actorUID || volumeId;
163
- volumeActors.push({ uid, volumeActor });
197
+ volumeActors.push({
198
+ uid,
199
+ volumeActor,
200
+ slabThickness,
201
+ slabThicknessEnabled,
202
+ });
164
203
  }
165
204
  this.addActors(volumeActors);
166
205
  if (immediate) {
@@ -210,15 +249,68 @@ class VolumeViewport extends Viewport_1.default {
210
249
  super.flip(flipDirection);
211
250
  }
212
251
  resetCamera(resetPan = true, resetZoom = true) {
213
- return super.resetCamera(resetPan, resetZoom);
252
+ const distance = super.resetCamera(resetPan, resetZoom);
253
+ const activeCamera = this.getVtkActiveCamera();
254
+ activeCamera.setClippingRange(0.01, distance * 2);
255
+ const viewPlaneNormal = activeCamera.getViewPlaneNormal();
256
+ const focalPoint = activeCamera.getFocalPoint();
257
+ const actors = this.getActors();
258
+ actors.forEach((actor) => {
259
+ const mapper = actor.volumeActor.getMapper();
260
+ const vtkPlanes = mapper.getClippingPlanes();
261
+ if (vtkPlanes.length === 0) {
262
+ const clipPlane1 = Plane_1.default.newInstance();
263
+ const clipPlane2 = Plane_1.default.newInstance();
264
+ const newVtkPlanes = [clipPlane1, clipPlane2];
265
+ let slabThickness = constants_1.MINIMUM_SLAB_THICKNESS;
266
+ if (actor.slabThicknessEnabled !== false && actor.slabThickness) {
267
+ slabThickness = actor.slabThickness;
268
+ }
269
+ this.setOrientationOfClippingPlanes(newVtkPlanes, slabThickness, viewPlaneNormal, focalPoint);
270
+ mapper.addClippingPlane(clipPlane1);
271
+ mapper.addClippingPlane(clipPlane2);
272
+ }
273
+ });
274
+ return distance;
214
275
  }
215
- setSlabThickness(slabThickness) {
216
- this.setCamera({
217
- slabThickness,
276
+ setSlabThicknessForAllVolumeActors(slabThickness) {
277
+ const actors = this.getActors();
278
+ let updateClippingPlanes = false;
279
+ actors.forEach((actor) => {
280
+ if (actor.slabThicknessEnabled === false) {
281
+ return;
282
+ }
283
+ actor.slabThickness = slabThickness;
284
+ updateClippingPlanes = true;
218
285
  });
286
+ if (updateClippingPlanes === false) {
287
+ return;
288
+ }
289
+ const currentCamera = this.getCamera();
290
+ this.updateActorsClippingPlanesOnCameraModified(currentCamera);
291
+ this.checkAndTriggerCameraModifiedEvent(currentCamera, currentCamera);
292
+ }
293
+ setSlabThicknessForVolumeActor(actorUID, slabThickness) {
294
+ const actor = this.getActor(actorUID);
295
+ if (actor.slabThicknessEnabled === false) {
296
+ return;
297
+ }
298
+ actor.slabThickness = slabThickness;
299
+ const currentCamera = this.getCamera();
300
+ this.updateActorsClippingPlanesOnCameraModified(currentCamera);
301
+ this.checkAndTriggerCameraModifiedEvent(currentCamera, currentCamera);
219
302
  }
220
303
  getSlabThickness() {
221
- const { slabThickness } = this.getCamera();
304
+ const actors = this.getActors();
305
+ let slabThickness = constants_1.MINIMUM_SLAB_THICKNESS;
306
+ actors.forEach((actor) => {
307
+ if (actor.slabThicknessEnabled === false) {
308
+ return;
309
+ }
310
+ if (actor.slabThickness > slabThickness) {
311
+ slabThickness = actor.slabThickness;
312
+ }
313
+ });
222
314
  return slabThickness;
223
315
  }
224
316
  getImageData() {
@@ -240,25 +332,7 @@ class VolumeViewport extends Viewport_1.default {
240
332
  };
241
333
  }
242
334
  _setVolumeActors(volumeActorEntries) {
243
- const renderer = this.getRenderer();
244
335
  this.setActors(volumeActorEntries);
245
- let slabThickness = null;
246
- if (this.type === ViewportType_1.default.ORTHOGRAPHIC) {
247
- volumeActorEntries.forEach((va) => {
248
- if (va.slabThickness && va.slabThickness > slabThickness) {
249
- slabThickness = va.slabThickness;
250
- }
251
- });
252
- this.resetCamera();
253
- const activeCamera = renderer.getActiveCamera();
254
- activeCamera.setSlabThickness(slabThickness);
255
- activeCamera.setFreezeFocalPoint(true);
256
- }
257
- else {
258
- renderer.resetCamera();
259
- const activeCamera = renderer.getActiveCamera();
260
- activeCamera.setFreezeFocalPoint(true);
261
- }
262
336
  }
263
337
  }
264
338
  exports.default = VolumeViewport;
@@ -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,36 @@ 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
+ (0, setDefaultVolumeVOI_1.default)(volumeActor, imageVolume).then(() => {
37
+ if (callback) {
38
+ callback({ volumeActor, volumeId });
39
+ }
40
+ triggerVOIModified(element, viewportId, volumeActor);
41
+ });
42
+ }
43
+ else {
44
+ if (callback) {
45
+ callback({ volumeActor, volumeId });
46
+ }
47
+ triggerVOIModified(element, viewportId, volumeActor);
34
48
  }
35
49
  return volumeActor;
36
50
  });
37
51
  }
52
+ function triggerVOIModified(element, viewportId, volumeActor) {
53
+ const voiRange = volumeActor
54
+ .getProperty()
55
+ .getRGBTransferFunction(0)
56
+ .getRange();
57
+ const voiModifiedEventDetail = {
58
+ viewportId,
59
+ range: {
60
+ lower: voiRange[0],
61
+ upper: voiRange[1],
62
+ },
63
+ };
64
+ (0, utilities_1.triggerEvent)(element, enums_1.Events.VOI_MODIFIED, voiModifiedEventDetail);
65
+ }
38
66
  exports.default = createVolumeActor;
39
67
  //# 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,IAAA,6BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACrC;gBACD,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;SACJ;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;