@cornerstonejs/tools 0.40.2 → 0.41.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.
@@ -8,6 +8,6 @@ import * as cursors from './cursors';
8
8
  import * as Types from './types';
9
9
  import * as annotation from './stateManagement/annotation';
10
10
  import * as segmentation from './stateManagement/segmentation';
11
- import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool } from './tools';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool } from './tools';
12
12
  import * as Enums from './enums';
13
- export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
package/dist/cjs/index.js CHANGED
@@ -23,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.utilities = exports.segmentation = exports.annotation = exports.drawing = exports.CONSTANTS = exports.Enums = exports.ToolGroupManager = exports.state = exports.Types = exports.PaintFillTool = exports.SynchronizerManager = exports.Synchronizer = exports.synchronizers = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ReferenceLines = exports.ReferenceCursors = exports.MagnifyTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.BidirectionalTool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.LengthTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.StackScrollMouseWheelTool = exports.StackScrollTool = exports.ZoomTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = exports.cancelActiveManipulations = exports.removeTool = exports.addTool = exports.destroy = exports.init = void 0;
27
- exports.cursors = void 0;
26
+ exports.segmentation = exports.annotation = exports.drawing = exports.CONSTANTS = exports.Enums = exports.ToolGroupManager = exports.state = exports.Types = exports.PaintFillTool = exports.SynchronizerManager = exports.Synchronizer = exports.synchronizers = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ScaleOverlayTool = exports.ReferenceLines = exports.ReferenceCursors = exports.MagnifyTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.BidirectionalTool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.LengthTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.StackScrollMouseWheelTool = exports.StackScrollTool = exports.ZoomTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = exports.cancelActiveManipulations = exports.removeTool = exports.addTool = exports.destroy = exports.init = void 0;
27
+ exports.cursors = exports.utilities = void 0;
28
28
  const init_1 = require("./init");
29
29
  Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
30
30
  Object.defineProperty(exports, "destroy", { enumerable: true, get: function () { return init_1.destroy; } });
