@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "dist/esm/index.d.ts",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"type": "individual",
|
|
47
47
|
"url": "https://ohif.org/donate"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "ae311e637fc7751c06e14c71d704d58ce572a7d4"
|
|
50
50
|
}
|
|
@@ -31,7 +31,6 @@ import type {
|
|
|
31
31
|
Point2,
|
|
32
32
|
Point3,
|
|
33
33
|
VOIRange,
|
|
34
|
-
ViewportProperties,
|
|
35
34
|
VolumeViewportProperties,
|
|
36
35
|
} from '../types';
|
|
37
36
|
import { VoiModifiedEventDetail } from '../types/EventTypes';
|
|
@@ -79,7 +78,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
79
78
|
VolumeViewportProperties
|
|
80
79
|
>();
|
|
81
80
|
|
|
82
|
-
|
|
81
|
+
protected viewportProperties: VolumeViewportProperties = {};
|
|
83
82
|
|
|
84
83
|
constructor(props: ViewportInput) {
|
|
85
84
|
super(props);
|
|
@@ -606,9 +605,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
606
605
|
|
|
607
606
|
if (properties.slabThickness !== undefined) {
|
|
608
607
|
this.setSlabThickness(properties.slabThickness);
|
|
609
|
-
//We need to set the current
|
|
610
|
-
// this.currentViewportProperties.get(volumeId).slabThickness =
|
|
611
|
-
// properties.slabThickness;
|
|
608
|
+
//We need to set the current slabThickness here since setSlabThickness is define in VolumeViewport
|
|
612
609
|
this.viewportProperties.slabThickness = properties.slabThickness;
|
|
613
610
|
}
|
|
614
611
|
|
|
@@ -11,8 +11,13 @@ import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesC
|
|
|
11
11
|
import getOrCreateCanvas from './helpers/getOrCreateCanvas';
|
|
12
12
|
import { getShouldUseCPURendering, isCornerstoneInitialized } from '../init';
|
|
13
13
|
import type IStackViewport from '../types/IStackViewport';
|
|
14
|
+
import type IVideoViewport from '../types/IVideoViewport';
|
|
14
15
|
import type IRenderingEngine from '../types/IRenderingEngine';
|
|
15
16
|
import type IVolumeViewport from '../types/IVolumeViewport';
|
|
17
|
+
import type { IViewport } from '../types/IViewport';
|
|
18
|
+
import VideoViewport from './VideoViewport';
|
|
19
|
+
import viewportTypeToViewportClass from './helpers/viewportTypeToViewportClass';
|
|
20
|
+
|
|
16
21
|
import type * as EventTypes from '../types/EventTypes';
|
|
17
22
|
import type {
|
|
18
23
|
ViewportInput,
|
|
@@ -20,7 +25,7 @@ import type {
|
|
|
20
25
|
InternalViewportInput,
|
|
21
26
|
NormalizedViewportInput,
|
|
22
27
|
} from '../types/IViewport';
|
|
23
|
-
import { OrientationAxis
|
|
28
|
+
import { OrientationAxis } from '../enums';
|
|
24
29
|
import VolumeViewport3D from './VolumeViewport3D';
|
|
25
30
|
|
|
26
31
|
type ViewportDisplayCoords = {
|
|
@@ -73,7 +78,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
73
78
|
public hasBeenDestroyed: boolean;
|
|
74
79
|
public offscreenMultiRenderWindow: any;
|
|
75
80
|
readonly offScreenCanvasContainer: any; // WebGL
|
|
76
|
-
private _viewports: Map<string,
|
|
81
|
+
private _viewports: Map<string, IViewport>;
|
|
77
82
|
private _needsRender: Set<string> = new Set();
|
|
78
83
|
private _animationFrameSet = false;
|
|
79
84
|
private _animationFrameHandle: number | null = null;
|
|
@@ -346,7 +351,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
346
351
|
*
|
|
347
352
|
* @returns viewport
|
|
348
353
|
*/
|
|
349
|
-
public getViewport(viewportId: string):
|
|
354
|
+
public getViewport(viewportId: string): IViewport {
|
|
350
355
|
return this._viewports.get(viewportId);
|
|
351
356
|
}
|
|
352
357
|
|
|
@@ -355,7 +360,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
355
360
|
*
|
|
356
361
|
* @returns Array of viewports
|
|
357
362
|
*/
|
|
358
|
-
public getViewports(): Array<
|
|
363
|
+
public getViewports(): Array<IViewport> {
|
|
359
364
|
this._throwIfDestroyed();
|
|
360
365
|
|
|
361
366
|
return this._getViewportsAsArray();
|
|
@@ -371,12 +376,30 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
371
376
|
const viewports = this.getViewports();
|
|
372
377
|
|
|
373
378
|
const isStackViewport = (
|
|
374
|
-
viewport:
|
|
379
|
+
viewport: IViewport
|
|
375
380
|
): viewport is StackViewport => {
|
|
376
381
|
return viewport instanceof StackViewport;
|
|
377
382
|
};
|
|
378
383
|
|
|
379
|
-
return viewports.filter(isStackViewport)
|
|
384
|
+
return viewports.filter(isStackViewport) as Array<IStackViewport>;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Filters all the available viewports and return the stack viewports
|
|
389
|
+
* @returns stack viewports registered on the rendering Engine
|
|
390
|
+
*/
|
|
391
|
+
public getVideoViewports(): Array<IVideoViewport> {
|
|
392
|
+
this._throwIfDestroyed();
|
|
393
|
+
|
|
394
|
+
const viewports = this.getViewports();
|
|
395
|
+
|
|
396
|
+
const isVideoViewport = (
|
|
397
|
+
viewport: IViewport
|
|
398
|
+
): viewport is VideoViewport => {
|
|
399
|
+
return viewport instanceof VideoViewport;
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
return viewports.filter(isVideoViewport) as Array<IVideoViewport>;
|
|
380
403
|
}
|
|
381
404
|
|
|
382
405
|
/**
|
|
@@ -389,7 +412,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
389
412
|
const viewports = this.getViewports();
|
|
390
413
|
|
|
391
414
|
const isVolumeViewport = (
|
|
392
|
-
viewport:
|
|
415
|
+
viewport: IViewport
|
|
393
416
|
): viewport is BaseVolumeViewport => {
|
|
394
417
|
return viewport instanceof BaseVolumeViewport;
|
|
395
418
|
};
|
|
@@ -822,15 +845,9 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
822
845
|
};
|
|
823
846
|
|
|
824
847
|
// 4. Create a proper viewport based on the type of the viewport
|
|
848
|
+
const ViewportType = viewportTypeToViewportClass[type];
|
|
825
849
|
|
|
826
|
-
|
|
827
|
-
// In the future these will need to be pluggable, but we aren't there yet
|
|
828
|
-
// and these are just Stacks for now.
|
|
829
|
-
throw new Error('Support for fully custom viewports not yet implemented');
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
// 4.a Create stack viewport
|
|
833
|
-
const viewport = new StackViewport(viewportInput);
|
|
850
|
+
const viewport = new ViewportType(viewportInput);
|
|
834
851
|
|
|
835
852
|
// 5. Storing the viewports
|
|
836
853
|
this._viewports.set(viewportId, viewport);
|
|
@@ -961,7 +978,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
961
978
|
* @returns _xOffset the final offset which will be used for the next viewport
|
|
962
979
|
*/
|
|
963
980
|
private _resize(
|
|
964
|
-
viewportsDrivenByVtkJs: Array<
|
|
981
|
+
viewportsDrivenByVtkJs: Array<IViewport>,
|
|
965
982
|
offScreenCanvasWidth: number,
|
|
966
983
|
offScreenCanvasHeight: number
|
|
967
984
|
): number {
|
|
@@ -1018,7 +1035,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
1018
1035
|
* @param _xOffset - xOffSet to draw
|
|
1019
1036
|
*/
|
|
1020
1037
|
private _getViewportCoordsOnOffScreenCanvas(
|
|
1021
|
-
viewport: InternalViewportInput |
|
|
1038
|
+
viewport: InternalViewportInput | IViewport,
|
|
1022
1039
|
offScreenCanvasWidth: number,
|
|
1023
1040
|
offScreenCanvasHeight: number,
|
|
1024
1041
|
_xOffset: number
|
|
@@ -1177,7 +1194,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
1177
1194
|
* @param viewport - The viewport to render
|
|
1178
1195
|
*/
|
|
1179
1196
|
private renderViewportUsingCustomOrVtkPipeline(
|
|
1180
|
-
viewport:
|
|
1197
|
+
viewport: IViewport
|
|
1181
1198
|
): EventTypes.ImageRenderedEventDetail[] {
|
|
1182
1199
|
let eventDetail;
|
|
1183
1200
|
|
|
@@ -1187,7 +1204,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
1187
1204
|
viewport.sWidth < VIEWPORT_MIN_SIZE ||
|
|
1188
1205
|
viewport.sHeight < VIEWPORT_MIN_SIZE
|
|
1189
1206
|
) {
|
|
1190
|
-
console.
|
|
1207
|
+
console.warn('Viewport is too small', viewport.sWidth, viewport.sHeight);
|
|
1191
1208
|
return;
|
|
1192
1209
|
}
|
|
1193
1210
|
if (viewportTypeUsesCustomRenderingPipeline(viewport.type) === true) {
|
|
@@ -1221,7 +1238,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
1221
1238
|
* @param offScreenCanvas - The offscreen canvas to render from.
|
|
1222
1239
|
*/
|
|
1223
1240
|
private _renderViewportFromVtkCanvasToOnscreenCanvas(
|
|
1224
|
-
viewport:
|
|
1241
|
+
viewport: IViewport,
|
|
1225
1242
|
offScreenCanvas
|
|
1226
1243
|
): EventTypes.ImageRenderedEventDetail {
|
|
1227
1244
|
const {
|
|
@@ -1267,7 +1284,7 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
1267
1284
|
*
|
|
1268
1285
|
* @param viewport - The `Viewport` to render.
|
|
1269
1286
|
*/
|
|
1270
|
-
private _resetViewport(viewport:
|
|
1287
|
+
private _resetViewport(viewport: IViewport) {
|
|
1271
1288
|
const renderingEngineId = this.id;
|
|
1272
1289
|
|
|
1273
1290
|
const { element, canvas, id: viewportId } = viewport;
|