@cornerstonejs/core 1.81.2 → 1.81.4

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 (37) hide show
  1. package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +1 -0
  2. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +5 -1
  3. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/RenderingEngine.js +2 -2
  5. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  6. package/dist/cjs/RenderingEngine/StackViewport.js +3 -3
  7. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  8. package/dist/cjs/RenderingEngine/VideoViewport.d.ts +1 -0
  9. package/dist/cjs/RenderingEngine/VideoViewport.js +8 -0
  10. package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -1
  11. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +1 -1
  12. package/dist/cjs/RenderingEngine/VolumeViewport.js +4 -4
  13. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  14. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +5 -1
  15. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  16. package/dist/esm/RenderingEngine/RenderingEngine.js +2 -2
  17. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  18. package/dist/esm/RenderingEngine/StackViewport.js +3 -3
  19. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  20. package/dist/esm/RenderingEngine/VideoViewport.js +8 -0
  21. package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -1
  22. package/dist/esm/RenderingEngine/VolumeViewport.js +4 -4
  23. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  24. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts +1 -0
  25. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts.map +1 -1
  26. package/dist/types/RenderingEngine/VideoViewport.d.ts +1 -0
  27. package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -1
  28. package/dist/types/RenderingEngine/VolumeViewport.d.ts +1 -1
  29. package/dist/types/RenderingEngine/VolumeViewport.d.ts.map +1 -1
  30. package/dist/umd/index.js +1 -1
  31. package/dist/umd/index.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/RenderingEngine/BaseVolumeViewport.ts +25 -1
  34. package/src/RenderingEngine/RenderingEngine.ts +2 -2
  35. package/src/RenderingEngine/StackViewport.ts +3 -3
  36. package/src/RenderingEngine/VideoViewport.ts +12 -0
  37. package/src/RenderingEngine/VolumeViewport.ts +5 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/core",
3
- "version": "1.81.2",
3
+ "version": "1.81.4",
4
4
  "description": "",
5
5
  "main": "src/index.ts",
6
6
  "types": "dist/types/index.d.ts",
@@ -47,5 +47,5 @@
47
47
  "type": "individual",
48
48
  "url": "https://ohif.org/donate"
49
49
  },
50
- "gitHead": "c40bb7db80f4ec39a8597563dd8379f8adf79785"
50
+ "gitHead": "53b48392fab3f763c665d403b1f9fc3091c9510f"
51
51
  }
@@ -130,6 +130,17 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
130
130
  return false;
131
131
  }
132
132
 
133
+ public resetCamera(
134
+ resetPan = true,
135
+ resetZoom = true,
136
+ resetToCenter = true,
137
+ resetRotation = false,
138
+ supressEvents = false,
139
+ resetOrientation = true
140
+ ): boolean {
141
+ return super.resetCamera();
142
+ }
143
+
133
144
  protected applyViewOrientation(
134
145
  orientation: OrientationAxis | OrientationVectors,
135
146
  resetCamera = true
@@ -146,7 +157,20 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
146
157
  this.initialViewUp = viewUp;
147
158
 
148
159
  if (resetCamera) {
149
- this.resetCamera();
160
+ const resetPan = true,
161
+ resetZoom = true,
162
+ resetToCenter = true,
163
+ resetRotation = false,
164
+ suppressEvents = true,
165
+ resetOrientation = false;
166
+ this.resetCamera(
167
+ resetPan,
168
+ resetZoom,
169
+ resetToCenter,
170
+ resetRotation,
171
+ suppressEvents,
172
+ resetOrientation
173
+ );
150
174
  }
151
175
  }
152
176
 