@@ -86,6 +86,7 @@ Object.defineProperty(exports, "MagnifyTool", { enumerable: true, get: function
86
86
  Object.defineProperty(exports, "ReferenceCursors", { enumerable: true, get: function () { return tools_1.ReferenceCursors; } });
87
87
  Object.defineProperty(exports, "ReferenceLines", { enumerable: true, get: function () { return tools_1.ReferenceLines; } });
88
88
  Object.defineProperty(exports, "PaintFillTool", { enumerable: true, get: function () { return tools_1.PaintFillTool; } });
89
+ Object.defineProperty(exports, "ScaleOverlayTool", { enumerable: true, get: function () { return tools_1.ScaleOverlayTool; } });
89
90
  const Enums = __importStar(require("./enums"));
90
91
  exports.Enums = Enums;
91
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAuC;AA8DrC,qFA9DO,WAAI,OA8DP;AACJ,wFA/Da,cAAO,OA+Db;AA9DT,mCAQiB;AAuDf,wFA9DA,eAAO,OA8DA;AACP,2FA9DA,kBAAU,OA8DA;AA6CV,sFA1GA,aAAK,OA0GA;AAEL,iGA3GA,wBAAgB,OA2GA;AALhB,oGArGA,2BAAmB,OAqGA;AADnB,6FAnGA,oBAAY,OAmGA;AAxCZ,0GA1DA,iCAAyB,OA0DA;AAvD3B,uDAAyC;AAyGvC,8BAAS;AAtGX,+DAAiD;AA2F/C,sCAAa;AA1Ff,sDAAwC;AAuGtC,0BAAO;AAtGT,uDAAyC;AA4GvC,8BAAS;AA3GX,mDAAqC;AA4GnC,0BAAO;AA3GT,+CAAiC;AA2F/B,sBAAK;AA1FP,yEAA2D;AAqGzD,gCAAU;AApGZ,6EAA+D;AAsG7D,oCAAY;AApGd,mCAkCiB;AAYf,yFA7CA,gBAAQ,OA6CA;AACR,+FA7CA,sBAAc,OA6CA;AAEd,wFA9CA,eAAO,OA8CA;AACP,oGA9CA,2BAAmB,OA8CA;AACnB,8FA9CA,qBAAa,OA8CA;AACb,gGA9CA,uBAAe,OA8CA;AACf,yFA9CA,gBAAQ,OA8CA;AACR,gGA9CA,uBAAe,OA8CA;AACf,0GA9CA,iCAAyB,OA8CA;AACzB,2GA9CA,kCAA0B,OA8CA;AAC1B,mGA9CA,0BAAkB,OA8CA;AAElB,2FA/CA,kBAAU,OA+CA;AAGV,0FAjDA,iBAAS,OAiDA;AACT,iGAjDA,wBAAgB,OAiDA;AAChB,kGAjDA,yBAAiB,OAiDA;AACjB,kGAjDA,yBAAiB,OAiDA;AACjB,sGAjDA,6BAAqB,OAiDA;AACrB,kGAjDA,yBAAiB,OAiDA;AAPjB,+FAzCA,sBAAc,OAyCA;AACd,mGAzCA,0BAAkB,OAyCA;AAelB,sGAvDA,6BAAqB,OAuDA;AACrB,mGAvDA,0BAAkB,OAuDA;AAClB,mGAvDA,0BAAkB,OAuDA;AAClB,0GAvDA,iCAAyB,OAuDA;AACzB,kHAvDA,yCAAiC,OAuDA;AANjC,wGAhDA,+BAAuB,OAgDA;AAOvB,0FAtDA,iBAAS,OAsDA;AAbT,0FAxCA,iBAAS,OAwCA;AACT,8FAxCA,qBAAa,OAwCA;AACb,4FAxCA,mBAAW,OAwCA;AACX,iGAxCA,wBAAgB,OAwCA;AAChB,+FAxCA,sBAAc,OAwCA;AAcd,8FArDA,qBAAa,OAqDA;AAlDf,+CAAiC;AAwD/B,sBAAK"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAuC;AA+DrC,qFA/DO,WAAI,OA+DP;AACJ,wFAhEa,cAAO,OAgEb;AA/DT,mCAQiB;AAwDf,wFA/DA,eAAO,OA+DA;AACP,2FA/DA,kBAAU,OA+DA;AA8CV,sFA5GA,aAAK,OA4GA;AAEL,iGA7GA,wBAAgB,OA6GA;AALhB,oGAvGA,2BAAmB,OAuGA;AADnB,6FArGA,oBAAY,OAqGA;AAzCZ,0GA3DA,iCAAyB,OA2DA;AAxD3B,uDAAyC;AA2GvC,8BAAS;AAxGX,+DAAiD;AA6F/C,sCAAa;AA5Ff,sDAAwC;AAyGtC,0BAAO;AAxGT,uDAAyC;AA8GvC,8BAAS;AA7GX,mDAAqC;AA8GnC,0BAAO;AA7GT,+CAAiC;AA6F/B,sBAAK;AA5FP,yEAA2D;AAuGzD,gCAAU;AAtGZ,6EAA+D;AAwG7D,oCAAY;AAtGd,mCAmCiB;AAYf,yFA9CA,gBAAQ,OA8CA;AACR,+FA9CA,sBAAc,OA8CA;AAEd,wFA/CA,eAAO,OA+CA;AACP,oGA/CA,2BAAmB,OA+CA;AACnB,8FA/CA,qBAAa,OA+CA;AACb,gGA/CA,uBAAe,OA+CA;AACf,yFA/CA,gBAAQ,OA+CA;AACR,gGA/CA,uBAAe,OA+CA;AACf,0GA/CA,iCAAyB,OA+CA;AACzB,2GA/CA,kCAA0B,OA+CA;AAC1B,mGA/CA,0BAAkB,OA+CA;AAElB,2FAhDA,kBAAU,OAgDA;AAGV,0FAlDA,iBAAS,OAkDA;AACT,iGAlDA,wBAAgB,OAkDA;AAChB,kGAlDA,yBAAiB,OAkDA;AACjB,kGAlDA,yBAAiB,OAkDA;AACjB,sGAlDA,6BAAqB,OAkDA;AACrB,kGAlDA,yBAAiB,OAkDA;AAPjB,+FA1CA,sBAAc,OA0CA;AACd,mGA1CA,0BAAkB,OA0CA;AAgBlB,sGAzDA,6BAAqB,OAyDA;AACrB,mGAzDA,0BAAkB,OAyDA;AAClB,mGAzDA,0BAAkB,OAyDA;AAClB,0GAzDA,iCAAyB,OAyDA;AACzB,kHAzDA,yCAAiC,OAyDA;AANjC,wGAlDA,+BAAuB,OAkDA;AAOvB,0FAxDA,iBAAS,OAwDA;AAdT,0FAzCA,iBAAS,OAyCA;AACT,8FAzCA,qBAAa,OAyCA;AACb,4FAzCA,mBAAW,OAyCA;AACX,iGAzCA,wBAAgB,OAyCA;AAChB,+FAzCA,sBAAc,OAyCA;AAed,8FAvDA,qBAAa,OAuDA;AAdb,iGAxCA,wBAAgB,OAwCA;AArClB,+CAAiC;AAyD/B,sBAAK"}
@@ -0,0 +1,40 @@
1
+ import AnnotationDisplayTool from './base/AnnotationDisplayTool';
2
+ import { ScaleOverlayAnnotation } from '../types/ToolSpecificAnnotationTypes';
3
+ import type { Types } from '@cornerstonejs/core';
4
+ import { EventTypes, PublicToolProps, ToolProps, SVGDrawingHelper } from '../types';
5
+ declare class ScaleOverlayTool extends AnnotationDisplayTool {
6
+ static toolName: any;
7
+ touchDragCallback: any;
8
+ mouseDragCallback: any;
9
+ _throttledCalculateCachedStats: any;
10
+ editData: {
11
+ renderingEngine: any;
12
+ viewport: any;
13
+ annotation: ScaleOverlayAnnotation;
14
+ } | null;
15
+ isDrawing: boolean;
16
+ isHandleOutsideImage: boolean;
17
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
18
+ _init: () => void;
19
+ onSetToolEnabled: () => void;
20
+ onCameraModified: (evt: Types.EventTypes.CameraModifiedEvent) => void;
21
+ renderAnnotation(enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper): boolean;
22
+ _getTextLines(scaleSize: number): string[] | undefined;
23
+ computeScaleSize: (worldWidthViewport: number, worldHeightViewport: number, location: any) => any;
24
+ computeEndScaleTicks: (canvasCoordinates: any, location: any) => {
25
+ endTick1: any[][];
26
+ endTick2: any[][];
27
+ };
28
+ computeInnerScaleTicks: (scaleSize: number, location: string, annotationUID: string, leftTick: any[][], rightTick: any[][]) => {
29
+ tickIds: any[];
30
+ tickUIDs: any[];
31
+ tickCoordinates: any[];
32
+ };
33
+ computeWorldScaleCoordinates: (scaleSize: any, location: any, pointSet: any) => any;
34
+ computeCanvasScaleCoordinates: (canvasSize: any, canvasCoordinates: any, vscaleBounds: any, hscaleBounds: any, location: any) => any;
35
+ computeScaleBounds: (canvasSize: any, horizontalReduction: any, verticalReduction: any, location: any) => {
36
+ height: any;
37
+ width: any;
38
+ };
39
+ }
40
+ export default ScaleOverlayTool;
@@ -0,0 +1,400 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const AnnotationDisplayTool_1 = __importDefault(require("./base/AnnotationDisplayTool"));
7
+ const gl_matrix_1 = require("gl-matrix");
8
+ const core_1 = require("@cornerstonejs/core");
9
+ const annotationState_1 = require("../stateManagement/annotation/annotationState");
10
+ const drawingSvg_1 = require("../drawingSvg");
11
+ const ToolGroupManager_1 = require("../store/ToolGroupManager");
12
+ const SCALEOVERLAYTOOL_ID = 'scaleoverlay-viewport';
13
+ const viewportsWithAnnotations = [];
14
+ class ScaleOverlayTool extends AnnotationDisplayTool_1.default {
15
+ constructor(toolProps = {}, defaultToolProps = {
16
+ configuration: {
17
+ viewportId: '',
18
+ scaleLocation: 'bottom',
19
+ },
20
+ }) {
21
+ super(toolProps, defaultToolProps);
22
+ this.editData = {};
23
+ this._init = () => {
24
+ const renderingEngines = (0, core_1.getRenderingEngines)();
25
+ const renderingEngine = renderingEngines[0];
26
+ if (!renderingEngine) {
27
+ return;
28
+ }
29
+ const viewportIds = (0, ToolGroupManager_1.getToolGroup)(this.toolGroupId).viewportsInfo;
30
+ if (!viewportIds)
31
+ return;
32
+ const enabledElements = viewportIds.map((e) => (0, core_1.getEnabledElementByIds)(e.viewportId, e.renderingEngineId));
33
+ let viewport = enabledElements[0].viewport;
34
+ if (this.configuration.viewportId) {
35
+ enabledElements.forEach((element) => {
36
+ if (element.viewport.id == this.configuration.viewportId) {
37
+ viewport = element.viewport;
38
+ }
39
+ });
40
+ }
41
+ if (!viewport) {
42
+ return;
43
+ }
44
+ const { element } = viewport;
45
+ const { viewUp, viewPlaneNormal } = viewport.getCamera();
46
+ const viewportCanvasCornersInWorld = core_1.utilities.getViewportImageCornersInWorld(viewport);
47
+ let annotation = this.editData.annotation;
48
+ const annotations = (0, annotationState_1.getAnnotations)(element, this.getToolName());
49
+ if (annotations) {
50
+ annotation = annotations.filter((thisAnnotation) => thisAnnotation.data.viewportId == viewport.id)[0];
51
+ }
52
+ if (!viewportsWithAnnotations.includes(viewport.id)) {
53
+ const newAnnotation = {
54
+ metadata: {
55
+ toolName: this.getToolName(),
56
+ viewPlaneNormal: [...viewPlaneNormal],
57
+ viewUp: [...viewUp],
58
+ FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
59
+ referencedImageId: null,
60
+ },
61
+ data: {
62
+ handles: {
63
+ points: viewportCanvasCornersInWorld,
64
+ },
65
+ viewportId: viewport.id,
66
+ },
67
+ };
68
+ viewportsWithAnnotations.push(viewport.id);
69
+ (0, annotationState_1.addAnnotation)(element, newAnnotation);
70
+ annotation = newAnnotation;
71
+ }
72
+ else if (this.editData.annotation.data.viewportId == viewport.id) {
73
+ this.editData.annotation.data.handles.points =
74
+ viewportCanvasCornersInWorld;
75
+ this.editData.annotation.data.viewportId = viewport.id;
76
+ }
77
+ this.editData = {
78
+ viewport,
79
+ renderingEngine,
80
+ annotation,
81
+ };
82
+ };
83
+ this.onSetToolEnabled = () => {
84
+ this._init();
85
+ };
86
+ this.onCameraModified = (evt) => {
87
+ this.configuration.viewportId = evt.detail.viewportId;
88
+ this._init();
89
+ };
90
+ this.computeScaleSize = (worldWidthViewport, worldHeightViewport, location) => {
91
+ const scaleSizes = [
92
+ 16000, 8000, 4000, 2000, 1000, 500, 250, 100, 50, 25, 10, 5, 2,
93
+ ];
94
+ let currentScaleSize;
95
+ if (location == 'top' || location == 'bottom') {
96
+ currentScaleSize = scaleSizes.filter((scaleSize) => scaleSize < worldWidthViewport * 0.6 &&
97
+ scaleSize > worldWidthViewport * 0.2);
98
+ }
99
+ else {
100
+ currentScaleSize = scaleSizes.filter((scaleSize) => scaleSize < worldHeightViewport * 0.6 &&
101
+ scaleSize > worldHeightViewport * 0.2);
102
+ }
103
+ return currentScaleSize[0];
104
+ };
105
+ this.computeEndScaleTicks = (canvasCoordinates, location) => {
106
+ const locationTickOffset = {
107
+ bottom: [
108
+ [0, -10],
109
+ [0, -10],
110
+ ],
111
+ top: [
112
+ [0, 10],
113
+ [0, 10],
114
+ ],
115
+ left: [
116
+ [0, 0],
117
+ [10, 0],
118
+ ],
119
+ right: [
120
+ [0, 0],
121
+ [-10, 0],
122
+ ],
123
+ };
124
+ const endTick1 = [
125
+ [
126
+ canvasCoordinates[1][0] + locationTickOffset[location][0][0],
127
+ canvasCoordinates[1][1] + locationTickOffset[location][0][0],
128
+ ],
129
+ [
130
+ canvasCoordinates[1][0] + locationTickOffset[location][1][0],
131
+ canvasCoordinates[1][1] + locationTickOffset[location][1][1],
132
+ ],
133
+ ];
134
+ const endTick2 = [
135
+ [
136
+ canvasCoordinates[0][0] + locationTickOffset[location][0][0],
137
+ canvasCoordinates[0][1] + locationTickOffset[location][0][0],
138
+ ],
139
+ [
140
+ canvasCoordinates[0][0] + locationTickOffset[location][1][0],
141
+ canvasCoordinates[0][1] + locationTickOffset[location][1][1],
142
+ ],
143
+ ];
144
+ return {
145
+ endTick1: endTick1,
146
+ endTick2: endTick2,
147
+ };
148
+ };
149
+ this.computeInnerScaleTicks = (scaleSize, location, annotationUID, leftTick, rightTick) => {
150
+ let canvasScaleSize;
151
+ if (location == 'bottom' || location == 'top') {
152
+ canvasScaleSize = rightTick[0][0] - leftTick[0][0];
153
+ }
154
+ else if (location == 'left' || location == 'right') {
155
+ canvasScaleSize = rightTick[0][1] - leftTick[0][1];
156
+ }
157
+ const tickIds = [];
158
+ const tickUIDs = [];
159
+ const tickCoordinates = [];
160
+ let numberSmallTicks = scaleSize;
161
+ if (scaleSize >= 50) {
162
+ numberSmallTicks = scaleSize / 10;
163
+ }
164
+ const tickSpacing = canvasScaleSize / numberSmallTicks;
165
+ for (let i = 0; i < numberSmallTicks - 1; i++) {
166
+ const locationOffset = {
167
+ bottom: [
168
+ [tickSpacing * (i + 1), 0],
169
+ [tickSpacing * (i + 1), 5],
170
+ ],
171
+ top: [
172
+ [tickSpacing * (i + 1), 0],
173
+ [tickSpacing * (i + 1), -5],
174
+ ],
175
+ left: [
176
+ [0, tickSpacing * (i + 1)],
177
+ [-5, tickSpacing * (i + 1)],
178
+ ],
179
+ right: [
180
+ [0, tickSpacing * (i + 1)],
181
+ [5, tickSpacing * (i + 1)],
182
+ ],
183
+ };
184
+ tickIds.push(`${annotationUID}-tick${i}`);
185
+ tickUIDs.push(`tick${i}`);
186
+ if ((i + 1) % 5 == 0) {
187
+ tickCoordinates.push([
188
+ [
189
+ leftTick[0][0] + locationOffset[location][0][0],
190
+ leftTick[0][1] + locationOffset[location][0][1],
191
+ ],
192
+ [
193
+ leftTick[1][0] + locationOffset[location][0][0],
194
+ leftTick[1][1] + locationOffset[location][0][1],
195
+ ],
196
+ ]);
197
+ }
198
+ else {
199
+ tickCoordinates.push([
200
+ [
201
+ leftTick[0][0] + locationOffset[location][0][0],
202
+ leftTick[0][1] + locationOffset[location][0][1],
203
+ ],
204
+ [
205
+ leftTick[1][0] + locationOffset[location][1][0],
206
+ leftTick[1][1] + locationOffset[location][1][1],
207
+ ],
208
+ ]);
209
+ }
210
+ }
211
+ return { tickIds, tickUIDs, tickCoordinates };
212
+ };
213
+ this.computeWorldScaleCoordinates = (scaleSize, location, pointSet) => {
214
+ let worldCoordinates;
215
+ let topBottomVec = gl_matrix_1.vec3.subtract(gl_matrix_1.vec3.create(), pointSet[0], pointSet[1]);
216
+ topBottomVec = gl_matrix_1.vec3.normalize(gl_matrix_1.vec3.create(), topBottomVec);
217
+ let topRightVec = gl_matrix_1.vec3.subtract(gl_matrix_1.vec3.create(), pointSet[2], pointSet[0]);
218
+ topRightVec = gl_matrix_1.vec3.normalize(gl_matrix_1.vec3.create(), topRightVec);
219
+ const midpointLocation = {
220
+ bottom: [pointSet[1], pointSet[2]],
221
+ top: [pointSet[0], pointSet[3]],
222
+ right: [pointSet[2], pointSet[3]],
223
+ left: [pointSet[0], pointSet[1]],
224
+ };
225
+ const midpoint = gl_matrix_1.vec3
226
+ .add(gl_matrix_1.vec3.create(), midpointLocation[location][0], midpointLocation[location][0])
227
+ .map((i) => i / 2);
228
+ const offset = scaleSize /
229
+ 2 /
230
+ Math.sqrt(Math.pow(topBottomVec[0], 2) +
231
+ Math.pow(topBottomVec[1], 2) +
232
+ Math.pow(topBottomVec[2], 2));
233
+ if (location == 'top' || location == 'bottom') {
234
+ worldCoordinates = [
235
+ gl_matrix_1.vec3.subtract(gl_matrix_1.vec3.create(), midpoint, topRightVec.map((i) => i * offset)),
236
+ gl_matrix_1.vec3.add(gl_matrix_1.vec3.create(), midpoint, topRightVec.map((i) => i * offset)),
237
+ ];
238
+ }
239
+ else if (location == 'left' || location == 'right') {
240
+ worldCoordinates = [
241
+ gl_matrix_1.vec3.add(gl_matrix_1.vec3.create(), midpoint, topBottomVec.map((i) => i * offset)),
242
+ gl_matrix_1.vec3.subtract(gl_matrix_1.vec3.create(), midpoint, topBottomVec.map((i) => i * offset)),
243
+ ];
244
+ }
245
+ return worldCoordinates;
246
+ };
247
+ this.computeCanvasScaleCoordinates = (canvasSize, canvasCoordinates, vscaleBounds, hscaleBounds, location) => {
248
+ let scaleCanvasCoordinates;
249
+ if (location == 'top' || location == 'bottom') {
250
+ const worldDistanceOnCanvas = canvasCoordinates[0][0] - canvasCoordinates[1][0];
251
+ scaleCanvasCoordinates = [
252
+ [canvasSize.width / 2 - worldDistanceOnCanvas / 2, vscaleBounds.height],
253
+ [canvasSize.width / 2 + worldDistanceOnCanvas / 2, vscaleBounds.height],
254
+ ];
255
+ }
256
+ else if (location == 'left' || location == 'right') {
257
+ const worldDistanceOnCanvas = canvasCoordinates[0][1] - canvasCoordinates[1][1];
258
+ scaleCanvasCoordinates = [
259
+ [hscaleBounds.width, canvasSize.height / 2 - worldDistanceOnCanvas / 2],
260
+ [hscaleBounds.width, canvasSize.height / 2 + worldDistanceOnCanvas / 2],
261
+ ];
262
+ }
263
+ return scaleCanvasCoordinates;
264
+ };
265
+ this.computeScaleBounds = (canvasSize, horizontalReduction, verticalReduction, location) => {
266
+ const hReduction = horizontalReduction * Math.min(1000, canvasSize.width);
267
+ const vReduction = verticalReduction * Math.min(1000, canvasSize.height);
268
+ const locationBounds = {
269
+ bottom: [-vReduction, -hReduction],
270
+ top: [vReduction, hReduction],
271
+ left: [vReduction, hReduction],
272
+ right: [-vReduction, -hReduction],
273
+ };
274
+ const canvasBounds = {
275
+ bottom: [canvasSize.height, canvasSize.width],
276
+ top: [0, canvasSize.width],
277
+ left: [canvasSize.height, 0],
278
+ right: [canvasSize.height, canvasSize.width],
279
+ };
280
+ return {
281
+ height: canvasBounds[location][0] + locationBounds[location][0],
282
+ width: canvasBounds[location][1] + locationBounds[location][1],
283
+ };
284
+ };
285
+ }
286
+ renderAnnotation(enabledElement, svgDrawingHelper) {
287
+ if (!this.editData.viewport) {
288
+ return;
289
+ }
290
+ const location = this.configuration.scaleLocation;
291
+ const { viewport } = enabledElement;
292
+ const { element } = viewport;
293
+ const annotations = (0, annotationState_1.getAnnotations)(element, this.getToolName());
294
+ const annotation = annotations.filter((thisAnnotation) => thisAnnotation.data.viewportId == viewport.id)[0];
295
+ const canvas = enabledElement.viewport.canvas;
296
+ const renderStatus = false;
297
+ if (!viewport) {
298
+ return renderStatus;
299
+ }
300
+ const styleSpecifier = {
301
+ toolGroupId: this.toolGroupId,
302
+ toolName: this.getToolName(),
303
+ viewportId: enabledElement.viewport.id,
304
+ };
305
+ const canvasSize = {
306
+ width: canvas.width,
307
+ height: canvas.height,
308
+ };
309
+ const topLeft = annotation.data.handles.points[0];
310
+ const topRight = annotation.data.handles.points[1];
311
+ const bottomLeft = annotation.data.handles.points[2];
312
+ const bottomRight = annotation.data.handles.points[3];
313
+ const pointSet1 = [topLeft, bottomLeft, topRight, bottomRight];
314
+ const worldWidthViewport = gl_matrix_1.vec3.distance(bottomLeft, bottomRight);
315
+ const worldHeightViewport = gl_matrix_1.vec3.distance(topLeft, bottomLeft);
316
+ const hscaleBounds = this.computeScaleBounds(canvasSize, 0.05, 0.05, location);
317
+ const vscaleBounds = this.computeScaleBounds(canvasSize, 0.05, 0.05, location);
318
+ const scaleSize = this.computeScaleSize(worldWidthViewport, worldHeightViewport, location);
319
+ const canvasCoordinates = this.computeWorldScaleCoordinates(scaleSize, location, pointSet1).map((world) => viewport.worldToCanvas(world));
320
+ const scaleCanvasCoordinates = this.computeCanvasScaleCoordinates(canvasSize, canvasCoordinates, vscaleBounds, hscaleBounds, location);
321
+ const scaleTicks = this.computeEndScaleTicks(scaleCanvasCoordinates, location);
322
+ const { annotationUID } = annotation;
323
+ styleSpecifier.annotationUID = annotationUID;
324
+ const lineWidth = this.getStyle('lineWidth', styleSpecifier, annotation);
325
+ const lineDash = this.getStyle('lineDash', styleSpecifier, annotation);
326
+ const color = this.getStyle('color', styleSpecifier, annotation);
327
+ const shadow = this.getStyle('shadow', styleSpecifier, annotation);
328
+ const scaleId = `${annotationUID}-scaleline`;
329
+ const scaleLineUID = '1';
330
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, scaleLineUID, scaleCanvasCoordinates[0], scaleCanvasCoordinates[1], {
331
+ color,
332
+ width: lineWidth,
333
+ lineDash,
334
+ shadow,
335
+ }, scaleId);
336
+ const leftTickId = `${annotationUID}-left`;
337
+ const leftTickUID = '2';
338
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, leftTickUID, scaleTicks.endTick1[0], scaleTicks.endTick1[1], {
339
+ color,
340
+ width: lineWidth,
341
+ lineDash,
342
+ shadow,
343
+ }, leftTickId);
344
+ const rightTickId = `${annotationUID}-right`;
345
+ const rightTickUID = '3';
346
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, rightTickUID, scaleTicks.endTick2[0], scaleTicks.endTick2[1], {
347
+ color,
348
+ width: lineWidth,
349
+ lineDash,
350
+ shadow,
351
+ }, rightTickId);
352
+ const locationTextOffest = {
353
+ bottom: [-10, -42],
354
+ top: [-12, -35],
355
+ left: [-40, -20],
356
+ right: [-50, -20],
357
+ };
358
+ const textCanvasCoordinates = [
359
+ scaleCanvasCoordinates[0][0] + locationTextOffest[location][0],
360
+ scaleCanvasCoordinates[0][1] + locationTextOffest[location][1],
361
+ ];
362
+ const textBoxLines = this._getTextLines(scaleSize);
363
+ const { tickIds, tickUIDs, tickCoordinates } = this.computeInnerScaleTicks(scaleSize, location, annotationUID, scaleTicks.endTick1, scaleTicks.endTick2);
364
+ for (let i = 0; i < tickUIDs.length; i++) {
365
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, tickUIDs[i], tickCoordinates[i][0], tickCoordinates[i][1], {
366
+ color,
367
+ width: lineWidth,
368
+ lineDash,
369
+ shadow,
370
+ }, tickIds[i]);
371
+ }
372
+ const textUID = 'text0';
373
+ (0, drawingSvg_1.drawTextBox)(svgDrawingHelper, annotationUID, textUID, textBoxLines, [textCanvasCoordinates[0], textCanvasCoordinates[1]], {
374
+ fontFamily: 'Helvetica Neue, Helvetica, Arial, sans-serif',
375
+ fontSize: '14px',
376
+ lineDash: '2,3',
377
+ lineWidth: '1',
378
+ shadow: true,
379
+ color: color,
380
+ });
381
+ return renderStatus;
382
+ }
383
+ _getTextLines(scaleSize) {
384
+ let scaleSizeDisplayValue;
385
+ let scaleSizeUnits;
386
+ if (scaleSize >= 50) {
387
+ scaleSizeDisplayValue = scaleSize / 10;
388
+ scaleSizeUnits = ' cm';
389
+ }
390
+ else {
391
+ scaleSizeDisplayValue = scaleSize;
392
+ scaleSizeUnits = ' mm';
393
+ }
394
+ const textLines = [scaleSizeDisplayValue.toString().concat(scaleSizeUnits)];
395
+ return textLines;
396
+ }
397
+ }
398
+ ScaleOverlayTool.toolName = 'ScaleOverlay';
399
+ exports.default = ScaleOverlayTool;
400
+ //# sourceMappingURL=ScaleOverlayTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaleOverlayTool.js","sourceRoot":"","sources":["../../../src/tools/ScaleOverlayTool.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ import AngleTool from './annotation/AngleTool';
22
22
  import CobbAngleTool from './annotation/CobbAngleTool';
