larvitar 3.4.8 → 3.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.
@@ -1,172 +0,0 @@
1
- export type AnnotationDetails = {
2
- description?: string;
3
- annotationID?: string;
4
- annotationRenderingOrder?: number;
5
- presentationGSValue?: number;
6
- annotationCIELabColor?: [number, number, number];
7
- annotationDescription?: string;
8
- imageUIDsToApply?: string[];
9
- };
10
-
11
- export type AnnotationOverlay = {
12
- isGraphicAnnotation?: boolean;
13
- isOverlay?: boolean;
14
- columns?: number;
15
- description?: string;
16
- label?: string | number;
17
- pixelData?: number[];
18
- roiArea?: number;
19
- roiMean?: number;
20
- roiStandardDeviation?: number;
21
- rows?: number;
22
- x?: number;
23
- y?: number;
24
- visible?: boolean;
25
- type?: string; // Keep the original string type but also support "POINT" | "POLYLINE" | "CIRCLE" | "ELLIPSE"
26
- fillStyle?: string;
27
- renderingOrder?: number;
28
- canBeRendered?: boolean;
29
- bitsAllocated?: number;
30
- bitPosition?: number;
31
- subtype?: string;
32
- isTextAnnotation?: boolean;
33
- isgraphicFilled?: string;
34
- active?: boolean;
35
- color?: string;
36
- invalidated?: boolean;
37
- handles?: {
38
- start?: HandlePosition;
39
- end?: HandlePosition;
40
- points?: HandlePosition[];
41
- initialRotation?: number;
42
- textBox: AnnotationTextBox;
43
- };
44
- };
45
- interface AnnotationTextBox {
46
- text?: string;
47
- active: boolean;
48
- hasMoved: boolean;
49
- movesIndependently: boolean;
50
- drawnIndependently: boolean;
51
- allowedOutsideImage: boolean;
52
- hasBoundingBox: boolean;
53
- boundingBox?: {
54
- width: number;
55
- height: number;
56
- left: number;
57
- top: number;
58
- };
59
- anchorPoint?: {
60
- x: number | null;
61
- y: number | null;
62
- };
63
- anchorpointVisibility?: string;
64
- textFormat?: string;
65
- x?: number;
66
- y?: number;
67
- }
68
-
69
- export type TextDetails = {
70
- unformattedTextValue?: string; // Unformatted Text Value
71
- textFormat?: string;
72
- boundingBoxUnits?: string; // Bounding Box Annotation Units
73
- anchorPointUnits?: string; // Anchor Point Annotation Units
74
- anchorpointVisibility: boolean;
75
- boundingBox?: {
76
- tlhc?: { x: number | null; y: number | null };
77
- brhc?: { x: number | null; y: number | null };
78
- };
79
- isTextAnnotation?: boolean;
80
- anchorPointVisibility?: string; // Anchor Point Visibility
81
- anchorPoint?: { x: number | null; y: number | null };
82
- compoundGraphicInstanceUID?: number;
83
- graphicGroupID?: number;
84
- trackingID?: string;
85
- trackingUID?: string;
86
- textStyleSequence: {
87
- fontName?: string;
88
- fontNameType?: string;
89
- cssFontName?: string;
90
- textColorCIELabValue?: [number, number, number];
91
- horizontalAlignment?: number;
92
- verticalAlignment?: number;
93
- shadowStyle?: string;
94
- shadowOffsetX?: number;
95
- shadowOffsetY?: number;
96
- shadowColorCIELabValue?: [number, number, number];
97
- shadowOpacity: number;
98
- underlined?: string;
99
- bold?: string;
100
- italic?: string;
101
- } | null;
102
- };
103
- export type GraphicDetails = {
104
- graphicAnnotationUnits?: string;
105
- graphicDimensions?: number;
106
- graphicPointsNumber?: number;
107
- graphicData?: number[];
108
- graphicType?: string;
109
- graphicFilled?: string;
110
- compoundGraphicInstanceUID?: number;
111
- graphicGroupID?: number;
112
- trackingID?: string;
113
- trackingUID?: string;
114
- lineStyleSequence: {
115
- patternOnColorCIELabValue?: [number, number, number];
116
- patternOffColorCIELabValue?: [number, number, number];
117
- patternOnOpacity?: number;
118
- patternOffOpacity?: number;
119
- lineThickness?: number;
120
- lineDashingStyle?: number;
121
- linePattern?: number;
122
- shadowStyle?: string;
123
- shadowOffsetX?: number;
124
- shadowOffsetY?: number;
125
- shadowColorCIELabValue?: [number, number, number];
126
- shadowOpacity?: number;
127
- } | null;
128
- };
129
- export type CompoundDetails = {
130
- isCompoundAnnotation?: boolean;
131
- compoundGraphicUnits?: string;
132
- graphicDimensions?: number;
133
- graphicPointsNumber?: number;
134
- graphicData?: number[];
135
- graphicType?: string;
136
- graphicFilled?: string;
137
- compoundGraphicInstanceUID?: number;
138
- graphicGroupID?: number;
139
- rotationAngle?: number;
140
- rotationPoint?: [number, number];
141
- gapLength?: number;
142
- diameterOfVisibility?: number;
143
- majorTicks?: MajorTicks[];
144
- tickFormat?: string;
145
- tickLabelFormat?: string;
146
- showTick?: string;
147
- lineStyleSequence: {
148
- patternOnColorCIELabValue?: [number, number, number];
149
- patternOffColorCIELabValue?: [number, number, number];
150
- patternOnOpacity?: number;
151
- patternOffOpacity?: number;
152
- lineThickness?: number;
153
- lineDashingStyle?: number;
154
- linePattern?: number;
155
- shadowStyle?: string;
156
- shadowOffsetX?: number;
157
- shadowOffsetY?: number;
158
- shadowColorCIELabValue?: [number, number, number];
159
- shadowOpacity?: number;
160
- } | null;
161
- };
162
-
163
- export type ToolAnnotations = MergedDetails[];
164
- export type MergedDetails = TextDetails &
165
- GraphicDetails &
166
- CompoundDetails &
167
- Overlay & { imageUIDsToApply: string[] };
168
-
169
- export type MajorTicks = {
170
- tickPosition?: number;
171
- tickLabel?: string;
172
- };
@@ -1,477 +0,0 @@
1
- import { EnabledElement } from "cornerstone-core";
2
-
3
- type ToolOptions = {
4
- mouseButtonMask?: number | number[];
5
- supportedInteractionTypes?: string[];
6
- loop?: boolean;
7
- allowSkipping?: boolean;
8
- invert?: boolean;
9
- } & { [key: string]: unknown };
10
-
11
- export type ToolConfig = {
12
- name: string;
13
- viewports: string | string[];
14
- configuration: Object;
15
- options: ToolOptions;
16
- class: string;
17
- sync?: string;
18
- cleanable?: boolean;
19
- defaultActive?: boolean;
20
- shortcut?: string;
21
- type?: "utils" | "annotation" | "segmentation" | "overlay";
22
- description?: string;
23
- currentMode?: string;
24
- offset?: number;
25
- };
26
-
27
- export type ToolStyle = {
28
- width: number;
29
- color: string; // "#00FF00"
30
- activeColor: string; // "#00FF00"
31
- fillColor: string; // "#00FF00"
32
- fontFamily: string; // "Arial"
33
- fontSize: number;
34
- backgroundColor: string; // "rgba(1,1,1,0.7)"
35
- };
36
-
37
- export type ToolSettings = {
38
- mouseEnabled: boolean;
39
- touchEnabled: boolean;
40
- showSVGCursors: boolean;
41
- globalToolSyncEnabled: boolean;
42
- autoResizeViewports: boolean;
43
- lineDash: [number, number];
44
- };
45
-
46
- export type ToolMouseKeys = {
47
- debug: boolean;
48
- mouse_button_left: {
49
- shift: string;
50
- ctrl: string;
51
- default: string;
52
- };
53
- mouse_button_right: {
54
- shift: string;
55
- ctrl: string;
56
- default: string;
57
- };
58
- keyboard_shortcuts: {
59
- // alt key + letter
60
- // key in the form "KEY_A"
61
- [key: string]: string;
62
- };
63
- };
64
- export type WSConfig = {
65
- multiImage: boolean;
66
- startIndex: number | null;
67
- endIndex: number | null;
68
- masksNumber: number;
69
- onload?: boolean;
70
- };
71
- export type WSToolConfig = {
72
- name: string;
73
- viewports: string | string[];
74
- configuration: WSConfig;
75
- options: ToolOptions;
76
- class: string;
77
- sync?: string;
78
- cleanable?: boolean;
79
- defaultActive?: boolean;
80
- shortcut?: string;
81
- type?: "utils" | "annotation" | "segmentation" | "overlay";
82
- description?: string;
83
- currentMode?: string;
84
- };
85
-
86
- export type WSMouseEvent = {
87
- detail: WSEventData;
88
- };
89
-
90
- interface WSEventData {
91
- currentPoints: {
92
- image: { x: number; y: number };
93
- };
94
- element: Element | HTMLElement;
95
- buttons: number;
96
- shiftKey: boolean;
97
- event: {
98
- altKey: boolean;
99
- shiftKey: boolean;
100
- };
101
- image: Image;
102
- }
103
- export type pixelData3D = {
104
- pixelData: number[];
105
- segmentsOnLabelmap: number[];
106
- }[];
107
-
108
- export type CachedImage = {
109
- image: {
110
- imageId: string;
111
- getPixelData: () => number[];
112
- };
113
- };
114
-
115
- export type LabelMapType = {
116
- pixelData?: number[];
117
- labelmaps2D?: labelmaps2DType[];
118
- };
119
-
120
- export type labelmaps2DType = {
121
- pixelData: number[];
122
- segmentsOnLabelmap: number[];
123
- };
124
- type HandlePosition = {
125
- active?: boolean;
126
- allowedOutsideImage?: boolean;
127
- drawnIndependently?: boolean;
128
- highlight?: boolean;
129
- index?: number;
130
- locked?: boolean;
131
- moving?: boolean;
132
- x: number;
133
- y: number;
134
- lines?: HandlePosition[];
135
- hasBoundingBox?: boolean;
136
- boundingBox?: HandleTextBox;
137
- };
138
- export interface ViewportComplete extends Viewport {
139
- initialRotation: number;
140
- displayedArea: Area;
141
- scale: number;
142
- rotation: number;
143
- vflip: boolean;
144
- hflip: boolean;
145
- }
146
- export type ImageParameters = {
147
- color: string;
148
- columns: number;
149
- rows: number;
150
- slope: number;
151
- intercept: number;
152
- };
153
-
154
- export const enum DisplayAreaVisualizations {
155
- "SCALE TO FIT",
156
- "TRUE SIZE",
157
- "MAGNIFY"
158
- }
159
-
160
- export type Overlay = {
161
- isGraphicAnnotation?: boolean;
162
- isOverlay?: boolean;
163
- columns?: number;
164
- description?: string;
165
- label?: string | number;
166
- pixelData: number[];
167
- roiArea?: number;
168
- roiMean?: number;
169
- roiStandardDeviation?: number;
170
- rows?: number;
171
- type?: string;
172
- x?: number;
173
- y?: number;
174
- visible: boolean;
175
- type: string;
176
- fillStyle: string;
177
- renderingOrder?: number;
178
- canBeRendered?: boolean;
179
- bitsAllocated?: number;
180
- bitPosition?: number;
181
- subtype?: string;
182
- };
183
-
184
- type HandleTextBox = {
185
- active: boolean;
186
- allowedOutsideImage: boolean;
187
- boundingBox: { height: number; left: number; top: number; width: number };
188
- drawnIndependently: boolean;
189
- hasBoundingBox: boolean;
190
- hasMoved: boolean;
191
- highlight?: boolean;
192
- index?: number;
193
- movesIndependently: boolean;
194
- x: number;
195
- y: number;
196
- };
197
-
198
- type BaseToolStateData = {
199
- active: boolean;
200
- color: string;
201
- invalidated: boolean;
202
- uuid: string;
203
- visible: boolean;
204
- };
205
-
206
- type AngleStateData = BaseToolStateData & {
207
- handles: {
208
- end: HandlePosition;
209
- middle: HandlePosition;
210
- start: HandlePosition;
211
- textBox: HandleTextBox;
212
- };
213
- rAngle: number;
214
- };
215
-
216
- type ArrowAnnotateStateData = BaseToolStateData & {
217
- handles: {
218
- end: HandlePosition;
219
- start: HandlePosition;
220
- textBox: HandleTextBox;
221
- };
222
- text: string;
223
- };
224
-
225
- type BidirectionalStateData = BaseToolStateData & {
226
- handles: {
227
- end: HandlePosition;
228
- perpendicularEnd: HandlePosition;
229
- perpendicularStart: HandlePosition;
230
- start: HandlePosition;
231
- textBox: HandleTextBox;
232
- };
233
- isCreating: boolean;
234
- longestDiameter: number;
235
- shortestDiameter: number;
236
- toolName: "Bidirectional";
237
- toolType: "Bidirectional";
238
- };
239
-
240
- type EllipticalRoiStateData = BaseToolStateData & {
241
- cachedStats: {
242
- area: number;
243
- count: number;
244
- max: number;
245
- mean: number;
246
- meanStdDevSUV?: number;
247
- min: number;
248
- stdDev: number;
249
- variance: number;
250
- };
251
- handles: {
252
- end: HandlePosition;
253
- initialRotation: number;
254
- start: HandlePosition;
255
- textBox: HandleTextBox;
256
- };
257
- unit: string;
258
- };
259
-
260
- type FreehandRoiStateData = BaseToolStateData & {
261
- area: number;
262
- canComplete: boolean;
263
- handles: {
264
- points: HandlePosition[];
265
- textBox: HandleTextBox;
266
- invalidHandlePlacement: boolean;
267
- };
268
- highlight: boolean;
269
- meanStdDev: { count: number; mean: number; variance: number; stdDev: number };
270
- meanStdDevSUV: undefined;
271
- polyBoundingBox: { left: number; top: number; width: number; height: number };
272
- unit: string;
273
- };
274
-
275
- type LengthStateData = BaseToolStateData & {
276
- handles: {
277
- end: HandlePosition;
278
- start: HandlePosition;
279
- textBox: HandleTextBox;
280
- };
281
- length: number;
282
- unit: string;
283
- };
284
-
285
- type ProbeStateData = BaseToolStateData;
286
-
287
- type RectangleRoiStateData = BaseToolStateData & {
288
- cachedStats: {
289
- area: number;
290
- count: number;
291
- max: number;
292
- mean: number;
293
- meanStdDevSUV?: number;
294
- min: number;
295
- perimeter: number;
296
- stdDev: number;
297
- variance: number;
298
- };
299
- handles: {
300
- end: HandlePosition;
301
- initialRotation: number;
302
- start: HandlePosition;
303
- textBox: HandleTextBox;
304
- };
305
- unit: string;
306
- };
307
-
308
- export type ToolState = {
309
- [imageId: string]: {
310
- Angle: AngleStateData;
311
- ArrowAnnotate: ArrowAnnotateStateData;
312
- Bidirectional: BidirectionalStateData;
313
- EllipticalRoi: EllipticalRoiStateData;
314
- FreehandRoi: FreehandRoiStateData;
315
- Length: LengthStateData;
316
- Probe: ProbeStateData;
317
- RectangleRoi: RectangleRoiStateData;
318
- };
319
- };
320
-
321
- export type SegmentationConfig = {
322
- arrayType: number;
323
- renderOutline: boolean;
324
- renderFill: boolean;
325
- shouldRenderInactiveLabelmaps: boolean;
326
- radius: number;
327
- minRadius: number;
328
- maxRadius: number;
329
- segmentsPerLabelmap: number;
330
- fillAlpha: number;
331
- fillAlphaInactive: number;
332
- outlineAlpha: number;
333
- outlineAlphaInactive: number;
334
- outlineWidth: number;
335
- storeHistory: boolean;
336
- };
337
-
338
- export const enum MaskVisualizations {
339
- FILL,
340
- CONTOUR,
341
- HIDDEN
342
- }
343
-
344
- export type MaskProperties = {
345
- color: string;
346
- labelId: number;
347
- opacity: number;
348
- visualization: MaskVisualizations;
349
- };
350
-
351
- export type BrushProperties = {
352
- radius: number; // px
353
- thresholds: [number, number]; // [min, max] in px
354
- };
355
- export type dataSets = {
356
- points: number[];
357
- pixelValues: number[];
358
- color: string;
359
- }[];
360
-
361
- export type PixelSpacing = {
362
- rowPixelSpacing: number;
363
- colPixelSpacing: number;
364
- };
365
- export interface MeasurementData {
366
- polyBoundingBox?: Rectangle;
367
- meanStdDev?: number;
368
- meanStdDevSUV?: { mean: number; stdDev: number };
369
- area?: number;
370
- unit?: string;
371
- visible: boolean;
372
- active: boolean;
373
- color?: string;
374
- invalidated: boolean;
375
- handles: Handles;
376
- length?: number;
377
- cachedStats?: Stats;
378
- }
379
-
380
- export type Stats = {
381
- area: number;
382
- perimeter?: number;
383
- count: number;
384
- mean: number;
385
- variance: number;
386
- stdDev: number;
387
- min: number;
388
- max: number;
389
- meanStdDev?: {
390
- mean: number;
391
- stdDev: number;
392
- };
393
- meanStdDevSUV?: {
394
- mean: number;
395
- stdDev: number;
396
- };
397
- unit?: string;
398
- };
399
-
400
- export type MeasurementConfig = {
401
- handleRadius?: number;
402
- drawHandlesOnHover?: boolean;
403
- hideHandlesIfMoving?: boolean;
404
- renderDashed?: boolean;
405
- color?: string;
406
- drawHandlesIfActive?: boolean;
407
- lineDash?: boolean;
408
- fill?: boolean;
409
- };
410
-
411
- export type PixelSpacing = {
412
- colPixelSpacing: number;
413
- rowPixelSpacing: number;
414
- };
415
-
416
- export type Rectangle = {
417
- left: number;
418
- top: number;
419
- width: number;
420
- height: number;
421
- };
422
- export interface Handles {
423
- start?: HandlePosition;
424
- end?: HandlePosition;
425
- offset?: number;
426
- textBox?: HandleTextBox;
427
- initialRotation?: number;
428
- points?: HandlePosition[];
429
- }
430
-
431
- export interface MeasurementMouseEvent {
432
- detail: EventData;
433
- currentTarget: any;
434
- }
435
-
436
- export interface Coords {
437
- x: number;
438
- y: number;
439
- }
440
-
441
- export interface EventData {
442
- currentPoints: {
443
- image: Coords;
444
- client: Coords;
445
- };
446
- startPoints: {
447
- image: Coords;
448
- client: Coords;
449
- };
450
- element: HTMLElement;
451
- buttons: number;
452
- shiftKey: boolean;
453
- viewport: Viewport;
454
- event: {
455
- altKey: boolean;
456
- shiftKey: boolean;
457
- ctrlKey: boolean;
458
- };
459
- image: cornerstone.Image;
460
- enabledElement?: EnabledElement;
461
- canvasContext: CanvasRenderingContext2D;
462
- }
463
-
464
- export type PreventEvent = {
465
- stopImmediatePropagation: Function;
466
- stopPropagation: Function;
467
- preventDefault: Function;
468
- };
469
-
470
- export interface PlotlyData {
471
- x: number[];
472
- y: number[];
473
- type: string;
474
- line: {
475
- color: string;
476
- };
477
- }