@@ -610,13 +610,13 @@ class RenderingEngine implements IRenderingEngine {
610
610
  const resetZoom = true;
611
611
  const resetToCenter = true;
612
612
  const resetRotation = false;
613
- const supressEvents = true;
613
+ const suppressEvents = true;
614
614
  vp.resetCamera(
615
615
  resetPan,
616
616
  resetZoom,
617
617
  resetToCenter,
618
618
  resetRotation,
619
- supressEvents
619
+ suppressEvents
620
620
  );
621
621
 
622
622
  const displayArea = vp.getDisplayArea();
@@ -2965,17 +2965,17 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2965
2965
  if (!viewRef) {
2966
2966
  return;
2967
2967
  }
2968
- const { referencedImageId, sliceIndex, volumeId } = viewRef;
2968
+ const { referencedImageId, sliceIndex } = viewRef;
2969
2969
  if (
2970
2970
  typeof sliceIndex === 'number' &&
2971
2971
  referencedImageId &&
2972
2972
  referencedImageId === this.imageIds[sliceIndex]
2973
2973
  ) {
2974
- this.setImageIdIndex(sliceIndex);
2974
+ this.scroll(sliceIndex - this.targetImageIdIndex);
2975
2975
  } else {
2976
2976
  const foundIndex = this.imageIds.indexOf(referencedImageId);
2977
2977
  if (foundIndex !== -1) {
2978
- this.setImageIdIndex(foundIndex);
2978
+ this.scroll(foundIndex - this.targetImageIdIndex);
2979
2979
  } else {
2980
2980
  throw new Error('Unsupported - referenced image id not found');
2981
2981
  }
@@ -438,6 +438,7 @@ class VideoViewport extends Viewport implements IVideoViewport {
438
438
  /**
439
439
  * Sets the playback frame range. The video will play over the given set
440
440
  * of frames (assuming it is playing).
441
+ *
441
442
  * @param frameRange - the minimum to maximum (inclusive) frames to play over
442
443
  * @returns
443
444
  */
@@ -775,6 +776,17 @@ class VideoViewport extends Viewport implements IVideoViewport {
775
776
  return range[0] <= frame && frame <= (range[1] ?? range[0]);
776
777
  }
777
778
 
779
+ /**
780
+ * Navigates the video to the specific view reference
781
+ */
782
+ public setViewReference(viewRef: ViewReference): void {
783
+ if (typeof viewRef.sliceIndex === 'number') {
784
+ this.setFrameNumber(viewRef.sliceIndex + 1);
785
+ } else if (Array.isArray(viewRef.sliceIndex)) {
786
+ this.setFrameRange(viewRef.sliceIndex);
787
+ }
788
+ }
789
+
778
790
  /**
779
791
  * Gets a view target that species what type of view is required to show
780
792
  * the current view, or the one specified in the forTarget modifiers.
@@ -88,7 +88,7 @@ class VolumeViewport extends BaseVolumeViewport {
88
88
 
89
89
  /** Gets the number of slices the volume is broken up into in the camera direction */
90
90
  public getNumberOfSlices = (): number => {
91
- const { numberOfSlices } = getImageSliceDataForVolumeViewport(this);
91
+ const { numberOfSlices } = getImageSliceDataForVolumeViewport(this) || {};
92
92
  return numberOfSlices;
93
93
  };
94
94
 
@@ -247,10 +247,11 @@ class VolumeViewport extends BaseVolumeViewport {
247
247
  resetZoom = true,
248
248
  resetToCenter = true,
249
249
  resetRotation = false,
250
- supressEvents = false
250
+ supressEvents = false,
251
+ resetOrientation = true
251
252
  ): boolean {
252
253
  const { orientation } = this.viewportProperties;
253
- if (orientation) {
254
+ if (orientation && resetOrientation) {
254
255
  this.applyViewOrientation(orientation, false);
255
256
  }
256
257
  super.resetCamera(resetPan, resetZoom, resetToCenter);
@@ -422,7 +423,7 @@ class VolumeViewport extends BaseVolumeViewport {
422
423
  * @returns The image index.
423
424
  */
424
425
  public getSliceIndex = (): number => {
425
- const { imageIndex } = getImageSliceDataForVolumeViewport(this);
426
+ const { imageIndex } = getImageSliceDataForVolumeViewport(this) || {};
426
427
  return imageIndex;
427
428
  };
428
429