@cornerstonejs/core 1.77.13 → 1.78.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/RenderingEngine.d.ts +0 -2
- package/dist/cjs/RenderingEngine/RenderingEngine.js +0 -9
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.js +2 -2
- package/dist/cjs/RenderingEngine/VideoViewport.d.ts +2 -1
- package/dist/cjs/RenderingEngine/VideoViewport.js +15 -6
- package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/Viewport.d.ts +2 -1
- package/dist/cjs/RenderingEngine/Viewport.js +3 -0
- package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/WSIViewport.d.ts +82 -0
- package/dist/cjs/RenderingEngine/WSIViewport.js +447 -0
- package/dist/cjs/RenderingEngine/WSIViewport.js.map +1 -0
- 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/MetadataModules.d.ts +2 -1
- package/dist/cjs/enums/MetadataModules.js +1 -0
- package/dist/cjs/enums/MetadataModules.js.map +1 -1
- 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/index.d.ts +2 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/IRenderingEngine.d.ts +0 -2
- package/dist/cjs/types/IViewport.d.ts +7 -0
- package/dist/cjs/types/IWSIViewport.d.ts +13 -0
- package/dist/cjs/types/IWSIViewport.js +3 -0
- package/dist/cjs/types/IWSIViewport.js.map +1 -0
- package/dist/cjs/types/WSIViewportProperties.d.ts +3 -0
- package/dist/cjs/types/WSIViewportProperties.js +3 -0
- package/dist/cjs/types/WSIViewportProperties.js.map +1 -0
- package/dist/cjs/types/WSIViewportTypes.d.ts +13 -0
- package/dist/cjs/types/WSIViewportTypes.js +3 -0
- package/dist/cjs/types/WSIViewportTypes.js.map +1 -0
- package/dist/cjs/types/index.d.ts +5 -2
- package/dist/cjs/utilities/genericMetadataProvider.js +3 -1
- package/dist/cjs/utilities/genericMetadataProvider.js.map +1 -1
- package/dist/cjs/utilities/uuidv4.js +1 -1
- package/dist/cjs/utilities/uuidv4.js.map +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js +0 -9
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.js +2 -2
- package/dist/esm/RenderingEngine/VideoViewport.js +14 -6
- package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/Viewport.js +3 -0
- package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
- package/dist/esm/RenderingEngine/WSIViewport.js +405 -0
- package/dist/esm/RenderingEngine/WSIViewport.js.map +1 -0
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
- package/dist/esm/enums/MetadataModules.js +1 -0
- package/dist/esm/enums/MetadataModules.js.map +1 -1
- package/dist/esm/enums/ViewportType.js +1 -0
- package/dist/esm/enums/ViewportType.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/IWSIViewport.js +2 -0
- package/dist/esm/types/IWSIViewport.js.map +1 -0
- package/dist/esm/types/WSIViewportProperties.js +2 -0
- package/dist/esm/types/WSIViewportProperties.js.map +1 -0
- package/dist/esm/types/WSIViewportTypes.js +2 -0
- package/dist/esm/types/WSIViewportTypes.js.map +1 -0
- package/dist/esm/utilities/genericMetadataProvider.js +2 -1
- package/dist/esm/utilities/genericMetadataProvider.js.map +1 -1
- package/dist/esm/utilities/uuidv4.js +1 -1
- package/dist/esm/utilities/uuidv4.js.map +1 -1
- package/dist/types/RenderingEngine/RenderingEngine.d.ts +0 -2
- package/dist/types/RenderingEngine/RenderingEngine.d.ts.map +1 -1
- package/dist/types/RenderingEngine/VideoViewport.d.ts +2 -1
- package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -1
- package/dist/types/RenderingEngine/Viewport.d.ts +2 -1
- package/dist/types/RenderingEngine/Viewport.d.ts.map +1 -1
- package/dist/types/RenderingEngine/WSIViewport.d.ts +83 -0
- package/dist/types/RenderingEngine/WSIViewport.d.ts.map +1 -0
- package/dist/types/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
- package/dist/types/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts.map +1 -1
- package/dist/types/enums/MetadataModules.d.ts +2 -1
- package/dist/types/enums/MetadataModules.d.ts.map +1 -1
- package/dist/types/enums/ViewportType.d.ts +2 -1
- package/dist/types/enums/ViewportType.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/IRenderingEngine.d.ts +0 -2
- package/dist/types/types/IRenderingEngine.d.ts.map +1 -1
- package/dist/types/types/IViewport.d.ts +7 -0
- package/dist/types/types/IViewport.d.ts.map +1 -1
- package/dist/types/types/IWSIViewport.d.ts +14 -0
- package/dist/types/types/IWSIViewport.d.ts.map +1 -0
- package/dist/types/types/WSIViewportProperties.d.ts +4 -0
- package/dist/types/types/WSIViewportProperties.d.ts.map +1 -0
- package/dist/types/types/WSIViewportTypes.d.ts +14 -0
- package/dist/types/types/WSIViewportTypes.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +5 -2
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utilities/genericMetadataProvider.d.ts.map +1 -1
- package/dist/types/utilities/uuidv4.d.ts.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/RenderingEngine.ts +0 -20
- package/src/RenderingEngine/StackViewport.ts +2 -2
- package/src/RenderingEngine/VideoViewport.ts +38 -10
- package/src/RenderingEngine/Viewport.ts +8 -0
- package/src/RenderingEngine/WSIViewport.ts +661 -0
- package/src/RenderingEngine/helpers/viewportTypeToViewportClass.ts +2 -0
- package/src/enums/MetadataModules.ts +5 -0
- package/src/enums/ViewportType.ts +4 -0
- package/src/index.ts +2 -0
- package/src/types/IRenderingEngine.ts +0 -2
- package/src/types/IViewport.ts +20 -0
- package/src/types/IWSIViewport.ts +59 -0
- package/src/types/WSIViewportProperties.ts +8 -0
- package/src/types/WSIViewportTypes.ts +14 -0
- package/src/types/index.ts +8 -0
- package/src/utilities/genericMetadataProvider.ts +3 -2
- package/src/utilities/uuidv4.ts +1 -5
|
@@ -2,7 +2,6 @@ import IStackViewport from './IStackViewport';
|
|
|
2
2
|
import { PublicViewportInput } from './IViewport';
|
|
3
3
|
import IVolumeViewport from './IVolumeViewport';
|
|
4
4
|
import { IViewport } from './IViewport';
|
|
5
|
-
import IVideoViewport from './IVideoViewport';
|
|
6
5
|
|
|
7
6
|
export default interface IRenderingEngine {
|
|
8
7
|
id: string;
|
|
@@ -25,7 +24,6 @@ export default interface IRenderingEngine {
|
|
|
25
24
|
disableElement(viewportId: string): void;
|
|
26
25
|
getStackViewports(): Array<IStackViewport>;
|
|
27
26
|
getVolumeViewports(): Array<IVolumeViewport>;
|
|
28
|
-
getVideoViewports(): Array<IVideoViewport>;
|
|
29
27
|
destroy(): void;
|
|
30
28
|
_debugRender(): void;
|
|
31
29
|
}
|
package/src/types/IViewport.ts
CHANGED
|
@@ -217,6 +217,18 @@ export type ViewPresentationSelector = {
|
|
|
217
217
|
paletteLut?: boolean;
|
|
218
218
|
};
|
|
219
219
|
|
|
220
|
+
export type DataSetOptions = {
|
|
221
|
+
/**
|
|
222
|
+
* The group id is a volume, display set or other identification for the
|
|
223
|
+
* overall set of data. If set, then two sets of images can be compared for
|
|
224
|
+
* equality by comparing the group id.
|
|
225
|
+
* For volumes, if set, the groupId must be the primary volumeId.
|
|
226
|
+
*/
|
|
227
|
+
groupId?: string;
|
|
228
|
+
viewSelector?: ViewPresentationSelector;
|
|
229
|
+
viewReference?: ViewReferenceSpecifier;
|
|
230
|
+
};
|
|
231
|
+
|
|
220
232
|
/**
|
|
221
233
|
* Viewport interface for cornerstone viewports
|
|
222
234
|
*/
|
|
@@ -407,6 +419,14 @@ interface IViewport {
|
|
|
407
419
|
|
|
408
420
|
_getCorners(bounds: Array<number>): Array<number>[];
|
|
409
421
|
updateRenderingPipeline: () => void;
|
|
422
|
+
getTargetId?: () => string;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* This is a wrapper for setVideo to allow generic behaviour
|
|
426
|
+
* @param dataIds - a set of data ids that make up the data viewport
|
|
427
|
+
* @param options - an optional object with view reference/specifier
|
|
428
|
+
*/
|
|
429
|
+
setDataIds(dataIds: string[], options?: DataSetOptions): void;
|
|
410
430
|
}
|
|
411
431
|
|
|
412
432
|
/**
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { IViewport } from './IViewport';
|
|
2
|
+
import WSIViewportProperties from './WSIViewportProperties';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Interface for Stack Viewport
|
|
6
|
+
*/
|
|
7
|
+
export default interface IWSIViewport extends IViewport {
|
|
8
|
+
/**
|
|
9
|
+
* Resizes the viewport - only used in CPU fallback for StackViewport. The
|
|
10
|
+
* GPU resizing happens inside the RenderingEngine.
|
|
11
|
+
*/
|
|
12
|
+
resize: () => void;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the properties for the viewport on the default actor.
|
|
15
|
+
*/
|
|
16
|
+
setProperties(props: WSIViewportProperties, suppressEvents?: boolean): void;
|
|
17
|
+
/**
|
|
18
|
+
* Retrieve the viewport properties
|
|
19
|
+
*/
|
|
20
|
+
getProperties: () => WSIViewportProperties;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Sets the WSI to play.
|
|
24
|
+
* The WSI should have at least some metadata in the metadata provider,
|
|
25
|
+
* including:
|
|
26
|
+
* * study/series/sop common module for UIDs
|
|
27
|
+
* * `cineModule` for information on number of frames and playback rate
|
|
28
|
+
* * `imageUrlModule` - to get the URL for the image under the `rendered` attribute
|
|
29
|
+
*
|
|
30
|
+
* Without these, other tools requiring metadata wont work, although basic
|
|
31
|
+
* playback does work if the setWSIURL is used instead.
|
|
32
|
+
*/
|
|
33
|
+
setWSI: (imageIds: string[], client) => Promise<unknown>;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Reset the viewport properties to the default values
|
|
37
|
+
*/
|
|
38
|
+
resetProperties(): void;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Gets the current image id, including frame selction or frameless.
|
|
42
|
+
*/
|
|
43
|
+
getCurrentImageId(): string;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Gets the current frame, 1 based
|
|
47
|
+
*/
|
|
48
|
+
getFrameNumber(): number;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Sets the current frame
|
|
52
|
+
*/
|
|
53
|
+
setFrameNumber(frameNo: number);
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Centers Pan and resets the zoom for stack viewport.
|
|
57
|
+
*/
|
|
58
|
+
resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
|
|
59
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ViewportType } from '../enums';
|
|
2
|
+
|
|
3
|
+
export type WSIViewportInput = {
|
|
4
|
+
id: string;
|
|
5
|
+
renderingEngineId: string;
|
|
6
|
+
type: ViewportType;
|
|
7
|
+
element: HTMLDivElement;
|
|
8
|
+
sx: number;
|
|
9
|
+
sy: number;
|
|
10
|
+
sWidth: number;
|
|
11
|
+
sHeight: number;
|
|
12
|
+
defaultOptions: any;
|
|
13
|
+
canvas: HTMLCanvasElement;
|
|
14
|
+
};
|
package/src/types/index.ts
CHANGED
|
@@ -17,6 +17,7 @@ import type {
|
|
|
17
17
|
IViewport,
|
|
18
18
|
PublicViewportInput,
|
|
19
19
|
ViewReferenceSpecifier,
|
|
20
|
+
DataSetOptions,
|
|
20
21
|
ReferenceCompatibleOptions,
|
|
21
22
|
ViewReference,
|
|
22
23
|
ViewPresentation,
|
|
@@ -63,6 +64,7 @@ import type FlipDirection from './FlipDirection';
|
|
|
63
64
|
import type ICachedImage from './ICachedImage';
|
|
64
65
|
import type ICachedVolume from './ICachedVolume';
|
|
65
66
|
import type IStackViewport from './IStackViewport';
|
|
67
|
+
import type IWSIViewport from './IWSIViewport';
|
|
66
68
|
import type IVolumeViewport from './IVolumeViewport';
|
|
67
69
|
import type ViewportPreset from './ViewportPreset';
|
|
68
70
|
|
|
@@ -116,11 +118,13 @@ export type {
|
|
|
116
118
|
import type { ImageLoadListener } from './ImageLoadListener';
|
|
117
119
|
import type { Color, ColorLUT } from './Color';
|
|
118
120
|
import type VideoViewportProperties from './VideoViewportProperties';
|
|
121
|
+
import type WSIViewportProperties from './WSIViewportProperties';
|
|
119
122
|
import type IVideoViewport from './IVideoViewport';
|
|
120
123
|
import type {
|
|
121
124
|
InternalVideoCamera,
|
|
122
125
|
VideoViewportInput,
|
|
123
126
|
} from './VideoViewportTypes';
|
|
127
|
+
import { WSIViewportInput } from './WSIViewportTypes';
|
|
124
128
|
import { ISurface } from './ISurface';
|
|
125
129
|
import type BoundsIJK from './BoundsIJK';
|
|
126
130
|
import type { ImageVolumeProps } from './ImageVolumeProps';
|
|
@@ -137,6 +141,7 @@ export type {
|
|
|
137
141
|
ICamera,
|
|
138
142
|
IStackViewport,
|
|
139
143
|
IVideoViewport,
|
|
144
|
+
IWSIViewport,
|
|
140
145
|
IVolumeViewport,
|
|
141
146
|
IEnabledElement,
|
|
142
147
|
ICache,
|
|
@@ -163,6 +168,7 @@ export type {
|
|
|
163
168
|
IStreamingVolumeProperties,
|
|
164
169
|
IViewport,
|
|
165
170
|
ViewReference,
|
|
171
|
+
DataSetOptions as ImageSetOptions,
|
|
166
172
|
ViewPresentation,
|
|
167
173
|
ViewPresentationSelector,
|
|
168
174
|
ReferenceCompatibleOptions,
|
|
@@ -196,6 +202,7 @@ export type {
|
|
|
196
202
|
Plane,
|
|
197
203
|
ViewportInputOptions,
|
|
198
204
|
VideoViewportProperties,
|
|
205
|
+
WSIViewportProperties,
|
|
199
206
|
VOIRange,
|
|
200
207
|
VOI,
|
|
201
208
|
DisplayArea,
|
|
@@ -246,6 +253,7 @@ export type {
|
|
|
246
253
|
// video
|
|
247
254
|
InternalVideoCamera,
|
|
248
255
|
VideoViewportInput,
|
|
256
|
+
WSIViewportInput,
|
|
249
257
|
BoundsIJK,
|
|
250
258
|
BoundsLPS,
|
|
251
259
|
Color,
|
|
@@ -17,8 +17,9 @@ const metadataProvider = {
|
|
|
17
17
|
state[imageId] = {};
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
//
|
|
21
|
-
state[imageId][type] =
|
|
20
|
+
// Use the raw metadata, or create a deep copy of payload.metadata
|
|
21
|
+
state[imageId][type] =
|
|
22
|
+
payload.rawMetadata ?? structuredClone(payload.metadata);
|
|
22
23
|
},
|
|
23
24
|
|
|
24
25
|
/**
|
package/src/utilities/uuidv4.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// prettier-ignore
|
|
2
|
-
// @ts-nocheck
|
|
3
1
|
/**
|
|
4
2
|
* Generates a unique id that has limited chance of collision
|
|
5
3
|
*
|
|
@@ -7,7 +5,5 @@
|
|
|
7
5
|
* @returns a v4 compliant GUID
|
|
8
6
|
*/
|
|
9
7
|
export default function uuidv4(): string {
|
|
10
|
-
return (
|
|
11
|
-
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
|
|
12
|
-
);
|
|
8
|
+
return crypto.randomUUID();
|
|
13
9
|
}
|