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,400 +0,0 @@
1
- import { vec2 } from "cornerstone-core";
2
- import { DataSet } from "dicom-parser";
3
- import { MetaDataTypes } from "./MetaDataTypes";
4
- import { MetaDataReadable } from "./MetaDataReadable";
5
- import { Element } from "dicom-parser";
6
- // TODO-ts: differentiate each single metadata @szanchi
7
- /*export type MetadataValue =
8
- | string
9
- | number
10
- | string[]
11
- | number[]
12
- | boolean
13
- | null
14
- | Array
15
- | undefined; // null or undefined is only for nrrd*/
16
-
17
- export type tags = { [x: string]: Element }[];
18
-
19
- export type customTags = {
20
- tag: string;
21
- value: string;
22
- offset: number;
23
- index: number;
24
- }[];
25
-
26
- export type sortedTags = {
27
- sortedTags: tags;
28
- sortedCustomTags: customTags;
29
- shiftTotal: number;
30
- };
31
-
32
- export type pdfType = { getPage: function; numPages: number };
33
-
34
- export type StoreViewport = {
35
- loading: number | null;
36
- ready: boolean;
37
- minSliceId: number;
38
- maxSliceId: number;
39
- sliceId: number;
40
- pendingSliceId?: number;
41
- uniqueUID?: string;
42
- minTimeId: number;
43
- maxTimeId: number;
44
- timeId: number;
45
- timestamp: number;
46
- timestamps: number[];
47
- timeIds: number[];
48
- pixelShift?: number[];
49
- rows: number;
50
- cols: number;
51
- spacing_x: number;
52
- spacing_y: number;
53
- thickness: number;
54
- minPixelValue: number;
55
- maxPixelValue: number;
56
- isColor: boolean;
57
- isMultiframe: boolean;
58
- isTimeserie: boolean;
59
- modality: string;
60
- isDSAEnabled: boolean;
61
- isPDF: boolean;
62
- waveform: boolean;
63
- dsa: boolean;
64
- imageIndex?: number;
65
- imageId?: string;
66
- numberOfSlices?: number;
67
- numberOfTemporalPositions?: number;
68
- numberOfFrames?: number;
69
- timeIndex?: number;
70
- viewport: {
71
- scale: number;
72
- rotation: number;
73
- translation: {
74
- x: number;
75
- y: number;
76
- };
77
- voi: {
78
- windowCenter: number;
79
- windowWidth: number;
80
- };
81
- // redundant fields ?
82
- rows: number;
83
- cols: number;
84
- spacing_x: number;
85
- spacing_y: number;
86
- thickness: number;
87
- };
88
- default: {
89
- scale: number;
90
- rotation: number;
91
- translation: {
92
- x: number;
93
- y: number;
94
- };
95
- voi: {
96
- windowCenter: number;
97
- windowWidth: number;
98
- invert: boolean;
99
- };
100
- };
101
- };
102
-
103
- export type MetaData = MetaDataTypes & MetaDataReadable;
104
-
105
- export interface Image extends cornerstone.Image {
106
- render?: Function;
107
- decodeTimeInMS?: number;
108
- loadTimeInMS?: number;
109
- webWorkerTimeInMS?: number;
110
- metadata: MetaData;
111
- data?: DataSet;
112
- floatPixelData?: Float32Array;
113
- }
114
-
115
- export type Instance = {
116
- metadata: MetaData;
117
- pixelData?: TypedArray | null;
118
- dataSet?: DataSet | null;
119
- file?: File | null;
120
- instanceId?: string;
121
- frame?: number;
122
- overlays?: { overlays: Overlay[] };
123
- };
124
-
125
- export type ReslicedInstance = {
126
- metadata: MetaData;
127
- instanceId?: string;
128
- permuteTable?: [number, number, number];
129
- };
130
-
131
- export type StagedProtocol = {
132
- numberOfStages: number; // Number of stages
133
- numberOfViews: number; // Number of views in stage
134
- stageName?: string; // Name of the stage
135
- stageNumber?: number; // Number of the stage
136
- viewName?: string; // Name of the view
137
- viewNumber?: number; // Number of the view
138
- };
139
-
140
- export type BiPlane = {
141
- tag: string;
142
- referencedSOPInstanceUID: string;
143
- positionerPrimaryAngle: string; // LAO >= 0, RAO < 0
144
- positionerSecondaryAngle: string; // CRA >= 0, CAU < 0
145
- };
146
-
147
- export type DSA = {
148
- imageIds: string[];
149
- x00286101?: string; // DSA MaskOperation
150
- x00286102?: number[]; // DSA ApplicableFrameRange
151
- x00286110?: number | number[]; // DSA MaskFrameNumbers
152
- x00286112?: number; // DSA ContrastFrameAveraging
153
- x00286114?: number[]; // DSA MaskSubPixelShift
154
- x00286120?: number; // DSA TIDOffset
155
- x00286190?: string; // DSA MaskOperationExplanation
156
- x00289416?: number; // DSA SubtractionItemID
157
- x00289454?: string; // DSA MaskSelectionMode
158
- };
159
-
160
- export type Series = {
161
- imageIds: string[];
162
- instances: { [key: string]: Instance };
163
- seriesDescription?: string;
164
- anonymized?: boolean;
165
- bytes: number;
166
- seriesUID: string;
167
- currentImageIdIndex: number;
168
- numberOfImages?: number;
169
- isMultiframe: boolean;
170
- color?: boolean;
171
- dataSet: DataSet | null;
172
- metadata?: MetaData;
173
- frameDelay?: number;
174
- frameTime?: number;
175
- rWaveTimeVector?: number[];
176
- instanceUIDs: { [key: string]: string };
177
- is4D: boolean;
178
- waveform: boolean;
179
- ecgData?: number[];
180
- traceData?: Partial<Plotly.PlotData>[];
181
- isPDF: boolean;
182
- stagedProtocol?: StagedProtocol;
183
- dsa?: DSA;
184
- modality: string;
185
- numberOfFrames: number;
186
- numberOfSlices: number;
187
- numberOfTemporalPositions: number;
188
- studyUID: string;
189
- uniqueUID: string;
190
- elements?: { [key: string]: any } | null;
191
- layer: Layer;
192
- orientation?: "axial" | "coronal" | "sagittal"; // this is needed for legacy reslice
193
- };
194
-
195
- export interface Layer extends cornerstone.EnabledElementLayer {
196
- id: string;
197
- }
198
-
199
- export interface Viewport extends cornerstone.Viewport {
200
- newImageIdIndex: number;
201
- displayedArea: {
202
- tlhc: {
203
- x: number;
204
- y: number;
205
- };
206
- brhc: {
207
- x: number;
208
- y: number;
209
- };
210
- columnPixelSpacing: number;
211
- rowPixelSpacing: number;
212
- presentationSizeMode: string;
213
- };
214
- overlayColor?: boolean | string;
215
- }
216
-
217
- export type Contours = {
218
- [key: string]: {
219
- [key: string]: Array<{
220
- x?: number;
221
- y?: number;
222
- lines: vec2[][];
223
- }>;
224
- };
225
- };
226
-
227
- export type Header = {
228
- volume: Volume;
229
- [imageId: string]: Instance.metadata;
230
- };
231
-
232
- export type Volume = {
233
- imageIds: string[];
234
- seriesId: string;
235
- rows: number;
236
- cols: number;
237
- slope: number;
238
- repr: string;
239
- intercept: number;
240
- imagePosition: [number, number];
241
- numberOfSlices: number;
242
- imageOrientation: [number, number, number];
243
- pixelSpacing: [number, number];
244
- sliceThickness: number;
245
- phase?: string;
246
- study_description?: string;
247
- series_description?: string;
248
- acquisition_date?: string;
249
- };
250
-
251
- export type ImageManager = {
252
- [key: string]: NrrdSeries | Series;
253
- } | null;
254
-
255
- export type GSPSManager = {
256
- [key: string]: { seriesId: string | null; imageId: string | null }[] | null;
257
- } | null;
258
-
259
- export type FileManager = {
260
- [key: string]: string;
261
- } | null;
262
-
263
- export type ImageFrame = {
264
- pixelData?: Uint8ClampedArray | Uint16Array | Int16Array | Uint8Array;
265
- bitsAllocated: number;
266
- rows: number;
267
- columns: number;
268
- photometricInterpretation: string;
269
- samplesPerPixel: number;
270
- smallestPixelValue: number;
271
- largestPixelValue: number;
272
- imageData?: ImageData;
273
- pixelRepresentation: number;
274
- };
275
-
276
- export type ImageTracker = {
277
- [key: string]: string;
278
- } | null;
279
-
280
- // the result of readFile or from data buffer
281
- export type ImageObject = {
282
- file?: File;
283
- instanceUID: string;
284
- metadata: MetaData;
285
- dataSet?: DataSet;
286
- imageId?: string;
287
- };
288
-
289
- export type CachingResponse = {
290
- seriesId: string;
291
- loading: number;
292
- series: Partial<Series>;
293
- };
294
-
295
- export interface CustomDataSet extends DataSet {
296
- repr?: string;
297
- }
298
-
299
- type Orientation = "axial" | "coronal" | "sagittal";
300
-
301
- type TypedArray =
302
- | Float64Array
303
- | Uint8Array
304
- | Uint8ClampedArray
305
- | Int8Array
306
- | Uint16Array
307
- | Int16Array
308
- | Int32Array
309
- | Uint32Array
310
- | Float32Array;
311
-
312
- type StoreViewport = typeof DEFAULT_VIEWPORT;
313
-
314
- type StoreViewportOptions = {
315
- numberOfSlices?: number;
316
- sliceNumber?: number;
317
- wc?: number;
318
- ww?: number;
319
- defaultWC?: number;
320
- defaultWW?: number;
321
- scale?: number;
322
- colormap?: string;
323
- tr_x?: number;
324
- tr_y?: number;
325
- };
326
-
327
- export type NrrdInputVolume = {
328
- header: {
329
- sizes: number[];
330
- "space directions": number[][]; // a property with a space in the name ?? Seriously ??
331
- "space origin": [number, number];
332
- kinds: string[];
333
- type: string;
334
- };
335
- data: Uint16Array; // TODO-ts: other typed arrays ?
336
- };
337
-
338
- export type NrrdSeries = {
339
- currentImageIdIndex: number;
340
- imageIds: string[];
341
- instances: { [key: string]: Instance };
342
- instanceUIDs: { [key: string]: string };
343
- numberOfImages: number;
344
- seriesDescription: string;
345
- seriesUID: string;
346
- uniqueUID: string;
347
- customLoader: string;
348
- nrrdHeader: NrrdHeader;
349
- bytes: number;
350
- dataSet?: DataSet;
351
- metadata?: MetaData;
352
- ecgData?: number[];
353
- isMultiframe?: boolean;
354
- numberOfFrames?: number;
355
- };
356
-
357
- export type NrrdHeader = {
358
- volume: Volume;
359
- intercept: number;
360
- slope: number;
361
- repr: string;
362
- phase: string;
363
- study_description: string;
364
- series_description: string;
365
- acquisition_date: string;
366
- [imageId: string]: string | number | Volume | NrrdInstance; // TODO-ts: fix this: we need just NrrdInstance
367
- };
368
-
369
- export type NrrdInstance = {
370
- instanceUID: string;
371
- seriesDescription: string;
372
- seriesModality: string;
373
- patientName: string;
374
- bitsAllocated: number;
375
- pixelRepresentation: string;
376
- };
377
-
378
- export type SingleFrameCache = {
379
- pixelData: TypedArray;
380
- metadata: MetaData;
381
- };
382
-
383
- type contrast = { windowCenter: number; windowWidth: number };
384
- type translation = { x: number; y: number };
385
-
386
- export type RenderProps = {
387
- cached?: boolean;
388
- imageIndex?: number;
389
- scale?: number;
390
- rotation?: number;
391
- translation?: translation;
392
- voi?: contrast;
393
- colormap?: string;
394
- default?: {
395
- scale?: number;
396
- rotation?: number;
397
- translation?: translation;
398
- voi?: contrast;
399
- };
400
- };