@cornerstonejs/tools 5.4.17 → 5.5.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/esm/enums/Events.d.ts +7 -0
- package/dist/esm/enums/Events.js +7 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/tools/SliceIntersectionTool.d.ts +150 -0
- package/dist/esm/tools/SliceIntersectionTool.js +1065 -0
- package/dist/esm/tools/WorldCrosshairTool.d.ts +118 -0
- package/dist/esm/tools/WorldCrosshairTool.js +749 -0
- package/dist/esm/tools/annotation/LivewireContourTool.d.ts +1 -3
- package/dist/esm/tools/annotation/LivewireContourTool.js +0 -18
- package/dist/esm/tools/annotation/SplineROITool.d.ts +1 -3
- package/dist/esm/tools/annotation/SplineROITool.js +0 -18
- package/dist/esm/tools/base/AnnotationTool.d.ts +4 -0
- package/dist/esm/tools/base/AnnotationTool.js +20 -0
- package/dist/esm/tools/index.d.ts +3 -1
- package/dist/esm/tools/index.js +3 -1
- package/dist/esm/tools/worldCrosshair/WorldCrosshairLines3D.d.ts +8 -0
- package/dist/esm/tools/worldCrosshair/WorldCrosshairLines3D.js +81 -0
- package/dist/esm/utilities/genericViewportToolHelpers.d.ts +1 -0
- package/dist/esm/utilities/genericViewportToolHelpers.js +31 -0
- package/dist/esm/utilities/index.d.ts +3 -1
- package/dist/esm/utilities/index.js +3 -1
- package/dist/esm/utilities/pickIntensityPointInSlab.d.ts +7 -0
- package/dist/esm/utilities/pickIntensityPointInSlab.js +106 -0
- package/dist/esm/utilities/spatial/areViewportsSpatiallyLinked.d.ts +3 -0
- package/dist/esm/utilities/spatial/areViewportsSpatiallyLinked.js +48 -0
- package/dist/esm/utilities/spatial/clipWorldLineToViewportCanvas.d.ts +3 -0
- package/dist/esm/utilities/spatial/clipWorldLineToViewportCanvas.js +58 -0
- package/dist/esm/utilities/spatial/distancePointToPlane.d.ts +3 -0
- package/dist/esm/utilities/spatial/distancePointToPlane.js +6 -0
- package/dist/esm/utilities/spatial/getDisplayedCanvasSize.d.ts +5 -0
- package/dist/esm/utilities/spatial/getDisplayedCanvasSize.js +12 -0
- package/dist/esm/utilities/spatial/getViewportPlane.d.ts +3 -0
- package/dist/esm/utilities/spatial/getViewportPlane.js +33 -0
- package/dist/esm/utilities/spatial/index.d.ts +11 -0
- package/dist/esm/utilities/spatial/index.js +10 -0
- package/dist/esm/utilities/spatial/intersectPlanes.d.ts +2 -0
- package/dist/esm/utilities/spatial/intersectPlanes.js +30 -0
- package/dist/esm/utilities/spatial/projectPointToPlane.d.ts +3 -0
- package/dist/esm/utilities/spatial/projectPointToPlane.js +11 -0
- package/dist/esm/utilities/spatial/rotateViewportAroundWorldPoint.d.ts +2 -0
- package/dist/esm/utilities/spatial/rotateViewportAroundWorldPoint.js +34 -0
- package/dist/esm/utilities/spatial/translateViewportAlongNormal.d.ts +2 -0
- package/dist/esm/utilities/spatial/translateViewportAlongNormal.js +36 -0
- package/dist/esm/utilities/spatial/types.d.ts +19 -0
- package/dist/esm/utilities/spatial/types.js +0 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import { AnnotationTool } from './base/index.js';
|
|
3
|
+
import type { Annotation, Annotations, EventTypes, InteractionTypes, PublicToolProps, SVGDrawingHelper, ToolHandle, ToolProps } from '../types/index.js';
|
|
4
|
+
export type WorldCrosshairJumpMode = 'sliceOnly' | 'centered';
|
|
5
|
+
export type WorldCrosshairOffSliceDisplay = 'hide' | 'projected' | 'projectedWithDistance';
|
|
6
|
+
export type WorldCrosshairState = {
|
|
7
|
+
toolGroupId: string;
|
|
8
|
+
worldPoint: Types.Point3 | null;
|
|
9
|
+
sourceViewportId?: string;
|
|
10
|
+
sourceRenderingEngineId?: string;
|
|
11
|
+
frameOfReferenceUID?: string;
|
|
12
|
+
visible: boolean;
|
|
13
|
+
locked: boolean;
|
|
14
|
+
cursorWorldPoint?: Types.Point3 | null;
|
|
15
|
+
};
|
|
16
|
+
export type WorldCrosshairMarkerStyle = 'crosshair' | 'point';
|
|
17
|
+
export type WorldCrosshairToolConfiguration = {
|
|
18
|
+
pointColor: string;
|
|
19
|
+
pointRadius: number;
|
|
20
|
+
markerStyle: WorldCrosshairMarkerStyle;
|
|
21
|
+
centerGapRadius: number;
|
|
22
|
+
offSliceDisplay: WorldCrosshairOffSliceDisplay;
|
|
23
|
+
offSliceToleranceMm: number;
|
|
24
|
+
autoInitializeOnEnable: boolean;
|
|
25
|
+
clickToSet: boolean;
|
|
26
|
+
snapToSlabIntensity: boolean;
|
|
27
|
+
jumpOnSet: boolean;
|
|
28
|
+
jumpMode: WorldCrosshairJumpMode;
|
|
29
|
+
preservePanZoom: boolean;
|
|
30
|
+
liveUpdateOnShiftMouseMove: boolean;
|
|
31
|
+
liveJumpOnShiftMouseMove: boolean;
|
|
32
|
+
showIn2D: boolean;
|
|
33
|
+
showIn3D: boolean;
|
|
34
|
+
threeDViewportIds: string[];
|
|
35
|
+
threeDLineLengthMm: number;
|
|
36
|
+
linkPolicy: 'toolGroup' | 'frameOfReferenceUID' | 'explicit';
|
|
37
|
+
explicitLinkedViewportIds: string[];
|
|
38
|
+
};
|
|
39
|
+
export type WorldCrosshairPointChangedEventDetail = {
|
|
40
|
+
toolGroupId: string;
|
|
41
|
+
worldPoint: Types.Point3 | null;
|
|
42
|
+
sourceViewportId?: string;
|
|
43
|
+
sourceRenderingEngineId?: string;
|
|
44
|
+
frameOfReferenceUID?: string;
|
|
45
|
+
};
|
|
46
|
+
export type WorldCrosshairAnnotation = Annotation & {
|
|
47
|
+
data: {
|
|
48
|
+
handles: {
|
|
49
|
+
points: Types.Point3[];
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
declare class WorldCrosshairTool extends AnnotationTool {
|
|
54
|
+
static toolName: any;
|
|
55
|
+
static toolLabel: string;
|
|
56
|
+
private _state;
|
|
57
|
+
private _annotation;
|
|
58
|
+
private _isDragging;
|
|
59
|
+
private _autoInitialized;
|
|
60
|
+
constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
|
|
61
|
+
setWorldPoint(worldPoint: Types.Point3, options?: {
|
|
62
|
+
sourceViewportId?: string;
|
|
63
|
+
sourceRenderingEngineId?: string;
|
|
64
|
+
frameOfReferenceUID?: string;
|
|
65
|
+
jump?: boolean;
|
|
66
|
+
suppressEvents?: boolean;
|
|
67
|
+
}): void;
|
|
68
|
+
getWorldPoint(): Types.Point3 | null;
|
|
69
|
+
clearWorldPoint(options?: {
|
|
70
|
+
suppressEvents?: boolean;
|
|
71
|
+
}): void;
|
|
72
|
+
clearWorldCrosshair(options?: {
|
|
73
|
+
suppressEvents?: boolean;
|
|
74
|
+
}): void;
|
|
75
|
+
jumpLinkedViewportsToWorldPoint(options?: {
|
|
76
|
+
jumpMode?: WorldCrosshairJumpMode;
|
|
77
|
+
preservePanZoom?: boolean;
|
|
78
|
+
}): void;
|
|
79
|
+
setVisibility(visible: boolean): void;
|
|
80
|
+
setLocked(locked: boolean): void;
|
|
81
|
+
getState(): WorldCrosshairState;
|
|
82
|
+
onSetToolEnabled(): void;
|
|
83
|
+
onSetToolActive(): void;
|
|
84
|
+
onSetToolPassive(): void;
|
|
85
|
+
onSetToolDisabled(): void;
|
|
86
|
+
addNewAnnotation: (evt: EventTypes.InteractionEventType) => WorldCrosshairAnnotation;
|
|
87
|
+
toolSelectedCallback: (evt: EventTypes.InteractionEventType, annotation: Annotation) => void;
|
|
88
|
+
handleSelectedCallback: (evt: EventTypes.InteractionEventType, annotation: Annotation, _handle: ToolHandle, _interactionType?: InteractionTypes) => void;
|
|
89
|
+
doubleClickCallback: (evt: EventTypes.MouseDoubleClickEventType) => void;
|
|
90
|
+
mouseMoveCallback: (evt: EventTypes.MouseMoveEventType, filteredToolAnnotations?: Annotations) => boolean;
|
|
91
|
+
isPointNearTool: (element: HTMLDivElement, _annotation: WorldCrosshairAnnotation, canvasCoords: Types.Point2, proximity: number, _interactionType?: string) => boolean;
|
|
92
|
+
getHandleNearImagePoint(element: HTMLDivElement, annotation: Annotation, canvasCoords: Types.Point2, proximity: number): ToolHandle | undefined;
|
|
93
|
+
filterInteractableAnnotationsForElement: (element: HTMLDivElement, annotations: Annotations) => Annotations;
|
|
94
|
+
cancel: (element: HTMLDivElement) => void;
|
|
95
|
+
private _startDrag;
|
|
96
|
+
_dragCallback: (evt: EventTypes.InteractionEventType) => void;
|
|
97
|
+
_endCallback: (evt: EventTypes.InteractionEventType) => void;
|
|
98
|
+
renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper) => boolean;
|
|
99
|
+
private _maybeAutoInitialize;
|
|
100
|
+
private _jumpLinkedViewports;
|
|
101
|
+
private _jumpViewportToPoint;
|
|
102
|
+
private _get3DViewports;
|
|
103
|
+
private _update3DLines;
|
|
104
|
+
private _getMarkerUIDPrefix;
|
|
105
|
+
private _isPlanarViewport;
|
|
106
|
+
protected _getViewportsInfo(): Types.IViewportId[];
|
|
107
|
+
protected _getLinkedViewports(): Types.IViewport[];
|
|
108
|
+
private _isViewportLinked;
|
|
109
|
+
private _renderLinkedViewports;
|
|
110
|
+
private _getMarkerCanvasPosition;
|
|
111
|
+
private _resolveInteractionWorldPoint;
|
|
112
|
+
private _getSourceSlabThicknessMm;
|
|
113
|
+
private _getEffectiveOffSliceTolerance;
|
|
114
|
+
private _syncAnnotation;
|
|
115
|
+
private _getAnnotationOrDetached;
|
|
116
|
+
private _getEventDetail;
|
|
117
|
+
}
|
|
118
|
+
export default WorldCrosshairTool;
|