@cornerstonejs/core 0.15.2 → 0.16.1

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 (116) hide show
  1. package/dist/cjs/RenderingEngine/RenderingEngine.js +2 -2
  2. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/StackViewport.js +4 -8
  4. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  5. package/dist/cjs/RenderingEngine/Viewport.js +3 -2
  6. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  7. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +9 -2
  8. package/dist/cjs/RenderingEngine/VolumeViewport.js +137 -7
  9. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  10. package/dist/cjs/cache/classes/ImageVolume.d.ts +2 -2
  11. package/dist/cjs/constants/index.d.ts +1 -2
  12. package/dist/cjs/constants/index.js +1 -3
  13. package/dist/cjs/constants/index.js.map +1 -1
  14. package/dist/cjs/enums/OrientationAxis.d.ts +7 -0
  15. package/dist/cjs/enums/OrientationAxis.js +11 -0
  16. package/dist/cjs/enums/OrientationAxis.js.map +1 -0
  17. package/dist/cjs/enums/index.d.ts +2 -1
  18. package/dist/cjs/enums/index.js +3 -1
  19. package/dist/cjs/enums/index.js.map +1 -1
  20. package/dist/cjs/types/CPUFallbackEnabledElement.d.ts +2 -1
  21. package/dist/cjs/types/CPUIImageData.d.ts +3 -3
  22. package/dist/cjs/types/IImageData.d.ts +2 -2
  23. package/dist/cjs/types/IImageVolume.d.ts +2 -2
  24. package/dist/cjs/types/IVolume.d.ts +2 -1
  25. package/dist/cjs/types/IVolumeViewport.d.ts +5 -2
  26. package/dist/cjs/types/Mat3.d.ts +12 -0
  27. package/dist/cjs/types/{Orientation.js → Mat3.js} +1 -1
  28. package/dist/cjs/types/Mat3.js.map +1 -0
  29. package/dist/cjs/types/OrientationVectors.d.ts +6 -0
  30. package/dist/cjs/types/OrientationVectors.js +3 -0
  31. package/dist/cjs/types/OrientationVectors.js.map +1 -0
  32. package/dist/cjs/types/ViewportInputOptions.d.ts +3 -2
  33. package/dist/cjs/types/index.d.ts +3 -2
  34. package/dist/cjs/utilities/deepFreeze.d.ts +2 -0
  35. package/dist/cjs/utilities/deepFreeze.js +14 -0
  36. package/dist/cjs/utilities/deepFreeze.js.map +1 -0
  37. package/dist/cjs/utilities/getClosestImageId.js.map +1 -1
  38. package/dist/cjs/utilities/getSpacingInNormalDirection.js.map +1 -1
  39. package/dist/cjs/utilities/getViewportsWithImageURI.d.ts +4 -0
  40. package/dist/cjs/utilities/getViewportsWithImageURI.js +24 -0
  41. package/dist/cjs/utilities/getViewportsWithImageURI.js.map +1 -0
  42. package/dist/cjs/utilities/getViewportsWithVolumeId.d.ts +3 -0
  43. package/dist/cjs/utilities/getViewportsWithVolumeId.js +21 -0
  44. package/dist/cjs/utilities/getViewportsWithVolumeId.js.map +1 -0
  45. package/dist/cjs/utilities/index.d.ts +3 -2
  46. package/dist/cjs/utilities/index.js +5 -3
  47. package/dist/cjs/utilities/index.js.map +1 -1
  48. package/dist/cjs/volumeLoader.d.ts +2 -2
  49. package/dist/esm/RenderingEngine/RenderingEngine.js +2 -2
  50. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  51. package/dist/esm/RenderingEngine/StackViewport.js +4 -8
  52. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  53. package/dist/esm/RenderingEngine/Viewport.js +3 -2
  54. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  55. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +9 -2
  56. package/dist/esm/RenderingEngine/VolumeViewport.js +138 -8
  57. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  58. package/dist/esm/cache/classes/ImageVolume.d.ts +2 -2
  59. package/dist/esm/constants/index.d.ts +1 -2
  60. package/dist/esm/constants/index.js +1 -2
  61. package/dist/esm/constants/index.js.map +1 -1
  62. package/dist/esm/enums/OrientationAxis.d.ts +7 -0
  63. package/dist/esm/enums/OrientationAxis.js +9 -0
  64. package/dist/esm/enums/OrientationAxis.js.map +1 -0
  65. package/dist/esm/enums/index.d.ts +2 -1
  66. package/dist/esm/enums/index.js +2 -1
  67. package/dist/esm/enums/index.js.map +1 -1
  68. package/dist/esm/types/CPUFallbackEnabledElement.d.ts +2 -1
  69. package/dist/esm/types/CPUIImageData.d.ts +3 -3
  70. package/dist/esm/types/IImageData.d.ts +2 -2
  71. package/dist/esm/types/IImageVolume.d.ts +2 -2
  72. package/dist/esm/types/IVolume.d.ts +2 -1
  73. package/dist/esm/types/IVolumeViewport.d.ts +5 -2
  74. package/dist/esm/types/Mat3.d.ts +12 -0
  75. package/dist/esm/types/Mat3.js +2 -0
  76. package/dist/esm/types/Mat3.js.map +1 -0
  77. package/dist/esm/types/OrientationVectors.d.ts +6 -0
  78. package/dist/esm/types/OrientationVectors.js +2 -0
  79. package/dist/esm/types/OrientationVectors.js.map +1 -0
  80. package/dist/esm/types/ViewportInputOptions.d.ts +3 -2
  81. package/dist/esm/types/index.d.ts +3 -2
  82. package/dist/esm/utilities/deepFreeze.d.ts +2 -0
  83. package/dist/esm/utilities/deepFreeze.js +12 -0
  84. package/dist/esm/utilities/deepFreeze.js.map +1 -0
  85. package/dist/esm/utilities/getClosestImageId.js.map +1 -1
  86. package/dist/esm/utilities/getSpacingInNormalDirection.js.map +1 -1
  87. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +4 -0
  88. package/dist/esm/utilities/getViewportsWithImageURI.js +21 -0
  89. package/dist/esm/utilities/getViewportsWithImageURI.js.map +1 -0
  90. package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +3 -0
  91. package/dist/esm/utilities/getViewportsWithVolumeId.js +19 -0
  92. package/dist/esm/utilities/getViewportsWithVolumeId.js.map +1 -0
  93. package/dist/esm/utilities/index.d.ts +3 -2
  94. package/dist/esm/utilities/index.js +3 -2
  95. package/dist/esm/utilities/index.js.map +1 -1
  96. package/dist/esm/volumeLoader.d.ts +2 -2
  97. package/dist/umd/index.js +1 -1
  98. package/dist/umd/index.js.map +1 -1
  99. package/package.json +4 -3
  100. package/dist/cjs/constants/orientation.d.ts +0 -3
  101. package/dist/cjs/constants/orientation.js +0 -19
  102. package/dist/cjs/constants/orientation.js.map +0 -1
  103. package/dist/cjs/types/Orientation.d.ts +0 -6
  104. package/dist/cjs/types/Orientation.js.map +0 -1
  105. package/dist/cjs/utilities/getVolumeViewportsContainingVolumeId.d.ts +0 -3
  106. package/dist/cjs/utilities/getVolumeViewportsContainingVolumeId.js +0 -24
  107. package/dist/cjs/utilities/getVolumeViewportsContainingVolumeId.js.map +0 -1
  108. package/dist/esm/constants/orientation.d.ts +0 -3
  109. package/dist/esm/constants/orientation.js +0 -17
  110. package/dist/esm/constants/orientation.js.map +0 -1
  111. package/dist/esm/types/Orientation.d.ts +0 -6
  112. package/dist/esm/types/Orientation.js +0 -2
  113. package/dist/esm/types/Orientation.js.map +0 -1
  114. package/dist/esm/utilities/getVolumeViewportsContainingVolumeId.d.ts +0 -3
  115. package/dist/esm/utilities/getVolumeViewportsContainingVolumeId.js +0 -22
  116. package/dist/esm/utilities/getVolumeViewportsContainingVolumeId.js.map +0 -1
