@cornerstonejs/core 1.25.0 → 1.26.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 (98) hide show
  1. package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +1 -1
  2. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/RenderingEngine.d.ts +5 -2
  4. package/dist/cjs/RenderingEngine/RenderingEngine.js +13 -5
  5. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  6. package/dist/cjs/RenderingEngine/VideoViewport.d.ts +51 -0
  7. package/dist/cjs/RenderingEngine/VideoViewport.js +355 -0
  8. package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -0
  9. package/dist/cjs/RenderingEngine/VolumeViewport.js +6 -0
  10. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  11. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  12. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  13. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
  14. package/dist/cjs/enums/VideoViewport.d.ts +5 -0
  15. package/dist/cjs/enums/VideoViewport.js +10 -0
  16. package/dist/cjs/enums/VideoViewport.js.map +1 -0
  17. package/dist/cjs/enums/ViewportType.d.ts +2 -1
  18. package/dist/cjs/enums/ViewportType.js +1 -0
  19. package/dist/cjs/enums/ViewportType.js.map +1 -1
  20. package/dist/cjs/enums/index.d.ts +2 -1
  21. package/dist/cjs/enums/index.js +26 -1
  22. package/dist/cjs/enums/index.js.map +1 -1
  23. package/dist/cjs/getEnabledElement.js.map +1 -1
  24. package/dist/cjs/index.d.ts +2 -1
  25. package/dist/cjs/index.js +3 -1
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/types/IRenderingEngine.d.ts +5 -2
  28. package/dist/cjs/types/IVideoViewport.d.ts +12 -0
  29. package/dist/cjs/types/IVideoViewport.js +3 -0
  30. package/dist/cjs/types/IVideoViewport.js.map +1 -0
  31. package/dist/cjs/types/VideoViewportProperties.d.ts +10 -0
  32. package/dist/cjs/types/VideoViewportProperties.js +3 -0
  33. package/dist/cjs/types/VideoViewportProperties.js.map +1 -0
  34. package/dist/cjs/types/VideoViewportTypes.d.ts +18 -0
  35. package/dist/cjs/types/VideoViewportTypes.js +3 -0
  36. package/dist/cjs/types/VideoViewportTypes.js.map +1 -0
  37. package/dist/cjs/types/index.d.ts +4 -1
  38. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +10 -2
  39. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
  40. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +1 -1
  41. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  42. package/dist/esm/RenderingEngine/RenderingEngine.d.ts +5 -2
  43. package/dist/esm/RenderingEngine/RenderingEngine.js +13 -5
  44. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  45. package/dist/esm/RenderingEngine/VideoViewport.d.ts +51 -0
  46. package/dist/esm/RenderingEngine/VideoViewport.js +330 -0
  47. package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -0
  48. package/dist/esm/RenderingEngine/VolumeViewport.js +6 -0
  49. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  50. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  51. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  52. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
  53. package/dist/esm/enums/VideoViewport.d.ts +5 -0
  54. package/dist/esm/enums/VideoViewport.js +7 -0
  55. package/dist/esm/enums/VideoViewport.js.map +1 -0
  56. package/dist/esm/enums/ViewportType.d.ts +2 -1
  57. package/dist/esm/enums/ViewportType.js +1 -0
  58. package/dist/esm/enums/ViewportType.js.map +1 -1
  59. package/dist/esm/enums/index.d.ts +2 -1
  60. package/dist/esm/enums/index.js +2 -1
  61. package/dist/esm/enums/index.js.map +1 -1
  62. package/dist/esm/getEnabledElement.js.map +1 -1
  63. package/dist/esm/index.d.ts +2 -1
  64. package/dist/esm/index.js +2 -1
  65. package/dist/esm/index.js.map +1 -1
  66. package/dist/esm/types/IRenderingEngine.d.ts +5 -2
  67. package/dist/esm/types/IVideoViewport.d.ts +12 -0
  68. package/dist/esm/types/IVideoViewport.js +2 -0
  69. package/dist/esm/types/IVideoViewport.js.map +1 -0
  70. package/dist/esm/types/VideoViewportProperties.d.ts +10 -0
  71. package/dist/esm/types/VideoViewportProperties.js +2 -0
  72. package/dist/esm/types/VideoViewportProperties.js.map +1 -0
  73. package/dist/esm/types/VideoViewportTypes.d.ts +18 -0
  74. package/dist/esm/types/VideoViewportTypes.js +2 -0
  75. package/dist/esm/types/VideoViewportTypes.js.map +1 -0
  76. package/dist/esm/types/index.d.ts +4 -1
  77. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +10 -2
  78. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
  79. package/dist/umd/index.js +1 -1
  80. package/dist/umd/index.js.map +1 -1
  81. package/package.json +2 -2
  82. package/src/RenderingEngine/BaseVolumeViewport.ts +2 -5
  83. package/src/RenderingEngine/RenderingEngine.ts +38 -21
  84. package/src/RenderingEngine/VideoViewport.ts +523 -0
  85. package/src/RenderingEngine/VolumeViewport.ts +8 -0
  86. package/src/RenderingEngine/helpers/viewportTypeToViewportClass.ts +2 -0
  87. package/src/enums/VideoViewport.ts +9 -0
  88. package/src/enums/ViewportType.ts +1 -0
  89. package/src/enums/index.ts +2 -0
  90. package/src/getEnabledElement.ts +4 -2
  91. package/src/index.ts +2 -0
  92. package/src/types/IEnabledElement.ts +4 -1
  93. package/src/types/IRenderingEngine.ts +5 -2
  94. package/src/types/IVideoViewport.ts +35 -0
  95. package/src/types/VideoViewportProperties.ts +17 -0
  96. package/src/types/VideoViewportTypes.ts +20 -0
  97. package/src/types/index.ts +11 -0
  98. package/src/utilities/getTargetVolumeAndSpacingInNormalDir.ts +25 -5
