@cornerstonejs/core 0.22.3 → 0.23.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 (93) hide show
  1. package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +35 -0
  2. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +346 -0
  3. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -0
  4. package/dist/cjs/RenderingEngine/RenderingEngine.js +6 -1
  5. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  6. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +4 -21
  7. package/dist/cjs/RenderingEngine/VolumeViewport.js +26 -296
  8. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  9. package/dist/cjs/RenderingEngine/VolumeViewport3D.d.ts +5 -0
  10. package/dist/cjs/RenderingEngine/VolumeViewport3D.js +22 -0
  11. package/dist/cjs/RenderingEngine/VolumeViewport3D.js.map +1 -0
  12. package/dist/cjs/RenderingEngine/helpers/addVolumesToViewports.js +6 -3
  13. package/dist/cjs/RenderingEngine/helpers/addVolumesToViewports.js.map +1 -1
  14. package/dist/cjs/RenderingEngine/helpers/setVolumesForViewports.js +6 -3
  15. package/dist/cjs/RenderingEngine/helpers/setVolumesForViewports.js.map +1 -1
  16. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  17. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  18. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
  19. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +3 -3
  20. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -1
  21. package/dist/cjs/RenderingEngine/index.d.ts +2 -1
  22. package/dist/cjs/RenderingEngine/index.js +3 -1
  23. package/dist/cjs/RenderingEngine/index.js.map +1 -1
  24. package/dist/cjs/constants/index.d.ts +2 -1
  25. package/dist/cjs/constants/index.js +3 -1
  26. package/dist/cjs/constants/index.js.map +1 -1
  27. package/dist/cjs/constants/viewportPresets.d.ts +3 -0
  28. package/dist/cjs/constants/viewportPresets.js +318 -0
  29. package/dist/cjs/constants/viewportPresets.js.map +1 -0
  30. package/dist/cjs/enums/ViewportType.d.ts +2 -1
  31. package/dist/cjs/enums/ViewportType.js +1 -0
  32. package/dist/cjs/enums/ViewportType.js.map +1 -1
  33. package/dist/cjs/index.d.ts +2 -1
  34. package/dist/cjs/index.js +3 -1
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/types/ViewportPreset.d.ts +13 -0
  37. package/dist/cjs/types/ViewportPreset.js +3 -0
  38. package/dist/cjs/types/ViewportPreset.js.map +1 -0
  39. package/dist/cjs/types/index.d.ts +2 -1
  40. package/dist/cjs/utilities/applyPreset.d.ts +3 -0
  41. package/dist/cjs/utilities/applyPreset.js +94 -0
  42. package/dist/cjs/utilities/applyPreset.js.map +1 -0
  43. package/dist/cjs/utilities/index.d.ts +2 -1
  44. package/dist/cjs/utilities/index.js +3 -1
  45. package/dist/cjs/utilities/index.js.map +1 -1
  46. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +35 -0
  47. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +302 -0
  48. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -0
  49. package/dist/esm/RenderingEngine/RenderingEngine.js +6 -1
  50. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  51. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +4 -21
  52. package/dist/esm/RenderingEngine/VolumeViewport.js +21 -271
  53. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  54. package/dist/esm/RenderingEngine/VolumeViewport3D.d.ts +5 -0
  55. package/dist/esm/RenderingEngine/VolumeViewport3D.js +17 -0
  56. package/dist/esm/RenderingEngine/VolumeViewport3D.js.map +1 -0
  57. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.js +3 -3
  58. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.js.map +1 -1
  59. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js +3 -3
  60. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js.map +1 -1
  61. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  62. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  63. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
  64. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +3 -3
  65. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -1
  66. package/dist/esm/RenderingEngine/index.d.ts +2 -1
  67. package/dist/esm/RenderingEngine/index.js +2 -1
  68. package/dist/esm/RenderingEngine/index.js.map +1 -1
  69. package/dist/esm/constants/index.d.ts +2 -1
  70. package/dist/esm/constants/index.js +2 -1
  71. package/dist/esm/constants/index.js.map +1 -1
  72. package/dist/esm/constants/viewportPresets.d.ts +3 -0
  73. package/dist/esm/constants/viewportPresets.js +316 -0
  74. package/dist/esm/constants/viewportPresets.js.map +1 -0
  75. package/dist/esm/enums/ViewportType.d.ts +2 -1
  76. package/dist/esm/enums/ViewportType.js +1 -0
  77. package/dist/esm/enums/ViewportType.js.map +1 -1
  78. package/dist/esm/index.d.ts +2 -1
  79. package/dist/esm/index.js +2 -1
  80. package/dist/esm/index.js.map +1 -1
  81. package/dist/esm/types/ViewportPreset.d.ts +13 -0
  82. package/dist/esm/types/ViewportPreset.js +2 -0
  83. package/dist/esm/types/ViewportPreset.js.map +1 -0
  84. package/dist/esm/types/index.d.ts +2 -1
  85. package/dist/esm/utilities/applyPreset.d.ts +3 -0
  86. package/dist/esm/utilities/applyPreset.js +88 -0
  87. package/dist/esm/utilities/applyPreset.js.map +1 -0
  88. package/dist/esm/utilities/index.d.ts +2 -1
  89. package/dist/esm/utilities/index.js +2 -1
  90. package/dist/esm/utilities/index.js.map +1 -1
  91. package/dist/umd/index.js +1 -1
  92. package/dist/umd/index.js.map +1 -1
  93. package/package.json +2 -2
