@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.
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.d.ts +5 -2
- package/dist/cjs/RenderingEngine/RenderingEngine.js +13 -5
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/VideoViewport.d.ts +51 -0
- package/dist/cjs/RenderingEngine/VideoViewport.js +355 -0
- package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -0
- package/dist/cjs/RenderingEngine/VolumeViewport.js +6 -0
- package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
- package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
- package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
- package/dist/cjs/enums/VideoViewport.d.ts +5 -0
- package/dist/cjs/enums/VideoViewport.js +10 -0
- package/dist/cjs/enums/VideoViewport.js.map +1 -0
- package/dist/cjs/enums/ViewportType.d.ts +2 -1
- package/dist/cjs/enums/ViewportType.js +1 -0
- package/dist/cjs/enums/ViewportType.js.map +1 -1
- package/dist/cjs/enums/index.d.ts +2 -1
- package/dist/cjs/enums/index.js +26 -1
- package/dist/cjs/enums/index.js.map +1 -1
- package/dist/cjs/getEnabledElement.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/IRenderingEngine.d.ts +5 -2
- package/dist/cjs/types/IVideoViewport.d.ts +12 -0
- package/dist/cjs/types/IVideoViewport.js +3 -0
- package/dist/cjs/types/IVideoViewport.js.map +1 -0
- package/dist/cjs/types/VideoViewportProperties.d.ts +10 -0
- package/dist/cjs/types/VideoViewportProperties.js +3 -0
- package/dist/cjs/types/VideoViewportProperties.js.map +1 -0
- package/dist/cjs/types/VideoViewportTypes.d.ts +18 -0
- package/dist/cjs/types/VideoViewportTypes.js +3 -0
- package/dist/cjs/types/VideoViewportTypes.js.map +1 -0
- package/dist/cjs/types/index.d.ts +4 -1
- package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +10 -2
- package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.d.ts +5 -2
- package/dist/esm/RenderingEngine/RenderingEngine.js +13 -5
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/VideoViewport.d.ts +51 -0
- package/dist/esm/RenderingEngine/VideoViewport.js +330 -0
- package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -0
- package/dist/esm/RenderingEngine/VolumeViewport.js +6 -0
- package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
- package/dist/esm/enums/VideoViewport.d.ts +5 -0
- package/dist/esm/enums/VideoViewport.js +7 -0
- package/dist/esm/enums/VideoViewport.js.map +1 -0
- package/dist/esm/enums/ViewportType.d.ts +2 -1
- package/dist/esm/enums/ViewportType.js +1 -0
- package/dist/esm/enums/ViewportType.js.map +1 -1
- package/dist/esm/enums/index.d.ts +2 -1
- package/dist/esm/enums/index.js +2 -1
- package/dist/esm/enums/index.js.map +1 -1
- package/dist/esm/getEnabledElement.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/IRenderingEngine.d.ts +5 -2
- package/dist/esm/types/IVideoViewport.d.ts +12 -0
- package/dist/esm/types/IVideoViewport.js +2 -0
- package/dist/esm/types/IVideoViewport.js.map +1 -0
- package/dist/esm/types/VideoViewportProperties.d.ts +10 -0
- package/dist/esm/types/VideoViewportProperties.js +2 -0
- package/dist/esm/types/VideoViewportProperties.js.map +1 -0
- package/dist/esm/types/VideoViewportTypes.d.ts +18 -0
- package/dist/esm/types/VideoViewportTypes.js +2 -0
- package/dist/esm/types/VideoViewportTypes.js.map +1 -0
- package/dist/esm/types/index.d.ts +4 -1
- package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +10 -2
- package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/src/RenderingEngine/BaseVolumeViewport.ts +2 -5
- package/src/RenderingEngine/RenderingEngine.ts +38 -21
- package/src/RenderingEngine/VideoViewport.ts +523 -0
- package/src/RenderingEngine/VolumeViewport.ts +8 -0
- package/src/RenderingEngine/helpers/viewportTypeToViewportClass.ts +2 -0
- package/src/enums/VideoViewport.ts +9 -0
- package/src/enums/ViewportType.ts +1 -0
- package/src/enums/index.ts +2 -0
- package/src/getEnabledElement.ts +4 -2
- package/src/index.ts +2 -0
- package/src/types/IEnabledElement.ts +4 -1
- package/src/types/IRenderingEngine.ts +5 -2
- package/src/types/IVideoViewport.ts +35 -0
- package/src/types/VideoViewportProperties.ts +17 -0
- package/src/types/VideoViewportTypes.ts +20 -0
- package/src/types/index.ts +11 -0
- 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
|
+
};
|
package/src/types/index.ts
CHANGED
|
@@ -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
|
-
|
|
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 =
|
|
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
|
+
}
|