@cornerstonejs/core 0.2.0 → 0.2.3

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.
Files changed (21) hide show
  1. package/dist/cjs/RenderingEngine/RenderingEngine.d.ts +3 -1
  2. package/dist/cjs/RenderingEngine/RenderingEngine.js +30 -6
  3. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +2 -2
  5. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/{getModalityLUT.d.ts → getModalityLut.d.ts} +0 -0
  6. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/{getModalityLUT.js → getModalityLut.js} +1 -1
  7. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/{getModalityLUT.js.map → getModalityLut.js.map} +1 -1
  8. package/dist/cjs/types/IViewport.d.ts +7 -1
  9. package/dist/esm/RenderingEngine/RenderingEngine.d.ts +3 -1
  10. package/dist/esm/RenderingEngine/RenderingEngine.js +36 -6
  11. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  12. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +2 -2
  13. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/{getModalityLUT.d.ts → getModalityLut.d.ts} +0 -0
  14. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/{getModalityLUT.js → getModalityLut.js} +1 -1
  15. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/{getModalityLUT.js.map → getModalityLut.js.map} +1 -1
  16. package/dist/esm/types/IViewport.d.ts +7 -1
  17. package/dist/umd/index.js +1 -1
  18. package/dist/umd/index.js.map +1 -1
  19. package/package.json +5 -4
  20. package/dist/core.d.ts +0 -2456
  21. package/dist/esm/tsdoc-metadata.json +0 -11
