@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.78.1",
|
|
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": "
|
|
50
|
+
"gitHead": "a3f12ef5eecb12158a9067945c7dc779f6feb3ea"
|
|
51
51
|
}
|
|
@@ -11,11 +11,9 @@ 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';
|
|
15
14
|
import type IRenderingEngine from '../types/IRenderingEngine';
|
|
16
15
|
import type IVolumeViewport from '../types/IVolumeViewport';
|
|
17
16
|
import type { IViewport } from '../types/IViewport';
|
|
18
|
-
import VideoViewport from './VideoViewport';
|
|
19
17
|
import viewportTypeToViewportClass from './helpers/viewportTypeToViewportClass';
|
|
20
18
|
|
|
21
19
|
import type * as EventTypes from '../types/EventTypes';
|
|
@@ -389,24 +387,6 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
389
387
|
return viewports.filter(isStackViewport) as Array<IStackViewport>;
|
|
390
388
|
}
|
|
391
389
|
|
|
392
|
-
/**
|
|
393
|
-
* Filters all the available viewports and return the stack viewports
|
|
394
|
-
* @returns stack viewports registered on the rendering Engine
|
|
395
|
-
*/
|
|
396
|
-
public getVideoViewports(): Array<IVideoViewport> {
|
|
397
|
-
this._throwIfDestroyed();
|
|
398
|
-
|
|
399
|
-
const viewports = this.getViewports();
|
|
400
|
-
|
|
401
|
-
const isVideoViewport = (
|
|
402
|
-
viewport: IViewport
|
|
403
|
-
): viewport is VideoViewport => {
|
|
404
|
-
return viewport instanceof VideoViewport;
|
|
405
|
-
};
|
|
406
|
-
|
|
407
|
-
return viewports.filter(isVideoViewport) as Array<IVideoViewport>;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
390
|
/**
|
|
411
391
|
* Return all the viewports that are volume viewports
|
|
412
392
|
* @returns An array of VolumeViewport objects.
|
|
@@ -2760,7 +2760,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
|
|
|
2760
2760
|
|
|
2761
2761
|
const diff = vec3.subtract(vec3.create(), worldPos, origin);
|
|
2762
2762
|
|
|
2763
|
-
const
|
|
2763
|
+
const indexPoint: Point2 = [
|
|
2764
2764
|
vec3.dot(diff, iVector) / spacing[0],
|
|
2765
2765
|
vec3.dot(diff, jVector) / spacing[1],
|
|
2766
2766
|
];
|
|
@@ -2768,7 +2768,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
|
|
|
2768
2768
|
// pixel to canvas
|
|
2769
2769
|
const canvasPoint = pixelToCanvas(
|
|
2770
2770
|
this._cpuFallbackEnabledElement,
|
|
2771
|
-
|
|
2771
|
+
indexPoint
|
|
2772
2772
|
);
|
|
2773
2773
|
return canvasPoint;
|
|
2774
2774
|
};
|
|
@@ -18,6 +18,7 @@ import type {
|
|
|
18
18
|
ViewReferenceSpecifier,
|
|
19
19
|
ViewReference,
|
|
20
20
|
ReferenceCompatibleOptions,
|
|
21
|
+
ImageSetOptions,
|
|
21
22
|
} from '../types';
|
|
22
23
|
import * as metaData from '../metaData';
|
|
23
24
|
import { Transform } from './helpers/cpuFallback/rendering/transform';
|
|
@@ -81,7 +82,7 @@ class VideoViewport extends Viewport implements IVideoViewport {
|
|
|
81
82
|
private fps = 30;
|
|
82
83
|
|
|
83
84
|
/** The number of frames in the video */
|
|
84
|
-
private numberOfFrames
|
|
85
|
+
private numberOfFrames: number;
|
|
85
86
|
|
|
86
87
|
private videoCamera: InternalVideoCamera = {
|
|
87
88
|
panWorld: [0, 0],
|
|
@@ -214,6 +215,19 @@ class VideoViewport extends Viewport implements IVideoViewport {
|
|
|
214
215
|
};
|
|
215
216
|
}
|
|
216
217
|
|
|
218
|
+
/**
|
|
219
|
+
* This is a wrapper for setVideo to allow generic behaviour
|
|
220
|
+
*
|
|
221
|
+
* @param _groupId - the id for the overall set of image ids. Unused for video viewport.
|
|
222
|
+
* @param imageIds - a singleton list containing the imageId of a video.
|
|
223
|
+
*/
|
|
224
|
+
public setDataIds(imageIds: string[], options?: ImageSetOptions) {
|
|
225
|
+
this.setVideo(
|
|
226
|
+
imageIds[0],
|
|
227
|
+
(options?.viewReference?.sliceIndex as number) || 1
|
|
228
|
+
);
|
|
229
|
+
}
|
|
230
|
+
|
|
217
231
|
/**
|
|
218
232
|
* Sets the video image id to show and hte frame number.
|
|
219
233
|
* Requirements are to have the imageUrlModule in the metadata
|
|
@@ -221,17 +235,24 @@ class VideoViewport extends Viewport implements IVideoViewport {
|
|
|
221
235
|
*/
|
|
222
236
|
public setVideo(imageId: string, frameNumber?: number): Promise<unknown> {
|
|
223
237
|
this.imageId = Array.isArray(imageId) ? imageId[0] : imageId;
|
|
224
|
-
const
|
|
238
|
+
const imageUrlModule = metaData.get(MetadataModules.IMAGE_URL, imageId);
|
|
239
|
+
if (!imageUrlModule?.rendered) {
|
|
240
|
+
throw new Error(
|
|
241
|
+
`Video Image ID ${imageId} does not have a rendered video view`
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
const { rendered } = imageUrlModule;
|
|
225
245
|
const generalSeries = metaData.get(MetadataModules.GENERAL_SERIES, imageId);
|
|
226
246
|
this.modality = generalSeries?.Modality;
|
|
227
247
|
this.metadata = this.getImageDataMetadata(imageId);
|
|
248
|
+
let { cineRate, numberOfFrames } = metaData.get(
|
|
249
|
+
MetadataModules.CINE,
|
|
250
|
+
imageId
|
|
251
|
+
);
|
|
252
|
+
this.numberOfFrames = numberOfFrames;
|
|
228
253
|
|
|
229
254
|
return this.setVideoURL(rendered).then(() => {
|
|
230
|
-
|
|
231
|
-
MetadataModules.CINE,
|
|
232
|
-
imageId
|
|
233
|
-
);
|
|
234
|
-
if (!numberOfFrames) {
|
|
255
|
+
if (!numberOfFrames || numberOfFrames === 1) {
|
|
235
256
|
numberOfFrames = Math.round(
|
|
236
257
|
this.videoElement.duration * (cineRate || 30)
|
|
237
258
|
);
|
|
@@ -578,7 +599,7 @@ class VideoViewport extends Viewport implements IVideoViewport {
|
|
|
578
599
|
* @param imageURI - containing frame number or range.
|
|
579
600
|
* @returns
|
|
580
601
|
*/
|
|
581
|
-
public hasImageURI(imageURI: string) {
|
|
602
|
+
public hasImageURI(imageURI: string): boolean {
|
|
582
603
|
// TODO - move annotationFrameRange into core so it can be used here.
|
|
583
604
|
const framesMatch = imageURI.match(VideoViewport.frameRangeExtractor);
|
|
584
605
|
const testURI = framesMatch
|
|
@@ -826,9 +847,10 @@ class VideoViewport extends Viewport implements IVideoViewport {
|
|
|
826
847
|
};
|
|
827
848
|
|
|
828
849
|
public getNumberOfSlices = (): number => {
|
|
829
|
-
|
|
850
|
+
const computedSlices = Math.round(
|
|
830
851
|
(this.videoElement.duration * this.fps) / this.scrollSpeed
|
|
831
852
|
);
|
|
853
|
+
return isNaN(computedSlices) ? this.numberOfFrames : computedSlices;
|
|
832
854
|
};
|
|
833
855
|
|
|
834
856
|
public getFrameOfReferenceUID = (): string => {
|
|
@@ -1062,7 +1084,13 @@ class VideoViewport extends Viewport implements IVideoViewport {
|
|
|
1062
1084
|
transformationMatrix[5]
|
|
1063
1085
|
);
|
|
1064
1086
|
|
|
1065
|
-
ctx.drawImage(
|
|
1087
|
+
ctx.drawImage(
|
|
1088
|
+
this.videoElement,
|
|
1089
|
+
0,
|
|
1090
|
+
0,
|
|
1091
|
+
this.videoWidth || 1024,
|
|
1092
|
+
this.videoHeight || 1024
|
|
1093
|
+
);
|
|
1066
1094
|
|
|
1067
1095
|
for (const actor of this.getActors()) {
|
|
1068
1096
|
(actor.actor as ICanvasActor).render(this, this.canvasContext);
|
|
@@ -39,6 +39,7 @@ import type {
|
|
|
39
39
|
ViewReferenceSpecifier,
|
|
40
40
|
ReferenceCompatibleOptions,
|
|
41
41
|
ViewPresentationSelector,
|
|
42
|
+
DataSetOptions,
|
|
42
43
|
} from '../types/IViewport';
|
|
43
44
|
import type { vtkSlabCamera } from './vtkClasses/vtkSlabCamera';
|
|
44
45
|
import { getConfiguration } from '../init';
|
|
@@ -1869,6 +1870,13 @@ class Viewport implements IViewport {
|
|
|
1869
1870
|
const radius = Math.sqrt(w1 + w2 + w3 || 1) * 0.5;
|
|
1870
1871
|
return radius;
|
|
1871
1872
|
}
|
|
1873
|
+
|
|
1874
|
+
/**
|
|
1875
|
+
* This is a wrapper for setStack/setVideo/etc
|
|
1876
|
+
*/
|
|
1877
|
+
public setDataIds(_imageIds: string[], _options?: DataSetOptions) {
|
|
1878
|
+
throw new Error('Unsupported operatoin setDataIds');
|
|
1879
|
+
}
|
|
1872
1880
|
}
|
|
1873
1881
|
|
|
1874
1882
|
export default Viewport;
|