@@ -50,11 +50,28 @@ const constants_1 = require("../constants");
50
50
  const enums_1 = require("../enums");
51
51
  const eventTarget_1 = __importDefault(require("../eventTarget"));
52
52
  const utilities_1 = require("../utilities");
53
+ const deepFreeze_1 = __importDefault(require("../utilities/deepFreeze"));
53
54
  const EPSILON = 1e-3;
55
+ const ORIENTATION = {
56
+ axial: {
57
+ viewPlaneNormal: [0, 0, -1],
58
+ viewUp: [0, -1, 0],
59
+ },
60
+ sagittal: {
61
+ viewPlaneNormal: [1, 0, 0],
62
+ viewUp: [0, 0, 1],
63
+ },
64
+ coronal: {
65
+ viewPlaneNormal: [0, 1, 0],
66
+ viewUp: [0, 0, 1],
67
+ },
68
+ };
69
+ (0, deepFreeze_1.default)(ORIENTATION);
54
70
  class VolumeViewport extends Viewport_1.default {
55
71
  constructor(props) {
56
72
  super(props);
57
73
  this.useCPURendering = false;
74
+ this._useAcquisitionPlaneForViewPlane = false;
58
75
  this.getFrameOfReferenceUID = () => {
59
76
  return this._FrameOfReferenceUID;
60
77
  };
@@ -104,6 +121,17 @@ class VolumeViewport extends Viewport_1.default {
104
121
  this.getCurrentImageIdIndex = () => {
105
122
  return this._getImageIdIndex();
106
123
  };
124
+ this.hasImageURI = (imageURI) => {
125
+ const volumeActors = this.getActors().filter(({ actor }) => actor.isA('vtkVolume'));
126
+ return volumeActors.some(({ uid }) => {
127
+ const volume = cache_1.default.getVolume(uid);
128
+ if (!volume || !volume.imageIds) {
129
+ return false;
130
+ }
131
+ const volumeImageURIs = volume.imageIds.map(utilities_1.imageIdToURI);
132
+ return volumeImageURIs.includes(imageURI);
133
+ });
134
+ };
107
135
  this.getCurrentImageId = () => {
108
136
  const index = this._getImageIdIndex();
109
137
  if (!index) {
@@ -154,10 +182,15 @@ class VolumeViewport extends Viewport_1.default {
154
182
  throw new Error(`Unrecognized viewport type: ${this.type}`);
155
183
  }
156
184
  this.initializeVolumeNewImageEventDispatcher();
157
- const { sliceNormal, viewUp } = this.defaultOptions.orientation;
158
- camera.setDirectionOfProjection(-sliceNormal[0], -sliceNormal[1], -sliceNormal[2]);
159
- camera.setViewUpFrom(viewUp);
160
- this.resetCamera();
185
+ const { orientation } = this.options;
186
+ if (orientation) {
187
+ const { viewPlaneNormal, viewUp } = this._getOrientationVectors(orientation);
188
+ camera.setDirectionOfProjection(-viewPlaneNormal[0], -viewPlaneNormal[1], -viewPlaneNormal[2]);
189
+ camera.setViewUpFrom(viewUp);
190
+ this.resetCamera();
191
+ return;
192
+ }
193
+ this._useAcquisitionPlaneForViewPlane = true;
161
194
  }
162
195
  static get useCustomRenderingPipeline() {
163
196
  return false;
@@ -224,6 +257,10 @@ class VolumeViewport extends Viewport_1.default {
224
257
  if (!firstImageVolume) {
225
258
  throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
226
259
  }
260
+ if (this._useAcquisitionPlaneForViewPlane) {
261
+ this._setViewPlaneToAcquisitionPlane(firstImageVolume);
262
+ this._useAcquisitionPlaneForViewPlane = false;
263
+ }
227
264
  const FrameOfReferenceUID = firstImageVolume.metadata.FrameOfReferenceUID;
228
265
  yield this._isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID);
229
266
  this._FrameOfReferenceUID = FrameOfReferenceUID;
@@ -246,6 +283,14 @@ class VolumeViewport extends Viewport_1.default {
246
283
  }
247
284
  addVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
248
285
  return __awaiter(this, void 0, void 0, function* () {
286
+ const firstImageVolume = cache_1.default.getVolume(volumeInputArray[0].volumeId);
287
+ if (!firstImageVolume) {
288
+ throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
289
+ }
290
+ if (this._useAcquisitionPlaneForViewPlane) {
291
+ this._setViewPlaneToAcquisitionPlane(firstImageVolume);
292
+ this._useAcquisitionPlaneForViewPlane = false;
293
+ }
249
294
  const volumeActors = [];
250
295
  yield this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
251
296
  for (let i = 0; i < volumeInputArray.length; i++) {
@@ -273,6 +318,80 @@ class VolumeViewport extends Viewport_1.default {
273
318
  this.render();
274
319
  }
275
320
  }
321
+ setOrientation(orientation, immediate = true) {
322
+ let viewPlaneNormal, viewUp;
323
+ if (Object.keys(ORIENTATION).includes(orientation)) {
324
+ ({ viewPlaneNormal, viewUp } = ORIENTATION[orientation]);
325
+ }
326
+ else if (orientation === 'acquisition') {
327
+ ({ viewPlaneNormal, viewUp } = this._getAcquisitionPlaneOrientation());
328
+ }
329
+ else {
330
+ throw new Error(`Invalid orientation: ${orientation}. Use Enums.OrientationAxis instead.`);
331
+ }
332
+ this.setCamera({
333
+ viewPlaneNormal,
334
+ viewUp,
335
+ });
336
+ this.resetCamera();
337
+ if (immediate) {
338
+ this.render();
339
+ }
340
+ }
341
+ _getOrientationVectors(orientation) {
342
+ if (typeof orientation === 'object') {
343
+ if (orientation.viewPlaneNormal && orientation.viewUp) {
344
+ return orientation;
345
+ }
346
+ else {
347
+ throw new Error('Invalid orientation object. It must contain viewPlaneNormal and viewUp');
348
+ }
349
+ }
350
+ else if (typeof orientation === 'string' &&
351
+ Object.keys(ORIENTATION).includes(orientation)) {
352
+ return ORIENTATION[orientation];
353
+ }
354
+ else if (orientation === 'acquisition') {
355
+ return this._getAcquisitionPlaneOrientation();
356
+ }
357
+ else {
358
+ throw new Error(`Invalid orientation: ${orientation}. Valid orientations are: ${Object.keys(ORIENTATION).join(', ')}`);
359
+ }
360
+ }
361
+ _getAcquisitionPlaneOrientation() {
362
+ const actorEntry = this.getDefaultActor();
363
+ if (!actorEntry) {
364
+ throw new Error('Cannot get acquisition plane orientation, no actor in viewport');
365
+ }
366
+ const volumeId = actorEntry.uid;
367
+ const imageVolume = cache_1.default.getVolume(volumeId);
368
+ if (!imageVolume) {
369
+ throw new Error(`imageVolume with id: ${volumeId} does not exist in cache`);
370
+ }
371
+ const { direction } = imageVolume;
372
+ const viewPlaneNormal = direction.slice(6, 9).map((x) => -x);
373
+ const viewUp = direction.slice(3, 6).map((x) => -x);
374
+ return {
375
+ viewPlaneNormal,
376
+ viewUp,
377
+ };
378
+ }
379
+ _setViewPlaneToAcquisitionPlane(imageVolume) {
380
+ let viewPlaneNormal, viewUp;
381
+ if (imageVolume) {
382
+ const { direction } = imageVolume;
383
+ viewPlaneNormal = direction.slice(6, 9).map((x) => -x);
384
+ viewUp = direction.slice(3, 6).map((x) => -x);
385
+ }
386
+ else {
387
+ ({ viewPlaneNormal, viewUp } = this._getAcquisitionPlaneOrientation());
388
+ }
389
+ this.setCamera({
390
+ viewPlaneNormal,
391
+ viewUp,
392
+ });
393
+ this.resetCamera();
394
+ }
276
395
  _isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID) {
277
396
  return __awaiter(this, void 0, void 0, function* () {
278
397
  const numVolumes = volumeInputArray.length;
@@ -387,15 +506,24 @@ class VolumeViewport extends Viewport_1.default {
387
506
  });
388
507
  return slabThickness;
389
508
  }
390
- getImageData() {
509
+ hasVolumeId(volumeId) {
510
+ const actorEntries = this.getActors();
511
+ return actorEntries.some((actorEntry) => {
512
+ return actorEntry.uid === volumeId;
513
+ });
514
+ }
515
+ getImageData(volumeId) {
391
516
  const defaultActor = this.getDefaultActor();
392
517
  if (!defaultActor) {
393
518
  return;
394
519
  }
395
- const { actor } = defaultActor;
520
+ const { uid: defaultActorUID } = defaultActor;
521
+ volumeId = volumeId !== null && volumeId !== void 0 ? volumeId : defaultActorUID;
522
+ const { actor } = this.getActor(volumeId);
396
523
  if (!actor.isA('vtkVolume')) {
397
524
  return;
398
525
  }
526
+ const volume = cache_1.default.getVolume(volumeId);
399
527
  const vtkImageData = actor.getMapper().getInputData();
400
528
  return {
401
529
  dimensions: vtkImageData.getDimensions(),
@@ -404,7 +532,9 @@ class VolumeViewport extends Viewport_1.default {
404
532
  direction: vtkImageData.getDirection(),
405
533
  scalarData: vtkImageData.getPointData().getScalars().getData(),
406
534
  imageData: actor.getMapper().getInputData(),
407
- metadata: undefined,
535
+ metadata: {
536
+ Modality: volume.metadata.Modality,
537
+ },
408
538
  scaling: undefined,
409
539
  hasPixelSpacing: true,
410
540
  };
@@ -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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"}
@@ -1,8 +1,8 @@
1
- import { IVolume, Metadata, Point3, IImageVolume } from '../../types';
1
+ import { IVolume, Metadata, Point3, IImageVolume, Mat3 } from '../../types';
2
2
  export declare class ImageVolume implements IImageVolume {
3
3
  readonly volumeId: string;
4
4
  dimensions: Point3;
5
- direction: Float32Array;
5
+ direction: Mat3;
6
6
  metadata: Metadata;
7
7
  origin: Point3;
8
8
  scalarData: Float32Array | Uint8Array;
@@ -1,4 +1,3 @@
1
- import ORIENTATION from './orientation';
2
1
  import CPU_COLORMAPS from './cpuColormaps';
3
2
  import RENDERING_DEFAULTS from './rendering';
4
- export { ORIENTATION, CPU_COLORMAPS, RENDERING_DEFAULTS };
3
+ export { CPU_COLORMAPS, RENDERING_DEFAULTS };
@@ -3,9 +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.RENDERING_DEFAULTS = exports.CPU_COLORMAPS = exports.ORIENTATION = void 0;
7
- const orientation_1 = __importDefault(require("./orientation"));
8
- exports.ORIENTATION = orientation_1.default;
6
+ exports.RENDERING_DEFAULTS = exports.CPU_COLORMAPS = void 0;
9
7
  const cpuColormaps_1 = __importDefault(require("./cpuColormaps"));
10
8
  exports.CPU_COLORMAPS = cpuColormaps_1.default;
11
9
  const rendering_1 = __importDefault(require("./rendering"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAwC;AAI/B,sBAJF,qBAAW,CAIE;AAHpB,kEAA2C;AAGrB,wBAHf,sBAAa,CAGe;AAFnC,4DAA6C;AAER,6BAF9B,mBAAkB,CAE8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA2C;AAGlC,wBAHF,sBAAa,CAGE;AAFtB,4DAA6C;AAErB,6BAFjB,mBAAkB,CAEiB"}
@@ -0,0 +1,7 @@
1
+ declare enum OrientationAxis {
2
+ AXIAL = "axial",
3
+ CORONAL = "coronal",
4
+ SAGITTAL = "sagittal",
5
+ ACQUISITION = "acquisition"
6
+ }
7
+ export default OrientationAxis;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var OrientationAxis;
4
+ (function (OrientationAxis) {
5
+ OrientationAxis["AXIAL"] = "axial";
6
+ OrientationAxis["CORONAL"] = "coronal";
7
+ OrientationAxis["SAGITTAL"] = "sagittal";
8
+ OrientationAxis["ACQUISITION"] = "acquisition";
9
+ })(OrientationAxis || (OrientationAxis = {}));
10
+ exports.default = OrientationAxis;
11
+ //# sourceMappingURL=OrientationAxis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrientationAxis.js","sourceRoot":"","sources":["../../../src/enums/OrientationAxis.ts"],"names":[],"mappings":";;AAAA,IAAK,eAKJ;AALD,WAAK,eAAe;IAClB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,8CAA2B,CAAA;AAC7B,CAAC,EALI,eAAe,KAAf,eAAe,QAKnB;AAED,kBAAe,eAAe,CAAC"}
@@ -3,4 +3,5 @@ import RequestType from './RequestType';
3
3
  import ViewportType from './ViewportType';
4
4
  import InterpolationType from './InterpolationType';
5
5
  import BlendModes from './BlendModes';
6
- export { Events, BlendModes, InterpolationType, RequestType, ViewportType };
6
+ import OrientationAxis from './OrientationAxis';
7
+ export { Events, BlendModes, InterpolationType, RequestType, ViewportType, OrientationAxis, };
@@ -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.ViewportType = exports.RequestType = exports.InterpolationType = exports.BlendModes = exports.Events = void 0;
6
+ exports.OrientationAxis = exports.ViewportType = exports.RequestType = exports.InterpolationType = exports.BlendModes = exports.Events = void 0;
7
7
  const Events_1 = __importDefault(require("./Events"));
8
8
  exports.Events = Events_1.default;
9
9
  const RequestType_1 = __importDefault(require("./RequestType"));
@@ -14,4 +14,6 @@ const InterpolationType_1 = __importDefault(require("./InterpolationType"));
14
14
  exports.InterpolationType = InterpolationType_1.default;
15
15
  const BlendModes_1 = __importDefault(require("./BlendModes"));
16
16
  exports.BlendModes = BlendModes_1.default;
17
+ const OrientationAxis_1 = __importDefault(require("./OrientationAxis"));
18
+ exports.OrientationAxis = OrientationAxis_1.default;
17
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAMrB,iBANF,gBAAM,CAME;AALf,gEAAwC;AAKQ,sBALzC,qBAAW,CAKyC;AAJ3D,kEAA0C;AAImB,uBAJtD,sBAAY,CAIsD;AAHzE,4EAAoD;AAGvB,4BAHtB,2BAAiB,CAGsB;AAF9C,8DAAsC;AAErB,qBAFV,oBAAU,CAEU"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAQ5B,iBARK,gBAAM,CAQL;AAPR,gEAAwC;AAUtC,sBAVK,qBAAW,CAUL;AATb,kEAA0C;AAUxC,uBAVK,sBAAY,CAUL;AATd,4EAAoD;AAOlD,4BAPK,2BAAiB,CAOL;AANnB,8DAAsC;AAKpC,qBALK,oBAAU,CAKL;AAJZ,wEAAgD;AAQ9C,0BARK,yBAAe,CAQL"}
@@ -1,5 +1,6 @@
1
1
  import Point2 from './Point2';
2
2
  import Point3 from './Point3';
3
+ import Mat3 from './Mat3';
3
4
  import IImage from './IImage';
4
5
  import CPUFallbackViewport from './CPUFallbackViewport';
5
6
  import CPUFallbackTransform from './CPUFallbackTransform';
@@ -23,7 +24,7 @@ interface CPUFallbackEnabledElement {
23
24
  invalid?: boolean;
24
25
  needsRedraw?: boolean;
25
26
  metadata?: {
26
- direction?: Float32Array;
27
+ direction?: Mat3;
27
28
  dimensions?: Point3;
28
29
  spacing?: Point3;
29
30
  origin?: Point3;
@@ -1,17 +1,17 @@
1
- import { Point3, Scaling } from '../types';
1
+ import { Point3, Scaling, Mat3 } from '../types';
2
2
  declare type CPUImageData = {
3
3
  worldToIndex?: (point: Point3) => Point3;
4
4
  indexToWorld?: (point: Point3) => Point3;
5
5
  getWorldToIndex?: () => Point3;
6
6
  getIndexToWorld?: () => Point3;
7
7
  getSpacing?: () => Point3;
8
- getDirection?: () => Float32Array;
8
+ getDirection?: () => Mat3;
9
9
  getScalarData?: () => number[];
10
10
  getDimensions?: () => Point3;
11
11
  };
12
12
  declare type CPUIImageData = {
13
13
  dimensions: Point3;
14
- direction: Float32Array;
14
+ direction: Mat3;
15
15
  spacing: Point3;
16
16
  origin: Point3;
17
17
  imageData: CPUImageData;
@@ -1,8 +1,8 @@
1
1
  import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
2
- import { Point3, Scaling } from '../types';
2
+ import { Point3, Scaling, Mat3 } from '../types';
3
3
  interface IImageData {
4
4
  dimensions: Point3;
5
- direction: Float32Array;
5
+ direction: Mat3;
6
6
  spacing: Point3;
7
7
  origin: Point3;
8
8
  scalarData: Float32Array;
@@ -1,9 +1,9 @@
1
1
  import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
2
- import { Metadata, Point3, IImageLoadObject } from '../types';
2
+ import { Metadata, Point3, IImageLoadObject, Mat3 } from '../types';
3
3
  interface IImageVolume {
4
4
  readonly volumeId: string;
5
5
  dimensions: Point3;
6
- direction: Float32Array;
6
+ direction: Mat3;
7
7
  metadata: Metadata;
8
8
  origin: Point3;
9
9
  scalarData: any;
@@ -1,13 +1,14 @@
1
1
  import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
2
2
  import type Point3 from './Point3';
3
3
  import type Metadata from './Metadata';
4
+ import Mat3 from './Mat3';
4
5
  interface IVolume {
5
6
  volumeId: string;
6
7
  metadata: Metadata;
7
8
  dimensions: Point3;
8
9
  spacing: Point3;
9
10
  origin: Point3;
10
- direction: Float32Array;
11
+ direction: Mat3;
11
12
  scalarData: Float32Array | Uint8Array;
12
13
  sizeInBytes?: number;
13
14
  imageData?: vtkImageData;
@@ -4,7 +4,7 @@ import { IViewport } from './IViewport';
4
4
  import { IVolumeInput } from './IVolumeInput';
5
5
  import FlipDirection from './FlipDirection';
6
6
  import IImageData from './IImageData';
7
- import { BlendModes } from '../enums';
7
+ import { BlendModes, OrientationAxis } from '../enums';
8
8
  import { VolumeViewportProperties } from '.';
9
9
  export default interface IVolumeViewport extends IViewport {
10
10
  useCPURendering: boolean;
@@ -13,6 +13,8 @@ export default interface IVolumeViewport extends IViewport {
13
13
  canvasToWorld: (canvasPos: Point2) => Point3;
14
14
  worldToCanvas: (worldPos: Point3) => Point2;
15
15
  getCurrentImageIdIndex: () => number;
16
+ hasVolumeId: (volumeId: string) => boolean;
17
+ hasImageURI: (imageURI: string) => boolean;
16
18
  getCurrentImageId: () => string;
17
19
  setProperties({ voiRange }: VolumeViewportProperties, volumeId?: string, suppressEvents?: boolean): void;
18
20
  setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
@@ -25,5 +27,6 @@ export default interface IVolumeViewport extends IViewport {
25
27
  setBlendMode(blendMode: BlendModes, filterActorUIDs?: Array<string>, immediate?: boolean): void;
26
28
  setSlabThickness(slabThickness: number, filterActorUIDs?: Array<string>): void;
27
29
  getSlabThickness(): number;
28
- getImageData(): IImageData | undefined;
30
+ getImageData(volumeId?: string): IImageData | undefined;
31
+ setOrientation(orientation: OrientationAxis): void;
29
32
  }
@@ -0,0 +1,12 @@
1
+ declare type Mat3 = [
2
+ number,
3
+ number,
4
+ number,
5
+ number,
6
+ number,
7
+ number,
8
+ number,
9
+ number,
10
+ number
11
+ ];
12
+ export default Mat3;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Orientation.js.map
3
+ //# sourceMappingURL=Mat3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mat3.js","sourceRoot":"","sources":["../../../src/types/Mat3.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { Point3 } from '../types';
2
+ declare type OrientationVectors = {
3
+ viewPlaneNormal: Point3;
4
+ viewUp: Point3;
5
+ };
6
+ export default OrientationVectors;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=OrientationVectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrientationVectors.js","sourceRoot":"","sources":["../../../src/types/OrientationVectors.ts"],"names":[],"mappings":""}
@@ -1,7 +1,8 @@
1
- import Orientation from './Orientation';
1
+ import { OrientationAxis } from '../enums';
2
+ import OrientationVectors from './OrientationVectors';
2
3
  declare type ViewportInputOptions = {
3
4
  background?: [number, number, number];
4
- orientation?: Orientation;
5
+ orientation?: OrientationAxis | OrientationVectors;
5
6
  suppressEvents?: boolean;
6
7
  };
7
8
  export default ViewportInputOptions;
@@ -13,10 +13,11 @@ import type { IViewport, PublicViewportInput } from './IViewport';
13
13
  import type { VolumeActor, Actor, ActorEntry } from './IActor';
14
14
  import type { IImageLoadObject, IVolumeLoadObject } from './ILoadObject';
15
15
  import type Metadata from './Metadata';
16
- import type Orientation from './Orientation';
16
+ import type OrientationVectors from './OrientationVectors';
17
17
  import type Point2 from './Point2';
18
18
  import type Point3 from './Point3';
19
19
  import type Point4 from './Point4';
20
+ import type Mat3 from './Mat3';
20
21
  import type Plane from './Plane';
21
22
  import type IStreamingImageVolume from './IStreamingImageVolume';
22
23
  import type ViewportInputOptions from './ViewportInputOptions';
@@ -49,4 +50,4 @@ import type * as EventTypes from './EventTypes';
49
50
  import type IRenderingEngine from './IRenderingEngine';
50
51
  import type ActorSliceRange from './ActorSliceRange';
51
52
  import type ImageSliceData from './ImageSliceData';
52
- export type { ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, IViewportId, IImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, Metadata, Orientation, Point2, Point3, Point4, Plane, ViewportInputOptions, VOIRange, VOI, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, };
53
+ export type { ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, IViewportId, IImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, Metadata, OrientationVectors, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VOIRange, VOI, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, };
@@ -0,0 +1,2 @@
1
+ declare function deepFreeze(object: any): any;
2
+ export default deepFreeze;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function deepFreeze(object) {
4
+ const propNames = Object.getOwnPropertyNames(object);
5
+ for (const name of propNames) {
6
+ const value = object[name];
7
+ if (value && typeof value === 'object') {
8
+ deepFreeze(value);
9
+ }
10
+ }
11
+ return Object.freeze(object);
12
+ }
13
+ exports.default = deepFreeze;
14
+ //# sourceMappingURL=deepFreeze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepFreeze.js","sourceRoot":"","sources":["../../../src/utilities/deepFreeze.ts"],"names":[],"mappings":";;AACA,SAAS,UAAU,CAAC,MAAM;IAExB,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAIrD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACtC,UAAU,CAAC,KAAK,CAAC,CAAC;SACnB;KACF;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getClosestImageId.js","sourceRoot":"","sources":["../../../src/utilities/getClosestImageId.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiC;AACjC,sDAAwC;AAGxC,gGAAwE;AAaxE,SAAwB,iBAAiB,CACvC,WAAyB,EACzB,QAAgB,EAChB,eAAuB,EACvB,MAAc;IAEd,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;KACR;IAED,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAE5C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACjC,OAAO;KACR;IAGD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAGtC,MAAM,WAAW,GAAG,gBAAI,CAAC,GAAG,CAAC,OAAO,EAAQ,eAAe,CAAC,CAAC;IAI7D,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE;QAChC,OAAO;KACR;IAID,MAAM,wBAAwB,GAAG,IAAA,qCAA2B,EAC1D,WAAW,EACX,eAAe,CAChB,CAAC;IAEF,MAAM,4BAA4B,GAAG,wBAAwB,GAAG,CAAC,CAAC;IAIlE,IAAI,cAAc,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAG5B,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAI3E,MAAM,GAAG,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,gBAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAI9C,MAAM,GAAG,GAAG,gBAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAG3C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,4BAA4B,EAAE;YAChD,cAAc,GAAG,OAAO,CAAC;SAC1B;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AA9DD,oCA8DC"}
1
+ {"version":3,"file":"getClosestImageId.js","sourceRoot":"","sources":["../../../src/utilities/getClosestImageId.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiC;AACjC,sDAAwC;AAGxC,gGAAwE;AAaxE,SAAwB,iBAAiB,CACvC,WAAyB,EACzB,QAAgB,EAChB,eAAuB,EACvB,MAAc;IAEd,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;KACR;IAED,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAE5C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACjC,OAAO;KACR;IAGD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAGtC,MAAM,WAAW,GAAG,gBAAI,CAAC,GAAG,CAAC,OAAiB,EAAQ,eAAe,CAAC,CAAC;IAIvE,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE;QAChC,OAAO;KACR;IAID,MAAM,wBAAwB,GAAG,IAAA,qCAA2B,EAC1D,WAAW,EACX,eAAe,CAChB,CAAC;IAEF,MAAM,4BAA4B,GAAG,wBAAwB,GAAG,CAAC,CAAC;IAIlE,IAAI,cAAc,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAG5B,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAI3E,MAAM,GAAG,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,gBAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAI9C,MAAM,GAAG,GAAG,gBAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAG3C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,4BAA4B,EAAE;YAChD,cAAc,GAAG,OAAO,CAAC;SAC1B;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AA9DD,oCA8DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSpacingInNormalDirection.js","sourceRoot":"","sources":["../../../src/utilities/getSpacingInNormalDirection.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAcjC,SAAwB,2BAA2B,CACjD,WAAyB,EACzB,eAAuB;IAEvB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAG3C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG;QAClB,gBAAI,CAAC,GAAG,CAAC,OAAO,EAAQ,eAAe,CAAC;QACxC,gBAAI,CAAC,GAAG,CAAC,OAAO,EAAQ,eAAe,CAAC;QACxC,gBAAI,CAAC,GAAG,CAAC,OAAO,EAAQ,eAAe,CAAC;KACzC,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;IAEvC,gBAAI,CAAC,GAAG,CACN,gBAAgB,EAChB,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAC5B,CAAC;IAEF,MAAM,wBAAwB,GAAG,gBAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE/D,OAAO,wBAAwB,CAAC;AAClC,CAAC;AA7BD,8CA6BC"}
1
+ {"version":3,"file":"getSpacingInNormalDirection.js","sourceRoot":"","sources":["../../../src/utilities/getSpacingInNormalDirection.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAcjC,SAAwB,2BAA2B,CACjD,WAAyB,EACzB,eAAuB;IAEvB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAG3C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAW,CAAC;IAChD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAW,CAAC;IAChD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAW,CAAC;IAEhD,MAAM,WAAW,GAAG;QAClB,gBAAI,CAAC,GAAG,CAAC,OAAO,EAAQ,eAAe,CAAC;QACxC,gBAAI,CAAC,GAAG,CAAC,OAAO,EAAQ,eAAe,CAAC;QACxC,gBAAI,CAAC,GAAG,CAAC,OAAO,EAAQ,eAAe,CAAC;KACzC,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;IAEvC,gBAAI,CAAC,GAAG,CACN,gBAAgB,EAChB,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAC5B,CAAC;IAEF,MAAM,wBAAwB,GAAG,gBAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE/D,OAAO,wBAAwB,CAAC;AAClC,CAAC;AA7BD,8CA6BC"}
@@ -0,0 +1,4 @@
1
+ import { IStackViewport, IVolumeViewport } from '../types';
2
+ declare type Viewport = IStackViewport | IVolumeViewport;
3
+ export default function getViewportsWithImageURI(imageURI: string, renderingEngineId?: string): Array<Viewport>;
4
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const RenderingEngine_1 = require("../RenderingEngine");
4
+ const getRenderingEngine_1 = require("../RenderingEngine/getRenderingEngine");
5
+ function getViewportsWithImageURI(imageURI, renderingEngineId) {
6
+ let renderingEngines;
7
+ if (renderingEngineId) {
8
+ renderingEngines = [(0, RenderingEngine_1.getRenderingEngine)(renderingEngineId)];
9
+ }
10
+ else {
11
+ renderingEngines = (0, getRenderingEngine_1.getRenderingEngines)();
12
+ }
13
+ const viewports = [];
14
+ renderingEngines.forEach((renderingEngine) => {
15
+ const stackViewports = renderingEngine.getStackViewports();
16
+ const filteredStackViewports = stackViewports.filter((viewport) => viewport.hasImageURI(imageURI));
17
+ const volumeViewports = renderingEngine.getVolumeViewports();
18
+ const filteredVolumeViewports = volumeViewports.filter((viewport) => viewport.hasImageURI(imageURI));
19
+ viewports.push(...filteredStackViewports, ...filteredVolumeViewports);
20
+ });
21
+ return viewports;
22
+ }
23
+ exports.default = getViewportsWithImageURI;
24
+ //# sourceMappingURL=getViewportsWithImageURI.js.map