@@ -0,0 +1,35 @@
1
+ import Viewport from './Viewport';
2
+ import type { Point2, Point3, IImageData, IVolumeInput, FlipDirection, VolumeViewportProperties } from '../types';
3
+ import type { ViewportInput } from '../types/IViewport';
4
+ import type IVolumeViewport from '../types/IVolumeViewport';
5
+ import { BlendModes, OrientationAxis } from '../enums';
6
+ declare abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
7
+ useCPURendering: boolean;
8
+ private _FrameOfReferenceUID;
9
+ constructor(props: ViewportInput);
10
+ static get useCustomRenderingPipeline(): boolean;
11
+ private initializeVolumeNewImageEventDispatcher;
12
+ setProperties({ voiRange }?: VolumeViewportProperties, volumeId?: string, suppressEvents?: boolean): void;
13
+ setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
14
+ addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
15
+ removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
16
+ setOrientation(orientation: OrientationAxis, immediate?: boolean): void;
17
+ private _isValidVolumeInputArray;
18
+ getBounds(): number[];
19
+ flip(flipDirection: FlipDirection): void;
20
+ getFrameOfReferenceUID: () => string;
21
+ hasVolumeId(volumeId: string): boolean;
22
+ getImageData(volumeId?: string): IImageData | undefined;
23
+ private _setVolumeActors;
24
+ canvasToWorld: (canvasPos: Point2) => Point3;
25
+ worldToCanvas: (worldPos: Point3) => Point2;
26
+ hasImageURI: (imageURI: string) => boolean;
27
+ resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean;
28
+ getCurrentImageIdIndex: () => number;
29
+ getCurrentImageId: () => string;
30
+ getIntensityFromWorld(point: Point3): number;
31
+ setBlendMode(blendMode: BlendModes, filterActorUIDs?: string[], immediate?: boolean): void;
32
+ setSlabThickness(slabThickness: number, filterActorUIDs?: string[]): void;
33
+ getSlabThickness(): number;
34
+ }
35
+ export default BaseVolumeViewport;
@@ -0,0 +1,346 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ const cache_1 = __importDefault(require("../cache"));
39
+ const ViewportType_1 = __importDefault(require("../enums/ViewportType"));
40
+ const Viewport_1 = __importDefault(require("./Viewport"));
41
+ const helpers_1 = require("./helpers");
42
+ const volumeNewImageEventDispatcher_1 = __importStar(require("./helpers/volumeNewImageEventDispatcher"));
43
+ const volumeLoader_1 = require("../volumeLoader");
44
+ const vtkSlabCamera_1 = __importDefault(require("./vtkClasses/vtkSlabCamera"));
45
+ const init_1 = require("../init");
46
+ const enums_1 = require("../enums");
47
+ const eventTarget_1 = __importDefault(require("../eventTarget"));
48
+ const utilities_1 = require("../utilities");
49
+ class BaseVolumeViewport extends Viewport_1.default {
50
+ constructor(props) {
51
+ super(props);
52
+ this.useCPURendering = false;
53
+ this.getFrameOfReferenceUID = () => {
54
+ return this._FrameOfReferenceUID;
55
+ };
56
+ this.canvasToWorld = (canvasPos) => {
57
+ const vtkCamera = this.getVtkActiveCamera();
58
+ vtkCamera.setIsPerformingCoordinateTransformation(true);
59
+ const renderer = this.getRenderer();
60
+ const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
61
+ const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
62
+ const size = openGLRenderWindow.getSize();
63
+ const devicePixelRatio = window.devicePixelRatio || 1;
64
+ const canvasPosWithDPR = [
65
+ canvasPos[0] * devicePixelRatio,
66
+ canvasPos[1] * devicePixelRatio,
67
+ ];
68
+ const displayCoord = [
69
+ canvasPosWithDPR[0] + this.sx,
70
+ canvasPosWithDPR[1] + this.sy,
71
+ ];
72
+ displayCoord[1] = size[1] - displayCoord[1];
73
+ const worldCoord = openGLRenderWindow.displayToWorld(displayCoord[0], displayCoord[1], 0, renderer);
74
+ vtkCamera.setIsPerformingCoordinateTransformation(false);
75
+ return [worldCoord[0], worldCoord[1], worldCoord[2]];
76
+ };
77
+ this.worldToCanvas = (worldPos) => {
78
+ const vtkCamera = this.getVtkActiveCamera();
79
+ vtkCamera.setIsPerformingCoordinateTransformation(true);
80
+ const renderer = this.getRenderer();
81
+ const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
82
+ const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
83
+ const size = openGLRenderWindow.getSize();
84
+ const displayCoord = openGLRenderWindow.worldToDisplay(...worldPos, renderer);
85
+ displayCoord[1] = size[1] - displayCoord[1];
86
+ const canvasCoord = [
87
+ displayCoord[0] - this.sx,
88
+ displayCoord[1] - this.sy,
89
+ ];
90
+ const devicePixelRatio = window.devicePixelRatio || 1;
91
+ const canvasCoordWithDPR = [
92
+ canvasCoord[0] / devicePixelRatio,
93
+ canvasCoord[1] / devicePixelRatio,
94
+ ];
95
+ vtkCamera.setIsPerformingCoordinateTransformation(false);
96
+ return canvasCoordWithDPR;
97
+ };
98
+ this.hasImageURI = (imageURI) => {
99
+ const volumeActors = this.getActors().filter(({ actor }) => actor.isA('vtkVolume'));
100
+ return volumeActors.some(({ uid }) => {
101
+ const volume = cache_1.default.getVolume(uid);
102
+ if (!volume || !volume.imageIds) {
103
+ return false;
104
+ }
105
+ const volumeImageURIs = volume.imageIds.map(utilities_1.imageIdToURI);
106
+ return volumeImageURIs.includes(imageURI);
107
+ });
108
+ };
109
+ this.getCurrentImageIdIndex = () => {
110
+ throw new Error('Method not implemented.');
111
+ };
112
+ this.getCurrentImageId = () => {
113
+ throw new Error('Method not implemented.');
114
+ };
115
+ this.useCPURendering = (0, init_1.getShouldUseCPURendering)();
116
+ if (this.useCPURendering) {
117
+ throw new Error('VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.');
118
+ }
119
+ const renderer = this.getRenderer();
120
+ const camera = vtkSlabCamera_1.default.newInstance();
121
+ renderer.setActiveCamera(camera);
122
+ switch (this.type) {
123
+ case ViewportType_1.default.ORTHOGRAPHIC:
124
+ camera.setParallelProjection(true);
125
+ break;
126
+ case ViewportType_1.default.VOLUME_3D:
127
+ camera.setParallelProjection(true);
128
+ break;
129
+ case ViewportType_1.default.PERSPECTIVE:
130
+ camera.setParallelProjection(false);
131
+ break;
132
+ default:
133
+ throw new Error(`Unrecognized viewport type: ${this.type}`);
134
+ }
135
+ this.initializeVolumeNewImageEventDispatcher();
136
+ }
137
+ static get useCustomRenderingPipeline() {
138
+ return false;
139
+ }
140
+ initializeVolumeNewImageEventDispatcher() {
141
+ const volumeNewImageHandlerBound = volumeNewImageHandler.bind(this);
142
+ const volumeNewImageCleanUpBound = volumeNewImageCleanUp.bind(this);
143
+ function volumeNewImageHandler(cameraEvent) {
144
+ const { viewportId } = cameraEvent.detail;
145
+ if (viewportId !== this.id || this.isDisabled) {
146
+ return;
147
+ }
148
+ const viewportImageData = this.getImageData();
149
+ if (!viewportImageData) {
150
+ return;
151
+ }
152
+ (0, volumeNewImageEventDispatcher_1.default)(cameraEvent);
153
+ }
154
+ function volumeNewImageCleanUp(evt) {
155
+ const { viewportId } = evt.detail;
156
+ if (viewportId !== this.id) {
157
+ return;
158
+ }
159
+ this.element.removeEventListener(enums_1.Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
160
+ eventTarget_1.default.removeEventListener(enums_1.Events.ELEMENT_DISABLED, volumeNewImageCleanUpBound);
161
+ (0, volumeNewImageEventDispatcher_1.resetVolumeNewImageState)(viewportId);
162
+ }
163
+ this.element.removeEventListener(enums_1.Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
164
+ this.element.addEventListener(enums_1.Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
165
+ eventTarget_1.default.addEventListener(enums_1.Events.ELEMENT_DISABLED, volumeNewImageCleanUpBound);
166
+ }
167
+ setProperties({ voiRange } = {}, volumeId, suppressEvents = false) {
168
+ if (volumeId !== undefined && !this.getActor(volumeId)) {
169
+ return;
170
+ }
171
+ const actorEntries = this.getActors();
172
+ if (!actorEntries.length) {
173
+ return;
174
+ }
175
+ let volumeActor;
176
+ if (volumeId) {
177
+ const actorEntry = actorEntries.find((entry) => {
178
+ return entry.uid === volumeId;
179
+ });
180
+ volumeActor = actorEntry === null || actorEntry === void 0 ? void 0 : actorEntry.actor;
181
+ }
182
+ if (!volumeActor) {
183
+ volumeActor = actorEntries[0].actor;
184
+ volumeId = actorEntries[0].uid;
185
+ }
186
+ if (!voiRange) {
187
+ return;
188
+ }
189
+ const { lower, upper } = voiRange;
190
+ volumeActor.getProperty().getRGBTransferFunction(0).setRange(lower, upper);
191
+ if (!suppressEvents) {
192
+ const eventDetail = {
193
+ viewportId: this.id,
194
+ range: voiRange,
195
+ volumeId: volumeId,
196
+ };
197
+ (0, utilities_1.triggerEvent)(this.element, enums_1.Events.VOI_MODIFIED, eventDetail);
198
+ }
199
+ }
200
+ setVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ const firstImageVolume = cache_1.default.getVolume(volumeInputArray[0].volumeId);
203
+ if (!firstImageVolume) {
204
+ throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
205
+ }
206
+ const FrameOfReferenceUID = firstImageVolume.metadata.FrameOfReferenceUID;
207
+ yield this._isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID);
208
+ this._FrameOfReferenceUID = FrameOfReferenceUID;
209
+ const volumeActors = [];
210
+ for (let i = 0; i < volumeInputArray.length; i++) {
211
+ const { volumeId, actorUID, slabThickness } = volumeInputArray[i];
212
+ const actor = yield (0, helpers_1.createVolumeActor)(volumeInputArray[i], this.element, this.id, suppressEvents);
213
+ const uid = actorUID || volumeId;
214
+ volumeActors.push({
215
+ uid,
216
+ actor,
217
+ slabThickness,
218
+ referenceId: volumeId,
219
+ });
220
+ }
221
+ this._setVolumeActors(volumeActors);
222
+ (0, utilities_1.triggerEvent)(this.element, enums_1.Events.VOLUME_VIEWPORT_NEW_VOLUME, {
223
+ viewportId: this.id,
224
+ volumeActors,
225
+ });
226
+ if (immediate) {
227
+ this.render();
228
+ }
229
+ });
230
+ }
231
+ addVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
232
+ return __awaiter(this, void 0, void 0, function* () {
233
+ const firstImageVolume = cache_1.default.getVolume(volumeInputArray[0].volumeId);
234
+ if (!firstImageVolume) {
235
+ throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
236
+ }
237
+ const volumeActors = [];
238
+ yield this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
239
+ for (let i = 0; i < volumeInputArray.length; i++) {
240
+ const { volumeId, visibility, actorUID, slabThickness } = volumeInputArray[i];
241
+ const actor = yield (0, helpers_1.createVolumeActor)(volumeInputArray[i], this.element, this.id, suppressEvents);
242
+ if (visibility === false) {
243
+ actor.setVisibility(false);
244
+ }
245
+ const uid = actorUID || volumeId;
246
+ volumeActors.push({
247
+ uid,
248
+ actor,
249
+ slabThickness,
250
+ referenceId: volumeId,
251
+ });
252
+ }
253
+ this.addActors(volumeActors);
254
+ if (immediate) {
255
+ this.render();
256
+ }
257
+ });
258
+ }
259
+ removeVolumeActors(actorUIDs, immediate = false) {
260
+ this.removeActors(actorUIDs);
261
+ if (immediate) {
262
+ this.render();
263
+ }
264
+ }
265
+ setOrientation(orientation, immediate = true) {
266
+ console.warn('Method "setOrientation" needs implementation');
267
+ }
268
+ _isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID) {
269
+ return __awaiter(this, void 0, void 0, function* () {
270
+ const numVolumes = volumeInputArray.length;
271
+ for (let i = 1; i < numVolumes; i++) {
272
+ const volumeInput = volumeInputArray[i];
273
+ const imageVolume = yield (0, volumeLoader_1.loadVolume)(volumeInput.volumeId);
274
+ if (!imageVolume) {
275
+ throw new Error(`imageVolume with id: ${imageVolume.volumeId} does not exist`);
276
+ }
277
+ if (FrameOfReferenceUID !== imageVolume.metadata.FrameOfReferenceUID) {
278
+ throw new Error(`Volumes being added to viewport ${this.id} do not share the same FrameOfReferenceUID. This is not yet supported`);
279
+ }
280
+ }
281
+ return true;
282
+ });
283
+ }
284
+ getBounds() {
285
+ const renderer = this.getRenderer();
286
+ const bounds = renderer.computeVisiblePropBounds();
287
+ return bounds;
288
+ }
289
+ flip(flipDirection) {
290
+ super.flip(flipDirection);
291
+ }
292
+ hasVolumeId(volumeId) {
293
+ const actorEntries = this.getActors();
294
+ return actorEntries.some((actorEntry) => {
295
+ return actorEntry.uid === volumeId;
296
+ });
297
+ }
298
+ getImageData(volumeId) {
299
+ var _a;
300
+ const defaultActor = this.getDefaultActor();
301
+ if (!defaultActor) {
302
+ return;
303
+ }
304
+ const { uid: defaultActorUID } = defaultActor;
305
+ volumeId = volumeId !== null && volumeId !== void 0 ? volumeId : defaultActorUID;
306
+ const { actor } = this.getActor(volumeId);
307
+ if (!actor.isA('vtkVolume')) {
308
+ return;
309
+ }
310
+ const volume = cache_1.default.getVolume(volumeId);
311
+ const vtkImageData = actor.getMapper().getInputData();
312
+ return {
313
+ dimensions: vtkImageData.getDimensions(),
314
+ spacing: vtkImageData.getSpacing(),
315
+ origin: vtkImageData.getOrigin(),
316
+ direction: vtkImageData.getDirection(),
317
+ scalarData: vtkImageData.getPointData().getScalars().getData(),
318
+ imageData: actor.getMapper().getInputData(),
319
+ metadata: {
320
+ Modality: (_a = volume === null || volume === void 0 ? void 0 : volume.metadata) === null || _a === void 0 ? void 0 : _a.Modality,
321
+ },
322
+ scaling: volume === null || volume === void 0 ? void 0 : volume.scaling,
323
+ hasPixelSpacing: true,
324
+ };
325
+ }
326
+ _setVolumeActors(volumeActorEntries) {
327
+ this.setActors(volumeActorEntries);
328
+ }
329
+ resetCamera(resetPan, resetZoom, resetToCenter) {
330
+ return super.resetCamera(resetPan, resetZoom, resetToCenter);
331
+ }
332
+ getIntensityFromWorld(point) {
333
+ throw new Error('Method not implemented.');
334
+ }
335
+ setBlendMode(blendMode, filterActorUIDs, immediate) {
336
+ throw new Error('Method not implemented.');
337
+ }
338
+ setSlabThickness(slabThickness, filterActorUIDs) {
339
+ throw new Error('Method not implemented.');
340
+ }
341
+ getSlabThickness() {
342
+ throw new Error('Method not implemented.');
343
+ }
344
+ }
345
+ exports.default = BaseVolumeViewport;
346
+ //# sourceMappingURL=BaseVolumeViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,13 @@ const utilities_1 = require("../utilities");
10
10
  const vtkClasses_1 = require("./vtkClasses");
