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