23
23
  import ReferenceCursors from './ReferenceCursors';
24
24
  import ReferenceLines from './ReferenceLinesTool';
25
+ import ScaleOverlayTool from './ScaleOverlayTool';
25
26
  import SegmentationDisplayTool from './displayTools/SegmentationDisplayTool';
26
27
  import RectangleScissorsTool from './segmentation/RectangleScissorsTool';
27
28
  import CircleScissorsTool from './segmentation/CircleScissorsTool';
@@ -30,4 +31,4 @@ import RectangleROIThresholdTool from './segmentation/RectangleROIThresholdTool'
30
31
  import RectangleROIStartEndThresholdTool from './segmentation/RectangleROIStartEndThresholdTool';
31
32
  import BrushTool from './segmentation/BrushTool';
32
33
  import PaintFillTool from './segmentation/PaintFillTool';
33
- export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, };
34
+ export { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, CrosshairsTool, ReferenceLinesTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, ReferenceCursors, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PaintFillTool = exports.ReferenceLines = exports.MagnifyTool = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ReferenceCursors = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = void 0;
6
+ exports.ScaleOverlayTool = exports.PaintFillTool = exports.ReferenceLines = exports.MagnifyTool = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.ReferenceCursors = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.PlanarFreehandROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationTool = exports.BaseTool = void 0;
7
7
  const base_1 = require("./base");
8
8
  Object.defineProperty(exports, "BaseTool", { enumerable: true, get: function () { return base_1.BaseTool; } });
9
9
  Object.defineProperty(exports, "AnnotationTool", { enumerable: true, get: function () { return base_1.AnnotationTool; } });
@@ -53,6 +53,8 @@ const ReferenceCursors_1 = __importDefault(require("./ReferenceCursors"));
53
53
  exports.ReferenceCursors = ReferenceCursors_1.default;
54
54
  const ReferenceLinesTool_2 = __importDefault(require("./ReferenceLinesTool"));
55
55
  exports.ReferenceLines = ReferenceLinesTool_2.default;
56
+ const ScaleOverlayTool_1 = __importDefault(require("./ScaleOverlayTool"));
57
+ exports.ScaleOverlayTool = ScaleOverlayTool_1.default;
56
58
  const SegmentationDisplayTool_1 = __importDefault(require("./displayTools/SegmentationDisplayTool"));
57
59
  exports.SegmentationDisplayTool = SegmentationDisplayTool_1.default;
58
60
  const RectangleScissorsTool_1 = __importDefault(require("./segmentation/RectangleScissorsTool"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAkD;AAwChD,yFAxCO,eAAQ,OAwCP;AACR,+FAzCiB,qBAAc,OAyCjB;AAxChB,wDAAgC;AA0C9B,kBA1CK,iBAAO,CA0CL;AAzCT,gFAAwD;AA0CtD,8BA1CK,6BAAmB,CA0CL;AAzCrB,wEAAgD;AA2C9C,0BA3CK,yBAAe,CA2CL;AA1CjB,wEAAgD;AA2C9C,0BA3CK,yBAAe,CA2CL;AA1CjB,oGAAwE;AA2CtE,oCA3CK,uCAAyB,CA2CL;AA1C3B,0DAAkC;AA2ChC,mBA3CK,kBAAQ,CA2CL;AA1CV,8FAAsE;AA2CpE,qCA3CK,oCAA0B,CA2CL;AA1C5B,8EAAsD;AA2CpD,6BA3CK,4BAAkB,CA2CL;AA1CpB,sEAA8C;AA4C5C,yBA5CK,wBAAc,CA4CL;AA3ChB,gEAAwC;AAgEtC,sBAhEK,qBAAW,CAgEL;AA/Db,8EAAsD;AA2CpD,6BA3CK,4BAAkB,CA2CL;AAzCpB,uFAA+D;AA0C7D,4BA1CK,2BAAiB,CA0CL;AAzCnB,yEAAiD;AA0C/C,qBA1CK,oBAAU,CA0CL;AAzCZ,uEAA+C;AA0C7C,oBA1CK,mBAAS,CA0CL;AAzCX,+EAAuD;AA6BrD,wBA7BK,uBAAa,CA6BL;AA5Bf,qFAA6D;AAyC3D,2BAzCK,0BAAgB,CAyCL;AAxClB,uFAA+D;AAyC7D,4BAzCK,2BAAiB,CAyCL;AAxCnB,+FAAuE;AAyCrE,gCAzCK,+BAAqB,CAyCL;AAxCvB,uFAA+D;AAyC7D,4BAzCK,2BAAiB,CAyCL;AAxCnB,uEAA+C;AAyC7C,oBAzCK,mBAAS,CAyCL;AAxCX,+EAAuD;AAyCrD,wBAzCK,uBAAa,CAyCL;AAxCf,0EAAkD;AAyChD,2BAzCK,0BAAgB,CAyCL;AAxClB,8EAAkD;AAmDhD,yBAnDK,4BAAc,CAmDL;AAhDhB,qGAA6E;AAuC3E,kCAvCK,iCAAuB,CAuCL;AApCzB,iGAAyE;AAsCvE,gCAtCK,+BAAqB,CAsCL;AArCvB,2FAAmE;AAsCjE,6BAtCK,4BAAkB,CAsCL;AArCpB,2FAAmE;AAsCjE,6BAtCK,4BAAkB,CAsCL;AArCpB,yGAAiF;AAsC/E,oCAtCK,mCAAyB,CAsCL;AArC3B,yHAAiG;AAsC/F,4CAtCK,2CAAiC,CAsCL;AArCnC,yEAAiD;AAsC/C,oBAtCK,mBAAS,CAsCL;AArCX,iFAAyD;AAwCvD,wBAxCK,uBAAa,CAwCL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAkD;AAyChD,yFAzCO,eAAQ,OAyCP;AACR,+FA1CiB,qBAAc,OA0CjB;AAzChB,wDAAgC;AA2C9B,kBA3CK,iBAAO,CA2CL;AA1CT,gFAAwD;AA2CtD,8BA3CK,6BAAmB,CA2CL;AA1CrB,wEAAgD;AA4C9C,0BA5CK,yBAAe,CA4CL;AA3CjB,wEAAgD;AA4C9C,0BA5CK,yBAAe,CA4CL;AA3CjB,oGAAwE;AA4CtE,oCA5CK,uCAAyB,CA4CL;AA3C3B,0DAAkC;AA4ChC,mBA5CK,kBAAQ,CA4CL;AA3CV,8FAAsE;AA4CpE,qCA5CK,oCAA0B,CA4CL;AA3C5B,8EAAsD;AA4CpD,6BA5CK,4BAAkB,CA4CL;AA3CpB,sEAA8C;AA6C5C,yBA7CK,wBAAc,CA6CL;AA5ChB,gEAAwC;AAiEtC,sBAjEK,qBAAW,CAiEL;AAhEb,8EAAsD;AA4CpD,6BA5CK,4BAAkB,CA4CL;AA1CpB,uFAA+D;AA2C7D,4BA3CK,2BAAiB,CA2CL;AA1CnB,yEAAiD;AA2C/C,qBA3CK,oBAAU,CA2CL;AA1CZ,uEAA+C;AA2C7C,oBA3CK,mBAAS,CA2CL;AA1CX,+EAAuD;AA8BrD,wBA9BK,uBAAa,CA8BL;AA7Bf,qFAA6D;AA0C3D,2BA1CK,0BAAgB,CA0CL;AAzClB,uFAA+D;AA0C7D,4BA1CK,2BAAiB,CA0CL;AAzCnB,+FAAuE;AA0CrE,gCA1CK,+BAAqB,CA0CL;AAzCvB,uFAA+D;AA0C7D,4BA1CK,2BAAiB,CA0CL;AAzCnB,uEAA+C;AA0C7C,oBA1CK,mBAAS,CA0CL;AAzCX,+EAAuD;AA0CrD,wBA1CK,uBAAa,CA0CL;AAzCf,0EAAkD;AA0ChD,2BA1CK,0BAAgB,CA0CL;AAzClB,8EAAkD;AAoDhD,yBApDK,4BAAc,CAoDL;AAnDhB,0EAAkD;AAqDhD,2BArDK,0BAAgB,CAqDL;AAlDlB,qGAA6E;AAuC3E,kCAvCK,iCAAuB,CAuCL;AApCzB,iGAAyE;AAsCvE,gCAtCK,+BAAqB,CAsCL;AArCvB,2FAAmE;AAsCjE,6BAtCK,4BAAkB,CAsCL;AArCpB,2FAAmE;AAsCjE,6BAtCK,4BAAkB,CAsCL;AArCpB,yGAAiF;AAsC/E,oCAtCK,mCAAyB,CAsCL;AArC3B,yHAAiG;AAsC/F,4CAtCK,2CAAiC,CAsCL;AArCnC,yEAAiD;AAsC/C,oBAtCK,mBAAS,CAsCL;AArCX,iFAAyD;AAwCvD,wBAxCK,uBAAa,CAwCL"}
@@ -259,4 +259,12 @@ export interface ReferenceLineAnnotation extends Annotation {
259
259
  };
260
260
  };
261
261
  }
262
+ export interface ScaleOverlayAnnotation extends Annotation {
263
+ data: {
264
+ handles: {
265
+ points: Types.Point3[];
266
+ };
267
+ viewportId: string;
268
+ };
269
+ }
262
270
  export {};
@@ -8,6 +8,6 @@ import * as cursors from './cursors';
8
8
  import * as Types from './types';
9
9
  import * as annotation from './stateManagement/annotation';
10
10
  import * as segmentation from './stateManagement/segmentation';
11
- import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool } from './tools';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool } from './tools';
12
12
  import * as Enums from './enums';