11
11
  const ViewportType_1 = __importDefault(require("../enums/ViewportType"));
12
12
  const VolumeViewport_1 = __importDefault(require("./VolumeViewport"));
13
+ const BaseVolumeViewport_1 = __importDefault(require("./BaseVolumeViewport"));
13
14
  const StackViewport_1 = __importDefault(require("./StackViewport"));
14
15
  const viewportTypeUsesCustomRenderingPipeline_1 = __importDefault(require("./helpers/viewportTypeUsesCustomRenderingPipeline"));
15
16
  const getOrCreateCanvas_1 = __importDefault(require("./helpers/getOrCreateCanvas"));
16
17
  const init_1 = require("../init");
17
18
  const enums_1 = require("../enums");
19
+ const VolumeViewport3D_1 = __importDefault(require("./VolumeViewport3D"));
18
20
  class RenderingEngine {
19
21
  constructor(id) {
20
22
  this._needsRender = new Set();
@@ -167,7 +169,7 @@ class RenderingEngine {
167
169
  this._throwIfDestroyed();
168
170
  const viewports = this.getViewports();
169
171
  const isVolumeViewport = (viewport) => {
170
- return viewport instanceof VolumeViewport_1.default;
172
+ return viewport instanceof BaseVolumeViewport_1.default;
171
173
  };
172
174
  return viewports.filter(isVolumeViewport);
173
175
  }
@@ -334,6 +336,9 @@ class RenderingEngine {
334
336
  type === ViewportType_1.default.PERSPECTIVE) {
335
337
  viewport = new VolumeViewport_1.default(viewportInput);
336
338
  }
339
+ else if (type === ViewportType_1.default.VOLUME_3D) {
340
+ viewport = new VolumeViewport3D_1.default(viewportInput);
341
+ }
337
342
  else {
338
343
  throw new Error(`Viewport Type ${type} is not supported`);
339
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderingEngine.js","sourceRoot":"","sources":["../../../src/RenderingEngine/RenderingEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderingEngine.js","sourceRoot":"","sources":["../../../src/RenderingEngine/RenderingEngine.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,22 @@
1
- import Viewport from './Viewport';
2
- import type { Point2, Point3, IImageData, IVolumeInput, FlipDirection, VolumeViewportProperties } from '../types';
1
+ import type { Point3, IVolumeInput } from '../types';
3
2
  import type { ViewportInput } from '../types/IViewport';
4
- import type IVolumeViewport from '../types/IVolumeViewport';
5
3
  import { BlendModes, OrientationAxis } from '../enums';
6
- declare class VolumeViewport extends Viewport implements IVolumeViewport {
7
- useCPURendering: boolean;
8
- private _FrameOfReferenceUID;
4
+ import BaseVolumeViewport from './BaseVolumeViewport';
5
+ declare class VolumeViewport extends BaseVolumeViewport {
9
6
  private _useAcquisitionPlaneForViewPlane;
10
7
  constructor(props: ViewportInput);
11
- static get useCustomRenderingPipeline(): boolean;
12
- private initializeVolumeNewImageEventDispatcher;
13
- setProperties({ voiRange }?: VolumeViewportProperties, volumeId?: string, suppressEvents?: boolean): void;
14
8
  setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
15
9
  addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
16
- removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
17
10
  setOrientation(orientation: OrientationAxis, immediate?: boolean): void;
18
11
  private _getOrientationVectors;
19
12
  private _getAcquisitionPlaneOrientation;
20
13
  private _setViewPlaneToAcquisitionPlane;
21
- private _isValidVolumeInputArray;
22
14
  getIntensityFromWorld(point: Point3): number;
23
- getBounds(): number[];
24
- flip(flipDirection: FlipDirection): void;
25
- resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean;
26
- getFrameOfReferenceUID: () => string;
27
15
  setBlendMode(blendMode: BlendModes, filterActorUIDs?: any[], immediate?: boolean): void;
16
+ resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean;
28
17
  setSlabThickness(slabThickness: number, filterActorUIDs?: any[]): void;
29
18
  getSlabThickness(): number;
30
- hasVolumeId(volumeId: string): boolean;
31
- getImageData(volumeId?: string): IImageData | undefined;
32
- private _setVolumeActors;
33
- canvasToWorld: (canvasPos: Point2) => Point3;
34
- worldToCanvas: (worldPos: Point3) => Point2;
35
19
  getCurrentImageIdIndex: () => number | undefined;
36
- hasImageURI: (imageURI: string) => boolean;
37
20
  getCurrentImageId: () => string | undefined;
38
21
  private _getImageIdIndex;
39
22
  }