@@ -0,0 +1,17 @@
1
+ import { ViewportProperties } from './ViewportProperties';
2
+ import Point2 from './Point2';
3
+
4
+ /**
5
+ * Stack Viewport Properties
6
+ */
7
+ type VideoViewportProperties = ViewportProperties & {
8
+ loop?: boolean;
9
+ muted?: boolean;
10
+ pan?: Point2;
11
+ playbackRate?: number;
12
+ // The zoom factor, naming consistent with vtk cameras for now,
13
+ // but this isn't necessarily necessary.
14
+ parallelScale?: number;
15
+ };
16
+
17
+ export default VideoViewportProperties;
@@ -0,0 +1,20 @@
1
+ import { ViewportType } from '../enums';
2
+ import Point2 from './Point2';
3
+
4
+ export type InternalVideoCamera = {
5
+ panWorld?: Point2;
6
+ parallelScale?: number;
7
+ };
8
+
9
+ export type VideoViewportInput = {
10
+ id: string;
11
+ renderingEngineId: string;
12
+ type: ViewportType;
13
+ element: HTMLDivElement;
14
+ sx: number;
15
+ sy: number;
16
+ sWidth: number;
17
+ sHeight: number;
18
+ defaultOptions: any;
19
+ canvas: HTMLCanvasElement;
20
+ };
@@ -83,6 +83,12 @@ import type { PixelDataTypedArray } from './PixelDataTypedArray';
83
83
  import type { ImagePixelModule } from './ImagePixelModule';
84
84
  import type { ImagePlaneModule } from './ImagePlaneModule';
85
85
  import type { AffineMatrix } from './AffineMatrix';
86
+ import type VideoViewportProperties from './VideoViewportProperties';
87
+ import type IVideoViewport from './IVideoViewport';
88
+ import type {
89
+ InternalVideoCamera,
90
+ VideoViewportInput,
91
+ } from './VideoViewportTypes';
86
92
 
87
93
  export type {
88
94
  // config
@@ -90,6 +96,7 @@ export type {
90
96
  //
91
97
  ICamera,
92
98
  IStackViewport,
99
+ IVideoViewport,
93
100
  IVolumeViewport,
94
101
  IEnabledElement,
95
102
  ICache,
@@ -136,6 +143,7 @@ export type {
136
143
  Mat3,
137
144
  Plane,
138
145
  ViewportInputOptions,
146
+ VideoViewportProperties,
139
147
  VOIRange,
140
148
  VOI,
141
149
  DisplayArea,
@@ -180,4 +188,7 @@ export type {
180
188
  ImagePixelModule,
181
189
  ImagePlaneModule,
182
190
  AffineMatrix,
191
+ // video
192
+ InternalVideoCamera,
193
+ VideoViewportInput,
183
194
  };
@@ -1,7 +1,7 @@
1
1
  import cache from '../cache/cache';
2
2
  import { EPSILON } from '../constants';
3
3
  // import type { VolumeViewport } from '../RenderingEngine'
4
- import { ICamera, IImageVolume, IVolumeViewport } from '../types';
4
+ import { ICamera, IImageVolume, IVolumeViewport, Point3 } from '../types';
5
5
  import getSpacingInNormalDirection from './getSpacingInNormalDirection';
6
6
  import { getVolumeLoaderSchemes } from '../loaders/volumeLoader';
7
7
 
@@ -71,9 +71,11 @@ export default function getTargetVolumeAndSpacingInNormalDir(
71
71
 
72
72
  const imageVolume = imageVolumes[imageVolumeIndex];
73
73
  const { uid: actorUID } = volumeActors[imageVolumeIndex];
74
- const spacingInNormalDirection = getSpacingInNormalDirection(
74
+
75
+ const spacingInNormalDirection = getSpacingInNormal(
75
76
  imageVolume,
76
- viewPlaneNormal
77
+ viewPlaneNormal,
78
+ viewport
77
79
  );
78
80
 
79
81
  return { imageVolume, spacingInNormalDirection, actorUID };
@@ -104,9 +106,10 @@ export default function getTargetVolumeAndSpacingInNormalDir(
104
106
  continue;
105
107
  }
106
108
 
107
- const spacingInNormalDirection = getSpacingInNormalDirection(
109
+ const spacingInNormalDirection = getSpacingInNormal(
108
110
  imageVolume,
109
- viewPlaneNormal
111
+ viewPlaneNormal,
112
+ viewport
110
113
  );
111
114
 
112
115
  // Allow for EPSILON part larger requirement to prefer earlier volumes
@@ -124,3 +127,20 @@ export default function getTargetVolumeAndSpacingInNormalDir(
124
127
 
125
128
  return smallest;
126
129
  }
130
+
131
+ function getSpacingInNormal(
132
+ imageVolume: IImageVolume,
133
+ viewPlaneNormal: Point3,
134
+ viewport: IVolumeViewport
135
+ ): number {
136
+ const { slabThickness } = viewport.getProperties();
137
+ let spacingInNormalDirection = slabThickness;
138
+ if (!slabThickness) {
139
+ spacingInNormalDirection = getSpacingInNormalDirection(
140
+ imageVolume,
141
+ viewPlaneNormal
142
+ );
143
+ }
144
+
145
+ return spacingInNormalDirection;
146
+ }