13
- export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ import * as cursors from './cursors';
8
8
  import * as Types from './types';
9
9
  import * as annotation from './stateManagement/annotation';
10
10
  import * as segmentation from './stateManagement/segmentation';
11
- import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, } from './tools';
11
+ import { BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, ReferenceLinesTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, PaintFillTool, ScaleOverlayTool, } from './tools';
12
12
  import * as Enums from './enums';
13
- export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
13
+ export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ReferenceLinesTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, AngleTool, CobbAngleTool, MagnifyTool, ReferenceCursors, ReferenceLines, ScaleOverlayTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, PaintFillTool, Types, state, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAEL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAU,EACV,yBAAyB,EAEzB,QAAQ,EACR,cAAc,EAEd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAElB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EAEd,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EAET,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,KAAK,EAEL,gBAAgB,EAEhB,KAAK,EAEL,SAAS,EAET,OAAO,EAEP,UAAU,EAEV,YAAY,EAEZ,SAAS,EACT,OAAO,GACR,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAEL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAU,EACV,yBAAyB,EAEzB,QAAQ,EACR,cAAc,EAEd,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAElB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EAET,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,KAAK,EAEL,gBAAgB,EAEhB,KAAK,EAEL,SAAS,EAET,OAAO,EAEP,UAAU,EAEV,YAAY,EAEZ,SAAS,EACT,OAAO,GACR,CAAC"}