@cornerstonejs/core 0.22.2 → 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
@@ -1,82 +1,17 @@
1
1
  import { vec3 } from 'gl-matrix';
2
2
  import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';
3
3
  import cache from '../cache';
4
- import ViewportType from '../enums/ViewportType';
5
- import Viewport from './Viewport';
6
- import { createVolumeActor } from './helpers';
7
- import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
8
- import { loadVolume } from '../volumeLoader';
9
- import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
10
- import { getShouldUseCPURendering } from '../init';
11
4
  import transformWorldToIndex from '../utilities/transformWorldToIndex';
12
5
  import { RENDERING_DEFAULTS, MPR_CAMERA_VALUES, EPSILON } from '../constants';
13
- import { Events, OrientationAxis } from '../enums';
14
- import eventTarget from '../eventTarget';
15
- import { imageIdToURI, triggerEvent } from '../utilities';
16
- class VolumeViewport extends Viewport {
6
+ import { OrientationAxis } from '../enums';
7
+ import BaseVolumeViewport from './BaseVolumeViewport';
8
+ class VolumeViewport extends BaseVolumeViewport {
17
9
  constructor(props) {
18
10
  super(props);
19
- this.useCPURendering = false;
20
11
  this._useAcquisitionPlaneForViewPlane = false;
21
- this.getFrameOfReferenceUID = () => {
22
- return this._FrameOfReferenceUID;
23
- };
24
- this.canvasToWorld = (canvasPos) => {
25
- const vtkCamera = this.getVtkActiveCamera();
26
- vtkCamera.setIsPerformingCoordinateTransformation(true);
27
- const renderer = this.getRenderer();
28
- const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
29
- const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
30
- const size = openGLRenderWindow.getSize();
31
- const devicePixelRatio = window.devicePixelRatio || 1;
32
- const canvasPosWithDPR = [
33
- canvasPos[0] * devicePixelRatio,
34
- canvasPos[1] * devicePixelRatio,
35
- ];
36
- const displayCoord = [
37
- canvasPosWithDPR[0] + this.sx,
38
- canvasPosWithDPR[1] + this.sy,
39
- ];
40
- displayCoord[1] = size[1] - displayCoord[1];
41
- const worldCoord = openGLRenderWindow.displayToWorld(displayCoord[0], displayCoord[1], 0, renderer);
42
- vtkCamera.setIsPerformingCoordinateTransformation(false);
43
- return [worldCoord[0], worldCoord[1], worldCoord[2]];
44
- };
45
- this.worldToCanvas = (worldPos) => {
46
- const vtkCamera = this.getVtkActiveCamera();
47
- vtkCamera.setIsPerformingCoordinateTransformation(true);
48
- const renderer = this.getRenderer();
49
- const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
50
- const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
51
- const size = openGLRenderWindow.getSize();
52
- const displayCoord = openGLRenderWindow.worldToDisplay(...worldPos, renderer);
53
- displayCoord[1] = size[1] - displayCoord[1];
54
- const canvasCoord = [
55
- displayCoord[0] - this.sx,
56
- displayCoord[1] - this.sy,
57
- ];
58
- const devicePixelRatio = window.devicePixelRatio || 1;
59
- const canvasCoordWithDPR = [
60
- canvasCoord[0] / devicePixelRatio,
61
- canvasCoord[1] / devicePixelRatio,
62
- ];
63
- vtkCamera.setIsPerformingCoordinateTransformation(false);
64
- return canvasCoordWithDPR;
65
- };
66
12
  this.getCurrentImageIdIndex = () => {
67
13
  return this._getImageIdIndex();
68
14
  };
69
- this.hasImageURI = (imageURI) => {
70
- const volumeActors = this.getActors().filter(({ actor }) => actor.isA('vtkVolume'));
71
- return volumeActors.some(({ uid }) => {
72
- const volume = cache.getVolume(uid);
73
- if (!volume || !volume.imageIds) {
74
- return false;
75
- }
76
- const volumeImageURIs = volume.imageIds.map(imageIdToURI);
77
- return volumeImageURIs.includes(imageURI);
78
- });
79
- };
80
15
  this.getCurrentImageId = () => {
81
16
  const index = this._getImageIdIndex();
82
17
  if (isNaN(index)) {
@@ -109,27 +44,10 @@ class VolumeViewport extends Viewport {
109
44
  const distance = vec3.dot(sub, viewPlaneNormal);
110
45
  return Math.round(Math.abs(distance) / spacingInNormal);
111
46
  };
112
- this.useCPURendering = getShouldUseCPURendering();
113
- if (this.useCPURendering) {
114
- throw new Error('VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.');
115
- }
116
- const renderer = this.getRenderer();
117
- const camera = vtkSlabCamera.newInstance();
118
- renderer.setActiveCamera(camera);
119
- switch (this.type) {
120
- case ViewportType.ORTHOGRAPHIC:
121
- camera.setParallelProjection(true);
122
- break;
123
- case ViewportType.PERSPECTIVE:
124
- camera.setParallelProjection(false);
125
- break;
126
- default:
127
- throw new Error(`Unrecognized viewport type: ${this.type}`);
128
- }
129
- this.initializeVolumeNewImageEventDispatcher();
130
47
  const { orientation } = this.options;
131
48
  if (orientation && orientation !== OrientationAxis.ACQUISITION) {
132
49
  const { viewPlaneNormal, viewUp } = this._getOrientationVectors(orientation);
50
+ const camera = this.getVtkActiveCamera();
133
51
  camera.setDirectionOfProjection(-viewPlaneNormal[0], -viewPlaneNormal[1], -viewPlaneNormal[2]);
134
52
  camera.setViewUpFrom(viewUp);
135
53
  this.resetCamera();
@@ -137,69 +55,6 @@ class VolumeViewport extends Viewport {
137
55
  }
138
56
  this._useAcquisitionPlaneForViewPlane = true;
139
57
  }
140
- static get useCustomRenderingPipeline() {
141
- return false;
142
- }
143
- initializeVolumeNewImageEventDispatcher() {
144
- const volumeNewImageHandlerBound = volumeNewImageHandler.bind(this);
145
- const volumeNewImageCleanUpBound = volumeNewImageCleanUp.bind(this);
146
- function volumeNewImageHandler(cameraEvent) {
147
- const { viewportId } = cameraEvent.detail;
148
- if (viewportId !== this.id || this.isDisabled) {
149
- return;
150
- }
151
- const viewportImageData = this.getImageData();
152
- if (!viewportImageData) {
153
- return;
154
- }
155
- volumeNewImageEventDispatcher(cameraEvent);
156
- }
157
- function volumeNewImageCleanUp(evt) {
158
- const { viewportId } = evt.detail;
159
- if (viewportId !== this.id) {
160
- return;
161
- }
162
- this.element.removeEventListener(Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
163
- eventTarget.removeEventListener(Events.ELEMENT_DISABLED, volumeNewImageCleanUpBound);
164
- resetVolumeNewImageState(viewportId);
165
- }
166
- this.element.removeEventListener(Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
167
- this.element.addEventListener(Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
168
- eventTarget.addEventListener(Events.ELEMENT_DISABLED, volumeNewImageCleanUpBound);
169
- }
170
- setProperties({ voiRange } = {}, volumeId, suppressEvents = false) {
171
- if (volumeId !== undefined && !this.getActor(volumeId)) {
172
- return;
173
- }
174
- const actorEntries = this.getActors();
175
- if (!actorEntries.length) {
176
- return;
177
- }
178
- let volumeActor;
179
- if (volumeId) {
180
- const actorEntry = actorEntries.find((entry) => {
181
- return entry.uid === volumeId;
182
- });
183
- volumeActor = actorEntry?.actor;
184
- }
185
- if (!volumeActor) {
186
- volumeActor = actorEntries[0].actor;
187
- volumeId = actorEntries[0].uid;
188
- }
189
- if (!voiRange) {
190
- return;
191
- }
192
- const { lower, upper } = voiRange;
193
- volumeActor.getProperty().getRGBTransferFunction(0).setRange(lower, upper);
194
- if (!suppressEvents) {
195
- const eventDetail = {
196
- viewportId: this.id,
197
- range: voiRange,
198
- volumeId: volumeId,
199
- };
200
- triggerEvent(this.element, Events.VOI_MODIFIED, eventDetail);
201
- }
202
- }
203
58
  async setVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
204
59
  const firstImageVolume = cache.getVolume(volumeInputArray[0].volumeId);
205
60
  if (!firstImageVolume) {
@@ -209,29 +64,7 @@ class VolumeViewport extends Viewport {
209
64
  this._setViewPlaneToAcquisitionPlane(firstImageVolume);
210
65
  this._useAcquisitionPlaneForViewPlane = false;
211
66
  }
212
- const FrameOfReferenceUID = firstImageVolume.metadata.FrameOfReferenceUID;
213
- await this._isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID);
214
- this._FrameOfReferenceUID = FrameOfReferenceUID;
215
- const volumeActors = [];
216
- for (let i = 0; i < volumeInputArray.length; i++) {
217
- const { volumeId, actorUID, slabThickness } = volumeInputArray[i];
218
- const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents);
219
- const uid = actorUID || volumeId;
220
- volumeActors.push({
221
- uid,
222
- actor,
223
- slabThickness,
224
- referenceId: volumeId,
225
- });
226
- }
227
- this._setVolumeActors(volumeActors);
228
- triggerEvent(this.element, Events.VOLUME_VIEWPORT_NEW_VOLUME, {
229
- viewportId: this.id,
230
- volumeActors,
231
- });
232
- if (immediate) {
233
- this.render();
234
- }
67
+ return super.setVolumes(volumeInputArray, immediate, suppressEvents);
235
68
  }
236
69
  async addVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
237
70
  const firstImageVolume = cache.getVolume(volumeInputArray[0].volumeId);
@@ -242,32 +75,7 @@ class VolumeViewport extends Viewport {
242
75
  this._setViewPlaneToAcquisitionPlane(firstImageVolume);
243
76
  this._useAcquisitionPlaneForViewPlane = false;
244
77
  }
245
- const volumeActors = [];
246
- await this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
247
- for (let i = 0; i < volumeInputArray.length; i++) {
248
- const { volumeId, visibility, actorUID, slabThickness } = volumeInputArray[i];
249
- const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents);
250
- if (visibility === false) {
251
- actor.setVisibility(false);
252
- }
253
- const uid = actorUID || volumeId;
254
- volumeActors.push({
255
- uid,
256
- actor,
257
- slabThickness,
258
- referenceId: volumeId,
259
- });
260
- }
261
- this.addActors(volumeActors);
262
- if (immediate) {
263
- this.render();
264
- }
265
- }
266
- removeVolumeActors(actorUIDs, immediate = false) {
267
- this.removeActors(actorUIDs);
268
- if (immediate) {
269
- this.render();
270
- }
78
+ return super.addVolumes(volumeInputArray, immediate, suppressEvents);
271
79
  }
272
80
  setOrientation(orientation, immediate = true) {
273
81
  let viewPlaneNormal, viewUp;
@@ -340,20 +148,6 @@ class VolumeViewport extends Viewport {
340
148
  });
341
149
  this.resetCamera();
342
150
  }
343
- async _isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID) {
344
- const numVolumes = volumeInputArray.length;
345
- for (let i = 1; i < numVolumes; i++) {
346
- const volumeInput = volumeInputArray[i];
347
- const imageVolume = await loadVolume(volumeInput.volumeId);
348
- if (!imageVolume) {
349
- throw new Error(`imageVolume with id: ${imageVolume.volumeId} does not exist`);
350
- }
351
- if (FrameOfReferenceUID !== imageVolume.metadata.FrameOfReferenceUID) {
352
- throw new Error(`Volumes being added to viewport ${this.id} do not share the same FrameOfReferenceUID. This is not yet supported`);
353
- }
354
- }
355
- return true;
356
- }
357
151
  getIntensityFromWorld(point) {
358
152
  const { actor, uid } = this.getDefaultActor();
359
153
  if (!actor.isA('vtkVolume')) {
@@ -368,13 +162,21 @@ class VolumeViewport extends Viewport {
368
162
  index[0];
369
163
  return volume.scalarData[voxelIndex];
370
164
  }
371
- getBounds() {
372
- const renderer = this.getRenderer();
373
- const bounds = renderer.computeVisiblePropBounds();
374
- return bounds;
375
- }
376
- flip(flipDirection) {
377
- super.flip(flipDirection);
165
+ setBlendMode(blendMode, filterActorUIDs = [], immediate = false) {
166
+ let actorEntries = this.getActors();
167
+ if (filterActorUIDs && filterActorUIDs.length > 0) {
168
+ actorEntries = actorEntries.filter((actorEntry) => {
169
+ return filterActorUIDs.includes(actorEntry.uid);
170
+ });
171
+ }
172
+ actorEntries.forEach((actorEntry) => {
173
+ const { actor } = actorEntry;
174
+ const mapper = actor.getMapper();
175
+ mapper.setBlendMode(blendMode);
176
+ });
177
+ if (immediate) {
178
+ this.render();
179
+ }
378
180
  }
379
181
  resetCamera(resetPan = true, resetZoom = true, resetToCenter = true) {
380
182
  super.resetCamera(resetPan, resetZoom, resetToCenter);
@@ -409,22 +211,6 @@ class VolumeViewport extends Viewport {
409
211
  });
410
212
  return true;
411
213
  }
412
- setBlendMode(blendMode, filterActorUIDs = [], immediate = false) {
413
- let actorEntries = this.getActors();
414
- if (filterActorUIDs && filterActorUIDs.length > 0) {
415
- actorEntries = actorEntries.filter((actorEntry) => {
416
- return filterActorUIDs.includes(actorEntry.uid);
417
- });
418
- }
419
- actorEntries.forEach((actorEntry) => {
420
- const { actor } = actorEntry;
421
- const mapper = actor.getMapper();
422
- mapper.setBlendMode(blendMode);
423
- });
424
- if (immediate) {
425
- this.render();
426
- }
427
- }
428
214
  setSlabThickness(slabThickness, filterActorUIDs = []) {
429
215
  let actorEntries = this.getActors();
430
216
  if (filterActorUIDs && filterActorUIDs.length > 0) {
@@ -452,42 +238,6 @@ class VolumeViewport extends Viewport {
452
238
  });
453
239
  return slabThickness;
454
240
  }
455
- hasVolumeId(volumeId) {
456
- const actorEntries = this.getActors();
457
- return actorEntries.some((actorEntry) => {
458
- return actorEntry.uid === volumeId;
459
- });
460
- }
461
- getImageData(volumeId) {
462
- const defaultActor = this.getDefaultActor();
463
- if (!defaultActor) {
464
- return;
465
- }
466
- const { uid: defaultActorUID } = defaultActor;
467
- volumeId = volumeId ?? defaultActorUID;
468
- const { actor } = this.getActor(volumeId);
469
- if (!actor.isA('vtkVolume')) {
470
- return;
471
- }
472
- const volume = cache.getVolume(volumeId);
473
- const vtkImageData = actor.getMapper().getInputData();
474
- return {
475
- dimensions: vtkImageData.getDimensions(),
476
- spacing: vtkImageData.getSpacing(),
477
- origin: vtkImageData.getOrigin(),
478
- direction: vtkImageData.getDirection(),
479
- scalarData: vtkImageData.getPointData().getScalars().getData(),
480
- imageData: actor.getMapper().getInputData(),
481
- metadata: {
482
- Modality: volume?.metadata?.Modality,
483
- },
484
- scaling: volume.scaling,
485
- hasPixelSpacing: true,
486
- };
487
- }
488
- _setVolumeActors(volumeActorEntries) {
489
- this.setActors(volumeActorEntries);
490
- }
491
241
  }
492
242
  export default VolumeViewport;
493
243
  //# sourceMappingURL=VolumeViewport.js.map
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import BaseVolumeViewport from './BaseVolumeViewport';
2
+ declare class VolumeViewport3D extends BaseVolumeViewport {
3
+ resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean;
4
+ }
5
+ export default VolumeViewport3D;
@@ -0,0 +1,17 @@
1
+ import BaseVolumeViewport from './BaseVolumeViewport';
2
+ import { RENDERING_DEFAULTS } from '../constants';
3
+ class VolumeViewport3D extends BaseVolumeViewport {
4
+ resetCamera(resetPan = true, resetZoom = true, resetToCenter = true) {
5
+ super.resetCamera(resetPan, resetZoom, resetToCenter);
6
+ const activeCamera = this.getVtkActiveCamera();
7
+ if (activeCamera.getParallelProjection()) {
8
+ activeCamera.setClippingRange(-RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
9
+ }
10
+ else {
11
+ activeCamera.setClippingRange(RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
12
+ }
13
+ return;
14
+ }
15
+ }
16
+ export default VolumeViewport3D;
17
+ //# sourceMappingURL=VolumeViewport3D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeViewport3D.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VolumeViewport3D.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AASlD,MAAM,gBAAiB,SAAQ,kBAAkB;IACxC,WAAW,CAChB,QAAQ,GAAG,IAAI,EACf,SAAS,GAAG,IAAI,EAChB,aAAa,GAAG,IAAI;QAEpB,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE/C,IAAI,YAAY,CAAC,qBAAqB,EAAE,EAAE;YACxC,YAAY,CAAC,gBAAgB,CAC3B,CAAC,kBAAkB,CAAC,oBAAoB,EACxC,kBAAkB,CAAC,oBAAoB,CACxC,CAAC;SACH;aAAM;YACL,YAAY,CAAC,gBAAgB,CAC3B,kBAAkB,CAAC,sBAAsB,EACzC,kBAAkB,CAAC,oBAAoB,CACxC,CAAC;SACH;QAED,OAAO;IACT,CAAC;CACF;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,12 +1,12 @@
1
- import { VolumeViewport } from '../';
1
+ import BaseVolumeViewport from '../BaseVolumeViewport';
2
2
  async function addVolumesToViewports(renderingEngine, volumeInputs, viewportIds, immediateRender = false, suppressEvents = false) {
3
3
  for (const viewportId of viewportIds) {
4
4
  const viewport = renderingEngine.getViewport(viewportId);
5
5
  if (!viewport) {
6
6
  throw new Error(`Viewport with Id ${viewportId} does not exist`);
7
7
  }
8
- if (!(viewport instanceof VolumeViewport)) {
9
- console.warn(`Viewport with Id ${viewportId} is not a VolumeViewport. Cannot add volume to this viewport.`);
8
+ if (!(viewport instanceof BaseVolumeViewport)) {
9
+ console.warn(`Viewport with Id ${viewportId} is not a BaseVolumeViewport. Cannot add volume to this viewport.`);
10
10
  return;
11
11
  }
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"addVolumesToViewports.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/addVolumesToViewports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAerC,KAAK,UAAU,qBAAqB,CAClC,eAAiC,EACjC,YAAiC,EACjC,WAA0B,EAC1B,eAAe,GAAG,KAAK,EACvB,cAAc,GAAG,KAAK;IAGtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,iBAAiB,CAAC,CAAC;SAClE;QAGD,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EAAE;YACzC,OAAO,CAAC,IAAI,CACV,oBAAoB,UAAU,+DAA+D,CAC9F,CAAC;YAEF,OAAO;SACR;KACF;IAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAmB,CAAC;QAE3E,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO;AACT,CAAC;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"addVolumesToViewports.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/addVolumesToViewports.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AAevD,KAAK,UAAU,qBAAqB,CAClC,eAAiC,EACjC,YAAiC,EACjC,WAA0B,EAC1B,eAAe,GAAG,KAAK,EACvB,cAAc,GAAG,KAAK;IAGtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,iBAAiB,CAAC,CAAC;SAClE;QAGD,IAAI,CAAC,CAAC,QAAQ,YAAY,kBAAkB,CAAC,EAAE;YAC7C,OAAO,CAAC,IAAI,CACV,oBAAoB,UAAU,mEAAmE,CAClG,CAAC;YAEF,OAAO;SACR;KACF;IAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAmB,CAAC;QAE3E,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO;AACT,CAAC;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,12 +1,12 @@
1
- import { VolumeViewport } from '../';
1
+ import BaseVolumeViewport from '../BaseVolumeViewport';
2
2
  async function setVolumesForViewports(renderingEngine, volumeInputs, viewportIds, immediateRender = false, suppressEvents = false) {
3
3
  viewportIds.forEach((viewportId) => {
4
4
  const viewport = renderingEngine.getViewport(viewportId);
5
5
  if (!viewport) {
6
6
  throw new Error(`Viewport with Id ${viewportId} does not exist`);
7
7
  }
8
- if (!(viewport instanceof VolumeViewport)) {
9
- throw new Error('setVolumesForViewports only supports VolumeViewport');
8
+ if (!(viewport instanceof BaseVolumeViewport)) {
9
+ throw new Error('setVolumesForViewports only supports VolumeViewport and VolumeViewport3D');
10
10
  }
11
11
  });
12
12
  const setVolumePromises = viewportIds.map(async (viewportId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"setVolumesForViewports.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/setVolumesForViewports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAmBrC,KAAK,UAAU,sBAAsB,CACnC,eAAiC,EACjC,YAAiC,EACjC,WAA0B,EAC1B,eAAe,GAAG,KAAK,EACvB,cAAc,GAAG,KAAK;IAGtB,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,iBAAiB,CAAC,CAAC;SAClE;QAGD,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAoB,CAAC;QAE5E,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAErC,OAAO;AACT,CAAC;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"setVolumesForViewports.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/setVolumesForViewports.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AAmBvD,KAAK,UAAU,sBAAsB,CACnC,eAAiC,EACjC,YAAiC,EACjC,WAA0B,EAC1B,eAAe,GAAG,KAAK,EACvB,cAAc,GAAG,KAAK;IAGtB,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,iBAAiB,CAAC,CAAC;SAClE;QAGD,IAAI,CAAC,CAAC,QAAQ,YAAY,kBAAkB,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;SAC7F;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAoB,CAAC;QAE5E,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAErC,OAAO;AACT,CAAC;AAED,eAAe,sBAAsB,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import StackViewport from '../StackViewport';
2
2
  import VolumeViewport from '../VolumeViewport';
3
+ import VolumeViewport3D from '../VolumeViewport3D';
3
4
  declare const viewportTypeToViewportClass: {
4
5
  orthographic: typeof VolumeViewport;
5
6
  perspective: typeof VolumeViewport;
6
7
  stack: typeof StackViewport;
8
+ volume3d: typeof VolumeViewport3D;
7
9
  };
8
10
  export default viewportTypeToViewportClass;
@@ -1,10 +1,12 @@
1
1
  import StackViewport from '../StackViewport';
2
2
  import VolumeViewport from '../VolumeViewport';
3
3
  import ViewportType from '../../enums/ViewportType';
4
+ import VolumeViewport3D from '../VolumeViewport3D';
4
5
  const viewportTypeToViewportClass = {
5
6
  [ViewportType.ORTHOGRAPHIC]: VolumeViewport,
6
7
  [ViewportType.PERSPECTIVE]: VolumeViewport,
7
8
  [ViewportType.STACK]: StackViewport,
9
+ [ViewportType.VOLUME_3D]: VolumeViewport3D,
8
10
  };
9
11
  export default viewportTypeToViewportClass;
10
12
  //# sourceMappingURL=viewportTypeToViewportClass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewportTypeToViewportClass.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/viewportTypeToViewportClass.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,MAAM,2BAA2B,GAAG;IAClC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,cAAc;IAC3C,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,cAAc;IAC1C,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa;CACpC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"viewportTypeToViewportClass.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/viewportTypeToViewportClass.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AAEnD,MAAM,2BAA2B,GAAG;IAClC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,cAAc;IAC3C,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,cAAc;IAC1C,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa;IACnC,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,gBAAgB;CAC3C,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { getImageSliceDataForVolumeViewport, triggerEvent, } from '../../utilities';
2
2
  import { Events } from '../../enums';
3
3
  import { getRenderingEngine } from '../getRenderingEngine';
4
- import VolumeViewport from '../VolumeViewport';
4
+ import BaseVolumeViewport from '../BaseVolumeViewport';
5
5
  const state = {};
6
6
  export function resetVolumeNewImageState(viewportId) {
7
7
  if (state[viewportId] !== undefined) {
@@ -12,8 +12,8 @@ function volumeNewImageEventDispatcher(cameraEvent) {
12
12
  const { renderingEngineId, viewportId } = cameraEvent.detail;
13
13
  const renderingEngine = getRenderingEngine(renderingEngineId);
14
14
  const viewport = renderingEngine.getViewport(viewportId);
15
- if (!(viewport instanceof VolumeViewport)) {
16
- throw new Error(`volumeNewImageEventDispatcher: viewport is not a VolumeViewport`);
15
+ if (!(viewport instanceof BaseVolumeViewport)) {
16
+ throw new Error(`volumeNewImageEventDispatcher: viewport is not a BaseVolumeViewport`);
17
17
  }
18
18
  if (state[viewport.id] === undefined) {
19
19
  state[viewport.id] = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"volumeNewImageEventDispatcher.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/volumeNewImageEventDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAK/C,MAAM,KAAK,GAAqB,EAAE,CAAC;AAEnC,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;QACnC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC1B;AACH,CAAC;AAYD,SAAS,6BAA6B,CACpC,WAA2C;IAE3C,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;IAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;KACH;IAED,IAAI,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,kCAAkC,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE;QACrC,OAAO;KACR;IAED,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;IAEhC,MAAM,WAAW,GAAyC;QACxD,UAAU;QACV,UAAU;QACV,iBAAiB;QACjB,cAAc;KACf,CAAC;IAEF,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AACvE,CAAC;AAED,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"volumeNewImageEventDispatcher.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/volumeNewImageEventDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AAKvD,MAAM,KAAK,GAAqB,EAAE,CAAC;AAEnC,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;QACnC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC1B;AACH,CAAC;AAYD,SAAS,6BAA6B,CACpC,WAA2C;IAE3C,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;IAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC,CAAC,QAAQ,YAAY,kBAAkB,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,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,kCAAkC,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE;QACrC,OAAO;KACR;IAED,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;IAEhC,MAAM,WAAW,GAAyC;QACxD,UAAU;QACV,UAAU;QACV,iBAAiB;QACjB,cAAc;KACf,CAAC;IAEF,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AACvE,CAAC;AAED,eAAe,6BAA6B,CAAC"}
@@ -2,6 +2,7 @@ import RenderingEngine from './RenderingEngine';
2
2
  import getRenderingEngine from './getRenderingEngine';
3
3
  import VolumeViewport from './VolumeViewport';
4
4
  import StackViewport from './StackViewport';
5
+ import VolumeViewport3D from './VolumeViewport3D';
5
6
  import { createVolumeActor, createVolumeMapper, getOrCreateCanvas } from './helpers';
6
- export { getRenderingEngine, RenderingEngine, VolumeViewport, createVolumeActor, createVolumeMapper, getOrCreateCanvas, StackViewport, };
7
+ export { getRenderingEngine, RenderingEngine, VolumeViewport, VolumeViewport3D, createVolumeActor, createVolumeMapper, getOrCreateCanvas, StackViewport, };
7
8
  export default RenderingEngine;
@@ -2,7 +2,8 @@ import RenderingEngine from './RenderingEngine';
2
2
  import getRenderingEngine from './getRenderingEngine';
3
3
  import VolumeViewport from './VolumeViewport';
4
4
  import StackViewport from './StackViewport';
5
+ import VolumeViewport3D from './VolumeViewport3D';
5
6
  import { createVolumeActor, createVolumeMapper, getOrCreateCanvas, } from './helpers';
6
- export { getRenderingEngine, RenderingEngine, VolumeViewport, createVolumeActor, createVolumeMapper, getOrCreateCanvas, StackViewport, };
7
+ export { getRenderingEngine, RenderingEngine, VolumeViewport, VolumeViewport3D, createVolumeActor, createVolumeMapper, getOrCreateCanvas, StackViewport, };
7
8
  export default RenderingEngine;
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RenderingEngine/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RenderingEngine/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -2,4 +2,5 @@ import CPU_COLORMAPS from './cpuColormaps';
2
2
  import RENDERING_DEFAULTS from './rendering';
3
3
  import EPSILON from './epsilon';
4
4
  import MPR_CAMERA_VALUES from './mprCameraValues';
5
- export { CPU_COLORMAPS, RENDERING_DEFAULTS, MPR_CAMERA_VALUES, EPSILON };
5
+ import VIEWPORT_PRESETS from './viewportPresets';
6
+ export { CPU_COLORMAPS, RENDERING_DEFAULTS, MPR_CAMERA_VALUES, EPSILON, VIEWPORT_PRESETS, };
@@ -2,5 +2,6 @@ import CPU_COLORMAPS from './cpuColormaps';
2
2
  import RENDERING_DEFAULTS from './rendering';
3
3
  import EPSILON from './epsilon';
4
4
  import MPR_CAMERA_VALUES from './mprCameraValues';
5
- export { CPU_COLORMAPS, RENDERING_DEFAULTS, MPR_CAMERA_VALUES, EPSILON };
5
+ import VIEWPORT_PRESETS from './viewportPresets';
6
+ export { CPU_COLORMAPS, RENDERING_DEFAULTS, MPR_CAMERA_VALUES, EPSILON, VIEWPORT_PRESETS, };
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,kBAAkB,MAAM,aAAa,CAAC;AAC7C,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,kBAAkB,MAAM,aAAa,CAAC;AAC7C,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAClD,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,gBAAgB,GACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ViewportPreset } from '../types';
2
+ declare const presets: ViewportPreset[];
3
+ export default presets;