@cornerstonejs/tools 1.25.0 → 1.26.0
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/drawingSvg/drawRedactionRect.d.ts +1 -0
- package/dist/cjs/drawingSvg/drawRedactionRect.js +44 -0
- package/dist/cjs/drawingSvg/drawRedactionRect.js.map +1 -0
- package/dist/cjs/drawingSvg/index.d.ts +2 -1
- package/dist/cjs/drawingSvg/index.js +3 -1
- package/dist/cjs/drawingSvg/index.js.map +1 -1
- package/dist/cjs/eventListeners/touch/touchStartListener.js +0 -8
- package/dist/cjs/eventListeners/touch/touchStartListener.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +7 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tools/ZoomTool.js +2 -5
- package/dist/cjs/tools/ZoomTool.js.map +1 -1
- package/dist/cjs/tools/annotation/VideoRedactionTool.d.ts +46 -0
- package/dist/cjs/tools/annotation/VideoRedactionTool.js +492 -0
- package/dist/cjs/tools/annotation/VideoRedactionTool.js.map +1 -0
- package/dist/cjs/tools/base/AnnotationDisplayTool.d.ts +1 -1
- package/dist/cjs/tools/base/AnnotationDisplayTool.js +2 -1
- package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/base/BaseTool.js +3 -0
- package/dist/cjs/tools/base/BaseTool.js.map +1 -1
- package/dist/cjs/types/AnnotationTypes.d.ts +1 -1
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +20 -0
- package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js +6 -0
- package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
- package/dist/cjs/utilities/scroll.d.ts +1 -1
- package/dist/cjs/utilities/scroll.js +3 -0
- package/dist/cjs/utilities/scroll.js.map +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.d.ts +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js.map +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.d.ts +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
- package/dist/esm/drawingSvg/drawRedactionRect.d.ts +1 -0
- package/dist/esm/drawingSvg/drawRedactionRect.js +38 -0
- package/dist/esm/drawingSvg/drawRedactionRect.js.map +1 -0
- package/dist/esm/drawingSvg/index.d.ts +2 -1
- package/dist/esm/drawingSvg/index.js +2 -1
- package/dist/esm/drawingSvg/index.js.map +1 -1
- package/dist/esm/eventListeners/touch/touchStartListener.js +0 -8
- package/dist/esm/eventListeners/touch/touchStartListener.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/tools/ZoomTool.js +2 -5
- package/dist/esm/tools/ZoomTool.js.map +1 -1
- package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +46 -0
- package/dist/esm/tools/annotation/VideoRedactionTool.js +464 -0
- package/dist/esm/tools/annotation/VideoRedactionTool.js.map +1 -0
- package/dist/esm/tools/base/AnnotationDisplayTool.d.ts +1 -1
- package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -2
- package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/base/BaseTool.js +4 -1
- package/dist/esm/tools/base/BaseTool.js.map +1 -1
- package/dist/esm/types/AnnotationTypes.d.ts +1 -1
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +20 -0
- package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js +7 -1
- package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
- package/dist/esm/utilities/scroll.d.ts +1 -1
- package/dist/esm/utilities/scroll.js +4 -1
- package/dist/esm/utilities/scroll.js.map +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.d.ts +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js.map +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.d.ts +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/drawingSvg/drawRedactionRect.ts +62 -0
- package/src/drawingSvg/index.ts +2 -0
- package/src/eventListeners/touch/touchStartListener.ts +3 -10
- package/src/index.ts +3 -0
- package/src/tools/ZoomTool.ts +2 -10
- package/src/tools/annotation/VideoRedactionTool.ts +788 -0
- package/src/tools/base/AnnotationDisplayTool.ts +6 -3
- package/src/tools/base/AnnotationTool.ts +1 -1
- package/src/tools/base/BaseTool.ts +3 -0
- package/src/types/AnnotationTypes.ts +1 -1
- package/src/types/ToolSpecificAnnotationTypes.ts +21 -0
- package/src/utilities/planar/filterAnnotationsForDisplay.ts +7 -0
- package/src/utilities/scroll.ts +4 -1
- package/src/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.ts +1 -1
- package/src/utilities/viewportFilters/filterViewportsWithToolEnabled.ts +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
utilities,
|
|
3
3
|
getEnabledElement,
|
|
4
|
-
VolumeViewport,
|
|
5
4
|
StackViewport,
|
|
6
5
|
cache,
|
|
6
|
+
VideoViewport,
|
|
7
7
|
} from '@cornerstonejs/core';
|
|
8
8
|
import type { Types } from '@cornerstonejs/core';
|
|
9
9
|
|
|
@@ -123,7 +123,7 @@ abstract class AnnotationDisplayTool extends BaseTool {
|
|
|
123
123
|
};
|
|
124
124
|
|
|
125
125
|
protected getReferencedImageId(
|
|
126
|
-
viewport: Types.
|
|
126
|
+
viewport: Types.IViewport,
|
|
127
127
|
worldPos: Types.Point3,
|
|
128
128
|
viewPlaneNormal: Types.Point3,
|
|
129
129
|
viewUp: Types.Point3
|
|
@@ -132,7 +132,10 @@ abstract class AnnotationDisplayTool extends BaseTool {
|
|
|
132
132
|
|
|
133
133
|
let referencedImageId;
|
|
134
134
|
|
|
135
|
-
if (
|
|
135
|
+
if (
|
|
136
|
+
viewport instanceof StackViewport ||
|
|
137
|
+
viewport instanceof VideoViewport
|
|
138
|
+
) {
|
|
136
139
|
referencedImageId = targetId.split('imageId:')[1];
|
|
137
140
|
} else {
|
|
138
141
|
const volumeId = targetId.split('volumeId:')[1];
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
StackViewport,
|
|
3
3
|
utilities,
|
|
4
4
|
BaseVolumeViewport,
|
|
5
|
+
VideoViewport,
|
|
5
6
|
} from '@cornerstonejs/core';
|
|
6
7
|
import { Types } from '@cornerstonejs/core';
|
|
7
8
|
import { ToolModes } from '../../enums';
|
|
@@ -205,6 +206,8 @@ abstract class BaseTool implements IBaseTool {
|
|
|
205
206
|
return `imageId:${viewport.getCurrentImageId()}`;
|
|
206
207
|
} else if (viewport instanceof BaseVolumeViewport) {
|
|
207
208
|
return `volumeId:${this.getTargetVolumeId(viewport)}`;
|
|
209
|
+
} else if (viewport instanceof VideoViewport) {
|
|
210
|
+
return '';
|
|
208
211
|
} else {
|
|
209
212
|
throw new Error(
|
|
210
213
|
'getTargetId: viewport must be a StackViewport or VolumeViewport'
|
|
@@ -65,7 +65,7 @@ type Annotation = {
|
|
|
65
65
|
/** the world location of the text box */
|
|
66
66
|
worldPosition: Types.Point3;
|
|
67
67
|
/** text box bounding box information */
|
|
68
|
-
worldBoundingBox
|
|
68
|
+
worldBoundingBox?: {
|
|
69
69
|
/** Top left location of the text box in the world space */
|
|
70
70
|
topLeft: Types.Point3;
|
|
71
71
|
/** Top right location of the text box in the world space */
|
|
@@ -368,3 +368,24 @@ export interface ScaleOverlayAnnotation extends Annotation {
|
|
|
368
368
|
viewportId: string;
|
|
369
369
|
};
|
|
370
370
|
}
|
|
371
|
+
|
|
372
|
+
export interface VideoRedactionAnnotation extends Annotation {
|
|
373
|
+
metadata: {
|
|
374
|
+
viewPlaneNormal: Types.Point3;
|
|
375
|
+
viewUp: Types.Point3;
|
|
376
|
+
FrameOfReferenceUID: string;
|
|
377
|
+
referencedImageId: string;
|
|
378
|
+
toolName: string;
|
|
379
|
+
};
|
|
380
|
+
data: {
|
|
381
|
+
invalidated: boolean;
|
|
382
|
+
handles: {
|
|
383
|
+
points: Types.Point3[];
|
|
384
|
+
activeHandleIndex: number | null;
|
|
385
|
+
};
|
|
386
|
+
cachedStats: {
|
|
387
|
+
[key: string]: any; // Can be more specific if the structure is known
|
|
388
|
+
};
|
|
389
|
+
active: boolean;
|
|
390
|
+
};
|
|
391
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StackViewport,
|
|
3
3
|
VolumeViewport,
|
|
4
|
+
VideoViewport,
|
|
4
5
|
Types,
|
|
5
6
|
utilities as csUtils,
|
|
6
7
|
} from '@cornerstonejs/core';
|
|
@@ -50,6 +51,12 @@ export default function filterAnnotationsForDisplay(
|
|
|
50
51
|
const referenceImageURI = imageId.substring(colonIndex + 1);
|
|
51
52
|
return referenceImageURI === imageURI;
|
|
52
53
|
});
|
|
54
|
+
} else if (viewport instanceof VideoViewport) {
|
|
55
|
+
const frameOfReferenceUID: string = viewport.getFrameOfReferenceUID();
|
|
56
|
+
|
|
57
|
+
return annotations.filter((toolData) => {
|
|
58
|
+
return toolData.metadata.FrameOfReferenceUID === frameOfReferenceUID;
|
|
59
|
+
});
|
|
53
60
|
} else if (viewport instanceof VolumeViewport) {
|
|
54
61
|
const camera = viewport.getCamera();
|
|
55
62
|
|
package/src/utilities/scroll.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
EVENTS,
|
|
7
7
|
utilities as csUtils,
|
|
8
8
|
getEnabledElement,
|
|
9
|
+
VideoViewport,
|
|
9
10
|
} from '@cornerstonejs/core';
|
|
10
11
|
import { ScrollOptions, EventTypes } from '../types';
|
|
11
12
|
|
|
@@ -19,7 +20,7 @@ import { ScrollOptions, EventTypes } from '../types';
|
|
|
19
20
|
* @returns
|
|
20
21
|
*/
|
|
21
22
|
export default function scroll(
|
|
22
|
-
viewport: Types.
|
|
23
|
+
viewport: Types.IViewport,
|
|
23
24
|
options: ScrollOptions
|
|
24
25
|
): void {
|
|
25
26
|
// check if viewport is disabled then throw error
|
|
@@ -43,6 +44,8 @@ export default function scroll(
|
|
|
43
44
|
viewport.scroll(delta, options.debounceLoading, options.loop);
|
|
44
45
|
} else if (viewport instanceof VolumeViewport) {
|
|
45
46
|
scrollVolume(viewport, volumeId, delta);
|
|
47
|
+
} else if (viewport instanceof VideoViewport) {
|
|
48
|
+
viewport.scroll(delta);
|
|
46
49
|
} else {
|
|
47
50
|
throw new Error(`Not implemented for Viewport Type: ${viewportType}`);
|
|
48
51
|
}
|
|
@@ -10,7 +10,7 @@ import type { Types } from '@cornerstonejs/core';
|
|
|
10
10
|
* @returns A filtered array of viewports.
|
|
11
11
|
*/
|
|
12
12
|
export default function filterViewportsWithFrameOfReferenceUID(
|
|
13
|
-
viewports: Array<Types.
|
|
13
|
+
viewports: Array<Types.IViewport>,
|
|
14
14
|
FrameOfReferenceUID: string
|
|
15
15
|
): Array<Types.IStackViewport | Types.IVolumeViewport> {
|
|
16
16
|
const numViewports = viewports.length;
|
|
@@ -14,7 +14,7 @@ const { Active, Passive, Enabled } = ToolModes;
|
|
|
14
14
|
* @returns A filtered array of viewports.
|
|
15
15
|
*/
|
|
16
16
|
export default function filterViewportsWithToolEnabled(
|
|
17
|
-
viewports: Array<Types.
|
|
17
|
+
viewports: Array<Types.IViewport>,
|
|
18
18
|
toolName: string
|
|
19
19
|
): Array<Types.IStackViewport | Types.IVolumeViewport> {
|
|
20
20
|
const numViewports = viewports.length;
|