package/dist/core.d.ts DELETED
@@ -1,2456 +0,0 @@
1
- import type { mat4 } from 'gl-matrix';
2
- import { vec3 } from 'gl-matrix';
3
- import type { vtkCamera } from 'vtk.js/Sources/Rendering/Core/Camera';
4
- import type { vtkImageData } from 'vtk.js/Sources/Common/DataModel/ImageData';
5
- import type { VtkObject } from 'vtk.js/Sources/interfaces';
6
- import type { vtkVolume } from 'vtk.js/Sources/Rendering/Core/Volume';
7
-
8
- declare type ActorEntry = {
9
- uid: string;
10
- volumeActor: VolumeActor;
11
- slabThickness?: number;
12
- };
13
-
14
- declare type AdditionalDetails = {
15
- imageId?: string;
16
- volumeId?: string;
17
- };
18
-
19
- declare function addProvider(provider: (type: string, imageId: string) => {
20
- any: any;
21
- }, priority?: number): void;
22
-
23
- export declare function addVolumesToViewports(renderingEngine: IRenderingEngine, volumeInputs: Array<IVolumeInput>, viewportIds: Array<string>, immediateRender?: boolean): Promise<void>;
24
-
25
- declare enum BlendModes {
26
- COMPOSITE,
27
- MAXIMUM_INTENSITY_BLEND,
28
- MINIMUM_INTENSITY_BLEND,
29
- AVERAGE_INTENSITY_BLEND
30
- }
31
-
32
- export declare const cache: Cache_2;
33
-
34
- declare class Cache_2 implements ICache {
35
- private readonly _imageCache;
36
- private readonly _volumeCache;
37
- private _imageCacheSize;
38
- private _volumeCacheSize;
39
- private _maxCacheSize;
40
- constructor();
41
- setMaxCacheSize: (newMaxCacheSize: number) => void;
42
- isCacheable: (byteLength: number) => boolean;
43
- getMaxCacheSize: () => number;
44
- getCacheSize: () => number;
45
- getBytesAvailable(): number;
46
- private _decacheImage;
47
- private _decacheVolume;
48
- purgeCache: () => void;
49
- decacheIfNecessaryUntilBytesAvailable(numBytes: number, volumeImageIds?: Array<string>): number | undefined;
50
- putImageLoadObject(imageId: string, imageLoadObject: IImageLoadObject): Promise<any>;
51
- getImageLoadObject(imageId: string): IImageLoadObject;
52
- getVolumeContainingImageId(imageId: string): {
53
- volume: IImageVolume;
54
- imageIdIndex: number;
55
- };
56
- getCachedImageBasedOnImageURI(imageId: string): any;
57
- putVolumeLoadObject(volumeId: string, volumeLoadObject: IVolumeLoadObject): Promise<any>;
58
- getVolumeLoadObject: (volumeId: string) => IVolumeLoadObject;
59
- getVolume: (volumeId: string) => IImageVolume;
60
- removeImageLoadObject: (imageId: string) => void;
61
- removeVolumeLoadObject: (volumeId: string) => void;
62
- private _incrementImageCacheSize;
63
- private _incrementVolumeCacheSize;
64
- }
65
-
66
- declare type CameraModifiedEvent = CustomEvent_2<CameraModifiedEventDetail>;
67
-
68
- declare type CameraModifiedEventDetail = {
69
- previousCamera: ICamera;
70
- camera: ICamera;
71
- element: HTMLElement;
72
- viewportId: string;
73
- renderingEngineId: string;
74
- };
75
-
76
- declare function cancelLoadAll(): void;
77
-
78
- declare function cancelLoadImage(imageId: string): void;
79
-
80
- declare function cancelLoadImages(imageIds: Array<string>): void;
81
-
82
- declare const colors: number[][];
83
-
84
- declare function compareImages(imageDataURL: string, baseline: string, outputName: any): Promise<any>;
85
-
86
- export declare const CONSTANTS: {
87
- ORIENTATION: Record<string, Types.Orientation>;
88
- CPU_COLORMAPS: Types.CPUFallbackColormapsData;
89
- };
90
-
91
- declare class CornerstoneEventTarget implements EventTarget {
92
- private listeners;
93
- constructor();
94
- reset(): void;
95
- addEventListener(type: any, callback: any): void;
96
- removeEventListener(type: any, callback: any): void;
97
- dispatchEvent(event: any): boolean;
98
- }
99
-
100
- declare interface CPUFallbackColormap {
101
- getId: () => string;
102
- getColorSchemeName: () => string;
103
- setColorSchemeName: (name: string) => void;
104
- getNumberOfColors: () => number;
105
- setNumberOfColors: (numColors: number) => void;
106
- getColor: (index: number) => Point4;
107
- getColorRepeating: (index: number) => Point4;
108
- setColor: (index: number, rgba: Point4) => void;
109
- addColor: (rgba: Point4) => void;
110
- insertColor: (index: number, rgba: Point4) => void;
111
- removeColor: (index: number) => void;
112
- clearColors: () => void;
113
- buildLookupTable: (lut: CPUFallbackLookupTable) => void;
114
- createLookupTable: () => CPUFallbackLookupTable;
115
- isValidIndex: (index: number) => boolean;
116
- }
117
-
118
- declare type CPUFallbackColormapData = {
119
- name: string;
120
- numOfColors?: number;
121
- colors?: Point4[];
122
- segmentedData?: unknown;
123
- numColors?: number;
124
- gamma?: number;
125
- };
126
-
127
- declare type CPUFallbackColormapsData = {
128
- [key: string]: CPUFallbackColormapData;
129
- };
130
-
131
- declare interface CPUFallbackEnabledElement {
132
- scale?: number;
133
- pan?: Point2;
134
- zoom?: number;
135
- rotation?: number;
136
- image?: IImage;
137
- canvas?: HTMLCanvasElement;
138
- viewport?: CPUFallbackViewport;
139
- colormap?: CPUFallbackColormap;
140
- options?: {
141
- [key: string]: unknown;
142
- colormap?: CPUFallbackColormap;
143
- };
144
- renderingTools?: CPUFallbackRenderingTools;
145
- transform?: CPUFallbackTransform;
146
- invalid?: boolean;
147
- needsRedraw?: boolean;
148
- metadata?: {
149
- direction?: Float32Array;
150
- dimensions?: Point3;
151
- spacing?: Point3;
152
- origin?: Point3;
153
- imagePlaneModule?: {
154
- frameOfReferenceUID: string;
155
- rows: number;
156
- columns: number;
157
- imageOrientationPatient: number[];
158
- rowCosines: Point3;
159
- columnCosines: Point3;
160
- imagePositionPatient: number[];
161
- sliceThickness?: number;
162
- sliceLocation?: number;
163
- pixelSpacing: Point2;
164
- rowPixelSpacing: number;
165
- columnPixelSpacing: number;
166
- };
167
- imagePixelModule?: {
168
- samplesPerPixel: number;
169
- photometricInterpretation: string;
170
- rows: number;
171
- columns: number;
172
- bitsAllocated: number;
173
- bitsStored: number;
174
- highBit: number;
175
- pixelRepresentation: number;
176
- planarConfiguration?: number;
177
- pixelAspectRatio?: number;
178
- smallestPixelValue?: number;
179
- largestPixelValue?: number;
180
- redPaletteColorLookupTableDescriptor?: number[];
181
- greenPaletteColorLookupTableDescriptor?: number[];
182
- bluePaletteColorLookupTableDescriptor?: number[];
183
- redPaletteColorLookupTableData: number[];
184
- greenPaletteColorLookupTableData: number[];
185
- bluePaletteColorLookupTableData: number[];
186
- };
187
- };
188
- }
189
-
190
- declare interface CPUFallbackLookupTable {
191
- setNumberOfTableValues: (number: number) => void;
192
- setRamp: (ramp: string) => void;
193
- setTableRange: (start: number, end: number) => void;
194
- setHueRange: (start: number, end: number) => void;
195
- setSaturationRange: (start: number, end: number) => void;
196
- setValueRange: (start: number, end: number) => void;
197
- setRange: (start: number, end: number) => void;
198
- setAlphaRange: (start: number, end: number) => void;
199
- getColor: (scalar: number) => Point4;
200
- build: (force: boolean) => void;
201
- setTableValue(index: number, rgba: Point4): any;
202
- }
203
-
204
- declare type CPUFallbackLUT = {
205
- lut: number[];
206
- };
207
-
208
- declare type CPUFallbackRenderingTools = {
209
- renderCanvas?: HTMLCanvasElement;
210
- lastRenderedIsColor?: boolean;
211
- lastRenderedImageId?: string;
212
- lastRenderedViewport?: {
213
- windowWidth: number | number[];
214
- windowCenter: number | number[];
215
- invert: boolean;
216
- rotation: number;
217
- hflip: boolean;
218
- vflip: boolean;
219
- modalityLUT: CPUFallbackLUT;
220
- voiLUT: CPUFallbackLUT;
221
- colormap: unknown;
222
- };
223
- renderCanvasContext?: {
224
- putImageData: (renderCanvasData: unknown, dx: number, dy: number) => unknown;
225
- };
226
- colormapId?: string;
227
- colorLut?: CPUFallbackLookupTable;
228
- renderCanvasData?: {
229
- data: Uint8ClampedArray;
230
- };
231
- };
232
-
233
- declare interface CPUFallbackTransform {
234
- reset: () => void;
235
- clone: () => CPUFallbackTransform;
236
- multiply: (matrix: TransformMatrix2D) => void;
237
- getMatrix: () => TransformMatrix2D;
238
- invert: () => void;
239
- rotate: (rad: number) => void;
240
- translate: (x: number, y: number) => void;
241
- scale: (sx: number, sy: number) => void;
242
- transformPoint: (point: Point2) => Point2;
243
- }
244
-
245
- declare type CPUFallbackViewport = {
246
- scale?: number;
247
- translation?: {
248
- x: number;
249
- y: number;
250
- };
251
- voi?: {
252
- windowWidth: number;
253
- windowCenter: number;
254
- };
255
- invert?: boolean;
256
- pixelReplication?: boolean;
257
- rotation?: number;
258
- hflip?: boolean;
259
- vflip?: boolean;
260
- modalityLUT?: CPUFallbackLUT;
261
- voiLUT?: CPUFallbackLUT;
262
- colormap?: CPUFallbackColormap;
263
- displayedArea?: CPUFallbackViewportDisplayedArea;
264
- modality?: string;
265
- };
266
-
267
- declare type CPUFallbackViewportDisplayedArea = {
268
- tlhc: {
269
- x: number;
270
- y: number;
271
- };
272
- brhc: {
273
- x: number;
274
- y: number;
275
- };
276
- rowPixelSpacing: number;
277
- columnPixelSpacing: number;
278
- presentationSizeMode: string;
279
- };
280
-
281
- declare type CPUIImageData = {
282
- dimensions: Point3;
283
- direction: Float32Array;
284
- spacing: Point3;
285
- origin: Point3;
286
- imageData: CPUImageData;
287
- metadata: {
288
- Modality: string;
289
- };
290
- scalarData: number[];
291
- scaling: Scaling;
292
- };
293
-
294
- declare type CPUImageData = {
295
- worldToIndex?: (point: Point3) => Point3;
296
- indexToWorld?: (point: Point3) => Point3;
297
- getWorldToIndex?: () => Point3;
298
- getIndexToWorld?: () => Point3;
299
- getSpacing?: () => Point3;
300
- getDirection?: () => Float32Array;
301
- getScalarData?: () => number[];
302
- getDimensions?: () => Point3;
303
- };
304
-
305
- declare function createAndCacheDerivedVolume(referencedVolumeId: string, options: DerivedVolumeOptions): ImageVolume;
306
-
307
- declare function createAndCacheVolume(volumeId: string, options: VolumeLoaderOptions): Promise<Record<string, any>>;
308
-
309
- declare function createFloat32SharedArray(length: number): Float32Array;
310
-
311
- declare function createLocalVolume(options: LocalVolumeOptions, volumeId: string, preventCache?: boolean): ImageVolume;
312
-
313
- declare function createNormalizedMouseEvent(imageData: vtkImageData, index: any, element: any, viewport: any): {
314
- pageX: any;
315
- pageY: any;
316
- clientX: any;
317
- clientY: any;
318
- worldCoord: any;
319
- };
320
-
321
- declare function createUint8SharedArray(length: number): Uint8Array;
322
-
323
- export declare function createVolumeActor(props: createVolumeActorInterface): Promise<VolumeActor>;
324
-
325
- declare interface createVolumeActorInterface {
326
- volumeId: string;
327
- callback?: ({ volumeActor: any, volumeId: string }: {
328
- volumeActor: any;
329
- volumeId: any;
330
- }) => void;
331
- blendMode?: BlendModes;
332
- }
333
-
334
- export declare function createVolumeMapper(imageData: any, vtkOpenGLTexture: any): any;
335
-
336
- declare interface CustomEvent_2<T = any> extends Event {
337
- readonly detail: T;
338
- initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: T): void;
339
- }
340
-
341
- declare interface DerivedVolumeOptions {
342
- volumeId: string;
343
- targetBuffer?: {
344
- type: 'Float32Array' | 'Uint8Array';
345
- };
346
- }
347
-
348
- declare type ElementDisabledEvent = CustomEvent_2<ElementDisabledEventDetail>;
349
-
350
- declare type ElementDisabledEventDetail = {
351
- element: HTMLElement;
352
- viewportId: string;
353
- renderingEngineId: string;
354
- };
355
-
356
- declare type ElementEnabledEvent = CustomEvent_2<ElementEnabledEventDetail>;
357
-
358
- declare type ElementEnabledEventDetail = {
359
- element: HTMLElement;
360
- viewportId: string;
361
- renderingEngineId: string;
362
- };
363
-
364
- export declare const Enums: {
365
- Events: typeof EVENTS;
366
- ViewportType: typeof ViewportType;
367
- InterpolationType: typeof InterpolationType;
368
- RequestType: typeof RequestType;
369
- BlendModes: typeof BlendModes;
370
- };
371
-
372
- export declare enum EVENTS {
373
- CACHE_SIZE_EXCEEDED = "CACHE_SIZE_EXCEEDED",
374
- IMAGE_LOAD_ERROR = "IMAGE_LOAD_ERROR",
375
- CAMERA_MODIFIED = "CORNERSTONE_CAMERA_MODIFIED",
376
- VOI_MODIFIED = "CORNERSTONE_VOI_MODIFIED",
377
- ELEMENT_DISABLED = "CORNERSTONE_ELEMENT_DISABLED",
378
- ELEMENT_ENABLED = "CORNERSTONE_ELEMENT_ENABLED",
379
- IMAGE_RENDERED = "CORNERSTONE_IMAGE_RENDERED",
380
- IMAGE_VOLUME_MODIFIED = "CORNERSTONE_IMAGE_VOLUME_MODIFIED",
381
- IMAGE_LOADED = "CORNERSTONE_IMAGE_LOADED",
382
- IMAGE_LOAD_FAILED = "CORNERSTONE_IMAGE_LOAD_FAILED",
383
- VOLUME_LOADED = "CORNERSTONE_VOLUME_LOADED",
384
- VOLUME_LOADED_FAILED = "CORNERSTONE_VOLUME_LOADED_FAILED",
385
- IMAGE_CACHE_IMAGE_ADDED = "CORNERSTONE_IMAGE_CACHE_IMAGE_ADDED",
386
- IMAGE_CACHE_IMAGE_REMOVED = "CORNERSTONE_IMAGE_CACHE_IMAGE_REMOVED",
387
- VOLUME_CACHE_VOLUME_ADDED = "CORNERSTONE_VOLUME_CACHE_VOLUME_ADDED",
388
- VOLUME_CACHE_VOLUME_REMOVED = "CORNERSTONE_VOLUME_CACHE_VOLUME_REMOVED",
389
- STACK_NEW_IMAGE = "CORNERSTONE_STACK_NEW_IMAGE",
390
- IMAGE_SPACING_CALIBRATED = "CORNERSTONE_IMAGE_SPACING_CALIBRATED",
391
- IMAGE_LOAD_PROGRESS = "CORNERSTONE_IMAGE_LOAD_PROGRESS"
392
- }
393
-
394
- export declare const eventTarget: CornerstoneEventTarget;
395
-
396
- declare namespace EventTypes {
397
- export {
398
- CameraModifiedEventDetail,
399
- CameraModifiedEvent,
400
- VoiModifiedEvent,
401
- VoiModifiedEventDetail,
402
- ElementDisabledEvent,
403
- ElementDisabledEventDetail,
404
- ElementEnabledEvent,
405
- ElementEnabledEventDetail,
406
- ImageRenderedEventDetail,
407
- ImageRenderedEvent,
408
- ImageVolumeModifiedEvent,
409
- ImageVolumeModifiedEventDetail,
410
- ImageLoadedEvent,
411
- ImageLoadedEventDetail,
412
- ImageLoadedFailedEventDetail,
413
- ImageLoadedFailedEvent,
414
- VolumeLoadedEvent,
415
- VolumeLoadedEventDetail,
416
- VolumeLoadedFailedEvent,
417
- VolumeLoadedFailedEventDetail,
418
- ImageCacheImageAddedEvent,
419
- ImageCacheImageAddedEventDetail,
420
- ImageCacheImageRemovedEvent,
421
- ImageCacheImageRemovedEventDetail,
422
- VolumeCacheVolumeAddedEvent,
423
- VolumeCacheVolumeAddedEventDetail,
424
- VolumeCacheVolumeRemovedEvent,
425
- VolumeCacheVolumeRemovedEventDetail,
426
- StackNewImageEvent,
427
- StackNewImageEventDetail,
428
- ImageSpacingCalibratedEvent,
429
- ImageSpacingCalibratedEventDetail,
430
- ImageLoadProgressEvent,
431
- ImageLoadProgressEventDetail
432
- }
433
- }
434
-
435
- /**
436
- * Method use to decorate a given object (publicAPI+model) with vtkRenderer characteristics.
437
- *
438
- * @param publicAPI - object on which methods will be bounds (public)
439
- * @param model - object on which data structure will be bounds (protected)
440
- * @param initialValues -
441
- */
442
- declare function extend(
443
- publicAPI: any,
444
- model: any,
445
- initialValues?: ICameraInitialValues
446
- ): void
447
-
448
- declare function fakeImageLoader(imageId: any): {
449
- promise: Promise<{
450
- rows: any;
451
- columns: any;
452
- width: any;
453
- height: any;
454
- imageId: any;
455
- intercept: number;
456
- slope: number;
457
- invert: boolean;
458
- windowCenter: number;
459
- windowWidth: number;
460
- maxPixelValue: number;
461
- minPixelValue: number;
462
- rowPixelSpacing: number;
463
- columnPixelSpacing: number;
464
- getPixelData: () => any;
465
- sizeInBytes: number;
466
- FrameOfReferenceUID: string;
467
- }>;
468
- };
469
-
470
- declare function fakeMetaDataProvider(type: string, imageId: string): {
471
- photometricInterpretation: string;
472
- rows: number;
473
- columns: number;
474
- samplesPerPixel: number;
475
- bitsAllocated: number;
476
- bitsStored: number;
477
- highBit: number;
478
- pixelRepresentation: number;
479
- } | {
480
- modality: string;
481
- } | {
482
- suvbw: number;
483
- suvlbm: number;
484
- suvbsa: number;
485
- } | {
486
- rows: number;
487
- columns: number;
488
- width: number;
489
- height: number;
490
- imageOrientationPatient: number[];
491
- rowCosines: number[];
492
- columnCosines: number[];
493
- imagePositionPatient: number[];
494
- pixelSpacing: number[];
495
- rowPixelSpacing: number;
496
- columnPixelSpacing: number;
497
- } | {
498
- windowWidth: any;
499
- windowCenter: any;
500
- rescaleSlope?: undefined;
501
- rescaleIntercept?: undefined;
502
- } | {
503
- rescaleSlope: any;
504
- rescaleIntercept: any;
505
- windowWidth?: undefined;
506
- windowCenter?: undefined;
507
- };
508
-
509
- declare function fakeVolumeLoader(volumeId: any): {
510
- promise: Promise<ImageVolume>;
511
- };
512
-
513
- declare type FlipDirection = {
514
- flipHorizontal?: boolean;
515
- flipVertical?: boolean;
516
- };
517
-
518
- declare function getClosestImageId(imageVolume: IImageVolume, worldPos: Point3, viewPlaneNormal: Point3, viewUp: Point3): string;
519
-
520
- export declare function getEnabledElement(element: HTMLElement | undefined): IEnabledElement | undefined;
521
-
522
- export declare function getEnabledElementByIds(viewportId: string, renderingEngineId: string): IEnabledElement;
523
-
524
- declare function getMetaData(type: string, imageId: string): any;
525
-
526
- declare function getMinMax(storedPixelData: number[]): {
527
- min: number;
528
- max: number;
529
- };
530
-
531
- export declare function getOrCreateCanvas(element: HTMLElement): HTMLCanvasElement;
532
-
533
- export declare function getRenderingEngine(id: string): IRenderingEngine | undefined;
534
-
535
- export declare function getRenderingEngines(): IRenderingEngine[] | undefined;
536
-
537
- declare function getRuntimeId(context?: unknown, separator?: string, max?: number): string;
538
-
539
- export declare function getShouldUseCPURendering(): boolean;
540
-
541
- declare function getSpacingInNormalDirection(imageVolume: IImageVolume, viewPlaneNormal: Point3): number;
542
-
543
- declare function getTargetVolumeAndSpacingInNormalDir(viewport: IVolumeViewport, camera: ICamera, targetVolumeId?: string): {
544
- imageVolume: IImageVolume;
545
- spacingInNormalDirection: number;
546
- };
547
-
548
- declare function getVolumeActorCorners(volumeActor: any): Array<Point3>;
549
-
550
- declare function getVolumeViewportsContainingSameVolumes(targetViewport: IVolumeViewport, renderingEngineId?: string): Array<IVolumeViewport>;
551
-
552
- declare function getVolumeViewportsContainingVolumeId(volumeId: string, renderingEngineId?: string): Array<IVolumeViewport>;
553
-
554
- declare interface ICache {
555
- setMaxCacheSize: (maxCacheSize: number) => void;
556
- getMaxCacheSize: () => number;
557
- getCacheSize: () => number;
558
- putImageLoadObject: (imageId: string, imageLoadObject: IImageLoadObject) => Promise<any>;
559
- getImageLoadObject: (imageId: string) => IImageLoadObject | void;
560
- putVolumeLoadObject: (volumeId: string, volumeLoadObject: IVolumeLoadObject) => Promise<any>;
561
- getVolumeLoadObject: (volumeId: string) => IVolumeLoadObject | void;
562
- purgeCache: () => void;
563
- }
564
-
565
- declare interface ICachedImage {
566
- image?: IImage;
567
- imageId: string;
568
- imageLoadObject: IImageLoadObject;
569
- loaded: boolean;
570
- sharedCacheKey?: string;
571
- timeStamp: number;
572
- sizeInBytes: number;
573
- }
574
-
575
- declare interface ICachedVolume {
576
- volume?: IImageVolume;
577
- volumeId: string;
578
- volumeLoadObject: IVolumeLoadObject;
579
- loaded: boolean;
580
- timeStamp: number;
581
- sizeInBytes: number;
582
- }
583
-
584
- declare interface ICamera {
585
- clippingRange?: Point2;
586
- focalPoint?: Point3;
587
- parallelProjection?: boolean;
588
- parallelScale?: number;
589
- position?: Point3;
590
- viewAngle?: number;
591
- viewPlaneNormal?: Point3;
592
- viewUp?: Point3;
593
- slabThickness?: number;
594
- }
595
-
596
- /**
597
- *
598
- */
599
- declare interface ICameraInitialValues {
600
- position?: number[]
601
- focalPoint?: number[]
602
- viewUp?: number[]
603
- directionOfProjection?: number[]
604
- parallelProjection?: boolean
605
- useHorizontalViewAngle?: boolean
606
- viewAngle?: number
607
- parallelScale?: number
608
- clippingRange?: number[]
609
- windowCenter?: number[]
610
- viewPlaneNormal?: number[]
611
- useOffAxisProjection?: boolean
612
- screenBottomLeft?: number[]
613
- screenBottomRight?: number[]
614
- screenTopRight?: number[]
615
- freezeFocalPoint?: boolean
616
- physicalTranslation?: number[]
617
- physicalScale?: number
618
- physicalViewUp?: number[]
619
- physicalViewNorth?: number[]
620
- }
621
-
622
- declare interface IEnabledElement {
623
- viewport: IStackViewport | IVolumeViewport;
624
- renderingEngine: IRenderingEngine;
625
- viewportId: string;
626
- renderingEngineId: string;
627
- FrameOfReferenceUID: string;
628
- }
629
-
630
- declare interface IImage {
631
- imageId: string;
632
- sharedCacheKey?: string;
633
- minPixelValue: number;
634
- maxPixelValue: number;
635
- slope: number;
636
- intercept: number;
637
- windowCenter: number[] | number;
638
- windowWidth: number[] | number;
639
- getPixelData: () => Array<number>;
640
- getCanvas: () => HTMLCanvasElement;
641
- rows: number;
642
- columns: number;
643
- height: number;
644
- width: number;
645
- color: boolean;
646
- rgba: boolean;
647
- numComps: number;
648
- render?: (enabledElement: CPUFallbackEnabledElement, invalidated: boolean) => unknown;
649
- columnPixelSpacing: number;
650
- rowPixelSpacing: number;
651
- sliceThickness?: number;
652
- invert: boolean;
653
- sizeInBytes: number;
654
- modalityLUT?: CPUFallbackLUT;
655
- voiLUT?: CPUFallbackLUT;
656
- colormap?: CPUFallbackColormap;
657
- scaling?: {
658
- PET?: {
659
- SUVlbmFactor?: number;
660
- SUVbsaFactor?: number;
661
- suvbwToSuvlbm?: number;
662
- suvbwToSuvbsa?: number;
663
- };
664
- };
665
- stats?: {
666
- lastStoredPixelDataToCanvasImageDataTime?: number;
667
- lastGetPixelDataTime?: number;
668
- lastPutImageDataTime?: number;
669
- lastLutGenerateTime?: number;
670
- lastRenderedViewport?: unknown;
671
- lastRenderTime?: number;
672
- };
673
- cachedLut?: {
674
- windowWidth?: number | number[];
675
- windowCenter?: number | number[];
676
- invert?: boolean;
677
- lutArray?: Uint8ClampedArray;
678
- modalityLUT?: unknown;
679
- voiLUT?: CPUFallbackLUT;
680
- };
681
- }
682
-
683
- declare interface IImageData {
684
- dimensions: Point3;
685
- direction: Float32Array;
686
- spacing: Point3;
687
- origin: Point3;
688
- scalarData: Float32Array;
689
- imageData: vtkImageData;
690
- metadata: {
691
- Modality: string;
692
- };
693
- scaling?: Scaling;
694
- }
695
-
696
- declare interface IImageLoadObject {
697
- promise: Promise<IImage>;
698
- cancel?: () => void;
699
- decache?: () => void;
700
- }
701
-
702
- declare interface IImageVolume {
703
- readonly volumeId: string;
704
- dimensions: Point3;
705
- direction: Float32Array;
706
- metadata: Metadata;
707
- origin: Point3;
708
- scalarData: any;
709
- scaling?: {
710
- PET?: {
711
- SUVlbmFactor?: number;
712
- SUVbsaFactor?: number;
713
- suvbwToSuvlbm?: number;
714
- suvbwToSuvbsa?: number;
715
- };
716
- };
717
- sizeInBytes?: number;
718
- spacing: Point3;
719
- numVoxels: number;
720
- imageData?: vtkImageData;
721
- vtkOpenGLTexture: any;
722
- loadStatus?: Record<string, any>;
723
- imageIds?: Array<string>;
724
- referencedVolumeId?: string;
725
- convertToCornerstoneImage?: (imageId: string, imageIdIndex: number) => IImageLoadObject;
726
- }
727
-
728
- declare type ImageCacheImageAddedEvent = CustomEvent_2<ImageCacheImageAddedEventDetail>;
729
-
730
- declare type ImageCacheImageAddedEventDetail = {
731
- image: ICachedImage;
732
- };
733
-
734
- declare type ImageCacheImageRemovedEvent = CustomEvent_2<ImageCacheImageRemovedEventDetail>;
735
-
736
- declare type ImageCacheImageRemovedEventDetail = {
737
- imageId: string;
738
- };
739
-
740
- declare function imageIdToURI(imageId: string): string;
741
-
742
- declare type ImageLoadedEvent = CustomEvent_2<ImageLoadedEventDetail>;
743
-
744
- declare type ImageLoadedEventDetail = {
745
- image: IImage;
746
- };
747
-
748
- declare type ImageLoadedFailedEvent = CustomEvent_2<ImageLoadedFailedEventDetail>;
749
-
750
- declare type ImageLoadedFailedEventDetail = {
751
- imageId: string;
752
- error: unknown;
753
- };
754
-
755
- declare namespace imageLoader {
756
- export {
757
- loadImage,
758
- loadAndCacheImage,
759
- loadAndCacheImages,
760
- cancelLoadImage,
761
- cancelLoadImages,
762
- cancelLoadAll,
763
- registerImageLoader,
764
- registerUnknownImageLoader,
765
- unregisterAllImageLoaders,
766
- ImageLoaderOptions
767
- }
768
- }
769
- export { imageLoader }
770
-
771
- declare type ImageLoaderFn = (imageId: string, options?: Record<string, any>) => {
772
- promise: Promise<Record<string, any>>;
773
- cancelFn?: () => void | undefined;
774
- decache?: () => void | undefined;
775
- };
776
-
777
- declare interface ImageLoaderOptions {
778
- priority: number;
779
- requestType: string;
780
- additionalDetails?: Record<string, unknown>;
781
- }
782
-
783
- declare const imageLoadPoolManager: RequestPoolManager;
784
- export { imageLoadPoolManager }
785
- export { imageLoadPoolManager as requestPoolManager }
786
-
787
- declare type ImageLoadProgressEvent = CustomEvent_2<ImageLoadProgressEventDetail>;
788
-
789
- declare type ImageLoadProgressEventDetail = {
790
- url: string;
791
- imageId: string;
792
- loaded: number;
793
- total: number;
794
- percent: number;
795
- };
796
-
797
- declare type ImageRenderedEvent = CustomEvent_2<ElementEnabledEventDetail>;
798
-
799
- declare type ImageRenderedEventDetail = {
800
- element: HTMLElement;
801
- viewportId: string;
802
- renderingEngineId: string;
803
- suppressEvents?: boolean;
804
- };
805
-
806
- export declare const imageRetrievalPoolManager: RequestPoolManager;
807
-
808
- declare type ImageSpacingCalibratedEvent = CustomEvent_2<ImageSpacingCalibratedEventDetail>;
809
-
810
- declare type ImageSpacingCalibratedEventDetail = {
811
- element: HTMLElement;
812
- viewportId: string;
813
- renderingEngineId: string;
814
- imageId: string;
815
- rowScale: number;
816
- columnScale: number;
817
- imageData: vtkImageData;
818
- worldToIndex: mat4;
819
- };
820
-
821
- export declare class ImageVolume implements IImageVolume {
822
- readonly volumeId: string;
823
- dimensions: Point3;
824
- direction: Float32Array;
825
- metadata: Metadata;
826
- origin: Point3;
827
- scalarData: Float32Array | Uint8Array;
828
- scaling?: {
829
- PET?: {
830
- SUVlbmFactor?: number;
831
- SUVbsaFactor?: number;
832
- suvbwToSuvlbm?: number;
833
- suvbwToSuvbsa?: number;
834
- };
835
- };
836
- sizeInBytes?: number;
837
- spacing: Point3;
838
- numVoxels: number;
839
- imageData?: any;
840
- vtkOpenGLTexture: any;
841
- loadStatus?: Record<string, any>;
842
- imageIds?: Array<string>;
843
- referencedVolumeId?: string;
844
- constructor(props: IVolume);
845
- }
846
-
847
- declare type ImageVolumeModifiedEvent = CustomEvent_2<ImageVolumeModifiedEventDetail>;
848
-
849
- declare type ImageVolumeModifiedEventDetail = {
850
- imageVolume: IImageVolume;
851
- FrameOfReferenceUID: string;
852
- };
853
-
854
- declare function indexWithinDimensions(index: Point3, dimensions: Point3): boolean;
855
-
856
- export declare function init(defaultConfiguration?: {}): Promise<boolean>;
857
-
858
- declare enum InterpolationType {
859
- NEAREST = 0,
860
- LINEAR = 1,
861
- FAST_LINEAR = 2
862
- }
863
-
864
- declare function invertRgbTransferFunction(rgbTransferFunction: any): void;
865
-
866
- declare interface IRegisterImageLoader {
867
- registerImageLoader: (scheme: string, imageLoader: ImageLoaderFn) => void;
868
- }
869
-
870
- declare interface IRenderingEngine {
871
- id: string;
872
- hasBeenDestroyed: boolean;
873
- offscreenMultiRenderWindow: any;
874
- offScreenCanvasContainer: any;
875
- setViewports(viewports: Array<PublicViewportInput>): void;
876
- resize(): void;
877
- getViewport(id: string): IStackViewport | IVolumeViewport;
878
- getViewports(): Array<IStackViewport | IVolumeViewport>;
879
- render(): void;
880
- renderViewports(viewportIds: Array<string>): void;
881
- renderViewport(viewportId: string): void;
882
- renderFrameOfReference(FrameOfReferenceUID: string): void;
883
- fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
884
- enableElement(viewportInputEntry: PublicViewportInput): void;
885
- disableElement(viewportId: string): void;
886
- getStackViewports(): Array<IStackViewport>;
887
- getVolumeViewports(): Array<IVolumeViewport>;
888
- destroy(): void;
889
- _debugRender(): void;
890
- }
891
-
892
- export declare function isCornerstoneInitialized(): boolean;
893
-
894
- declare function isEqual(v1: number[] | Float32Array, v2: number[] | Float32Array, tolerance?: number): boolean;
895
-
896
- declare function isOpposite(v1: Point3, v2: Point3, tolerance?: number): boolean;
897
-
898
- declare interface IStackViewport extends IViewport {
899
- modality: string;
900
- scaling: Scaling;
901
- resize: () => void;
902
- getFrameOfReferenceUID: () => string;
903
- setProperties({ voiRange, invert, interpolationType, rotation, flipHorizontal, flipVertical, }: StackViewportProperties): void;
904
- getProperties: () => StackViewportProperties;
905
- canvasToWorld: (canvasPos: Point2) => Point3;
906
- worldToCanvas: (worldPos: Point3) => Point2;
907
- getCurrentImageIdIndex: () => number;
908
- getImageIds: () => string[];
909
- getCurrentImageId: () => string;
910
- customRenderViewportToCanvas: () => {
911
- canvas: HTMLCanvasElement;
912
- element: HTMLElement;
913
- viewportId: string;
914
- renderingEngineId: string;
915
- };
916
- getImageData(): IImageData | CPUIImageData;
917
- resetProperties(): void;
918
- getCamera(): ICamera;
919
- setCamera(cameraInterface: ICamera): void;
920
- setStack(imageIds: Array<string>, currentImageIdIndex?: number): Promise<string>;
921
- resetCamera(resetPanZoomForViewPlane?: boolean): boolean;
922
- setImageIdIndex(imageIdIndex: number): Promise<string>;
923
- calibrateSpacing(imageId: string): void;
924
- getRenderer(): any;
925
- setColormap(colormap: CPUFallbackColormapData): void;
926
- unsetColormap(): void;
927
- }
928
-
929
- declare interface IStreamingImageVolume extends ImageVolume {
930
- clearLoadCallbacks(): void;
931
- convertToCornerstoneImage(imageId: string, imageIdIndex: number): any;
932
- decache(completelyRemove: boolean): void;
933
- }
934
-
935
- declare interface IStreamingVolumeProperties {
936
- imageIds: Array<string>;
937
- loadStatus: {
938
- loaded: boolean;
939
- loading: boolean;
940
- cachedFrames: Array<boolean>;
941
- callbacks: Array<() => void>;
942
- };
943
- }
944
-
945
- declare interface IViewport {
946
- id: string;
947
- renderingEngineId: string;
948
- type: ViewportType;
949
- canvas: HTMLCanvasElement;
950
- element: HTMLElement;
951
- sx: number;
952
- sy: number;
953
- sWidth: number;
954
- sHeight: number;
955
- _actors: Map<string, any>;
956
- defaultOptions: any;
957
- options: ViewportInputOptions;
958
- suppressEvents: boolean;
959
- getFrameOfReferenceUID: () => string;
960
- canvasToWorld: (canvasPos: Point2) => Point3;
961
- worldToCanvas: (worldPos: Point3) => Point2;
962
- getActors(): Array<ActorEntry>;
963
- getActor(actorUID: string): ActorEntry;
964
- setActors(actors: Array<ActorEntry>): void;
965
- addActors(actors: Array<ActorEntry>): void;
966
- addActor(actorEntry: ActorEntry): void;
967
- removeAllActors(): void;
968
- getRenderingEngine(): any;
969
- getRenderer(): void;
970
- render(): void;
971
- setOptions(options: ViewportInputOptions, immediate: boolean): void;
972
- reset(immediate: boolean): void;
973
- getCanvas(): HTMLCanvasElement;
974
- getCamera(): ICamera;
975
- setCamera(cameraInterface: ICamera): void;
976
- customRenderViewportToCanvas: () => unknown;
977
- _getCorners(bounds: Array<number>): Array<number>[];
978
- }
979
-
980
- declare interface IViewportId {
981
- renderingEngineId: string;
982
- viewportId: string;
983
- }
984
-
985
- declare interface IVolume {
986
- volumeId: string;
987
- metadata: Metadata;
988
- dimensions: Point3;
989
- spacing: Point3;
990
- origin: Point3;
991
- direction: Float32Array;
992
- scalarData: Float32Array | Uint8Array;
993
- sizeInBytes?: number;
994
- imageData?: vtkImageData;
995
- referencedVolumeId?: string;
996
- scaling?: {
997
- PET?: {
998
- SUVlbmFactor?: number;
999
- SUVbsaFactor?: number;
1000
- suvbwToSuvlbm?: number;
1001
- suvbwToSuvbsa?: number;
1002
- };
1003
- };
1004
- }
1005
-
1006
- declare interface IVolumeInput {
1007
- volumeId: string;
1008
- actorUID?: string;
1009
- visibility?: boolean;
1010
- callback?: VolumeInputCallback;
1011
- blendMode?: BlendModes;
1012
- slabThickness?: number;
1013
- }
1014
-
1015
- declare interface IVolumeLoadObject {
1016
- promise: Promise<ImageVolume>;
1017
- cancel?: () => void;
1018
- decache?: () => void;
1019
- }
1020
-
1021
- declare interface IVolumeViewport extends IViewport {
1022
- useCPURendering: boolean;
1023
- getFrameOfReferenceUID: () => string;
1024
- getProperties: () => any;
1025
- canvasToWorld: (canvasPos: Point2) => Point3;
1026
- worldToCanvas: (worldPos: Point3) => Point2;
1027
- getCurrentImageIdIndex: () => number;
1028
- getCurrentImageId: () => string;
1029
- setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean): Promise<void>;
1030
- addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean): Promise<void>;
1031
- removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
1032
- getIntensityFromWorld(point: Point3): number;
1033
- getBounds(): any;
1034
- flip(flipDirection: FlipDirection): void;
1035
- resetCamera(resetPanZoomForViewPlane?: boolean): boolean;
1036
- setSlabThickness(slabThickness: number): void;
1037
- getSlabThickness(): number;
1038
- getImageData(): IImageData | undefined;
1039
- }
1040
-
1041
- declare function linePlaneIntersection(p0: Point3, p1: Point3, plane: Plane): Point3;
1042
-
1043
- declare function loadAndCacheImage(imageId: string, options?: ImageLoaderOptions): Promise<IImage>;
1044
-
1045
- declare function loadAndCacheImages(imageIds: Array<string>, options?: ImageLoaderOptions): Promise<IImage>[];
1046
-
1047
- declare function loadImage(imageId: string, options?: ImageLoaderOptions): Promise<IImage>;
1048
-
1049
- declare function loadVolume(volumeId: string, options?: VolumeLoaderOptions): Promise<Types.IImageVolume>;
1050
-
1051
- declare interface LocalVolumeOptions {
1052
- scalarData: Float32Array | Uint8Array;
1053
- metadata: Metadata;
1054
- dimensions: Point3;
1055
- spacing: Point3;
1056
- origin: Point3;
1057
- direction: Float32Array;
1058
- }
1059
-
1060
- declare type Metadata = {
1061
- BitsAllocated: number;
1062
- BitsStored: number;
1063
- SamplesPerPixel: number;
1064
- HighBit: number;
1065
- PhotometricInterpretation: string;
1066
- PixelRepresentation: number;
1067
- Modality: string;
1068
- ImageOrientationPatient: Array<number>;
1069
- PixelSpacing: Array<number>;
1070
- FrameOfReferenceUID: string;
1071
- Columns: number;
1072
- Rows: number;
1073
- voiLut: Array<VOI>;
1074
- };
1075
-
1076
- declare namespace metaData {
1077
- export {
1078
- addProvider,
1079
- removeProvider,
1080
- removeAllProviders,
1081
- getMetaData as get
1082
- }
1083
- }
1084
- export { metaData }
1085
-
1086
- declare const metadataProvider: {
1087
- add: (imageId: string, payload: [number, number]) => void;
1088
- get: (type: string, imageId: string) => [number, number];
1089
- };
1090
-
1091
- /**
1092
- * Method use to create a new instance of vtkCamera with its focal point at the origin,
1093
- * and position=(0,0,1). The view up is along the y-axis, view angle is 30 degrees,
1094
- * and the clipping range is (.1,1000).
1095
- * @param initialValues - for pre-setting some of its content
1096
- */
1097
- declare function newInstance(initialValues?: ICameraInitialValues): vtkSlabCamera
1098
-
1099
- declare type Orientation = {
1100
- sliceNormal: Point3;
1101
- viewUp: Point3;
1102
- };
1103
-
1104
- declare namespace planar {
1105
- export {
1106
- linePlaneIntersection,
1107
- planeEquation,
1108
- threePlaneIntersection
1109
- }
1110
- }
1111
-
1112
- declare type Plane = [number, number, number, number];
1113
-
1114
- declare function planeEquation(normal: Point3, point: Point3 | vec3): Plane;
1115
-
1116
- declare type Point2 = [number, number];
1117
-
1118
- declare type Point3 = [number, number, number];
1119
-
1120
- declare type Point4 = [number, number, number, number];
1121
-
1122
- declare type PTScaling = {
1123
- suvbwToSuvlbm?: number;
1124
- suvbwToSuvbsa?: number;
1125
- };
1126
-
1127
- declare type PublicViewportInput = {
1128
- element: HTMLElement;
1129
- viewportId: string;
1130
- type: ViewportType;
1131
- defaultOptions: ViewportInputOptions;
1132
- };
1133
-
1134
- export declare function registerImageLoader(scheme: string, imageLoader: ImageLoaderFn): void;
1135
-
1136
- declare function registerUnknownImageLoader(imageLoader: ImageLoaderFn): ImageLoaderFn;
1137
-
1138
- declare function registerUnknownVolumeLoader(volumeLoader: Types.VolumeLoaderFn): Types.VolumeLoaderFn | undefined;
1139
-
1140
- declare function registerVolumeLoader(scheme: string, volumeLoader: Types.VolumeLoaderFn): void;
1141
-
1142
- declare function removeAllProviders(): void;
1143
-
1144
- declare function removeProvider(provider: (type: string, imageId: string) => {
1145
- any: any;
1146
- }): void;
1147
-
1148
- export declare class RenderingEngine implements IRenderingEngine {
1149
- readonly id: string;
1150
- hasBeenDestroyed: boolean;
1151
- offscreenMultiRenderWindow: any;
1152
- readonly offScreenCanvasContainer: any;
1153
- private _viewports;
1154
- private _needsRender;
1155
- private _animationFrameSet;
1156
- private _animationFrameHandle;
1157
- private useCPURendering;
1158
- constructor(id?: string);
1159
- enableElement(viewportInputEntry: PublicViewportInput): void;
1160
- disableElement(viewportId: string): void;
1161
- setViewports(viewportInputEntries: Array<PublicViewportInput>): void;
1162
- resize(immediate?: boolean, resetPanZoomForViewPlane?: boolean): void;
1163
- getViewport(viewportId: string): IStackViewport | IVolumeViewport;
1164
- getViewports(): Array<IStackViewport | IVolumeViewport>;
1165
- getStackViewports(): Array<IStackViewport>;
1166
- getVolumeViewports(): Array<IVolumeViewport>;
1167
- render(): void;
1168
- renderFrameOfReference: (FrameOfReferenceUID: string) => void;
1169
- renderViewports(viewportIds: Array<string>): void;
1170
- renderViewport(viewportId: string): void;
1171
- destroy(): void;
1172
- fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
1173
- private _resizeUsingCustomResizeHandler;
1174
- private _resizeVTKViewports;
1175
- private enableVTKjsDrivenViewport;
1176
- private _removeViewport;
1177
- private addVtkjsDrivenViewport;
1178
- private addCustomViewport;
1179
- private setCustomViewports;
1180
- private setVtkjsDrivenViewports;
1181
- private _resizeOffScreenCanvas;
1182
- private _resize;
1183
- private _getViewportCoordsOnOffScreenCanvas;
1184
- private _getViewportsAsArray;
1185
- private _setViewportsToBeRenderedNextFrame;
1186
- private _render;
1187
- private _renderFlaggedViewports;
1188
- private performVtkDrawCall;
1189
- private renderViewportUsingCustomOrVtkPipeline;
1190
- private _renderViewportFromVtkCanvasToOnscreenCanvas;
1191
- private _resetViewport;
1192
- private _clearAnimationFrame;
1193
- private _reset;
1194
- private _throwIfDestroyed;
1195
- _downloadOffScreenCanvas(): void;
1196
- _debugRender(): void;
1197
- }
1198
-
1199
- export declare function renderToCanvas(imageId: string, canvas: HTMLCanvasElement, renderingEngineId?: any, suppressEvents?: boolean): Promise<string>;
1200
-
1201
- declare type RequestDetailsInterface = {
1202
- requestFn: () => Promise<void>;
1203
- type: RequestType;
1204
- additionalDetails: AdditionalDetails;
1205
- };
1206
-
1207
- declare type RequestPool = {
1208
- [name in RequestType]: {
1209
- [key: number]: RequestDetailsInterface[];
1210
- };
1211
- };
1212
-
1213
- declare class RequestPoolManager {
1214
- private requestPool;
1215
- private awake;
1216
- private numRequests;
1217
- maxNumRequests: {
1218
- interaction: number;
1219
- thumbnail: number;
1220
- prefetch: number;
1221
- };
1222
- grabDelay: number;
1223
- private timeoutHandle;
1224
- constructor();
1225
- destroy(): void;
1226
- addRequest(requestFn: () => Promise<void>, type: RequestType, additionalDetails: Record<string, unknown>, priority?: number): void;
1227
- filterRequests(filterFunction: (requestDetails: RequestDetailsInterface) => boolean): void;
1228
- clearRequestStack(type: string): void;
1229
- protected sendRequest({ requestFn, type }: RequestDetailsInterface): void;
1230
- protected startGrabbing(): void;
1231
- protected startAgain(): void;
1232
- protected getSortedPriorityGroups(type: string): Array<number>;
1233
- protected getNextRequest(): RequestDetailsInterface | false;
1234
- getRequestPool(): RequestPool;
1235
- }
1236
-
1237
- declare enum RequestType {
1238
- Interaction = "interaction",
1239
- Thumbnail = "thumbnail",
1240
- Prefetch = "prefetch"
1241
- }
1242
-
1243
- export declare function resetUseCPURendering(): void;
1244
-
1245
- declare function scaleRGBTransferFunction(rgbTransferFunction: any, scalingFactor: number): void;
1246
-
1247
- declare type Scaling = {
1248
- PET?: PTScaling;
1249
- };
1250
-
1251
- declare type ScalingParameters = {
1252
- rescaleSlope: number;
1253
- rescaleIntercept: number;
1254
- modality: string;
1255
- suvbw?: number;
1256
- suvlbm?: number;
1257
- suvbsa?: number;
1258
- };
1259
-
1260
- export declare function setMaxSimultaneousRequests(newMaxSimultaneousRequests: any): void;
1261
-
1262
- export declare class Settings {
1263
- constructor(base?: Settings);
1264
- set(key: string, value: unknown): boolean;
1265
- get(key: string): unknown;
1266
- unset(key: string): boolean;
1267
- forEach(callback: (key: string, value: unknown) => void): void;
1268
- extend(): Settings;
1269
- import(root: Record<string, unknown>): void;
1270
- dump(): Record<string, unknown>;
1271
- static assert(subject: Settings): Settings;
1272
- static getDefaultSettings(subfield?: any): Settings | any;
1273
- static getRuntimeSettings(): Settings;
1274
- static getObjectSettings(subject: unknown, from?: unknown): Settings;
1275
- static extendRuntimeSettings(): Settings;
1276
- }
1277
-
1278
- export declare function setUseCPURendering(status: boolean): void;
1279
-
1280
- export declare function setVolumesForViewports(renderingEngine: IRenderingEngine, volumeInputs: Array<IVolumeInput>, viewportIds: Array<string>, immediateRender?: boolean): Promise<void>;
1281
-
1282
- declare type StackNewImageEvent = CustomEvent_2<StackNewImageEventDetail>;
1283
-
1284
- declare type StackNewImageEventDetail = {
1285
- image: IImage;
1286
- imageId: string;
1287
- viewportId: string;
1288
- renderingEngineId: string;
1289
- };
1290
-
1291
- export declare class StackViewport extends Viewport implements IStackViewport {
1292
- private imageIds;
1293
- private currentImageIdIndex;
1294
- private voiRange;
1295
- private invert;
1296
- private interpolationType;
1297
- private rotation;
1298
- private _imageData;
1299
- private cameraPosOnRender;
1300
- private stackInvalidated;
1301
- private panCache;
1302
- private shouldFlip;
1303
- private voiApplied;
1304
- private rotationCache;
1305
- private _publishCalibratedEvent;
1306
- private _calibrationEvent;
1307
- private _cpuFallbackEnabledElement?;
1308
- private useCPURendering;
1309
- private cpuImagePixelData;
1310
- private cpuRenderingInvalidated;
1311
- modality: string;
1312
- scaling: Scaling;
1313
- constructor(props: ViewportInput);
1314
- static get useCustomRenderingPipeline(): boolean;
1315
- resize: () => void;
1316
- getImageData(): IImageData | CPUIImageData;
1317
- private _resizeCPU;
1318
- private getImageDataGPU;
1319
- private getImageDataCPU;
1320
- getFrameOfReferenceUID: () => string | undefined;
1321
- private createActorMapper;
1322
- private buildMetadata;
1323
- private calibrateIfNecessary;
1324
- setProperties({ voiRange, invert, interpolationType, rotation, flipHorizontal, flipVertical, }?: StackViewportProperties): void;
1325
- getProperties: () => StackViewportProperties;
1326
- resetProperties(): void;
1327
- getCamera(): ICamera;
1328
- setCamera(cameraInterface: ICamera): void;
1329
- private _resetProperties;
1330
- private _setPropertiesFromCache;
1331
- private getCameraCPU;
1332
- private setCameraCPU;
1333
- private setFlipDirection;
1334
- private setFlipCPU;
1335
- private setVOI;
1336
- private setRotation;
1337
- private setInterpolationType;
1338
- private setInvertColor;
1339
- private setRotationCPU;
1340
- private setRotationGPU;
1341
- private setInterpolationTypeGPU;
1342
- private setInterpolationTypeCPU;
1343
- private setInvertColorCPU;
1344
- private setInvertColorGPU;
1345
- private setVOICPU;
1346
- private setVOIGPU;
1347
- private _addScalingToViewport;
1348
- private _getNumCompsFromPhotometricInterpretation;
1349
- private _getImageDataMetadata;
1350
- private _getCameraOrientation;
1351
- private _createVTKImageData;
1352
- setStack(imageIds: Array<string>, currentImageIdIndex?: number): Promise<string>;
1353
- private _checkVTKImageDataMatchesCornerstoneImage;
1354
- private _updateVTKImageDataFromCornerstoneImage;
1355
- private _loadImage;
1356
- private _loadImageCPU;
1357
- private _loadImageGPU;
1358
- private _updateActorToDisplayImageId;
1359
- private _setImageIdIndex;
1360
- resetCamera(resetPanZoomForViewPlane?: boolean): boolean;
1361
- private resetCameraCPU;
1362
- private resetCameraGPU;
1363
- setImageIdIndex(imageIdIndex: number): Promise<string>;
1364
- calibrateSpacing(imageId: string): void;
1365
- private _restoreCameraProps;
1366
- private triggerCameraEvent;
1367
- private triggerCalibrationEvent;
1368
- canvasToWorld: (canvasPos: Point2) => Point3;
1369
- worldToCanvas: (worldPos: Point3) => Point2;
1370
- private canvasToWorldCPU;
1371
- private worldToCanvasCPU;
1372
- private canvasToWorldGPU;
1373
- private worldToCanvasGPU;
1374
- getCurrentImageIdIndex: () => number;
1375
- getImageIds: () => Array<string>;
1376
- getCurrentImageId: () => string;
1377
- getRenderer(): any;
1378
- getDefaultActor(): ActorEntry;
1379
- getActors(): Array<ActorEntry>;
1380
- getActor(actorUID: string): ActorEntry;
1381
- setActors(actors: Array<ActorEntry>): void;
1382
- addActors(actors: Array<ActorEntry>): void;
1383
- addActor(actorEntry: ActorEntry): void;
1384
- removeAllActors(): void;
1385
- private getCPUFallbackError;
1386
- private fillWithBackgroundColor;
1387
- customRenderViewportToCanvas: () => {
1388
- canvas: HTMLCanvasElement;
1389
- element: HTMLElement;
1390
- viewportId: string;
1391
- renderingEngineId: string;
1392
- };
1393
- setColormap(colormap: CPUFallbackColormapData): void;
1394
- unsetColormap(): void;
1395
- private unsetColormapCPU;
1396
- private setColormapCPU;
1397
- private setColormapGPU;
1398
- private unsetColormapGPU;
1399
- }
1400
-
1401
- declare type StackViewportProperties = {
1402
- voiRange?: VOIRange;
1403
- invert?: boolean;
1404
- interpolationType?: InterpolationType;
1405
- rotation?: number;
1406
- flipHorizontal?: boolean;
1407
- flipVertical?: boolean;
1408
- };
1409
-
1410
- declare namespace testUtils {
1411
- export {
1412
- compareImages,
1413
- colors,
1414
- fakeImageLoader,
1415
- fakeMetaDataProvider,
1416
- fakeVolumeLoader,
1417
- createNormalizedMouseEvent
1418
- }
1419
- }
1420
-
1421
- declare function threePlaneIntersection(firstPlane: Plane, secondPlane: Plane, thirdPlane: Plane): Point3;
1422
-
1423
- declare function toLowHighRange(windowWidth: number, windowCenter: number): {
1424
- lower: number;
1425
- upper: number;
1426
- };
1427
-
1428
- declare function toWindowLevel(low: number, high: number): {
1429
- windowWidth: number;
1430
- windowCenter: number;
1431
- };
1432
-
1433
- declare type TransformMatrix2D = [number, number, number, number, number, number];
1434
-
1435
- export declare function triggerEvent(el: EventTarget, type: string, detail?: unknown): boolean;
1436
-
1437
- declare namespace Types {
1438
- export {
1439
- ICamera,
1440
- IStackViewport,
1441
- IVolumeViewport,
1442
- IEnabledElement,
1443
- ICache,
1444
- IVolume,
1445
- IViewportId,
1446
- IImageVolume,
1447
- IRenderingEngine,
1448
- ScalingParameters,
1449
- PTScaling,
1450
- Scaling,
1451
- IStreamingImageVolume,
1452
- IImage,
1453
- IImageData,
1454
- CPUIImageData,
1455
- CPUImageData,
1456
- EventTypes,
1457
- ImageLoaderFn,
1458
- VolumeLoaderFn,
1459
- IRegisterImageLoader,
1460
- IStreamingVolumeProperties,
1461
- IViewport,
1462
- StackViewportProperties,
1463
- PublicViewportInput,
1464
- VolumeActor,
1465
- ActorEntry,
1466
- IImageLoadObject,
1467
- IVolumeLoadObject,
1468
- IVolumeInput,
1469
- VolumeInputCallback,
1470
- Metadata,
1471
- Orientation,
1472
- Point2,
1473
- Point3,
1474
- Point4,
1475
- Plane,
1476
- ViewportInputOptions,
1477
- VOIRange,
1478
- VOI,
1479
- FlipDirection,
1480
- ICachedImage,
1481
- ICachedVolume,
1482
- CPUFallbackEnabledElement,
1483
- CPUFallbackViewport,
1484
- CPUFallbackTransform,
1485
- CPUFallbackColormapData,
1486
- CPUFallbackViewportDisplayedArea,
1487
- CPUFallbackColormapsData,
1488
- CPUFallbackColormap,
1489
- TransformMatrix2D,
1490
- CPUFallbackLookupTable,
1491
- CPUFallbackLUT,
1492
- CPUFallbackRenderingTools,
1493
- CustomEvent_2 as CustomEventType
1494
- }
1495
- }
1496
- export { Types }
1497
-
1498
- declare function unregisterAllImageLoaders(): void;
1499
-
1500
- declare namespace utilities {
1501
- export {
1502
- invertRgbTransferFunction,
1503
- scaleRGBTransferFunction as scaleRgbTransferFunction,
1504
- triggerEvent,
1505
- imageIdToURI,
1506
- metadataProvider as calibratedPixelSpacingMetadataProvider,
1507
- uuidv4,
1508
- planar,
1509
- getMinMax,
1510
- getRuntimeId,
1511
- isEqual,
1512
- isOpposite,
1513
- createFloat32SharedArray,
1514
- createUint8SharedArray,
1515
- testUtils,
1516
- windowLevel,
1517
- getClosestImageId,
1518
- getSpacingInNormalDirection,
1519
- getTargetVolumeAndSpacingInNormalDir,
1520
- getVolumeActorCorners,
1521
- indexWithinDimensions,
1522
- getVolumeViewportsContainingSameVolumes,
1523
- getVolumeViewportsContainingVolumeId
1524
- }
1525
- }
1526
- export { utilities }
1527
-
1528
- declare function uuidv4(): string;
1529
-
1530
- export declare class Viewport implements IViewport {
1531
- readonly id: string;
1532
- readonly element: HTMLElement;
1533
- readonly canvas: HTMLCanvasElement;
1534
- readonly renderingEngineId: string;
1535
- readonly type: ViewportType;
1536
- protected flipHorizontal: boolean;
1537
- protected flipVertical: boolean;
1538
- sx: number;
1539
- sy: number;
1540
- sWidth: number;
1541
- sHeight: number;
1542
- _actors: Map<string, any>;
1543
- readonly defaultOptions: any;
1544
- options: ViewportInputOptions;
1545
- private _suppressCameraModifiedEvents;
1546
- readonly suppressEvents: boolean;
1547
- constructor(props: ViewportInput);
1548
- getFrameOfReferenceUID: () => string;
1549
- canvasToWorld: (canvasPos: Point2) => Point3;
1550
- worldToCanvas: (worldPos: Point3) => Point2;
1551
- customRenderViewportToCanvas: () => unknown;
1552
- resize: () => void;
1553
- getProperties: () => void;
1554
- static get useCustomRenderingPipeline(): boolean;
1555
- getRenderingEngine(): IRenderingEngine;
1556
- getRenderer(): any;
1557
- render(): void;
1558
- setOptions(options: ViewportInputOptions, immediate?: boolean): void;
1559
- reset(immediate?: boolean): void;
1560
- protected applyFlipTx: (worldPos: Point3) => Point3;
1561
- protected flip({ flipHorizontal, flipVertical }: FlipDirection): void;
1562
- private getDefaultImageData;
1563
- getDefaultActor(): ActorEntry;
1564
- getActors(): Array<ActorEntry>;
1565
- getActor(actorUID: string): ActorEntry;
1566
- setActors(actors: Array<ActorEntry>): void;
1567
- removeActor(actorUID: string): void;
1568
- removeActors(actorUIDs: Array<string>): void;
1569
- addActors(actors: Array<ActorEntry>): void;
1570
- addActor(actorEntry: ActorEntry): void;
1571
- removeAllActors(): void;
1572
- protected resetCameraNoEvent(): void;
1573
- protected setCameraNoEvent(camera: ICamera): void;
1574
- private _getViewImageDataIntersections;
1575
- protected resetCamera(resetPanZoomForViewPlane?: boolean): boolean;
1576
- private _getFocalPointForViewPlaneReset;
1577
- getCanvas(): HTMLCanvasElement;
1578
- protected getVtkActiveCamera(): vtkCamera | vtkSlabCamera;
1579
- getCamera(): ICamera;
1580
- setCamera(cameraInterface: ICamera): void;
1581
- private _getWorldDistanceViewUpAndViewRight;
1582
- _getCorners(bounds: Array<number>): Array<number>[];
1583
- _isInBounds(point: Point3, bounds: number[]): boolean;
1584
- _getEdges(bounds: Array<number>): Array<[number[], number[]]>;
1585
- }
1586
-
1587
- declare type ViewportInput = {
1588
- id: string;
1589
- element: HTMLElement;
1590
- canvas: HTMLCanvasElement;
1591
- renderingEngineId: string;
1592
- type: ViewportType;
1593
- sx: number;
1594
- sy: number;
1595
- sWidth: number;
1596
- sHeight: number;
1597
- defaultOptions: ViewportInputOptions;
1598
- };
1599
-
1600
- declare type ViewportInputOptions = {
1601
- background?: [number, number, number];
1602
- orientation?: Orientation;
1603
- suppressEvents?: boolean;
1604
- };
1605
-
1606
- declare enum ViewportType {
1607
- STACK = "stack",
1608
- ORTHOGRAPHIC = "orthographic",
1609
- PERSPECTIVE = "perspective"
1610
- }
1611
-
1612
- declare type VOI = {
1613
- windowWidth: number;
1614
- windowCenter: number;
1615
- };
1616
-
1617
- declare type VoiModifiedEvent = CustomEvent_2<VoiModifiedEventDetail>;
1618
-
1619
- declare type VoiModifiedEventDetail = {
1620
- viewportId: string;
1621
- volumeId: string;
1622
- range: VOIRange;
1623
- };
1624
-
1625
- declare type VOIRange = {
1626
- upper: number;
1627
- lower: number;
1628
- };
1629
-
1630
- declare type VolumeActor = vtkVolume;
1631
-
1632
- declare type VolumeCacheVolumeAddedEvent = CustomEvent_2<VolumeCacheVolumeAddedEventDetail>;
1633
-
1634
- declare type VolumeCacheVolumeAddedEventDetail = {
1635
- volume: ICachedVolume;
1636
- };
1637
-
1638
- declare type VolumeCacheVolumeRemovedEvent = CustomEvent_2<VolumeCacheVolumeRemovedEventDetail>;
1639
-
1640
- declare type VolumeCacheVolumeRemovedEventDetail = {
1641
- volumeId: string;
1642
- };
1643
-
1644
- declare type VolumeInputCallback = (params: {
1645
- volumeActor: VolumeActor;
1646
- volumeId: string;
1647
- }) => unknown;
1648
-
1649
- declare type VolumeLoadedEvent = CustomEvent_2<VolumeLoadedEventDetail>;
1650
-
1651
- declare type VolumeLoadedEventDetail = {
1652
- volume: IImageVolume;
1653
- };
1654
-
1655
- declare type VolumeLoadedFailedEvent = CustomEvent_2<VolumeLoadedFailedEventDetail>;
1656
-
1657
- declare type VolumeLoadedFailedEventDetail = {
1658
- volumeId: string;
1659
- error: unknown;
1660
- };
1661
-
1662
- declare namespace volumeLoader {
1663
- export {
1664
- loadVolume,
1665
- createAndCacheVolume,
1666
- createAndCacheDerivedVolume,
1667
- createLocalVolume,
1668
- registerVolumeLoader,
1669
- registerUnknownVolumeLoader
1670
- }
1671
- }
1672
- export { volumeLoader }
1673
-
1674
- declare type VolumeLoaderFn = (volumeId: string, options?: Record<string, any>) => {
1675
- promise: Promise<Record<string, any>>;
1676
- cancelFn?: () => void | undefined;
1677
- decache?: () => void | undefined;
1678
- };
1679
-
1680
- declare interface VolumeLoaderOptions {
1681
- imageIds: Array<string>;
1682
- }
1683
-
1684
- export declare class VolumeViewport extends Viewport implements IVolumeViewport {
1685
- useCPURendering: boolean;
1686
- private _FrameOfReferenceUID;
1687
- constructor(props: ViewportInput);
1688
- static get useCustomRenderingPipeline(): boolean;
1689
- setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean): Promise<void>;
1690
- addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean): Promise<void>;
1691
- removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
1692
- private _isValidVolumeInputArray;
1693
- getIntensityFromWorld(point: Point3): number;
1694
- getBounds(): number[];
1695
- flip(flipDirection: FlipDirection): void;
1696
- resetCamera(resetPanZoomForViewPlane?: boolean): boolean;
1697
- getFrameOfReferenceUID: () => string;
1698
- setSlabThickness(slabThickness: number): void;
1699
- getSlabThickness(): number;
1700
- getImageData(): IImageData | undefined;
1701
- getProperties: () => FlipDirection;
1702
- private _setVolumeActors;
1703
- canvasToWorld: (canvasPos: Point2) => Point3;
1704
- worldToCanvas: (worldPos: Point3) => Point2;
1705
- getCurrentImageIdIndex: () => number | undefined;
1706
- getCurrentImageId: () => string | undefined;
1707
- private _getImageIdIndex;
1708
- }
1709
-
1710
- declare interface vtkSlabCamera extends VtkObject {
1711
- /**
1712
- * Apply a transform to the camera.
1713
- * The camera position, focal-point, and view-up are re-calculated
1714
- * using the transform's matrix to multiply the old points by the new transform.
1715
- * @param transformMat4 -
1716
- */
1717
- applyTransform(transformMat4: mat4): void
1718
-
1719
- /**
1720
- * Rotate the camera about the view up vector centered at the focal point.
1721
- * @param angle -
1722
- */
1723
- azimuth(angle: number): void
1724
-
1725
- /**
1726
- *
1727
- * @param bounds -
1728
- */
1729
- computeClippingRange(bounds: number[]): number[]
1730
-
1731
- /**
1732
- * This method must be called when the focal point or camera position changes
1733
- */
1734
- computeDistance(): void
1735
-
1736
- /**
1737
- * the provided matrix should include
1738
- * translation and orientation only
1739
- * mat is physical to view
1740
- * @param mat -
1741
- */
1742
- computeViewParametersFromPhysicalMatrix(mat: mat4): void
1743
-
1744
- /**
1745
- *
1746
- * @param vmat -
1747
- */
1748
- computeViewParametersFromViewMatrix(vmat: mat4): void
1749
-
1750
- /**
1751
- * Not implemented yet
1752
- * @param sourceCamera -
1753
- */
1754
- deepCopy(sourceCamera: vtkSlabCamera): void
1755
-
1756
- /**
1757
- * Move the position of the camera along the view plane normal. Moving
1758
- * towards the focal point (e.g., greater than 1) is a dolly-in, moving away
1759
- * from the focal point (e.g., less than 1) is a dolly-out.
1760
- * @param amount -
1761
- */
1762
- dolly(amount: number): void
1763
-
1764
- /**
1765
- * Rotate the camera about the cross product of the negative of the direction of projection and the view up vector, using the focal point as the center of rotation.
1766
- * @param angle -
1767
- */
1768
- elevation(angle: number): void
1769
-
1770
- /**
1771
- * Not implemented yet
1772
- */
1773
- getCameraLightTransformMatrix(): void
1774
-
1775
- /**
1776
- *
1777
- * @defaultValue [0.01, 1000.01],
1778
- */
1779
- getClippingRange(): number[]
1780
-
1781
- /**
1782
- *
1783
- * @defaultValue [0.01],
1784
- */
1785
- getSlabThickness(): number
1786
-
1787
- /**
1788
- *
1789
- * @defaultValue
1790
- */
1791
- getSlabThicknessActive(): boolean
1792
-
1793
- /**
1794
- *
1795
- * @defaultValue [0.01, 1000.01],
1796
- */
1797
- getClippingRangeByReference(): number[]
1798
-
1799
- /**
1800
- *
1801
- * @param aspect - Camera frustum aspect ratio.
1802
- * @param nearz - Camera frustum near plane.
1803
- * @param farz - Camera frustum far plane.
1804
- */
1805
- getCompositeProjectionMatrix(
1806
- aspect: number,
1807
- nearz: number,
1808
- farz: number
1809
- ): mat4
1810
-
1811
- /**
1812
- * Get the vector in the direction from the camera position to the focal point.
1813
- * @defaultValue [0, 0, -1],
1814
- */
1815
- getDirectionOfProjection(): number[]
1816
-
1817
- /**
1818
- *
1819
- * @defaultValue [0, 0, -1],
1820
- */
1821
- getDirectionOfProjectionByReference(): number[]
1822
-
1823
- /**
1824
- * Get the distance from the camera position to the focal point.
1825
- */
1826
- getDistance(): number
1827
-
1828
- /**
1829
- *
1830
- * @defaultValue [0, 0, 0]
1831
- */
1832
- getFocalPoint(): number[]
1833
-
1834
- /**
1835
- *
1836
- */
1837
- getFocalPointByReference(): number[]
1838
-
1839
- /**
1840
- *
1841
- * @defaultValue false
1842
- */
1843
- getFreezeFocalPoint(): boolean
1844
-
1845
- setFreezeFocalPoint(freeze: boolean): void
1846
-
1847
- /**
1848
- * Not implemented yet
1849
- * @param aspect - Camera frustum aspect ratio.
1850
- */
1851
- getFrustumPlanes(aspect: number): void
1852
-
1853
- /**
1854
- * Not implemented yet
1855
- */
1856
- getOrientation(): void
1857
-
1858
- /**
1859
- * Not implemented yet
1860
- */
1861
- getOrientationWXYZ(): void
1862
-
1863
- /**
1864
- *
1865
- * @defaultValue false
1866
- */
1867
- getParallelProjection(): boolean
1868
-
1869
- /**
1870
- *
1871
- * @defaultValue 1
1872
- */
1873
- getParallelScale(): number
1874
-
1875
- /**
1876
- *
1877
- * @defaultValue 1.0
1878
- */
1879
- getPhysicalScale(): number
1880
-
1881
- /**
1882
- *
1883
- * @param result -
1884
- */
1885
- getPhysicalToWorldMatrix(result: mat4): void
1886
-
1887
- /**
1888
- *
1889
- */
1890
- getPhysicalTranslation(): number[]
1891
-
1892
- /**
1893
- *
1894
- */
1895
- getPhysicalTranslationByReference(): number[]
1896
-
1897
- /**
1898
- *
1899
- * @defaultValue [0, 0, -1],
1900
- */
1901
- getPhysicalViewNorth(): number[]
1902
-
1903
- /**
1904
- *
1905
- */
1906
- getPhysicalViewNorthByReference(): number[]
1907
-
1908
- /**
1909
- *
1910
- * @defaultValue [0, 1, 0]
1911
- */
1912
- getPhysicalViewUp(): number[]
1913
-
1914
- /**
1915
- *
1916
- */
1917
- getPhysicalViewUpByReference(): number[]
1918
-
1919
- /**
1920
- * Get the position of the camera in world coordinates.
1921
- * @defaultValue [0, 0, 1]
1922
- */
1923
- getPosition(): number[]
1924
-
1925
- /**
1926
- *
1927
- */
1928
- getPositionByReference(): number[]
1929
-
1930
- /**
1931
- *
1932
- * @param aspect - Camera frustum aspect ratio.
1933
- * @param nearz - Camera frustum near plane.
1934
- * @param farz - Camera frustum far plane.
1935
- * @defaultValue null
1936
- */
1937
- getProjectionMatrix(aspect: number, nearz: number, farz: number): null | mat4
1938
-
1939
- /**
1940
- * Not implemented yet
1941
- * Get the roll angle of the camera about the direction of projection.
1942
- */
1943
- getRoll(): void
1944
-
1945
- /**
1946
- * Get top left corner point of the screen.
1947
- * @defaultValue [-0.5, -0.5, -0.5]
1948
- */
1949
- getScreenBottomLeft(): number[]
1950
-
1951
- /**
1952
- *
1953
- * @defaultValue [-0.5, -0.5, -0.5]
1954
- */
1955
- getScreenBottomLeftByReference(): number[]
1956
-
1957
- /**
1958
- * Get bottom left corner point of the screen
1959
- * @defaultValue [0.5, -0.5, -0.5]
1960
- */
1961
- getScreenBottomRight(): number[]
1962
-
1963
- /**
1964
- *
1965
- * @defaultValue [0.5, -0.5, -0.5]
1966
- */
1967
- getScreenBottomRightByReference(): number[]
1968
-
1969
- /**
1970
- *
1971
- * @defaultValue [0.5, 0.5, -0.5]
1972
- */
1973
- getScreenTopRight(): number[]
1974
-
1975
- /**
1976
- *
1977
- * @defaultValue [0.5, 0.5, -0.5]
1978
- */
1979
- getScreenTopRightByReference(): number[]
1980
-
1981
- /**
1982
- * Get the center of the window in viewport coordinates.
1983
- */
1984
- getThickness(): number
1985
-
1986
- /**
1987
- * Get the value of the UseHorizontalViewAngle instance variable.
1988
- * @defaultValue false
1989
- */
1990
- getUseHorizontalViewAngle(): boolean
1991
-
1992
- /**
1993
- * Get use offaxis frustum.
1994
- * @defaultValue false
1995
- */
1996
- getUseOffAxisProjection(): boolean
1997
-
1998
- /**
1999
- * Get the camera view angle.
2000
- * @defaultValue 30
2001
- */
2002
- getViewAngle(): number
2003
-
2004
- /**
2005
- *
2006
- * @defaultValue null
2007
- */
2008
- getViewMatrix(): null | mat4
2009
-
2010
- /**
2011
- * Get the ViewPlaneNormal.
2012
- * This vector will point opposite to the direction of projection,
2013
- * unless you have created a sheared output view using SetViewShear/SetObliqueAngles.
2014
- * @defaultValue [0, 0, 1]
2015
- */
2016
- getViewPlaneNormal(): number[]
2017
-
2018
- /**
2019
- * Get the ViewPlaneNormal by reference.
2020
- */
2021
- getViewPlaneNormalByReference(): number[]
2022
-
2023
- /**
2024
- * Get ViewUp vector.
2025
- * @defaultValue [0, 1, 0]
2026
- */
2027
- getViewUp(): number[]
2028
-
2029
- /**
2030
- * Get ViewUp vector by reference.
2031
- * @defaultValue [0, 1, 0]
2032
- */
2033
- getViewUpByReference(): number[]
2034
-
2035
- /**
2036
- * Get the center of the window in viewport coordinates.
2037
- * The viewport coordinate range is ([-1,+1],[-1,+1]).
2038
- * @defaultValue [0, 0]
2039
- */
2040
- getWindowCenter(): number[]
2041
-
2042
- /**
2043
- *
2044
- * @defaultValue [0, 0]
2045
- */
2046
- getWindowCenterByReference(): number[]
2047
-
2048
- /**
2049
- *
2050
- * @param result -
2051
- */
2052
- getWorldToPhysicalMatrix(result: mat4): void
2053
-
2054
- /**
2055
- * Recompute the ViewUp vector to force it to be perpendicular to the camera's focalpoint vector.
2056
- */
2057
- orthogonalizeViewUp(): void
2058
-
2059
- /**
2060
- *
2061
- * @param ori -
2062
- */
2063
- physicalOrientationToWorldDirection(ori: number[]): any
2064
-
2065
- /**
2066
- * Rotate the focal point about the cross product of the view up vector and the direction of projection, using the camera's position as the center of rotation.
2067
- * @param angle -
2068
- */
2069
- pitch(angle: number): void
2070
-
2071
- /**
2072
- * Rotate the camera about the direction of projection.
2073
- * @param angle -
2074
- */
2075
- roll(angle: number): void
2076
-
2077
- /**
2078
- * Set the location of the near and far clipping planes along the direction
2079
- * of projection.
2080
- * @param near -
2081
- * @param far -
2082
- */
2083
- setClippingRange(near: number, far: number): boolean
2084
-
2085
- /**
2086
- * Set the location of the near and far clipping planes along the direction
2087
- * of projection.
2088
- * @param clippingRange -
2089
- */
2090
- setClippingRange(clippingRange: number[]): boolean
2091
-
2092
- /**
2093
- * Activate slab thickness for the camera
2094
- * @param status -
2095
- */
2096
- setSlabThicknessActive(status: boolean): void
2097
-
2098
- /**
2099
- * Set the slab thickness
2100
- * @param status -
2101
- */
2102
- setSlabThickness(slabThickness: number): void
2103
-
2104
- /**
2105
- *
2106
- * @param clippingRange -
2107
- */
2108
- setClippingRangeFrom(clippingRange: number[]): boolean
2109
-
2110
- /**
2111
- * used to handle convert js device orientation angles
2112
- * when you use this method the camera will adjust to the
2113
- * device orientation such that the physicalViewUp you set
2114
- * in world coordinates looks up, and the physicalViewNorth
2115
- * you set in world coorindates will (maybe) point north
2116
- *
2117
- * NOTE WARNING - much of the documentation out there on how
2118
- * orientation works is seriously wrong. Even worse the Chrome
2119
- * device orientation simulator is completely wrong and should
2120
- * never be used. OMG it is so messed up.
2121
- *
2122
- * how it seems to work on iOS is that the device orientation
2123
- * is specified in extrinsic angles with a alpha, beta, gamma
2124
- * convention with axes of Z, X, Y (the code below substitutes
2125
- * the physical coordinate system for these axes to get the right
2126
- * modified coordinate system.
2127
- * @param alpha -
2128
- * @param beta -
2129
- * @param gamma -
2130
- * @param screen -
2131
- */
2132
- setDeviceAngles(
2133
- alpha: number,
2134
- beta: number,
2135
- gamma: number,
2136
- screen: number
2137
- ): boolean
2138
-
2139
- /**
2140
- *
2141
- * @param x - The x coordinate.
2142
- * @param y - The y coordinate.
2143
- * @param z - The z coordinate.
2144
- */
2145
- setDirectionOfProjection(x: number, y: number, z: number): boolean
2146
-
2147
- /**
2148
- *
2149
- * @param distance -
2150
- */
2151
- setDistance(distance: number): boolean
2152
-
2153
- /**
2154
- *
2155
- * @param x - The x coordinate.
2156
- * @param y - The y coordinate.
2157
- * @param z - The z coordinate.
2158
- */
2159
- setFocalPoint(x: number, y: number, z: number): boolean
2160
-
2161
- /**
2162
- *
2163
- * @param focalPoint -
2164
- */
2165
- setFocalPointFrom(focalPoint: number[]): boolean
2166
-
2167
- /**
2168
- * Not implement yet
2169
- * Set the oblique viewing angles.
2170
- * The first angle, alpha, is the angle (measured from the horizontal) that rays along
2171
- * the direction of projection will follow once projected onto the 2D screen.
2172
- * The second angle, beta, is the angle between the view plane and the direction of projection.
2173
- * This creates a shear transform x' = x + dz*cos(alpha)/tan(beta), y' = dz*sin(alpha)/tan(beta) where dz is the distance of the point from the focal plane.
2174
- * The angles are (45,90) by default. Oblique projections commonly use (30,63.435).
2175
- *
2176
- * @param alpha -
2177
- * @param beta -
2178
- */
2179
- setObliqueAngles(alpha: number, beta: number): boolean
2180
-
2181
- /**
2182
- *
2183
- * @param degrees -
2184
- * @param x - The x coordinate.
2185
- * @param y - The y coordinate.
2186
- * @param z - The z coordinate.
2187
- */
2188
- setOrientationWXYZ(degrees: number, x: number, y: number, z: number): boolean
2189
-
2190
- /**
2191
- *
2192
- * @param parallelProjection -
2193
- */
2194
- setParallelProjection(parallelProjection: boolean): boolean
2195
-
2196
- /**
2197
- *
2198
- * @param parallelScale -
2199
- */
2200
- setParallelScale(parallelScale: number): boolean
2201
-
2202
- /**
2203
- *
2204
- * @param physicalScale -
2205
- */
2206
- setPhysicalScale(physicalScale: number): boolean
2207
-
2208
- /**
2209
- *
2210
- * @param x - The x coordinate.
2211
- * @param y - The y coordinate.
2212
- * @param z - The z coordinate.
2213
- */
2214
- setPhysicalTranslation(x: number, y: number, z: number): boolean
2215
-
2216
- /**
2217
- *
2218
- * @param physicalTranslation -
2219
- */
2220
- setPhysicalTranslationFrom(physicalTranslation: number[]): boolean
2221
-
2222
- /**
2223
- *
2224
- * @param x - The x coordinate.
2225
- * @param y - The y coordinate.
2226
- * @param z - The z coordinate.
2227
- */
2228
- setPhysicalViewNorth(x: number, y: number, z: number): boolean
2229
-
2230
- /**
2231
- *
2232
- * @param physicalViewNorth -
2233
- */
2234
- setPhysicalViewNorthFrom(physicalViewNorth: number[]): boolean
2235
-
2236
- /**
2237
- *
2238
- * @param x - The x coordinate.
2239
- * @param y - The y coordinate.
2240
- * @param z - The z coordinate.
2241
- */
2242
- setPhysicalViewUp(x: number, y: number, z: number): boolean
2243
-
2244
- /**
2245
- *
2246
- * @param physicalViewUp -
2247
- */
2248
- setPhysicalViewUpFrom(physicalViewUp: number[]): boolean
2249
-
2250
- /**
2251
- * Set the position of the camera in world coordinates.
2252
- * @param x - The x coordinate.
2253
- * @param y - The y coordinate.
2254
- * @param z - The z coordinate.
2255
- */
2256
- setPosition(x: number, y: number, z: number): boolean
2257
-
2258
- /**
2259
- *
2260
- * @param mat -
2261
- */
2262
- setProjectionMatrix(mat: mat4): boolean
2263
-
2264
- /**
2265
- * Set the roll angle of the camera about the direction of projection.
2266
- * todo Not implemented yet
2267
- * @param angle -
2268
- */
2269
- setRoll(angle: number): boolean
2270
-
2271
- /**
2272
- * Set top left corner point of the screen.
2273
- *
2274
- * This will be used only for offaxis frustum calculation.
2275
- * @param x - The x coordinate.
2276
- * @param y - The y coordinate.
2277
- * @param z - The z coordinate.
2278
- */
2279
- setScreenBottomLeft(x: number, y: number, z: number): boolean
2280
-
2281
- /**
2282
- * Set top left corner point of the screen.
2283
- *
2284
- * This will be used only for offaxis frustum calculation.
2285
- * @param screenBottomLeft -
2286
- */
2287
- setScreenBottomLeft(screenBottomLeft: number[]): boolean
2288
-
2289
- /**
2290
- *
2291
- * @param screenBottomLeft -
2292
- */
2293
- setScreenBottomLeftFrom(screenBottomLeft: number[]): boolean
2294
-
2295
- /**
2296
- *
2297
- * @param x - The x coordinate.
2298
- * @param y - The y coordinate.
2299
- * @param z - The z coordinate.
2300
- */
2301
- setScreenBottomRight(x: number, y: number, z: number): boolean
2302
-
2303
- /**
2304
- *
2305
- * @param screenBottomRight -
2306
- */
2307
- setScreenBottomRight(screenBottomRight: number[]): boolean
2308
-
2309
- /**
2310
- *
2311
- * @param screenBottomRight -
2312
- */
2313
- setScreenBottomRightFrom(screenBottomRight: number[]): boolean
2314
-
2315
- /**
2316
- * Set top right corner point of the screen.
2317
- *
2318
- * This will be used only for offaxis frustum calculation.
2319
- * @param x - The x coordinate.
2320
- * @param y - The y coordinate.
2321
- * @param z - The z coordinate.
2322
- */
2323
- setScreenTopRight(x: number, y: number, z: number): boolean
2324
-
2325
- /**
2326
- * Set top right corner point of the screen.
2327
- *
2328
- * This will be used only for offaxis frustum calculation.
2329
- * @param screenTopRight -
2330
- */
2331
- setScreenTopRight(screenTopRight: number[]): boolean
2332
-
2333
- /**
2334
- *
2335
- * @param screenTopRight -
2336
- */
2337
- setScreenTopRightFrom(screenTopRight: number[]): boolean
2338
-
2339
- /**
2340
- * Set the distance between clipping planes.
2341
- *
2342
- * This method adjusts the far clipping plane to be set a distance 'thickness' beyond the near clipping plane.
2343
- * @param thickness -
2344
- */
2345
- setThickness(thickness: number): boolean
2346
-
2347
- /**
2348
- *
2349
- * @param thickness -
2350
- */
2351
- setThicknessFromFocalPoint(thickness: number): boolean
2352
-
2353
- /**
2354
- *
2355
- * @param useHorizontalViewAngle -
2356
- */
2357
- setUseHorizontalViewAngle(useHorizontalViewAngle: boolean): boolean
2358
-
2359
- /**
2360
- * Set use offaxis frustum.
2361
- *
2362
- * OffAxis frustum is used for off-axis frustum calculations specifically for
2363
- * stereo rendering. For reference see "High Resolution Virtual Reality", in
2364
- * Proc. SIGGRAPH '92, Computer Graphics, pages 195-202, 1992.
2365
- * @param useOffAxisProjection -
2366
- */
2367
- setUseOffAxisProjection(useOffAxisProjection: boolean): boolean
2368
-
2369
- /**
2370
- * Set the camera view angle, which is the angular height of the camera view measured in degrees.
2371
- * @param viewAngle -
2372
- */
2373
- setViewAngle(viewAngle: number): boolean
2374
-
2375
- /**
2376
- *
2377
- * @param mat -
2378
- */
2379
- setViewMatrix(mat: mat4): boolean
2380
-
2381
- /**
2382
- *
2383
- * @param x - The x coordinate.
2384
- * @param y - The y coordinate.
2385
- * @param z - The z coordinate.
2386
- */
2387
- setViewUp(x: number, y: number, z: number): boolean
2388
-
2389
- /**
2390
- *
2391
- * @param viewUp -
2392
- */
2393
- setViewUp(viewUp: number[]): boolean
2394
-
2395
- /**
2396
- *
2397
- * @param viewUp -
2398
- */
2399
- setViewUpFrom(viewUp: number[]): boolean
2400
-
2401
- /**
2402
- * Set the center of the window in viewport coordinates.
2403
- * The viewport coordinate range is ([-1,+1],[-1,+1]).
2404
- * This method is for if you have one window which consists of several viewports, or if you have several screens which you want to act together as one large screen
2405
- * @param x - The x coordinate.
2406
- * @param y - The y coordinate.
2407
- */
2408
- setWindowCenter(x: number, y: number): boolean
2409
-
2410
- /**
2411
- * Set the center of the window in viewport coordinates from an array.
2412
- * @param windowCenter -
2413
- */
2414
- setWindowCenterFrom(windowCenter: number[]): boolean
2415
-
2416
- /**
2417
- *
2418
- * @param x - The x coordinate.
2419
- * @param y - The y coordinate.
2420
- * @param z - The z coordinate.
2421
- */
2422
- translate(x: number, y: number, z: number): void
2423
-
2424
- /**
2425
- * Rotate the focal point about the view up vector, using the camera's position as the center of rotation.
2426
- * @param angle -
2427
- */
2428
- yaw(angle: number): void
2429
-
2430
- /**
2431
- * In perspective mode, decrease the view angle by the specified factor.
2432
- * @param factor -
2433
- */
2434
- zoom(factor: number): void
2435
- }
2436
-
2437
- /**
2438
- * vtkCamera is a virtual camera for 3D rendering. It provides methods
2439
- * to position and orient the view point and focal point. Convenience
2440
- * methods for moving about the focal point also are provided. More
2441
- * complex methods allow the manipulation of the computer graphics model
2442
- * including view up vector, clipping planes, and camera perspective.
2443
- */
2444
- declare const vtkSlabCamera: {
2445
- newInstance: typeof newInstance
2446
- extend: typeof extend
2447
- };
2448
-
2449
- declare namespace windowLevel {
2450
- export {
2451
- toWindowLevel,
2452
- toLowHighRange
2453
- }
2454
- }
2455
-
2456
- export { }