@cornerstonejs/core 0.33.2 → 0.35.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.
- package/dist/cjs/RenderingEngine/StackViewport.js +17 -18
- package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/createVolumeMapper.js +4 -0
- package/dist/cjs/RenderingEngine/helpers/createVolumeMapper.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js +0 -16
- package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -1
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +23 -3
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js.map +1 -1
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/init.d.ts +5 -2
- package/dist/cjs/init.js +58 -13
- package/dist/cjs/init.js.map +1 -1
- package/dist/cjs/loaders/volumeLoader.d.ts +2 -2
- package/dist/cjs/loaders/volumeLoader.js +13 -2
- package/dist/cjs/loaders/volumeLoader.js.map +1 -1
- package/dist/cjs/types/Cornerstone3DConfig.d.ts +9 -0
- package/dist/cjs/types/Cornerstone3DConfig.js +3 -0
- package/dist/cjs/types/Cornerstone3DConfig.js.map +1 -0
- package/dist/cjs/types/IImageData.d.ts +1 -1
- package/dist/cjs/types/IVolume.d.ts +1 -1
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/utilities/createInt16SharedArray.d.ts +2 -0
- package/dist/cjs/utilities/createInt16SharedArray.js +14 -0
- package/dist/cjs/utilities/createInt16SharedArray.js.map +1 -0
- package/dist/cjs/utilities/createUInt16SharedArray.d.ts +2 -0
- package/dist/cjs/utilities/createUInt16SharedArray.js +14 -0
- package/dist/cjs/utilities/createUInt16SharedArray.js.map +1 -0
- package/dist/cjs/utilities/deepMerge.d.ts +2 -0
- package/dist/cjs/utilities/deepMerge.js +63 -0
- package/dist/cjs/utilities/deepMerge.js.map +1 -0
- package/dist/cjs/utilities/getScalarDataType.d.ts +2 -0
- package/dist/cjs/utilities/getScalarDataType.js +23 -0
- package/dist/cjs/utilities/getScalarDataType.js.map +1 -0
- package/dist/cjs/utilities/getScalingParameters.d.ts +2 -0
- package/dist/cjs/utilities/getScalingParameters.js +21 -0
- package/dist/cjs/utilities/getScalingParameters.js.map +1 -0
- package/dist/cjs/utilities/getVolumeSliceRangeInfo.d.ts +7 -0
- package/dist/cjs/utilities/getVolumeSliceRangeInfo.js +29 -0
- package/dist/cjs/utilities/getVolumeSliceRangeInfo.js.map +1 -0
- package/dist/cjs/utilities/getVolumeViewportScrollInfo.d.ts +6 -0
- package/dist/cjs/utilities/getVolumeViewportScrollInfo.js +17 -0
- package/dist/cjs/utilities/getVolumeViewportScrollInfo.js.map +1 -0
- package/dist/cjs/utilities/index.d.ts +8 -1
- package/dist/cjs/utilities/index.js +15 -1
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/loadImageToCanvas.js +0 -5
- package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.js +14 -15
- package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/createVolumeMapper.js +4 -0
- package/dist/esm/RenderingEngine/helpers/createVolumeMapper.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +0 -16
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +23 -3
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js.map +1 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.d.ts +5 -2
- package/dist/esm/init.js +56 -13
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/loaders/volumeLoader.d.ts +2 -2
- package/dist/esm/loaders/volumeLoader.js +13 -2
- package/dist/esm/loaders/volumeLoader.js.map +1 -1
- package/dist/esm/types/Cornerstone3DConfig.d.ts +9 -0
- package/dist/esm/types/Cornerstone3DConfig.js +2 -0
- package/dist/esm/types/Cornerstone3DConfig.js.map +1 -0
- package/dist/esm/types/IImageData.d.ts +1 -1
- package/dist/esm/types/IVolume.d.ts +1 -1
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/utilities/createInt16SharedArray.d.ts +2 -0
- package/dist/esm/utilities/createInt16SharedArray.js +12 -0
- package/dist/esm/utilities/createInt16SharedArray.js.map +1 -0
- package/dist/esm/utilities/createUInt16SharedArray.d.ts +2 -0
- package/dist/esm/utilities/createUInt16SharedArray.js +12 -0
- package/dist/esm/utilities/createUInt16SharedArray.js.map +1 -0
- package/dist/esm/utilities/deepMerge.d.ts +2 -0
- package/dist/esm/utilities/deepMerge.js +61 -0
- package/dist/esm/utilities/deepMerge.js.map +1 -0
- package/dist/esm/utilities/getScalarDataType.d.ts +2 -0
- package/dist/esm/utilities/getScalarDataType.js +20 -0
- package/dist/esm/utilities/getScalarDataType.js.map +1 -0
- package/dist/esm/utilities/getScalingParameters.d.ts +2 -0
- package/dist/esm/utilities/getScalingParameters.js +21 -0
- package/dist/esm/utilities/getScalingParameters.js.map +1 -0
- package/dist/esm/utilities/getVolumeSliceRangeInfo.d.ts +7 -0
- package/dist/esm/utilities/getVolumeSliceRangeInfo.js +24 -0
- package/dist/esm/utilities/getVolumeSliceRangeInfo.js.map +1 -0
- package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +6 -0
- package/dist/esm/utilities/getVolumeViewportScrollInfo.js +12 -0
- package/dist/esm/utilities/getVolumeViewportScrollInfo.js.map +1 -0
- package/dist/esm/utilities/index.d.ts +8 -1
- package/dist/esm/utilities/index.js +8 -1
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/loadImageToCanvas.js +0 -5
- package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
package/dist/cjs/init.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SharedArrayBufferModes } from './enums';
|
|
2
|
-
|
|
2
|
+
import { Cornerstone3DConfig } from './types';
|
|
3
|
+
declare function init(configuration?: {}): Promise<boolean>;
|
|
3
4
|
declare function setUseCPURendering(status: boolean): void;
|
|
4
5
|
declare function resetUseCPURendering(): void;
|
|
5
6
|
declare function getShouldUseCPURendering(): boolean;
|
|
@@ -7,4 +8,6 @@ declare function setUseSharedArrayBuffer(mode: SharedArrayBufferModes | boolean)
|
|
|
7
8
|
declare function resetUseSharedArrayBuffer(): void;
|
|
8
9
|
declare function getShouldUseSharedArrayBuffer(): boolean;
|
|
9
10
|
declare function isCornerstoneInitialized(): boolean;
|
|
10
|
-
|
|
11
|
+
declare function getConfiguration(): Cornerstone3DConfig;
|
|
12
|
+
declare function setConfiguration(c: Cornerstone3DConfig): void;
|
|
13
|
+
export { init, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, isCornerstoneInitialized, setUseCPURendering, setUseSharedArrayBuffer, resetUseCPURendering, resetUseSharedArrayBuffer, getConfiguration, setConfiguration, };
|
package/dist/cjs/init.js
CHANGED
|
@@ -9,18 +9,43 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.resetUseSharedArrayBuffer = exports.resetUseCPURendering = exports.setUseSharedArrayBuffer = exports.setUseCPURendering = exports.isCornerstoneInitialized = exports.getShouldUseSharedArrayBuffer = exports.getShouldUseCPURendering = exports.init = void 0;
|
|
12
|
+
exports.setConfiguration = exports.getConfiguration = exports.resetUseSharedArrayBuffer = exports.resetUseCPURendering = exports.setUseSharedArrayBuffer = exports.setUseCPURendering = exports.isCornerstoneInitialized = exports.getShouldUseSharedArrayBuffer = exports.getShouldUseCPURendering = exports.init = void 0;
|
|
13
13
|
const detect_gpu_1 = require("detect-gpu");
|
|
14
14
|
const enums_1 = require("./enums");
|
|
15
15
|
let csRenderInitialized = false;
|
|
16
|
-
let useCPURendering = false;
|
|
17
16
|
let useSharedArrayBuffer = true;
|
|
18
17
|
let sharedArrayBufferMode = enums_1.SharedArrayBufferModes.TRUE;
|
|
19
|
-
|
|
18
|
+
const utilities_1 = require("./utilities");
|
|
19
|
+
const defaultConfig = {
|
|
20
|
+
detectGPU: {},
|
|
21
|
+
rendering: {
|
|
22
|
+
preferSizeOverAccuracy: false,
|
|
23
|
+
useCPURendering: false,
|
|
24
|
+
useNorm16Texture: false,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
let config = {
|
|
28
|
+
detectGPU: {},
|
|
29
|
+
rendering: {
|
|
30
|
+
preferSizeOverAccuracy: false,
|
|
31
|
+
useCPURendering: false,
|
|
32
|
+
useNorm16Texture: false,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
function _getGLContext() {
|
|
20
36
|
const canvas = document.createElement('canvas');
|
|
21
|
-
const gl = canvas.getContext('
|
|
22
|
-
|
|
23
|
-
|
|
37
|
+
const gl = canvas.getContext('webgl2') ||
|
|
38
|
+
canvas.getContext('webgl') ||
|
|
39
|
+
canvas.getContext('experimental-webgl');
|
|
40
|
+
return gl;
|
|
41
|
+
}
|
|
42
|
+
function _hasActiveWebGLContext() {
|
|
43
|
+
const gl = _getGLContext();
|
|
44
|
+
if (gl && gl.getExtension) {
|
|
45
|
+
const ext = gl.getExtension('EXT_texture_norm16');
|
|
46
|
+
if (ext) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
24
49
|
}
|
|
25
50
|
return false;
|
|
26
51
|
}
|
|
@@ -37,22 +62,34 @@ function hasSharedArrayBuffer() {
|
|
|
37
62
|
return false;
|
|
38
63
|
}
|
|
39
64
|
}
|
|
40
|
-
function
|
|
65
|
+
function _hasNorm16TextureSupport() {
|
|
66
|
+
const gl = _getGLContext();
|
|
67
|
+
if (gl) {
|
|
68
|
+
const ext = gl.getExtension('EXT_texture_norm16');
|
|
69
|
+
if (ext) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
function init(configuration = {}) {
|
|
41
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
77
|
if (csRenderInitialized) {
|
|
43
78
|
return csRenderInitialized;
|
|
44
79
|
}
|
|
45
|
-
|
|
80
|
+
config = (0, utilities_1.deepMerge)(defaultConfig, configuration);
|
|
81
|
+
const hasWebGLContext = _hasActiveWebGLContext();
|
|
46
82
|
if (!hasWebGLContext) {
|
|
47
|
-
useCPURendering = true;
|
|
48
83
|
console.log('CornerstoneRender: GPU not detected, using CPU rendering');
|
|
84
|
+
config.rendering.useCPURendering = true;
|
|
49
85
|
}
|
|
50
86
|
else {
|
|
51
87
|
const gpuTier = yield (0, detect_gpu_1.getGPUTier)();
|
|
88
|
+
config.detectGPU = gpuTier;
|
|
52
89
|
console.log('CornerstoneRender: Using detect-gpu to get the GPU benchmark:', gpuTier);
|
|
53
90
|
if (gpuTier.tier < 1) {
|
|
54
91
|
console.log('CornerstoneRender: GPU is not powerful enough, using CPU rendering');
|
|
55
|
-
useCPURendering = true;
|
|
92
|
+
config.rendering.useCPURendering = true;
|
|
56
93
|
}
|
|
57
94
|
else {
|
|
58
95
|
console.log('CornerstoneRender: using GPU rendering');
|
|
@@ -65,16 +102,16 @@ function init(defaultConfiguration = {}) {
|
|
|
65
102
|
}
|
|
66
103
|
exports.init = init;
|
|
67
104
|
function setUseCPURendering(status) {
|
|
68
|
-
useCPURendering = status;
|
|
105
|
+
config.rendering.useCPURendering = status;
|
|
69
106
|
csRenderInitialized = true;
|
|
70
107
|
}
|
|
71
108
|
exports.setUseCPURendering = setUseCPURendering;
|
|
72
109
|
function resetUseCPURendering() {
|
|
73
|
-
useCPURendering = !
|
|
110
|
+
config.rendering.useCPURendering = !_hasActiveWebGLContext();
|
|
74
111
|
}
|
|
75
112
|
exports.resetUseCPURendering = resetUseCPURendering;
|
|
76
113
|
function getShouldUseCPURendering() {
|
|
77
|
-
return useCPURendering;
|
|
114
|
+
return config.rendering.useCPURendering;
|
|
78
115
|
}
|
|
79
116
|
exports.getShouldUseCPURendering = getShouldUseCPURendering;
|
|
80
117
|
function setUseSharedArrayBuffer(mode) {
|
|
@@ -116,4 +153,12 @@ function isCornerstoneInitialized() {
|
|
|
116
153
|
return csRenderInitialized;
|
|
117
154
|
}
|
|
118
155
|
exports.isCornerstoneInitialized = isCornerstoneInitialized;
|
|
156
|
+
function getConfiguration() {
|
|
157
|
+
return config;
|
|
158
|
+
}
|
|
159
|
+
exports.getConfiguration = getConfiguration;
|
|
160
|
+
function setConfiguration(c) {
|
|
161
|
+
config = c;
|
|
162
|
+
}
|
|
163
|
+
exports.setConfiguration = setConfiguration;
|
|
119
164
|
//# sourceMappingURL=init.js.map
|
package/dist/cjs/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwC;AACxC,mCAAiD;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,12 @@ interface VolumeLoaderOptions {
|
|
|
8
8
|
interface DerivedVolumeOptions {
|
|
9
9
|
volumeId: string;
|
|
10
10
|
targetBuffer?: {
|
|
11
|
-
type: 'Float32Array' | 'Uint8Array';
|
|
11
|
+
type: 'Float32Array' | 'Uint8Array' | 'Uint16Array' | 'Int16Array';
|
|
12
12
|
sharedArrayBuffer?: boolean;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
interface LocalVolumeOptions {
|
|
16
|
-
scalarData: Float32Array | Uint8Array;
|
|
16
|
+
scalarData: Float32Array | Uint8Array | Uint16Array | Int16Array;
|
|
17
17
|
metadata: Metadata;
|
|
18
18
|
dimensions: Point3;
|
|
19
19
|
spacing: Point3;
|
|
@@ -140,6 +140,14 @@ function createAndCacheDerivedVolume(referencedVolumeId, options) {
|
|
|
140
140
|
numBytes = scalarLength;
|
|
141
141
|
TypedArray = Uint8Array;
|
|
142
142
|
}
|
|
143
|
+
else if (targetBuffer.type === 'Uint16Array') {
|
|
144
|
+
numBytes = scalarLength * 2;
|
|
145
|
+
TypedArray = Uint16Array;
|
|
146
|
+
}
|
|
147
|
+
else if (targetBuffer.type === 'Int16Array') {
|
|
148
|
+
numBytes = scalarLength * 2;
|
|
149
|
+
TypedArray = Uint16Array;
|
|
150
|
+
}
|
|
143
151
|
else {
|
|
144
152
|
throw new Error('TargetBuffer should be Float32Array or Uint8Array');
|
|
145
153
|
}
|
|
@@ -194,8 +202,11 @@ exports.createAndCacheDerivedVolume = createAndCacheDerivedVolume;
|
|
|
194
202
|
function createLocalVolume(options, volumeId, preventCache = false) {
|
|
195
203
|
const { scalarData, metadata, dimensions, spacing, origin, direction } = options;
|
|
196
204
|
if (!scalarData ||
|
|
197
|
-
!(scalarData instanceof Uint8Array ||
|
|
198
|
-
|
|
205
|
+
!(scalarData instanceof Uint8Array ||
|
|
206
|
+
scalarData instanceof Float32Array ||
|
|
207
|
+
scalarData instanceof Uint16Array ||
|
|
208
|
+
scalarData instanceof Int16Array)) {
|
|
209
|
+
throw new Error('To use createLocalVolume you should pass scalarData of type Uint8Array, Uint16Array, Int16Array or Float32Array');
|
|
199
210
|
}
|
|
200
211
|
if (volumeId === undefined) {
|
|
201
212
|
volumeId = (0, utilities_1.uuidv4)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"volumeLoader.js","sourceRoot":"","sources":["../../../src/loaders/volumeLoader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"volumeLoader.js","sourceRoot":"","sources":["../../../src/loaders/volumeLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cornerstone3DConfig.js","sourceRoot":"","sources":["../../../src/types/Cornerstone3DConfig.ts"],"names":[],"mappings":""}
|
|
@@ -2,7 +2,7 @@ import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
|
|
|
2
2
|
import type Point3 from './Point3';
|
|
3
3
|
import type Metadata from './Metadata';
|
|
4
4
|
import Mat3 from './Mat3';
|
|
5
|
-
declare type VolumeScalarData = Float32Array | Uint8Array;
|
|
5
|
+
declare type VolumeScalarData = Float32Array | Uint8Array | Uint16Array | Int16Array;
|
|
6
6
|
interface IVolume {
|
|
7
7
|
volumeId: string;
|
|
8
8
|
metadata: Metadata;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type Cornerstone3DConfig from './Cornerstone3DConfig';
|
|
1
2
|
import type ICamera from './ICamera';
|
|
2
3
|
import type IEnabledElement from './IEnabledElement';
|
|
3
4
|
import type ICache from './ICache';
|
|
@@ -57,4 +58,4 @@ import type { PublicContourSetData, ContourSetData, ContourData } from './Contou
|
|
|
57
58
|
import type ICachedGeometry from './ICachedGeometry';
|
|
58
59
|
import type { IContourSet } from './IContourSet';
|
|
59
60
|
import type { IContour } from './IContour';
|
|
60
|
-
export type { ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, ViewportPreset, Metadata, OrientationVectors, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VOIRange, VOI, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, };
|
|
61
|
+
export type { Cornerstone3DConfig, ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, ViewportPreset, Metadata, OrientationVectors, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VOIRange, VOI, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function createInt16SharedArray(length) {
|
|
4
|
+
if (!window.crossOriginIsolated) {
|
|
5
|
+
throw new Error('Your page is NOT cross-origin isolated, see https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated');
|
|
6
|
+
}
|
|
7
|
+
if (window.SharedArrayBuffer === undefined) {
|
|
8
|
+
throw new Error('SharedArrayBuffer is NOT supported in your browser see https://developer.chrome.com/blog/enabling-shared-array-buffer/');
|
|
9
|
+
}
|
|
10
|
+
const sharedArrayBuffer = new SharedArrayBuffer(length * 2);
|
|
11
|
+
return new Int16Array(sharedArrayBuffer);
|
|
12
|
+
}
|
|
13
|
+
exports.default = createInt16SharedArray;
|
|
14
|
+
//# sourceMappingURL=createInt16SharedArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createInt16SharedArray.js","sourceRoot":"","sources":["../../../src/utilities/createInt16SharedArray.ts"],"names":[],"mappings":";;AAyBA,SAAS,sBAAsB,CAAC,MAAc;IAC5C,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;KACH;IACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE;QAC1C,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;KACH;IAED,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5D,OAAO,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC3C,CAAC;AAED,kBAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function createUint16SharedArray(length) {
|
|
4
|
+
if (!window.crossOriginIsolated) {
|
|
5
|
+
throw new Error('Your page is NOT cross-origin isolated, see https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated');
|
|
6
|
+
}
|
|
7
|
+
if (window.SharedArrayBuffer === undefined) {
|
|
8
|
+
throw new Error('SharedArrayBuffer is NOT supported in your browser see https://developer.chrome.com/blog/enabling-shared-array-buffer/');
|
|
9
|
+
}
|
|
10
|
+
const sharedArrayBuffer = new SharedArrayBuffer(length * 2);
|
|
11
|
+
return new Uint16Array(sharedArrayBuffer);
|
|
12
|
+
}
|
|
13
|
+
exports.default = createUint16SharedArray;
|
|
14
|
+
//# sourceMappingURL=createUInt16SharedArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUInt16SharedArray.js","sourceRoot":"","sources":["../../../src/utilities/createUInt16SharedArray.ts"],"names":[],"mappings":";;AAyBA,SAAS,uBAAuB,CAAC,MAAc;IAC7C,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;KACH;IACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE;QAC1C,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;KACH;IAED,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5D,OAAO,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAC5C,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const isMergeableObject = (val) => {
|
|
4
|
+
const nonNullObject = val && typeof val === 'object';
|
|
5
|
+
return (nonNullObject &&
|
|
6
|
+
Object.prototype.toString.call(val) !== '[object RegExp]' &&
|
|
7
|
+
Object.prototype.toString.call(val) !== '[object Date]');
|
|
8
|
+
};
|
|
9
|
+
const emptyTarget = (val) => {
|
|
10
|
+
const isEmpty = Array.isArray(val) ? [] : {};
|
|
11
|
+
return isEmpty;
|
|
12
|
+
};
|
|
13
|
+
const cloneIfNecessary = (value, optionsArgument) => {
|
|
14
|
+
const clone = optionsArgument && optionsArgument.clone === true;
|
|
15
|
+
return clone && isMergeableObject(value)
|
|
16
|
+
? deepMerge(emptyTarget(value), value, optionsArgument)
|
|
17
|
+
: value;
|
|
18
|
+
};
|
|
19
|
+
const defaultArrayMerge = (target, source, optionsArgument) => {
|
|
20
|
+
const destination = target.slice();
|
|
21
|
+
source.forEach(function (e, i) {
|
|
22
|
+
if (typeof destination[i] === 'undefined') {
|
|
23
|
+
destination[i] = cloneIfNecessary(e, optionsArgument);
|
|
24
|
+
}
|
|
25
|
+
else if (isMergeableObject(e)) {
|
|
26
|
+
destination[i] = deepMerge(target[i], e, optionsArgument);
|
|
27
|
+
}
|
|
28
|
+
else if (target.indexOf(e) === -1) {
|
|
29
|
+
destination.push(cloneIfNecessary(e, optionsArgument));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return destination;
|
|
33
|
+
};
|
|
34
|
+
const mergeObject = (target, source, optionsArgument) => {
|
|
35
|
+
const destination = {};
|
|
36
|
+
if (isMergeableObject(target)) {
|
|
37
|
+
Object.keys(target).forEach(function (key) {
|
|
38
|
+
destination[key] = cloneIfNecessary(target[key], optionsArgument);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
Object.keys(source).forEach(function (key) {
|
|
42
|
+
if (!isMergeableObject(source[key]) || !target[key]) {
|
|
43
|
+
destination[key] = cloneIfNecessary(source[key], optionsArgument);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
destination[key] = deepMerge(target[key], source[key], optionsArgument);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return destination;
|
|
50
|
+
};
|
|
51
|
+
const deepMerge = (target = {}, source = {}, optionsArgument = undefined) => {
|
|
52
|
+
const array = Array.isArray(source);
|
|
53
|
+
const options = optionsArgument || { arrayMerge: defaultArrayMerge };
|
|
54
|
+
const arrayMerge = options.arrayMerge || defaultArrayMerge;
|
|
55
|
+
if (array) {
|
|
56
|
+
return Array.isArray(target)
|
|
57
|
+
? arrayMerge(target, source, optionsArgument)
|
|
58
|
+
: cloneIfNecessary(source, optionsArgument);
|
|
59
|
+
}
|
|
60
|
+
return mergeObject(target, source, optionsArgument);
|
|
61
|
+
};
|
|
62
|
+
exports.default = deepMerge;
|
|
63
|
+
//# sourceMappingURL=deepMerge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../src/utilities/deepMerge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function getScalarDataType(scalingParameters, scalarData) {
|
|
4
|
+
let type;
|
|
5
|
+
if (scalarData && scalarData instanceof Uint8Array) {
|
|
6
|
+
type = 'Uint8Array';
|
|
7
|
+
}
|
|
8
|
+
else if (scalarData instanceof Float32Array) {
|
|
9
|
+
type = 'Float32Array';
|
|
10
|
+
}
|
|
11
|
+
else if (scalarData instanceof Int16Array) {
|
|
12
|
+
type = 'Int16Array';
|
|
13
|
+
}
|
|
14
|
+
else if (scalarData instanceof Uint16Array) {
|
|
15
|
+
type = 'Uint16Array';
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
throw new Error('Unsupported array type');
|
|
19
|
+
}
|
|
20
|
+
return type;
|
|
21
|
+
}
|
|
22
|
+
exports.default = getScalarDataType;
|
|
23
|
+
//# sourceMappingURL=getScalarDataType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getScalarDataType.js","sourceRoot":"","sources":["../../../src/utilities/getScalarDataType.ts"],"names":[],"mappings":";;AAWA,SAAwB,iBAAiB,CACvC,iBAAoC,EACpC,UAAgB;IAEhB,IAAI,IAAI,CAAC;IAET,IAAI,UAAU,IAAI,UAAU,YAAY,UAAU,EAAE;QAClD,IAAI,GAAG,YAAY,CAAC;KACrB;SAAM,IAAI,UAAU,YAAY,YAAY,EAAE;QAC7C,IAAI,GAAG,cAAc,CAAC;KACvB;SAAM,IAAI,UAAU,YAAY,UAAU,EAAE;QAC3C,IAAI,GAAG,YAAY,CAAC;KACrB;SAAM,IAAI,UAAU,YAAY,WAAW,EAAE;QAC5C,IAAI,GAAG,aAAa,CAAC;KACtB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAnBD,oCAmBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const metaData_1 = require("../metaData");
|
|
4
|
+
function getScalingParameters(imageId) {
|
|
5
|
+
const modalityLutModule = (0, metaData_1.get)('modalityLutModule', imageId) || {};
|
|
6
|
+
const generalSeriesModule = (0, metaData_1.get)('generalSeriesModule', imageId) || {};
|
|
7
|
+
const { modality } = generalSeriesModule;
|
|
8
|
+
const scalingParameters = {
|
|
9
|
+
rescaleSlope: modalityLutModule.rescaleSlope,
|
|
10
|
+
rescaleIntercept: modalityLutModule.rescaleIntercept,
|
|
11
|
+
modality,
|
|
12
|
+
};
|
|
13
|
+
const suvFactor = (0, metaData_1.get)('scalingModule', imageId) || {};
|
|
14
|
+
return Object.assign(Object.assign({}, scalingParameters), (modality === 'PT' && {
|
|
15
|
+
suvbw: suvFactor.suvbw,
|
|
16
|
+
suvbsa: suvFactor.suvbsa,
|
|
17
|
+
suvlbm: suvFactor.suvlbm,
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
exports.default = getScalingParameters;
|
|
21
|
+
//# sourceMappingURL=getScalingParameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getScalingParameters.js","sourceRoot":"","sources":["../../../src/utilities/getScalingParameters.ts"],"names":[],"mappings":";;AAAA,0CAAiD;AAUjD,SAAwB,oBAAoB,CAC1C,OAAe;IAEf,MAAM,iBAAiB,GAAG,IAAA,cAAW,EAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,mBAAmB,GAAG,IAAA,cAAW,EAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE9E,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC;IAEzC,MAAM,iBAAiB,GAAG;QACxB,YAAY,EAAE,iBAAiB,CAAC,YAAY;QAC5C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;QACpD,QAAQ;KACT,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,cAAW,EAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE9D,uCACK,iBAAiB,GACjB,CAAC,QAAQ,KAAK,IAAI,IAAI;QACvB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC,EACF;AACJ,CAAC;AAxBD,uCAwBC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ActorSliceRange, IVolumeViewport, ICamera } from '../types';
|
|
2
|
+
declare function getVolumeSliceRangeInfo(viewport: IVolumeViewport, volumeId: string): {
|
|
3
|
+
sliceRange: ActorSliceRange;
|
|
4
|
+
spacingInNormalDirection: number;
|
|
5
|
+
camera: ICamera;
|
|
6
|
+
};
|
|
7
|
+
export default getVolumeSliceRangeInfo;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const getSliceRange_1 = __importDefault(require("./getSliceRange"));
|
|
7
|
+
const getTargetVolumeAndSpacingInNormalDir_1 = __importDefault(require("./getTargetVolumeAndSpacingInNormalDir"));
|
|
8
|
+
function getVolumeSliceRangeInfo(viewport, volumeId) {
|
|
9
|
+
const camera = viewport.getCamera();
|
|
10
|
+
const { focalPoint, viewPlaneNormal } = camera;
|
|
11
|
+
const { spacingInNormalDirection, actorUID } = (0, getTargetVolumeAndSpacingInNormalDir_1.default)(viewport, camera, volumeId);
|
|
12
|
+
if (!actorUID) {
|
|
13
|
+
throw new Error(`Could not find image volume with id ${volumeId} in the viewport`);
|
|
14
|
+
}
|
|
15
|
+
const actorEntry = viewport.getActor(actorUID);
|
|
16
|
+
if (!actorEntry) {
|
|
17
|
+
console.warn('No actor found for with actorUID of', actorUID);
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const volumeActor = actorEntry.actor;
|
|
21
|
+
const sliceRange = (0, getSliceRange_1.default)(volumeActor, viewPlaneNormal, focalPoint);
|
|
22
|
+
return {
|
|
23
|
+
sliceRange,
|
|
24
|
+
spacingInNormalDirection,
|
|
25
|
+
camera,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
exports.default = getVolumeSliceRangeInfo;
|
|
29
|
+
//# sourceMappingURL=getVolumeSliceRangeInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVolumeSliceRangeInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,kHAA0F;AAc1F,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,QAAgB;IAMhB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,GAC1C,IAAA,8CAAoC,EAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnE,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,kBAAkB,CAClE,CAAC;KACH;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAoB,CAAC;IACpD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,wBAAwB;QACxB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const getVolumeSliceRangeInfo_1 = __importDefault(require("./getVolumeSliceRangeInfo"));
|
|
7
|
+
function getVolumeViewportScrollInfo(viewport, volumeId) {
|
|
8
|
+
const { sliceRange, spacingInNormalDirection } = (0, getVolumeSliceRangeInfo_1.default)(viewport, volumeId);
|
|
9
|
+
const { min, max, current } = sliceRange;
|
|
10
|
+
const numScrollSteps = Math.round((max - min) / spacingInNormalDirection);
|
|
11
|
+
const fraction = (current - min) / (max - min);
|
|
12
|
+
const floatingStepNumber = fraction * numScrollSteps;
|
|
13
|
+
const currentStepIndex = Math.round(floatingStepNumber);
|
|
14
|
+
return { numScrollSteps, currentStepIndex };
|
|
15
|
+
}
|
|
16
|
+
exports.default = getVolumeViewportScrollInfo;
|
|
17
|
+
//# sourceMappingURL=getVolumeViewportScrollInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVolumeViewportScrollInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":";;;;;AACA,wFAAgE;AAQhE,SAAS,2BAA2B,CAClC,QAAyB,EACzB,QAAgB;IAEhB,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,IAAA,iCAAuB,EACtE,QAAQ,EACR,QAAQ,CACT,CAAC;IAEF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAG1E,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAExD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED,kBAAe,2BAA2B,CAAC"}
|
|
@@ -13,6 +13,8 @@ import isEqual from './isEqual';
|
|
|
13
13
|
import isOpposite from './isOpposite';
|
|
14
14
|
import createUint8SharedArray from './createUint8SharedArray';
|
|
15
15
|
import createFloat32SharedArray from './createFloat32SharedArray';
|
|
16
|
+
import createUint16SharedArray from './createUInt16SharedArray';
|
|
17
|
+
import createInt16SharedArray from './createInt16SharedArray';
|
|
16
18
|
import getClosestImageId from './getClosestImageId';
|
|
17
19
|
import getSpacingInNormalDirection from './getSpacingInNormalDirection';
|
|
18
20
|
import getTargetVolumeAndSpacingInNormalDir from './getTargetVolumeAndSpacingInNormalDir';
|
|
@@ -25,6 +27,8 @@ import loadImageToCanvas from './loadImageToCanvas';
|
|
|
25
27
|
import renderToCanvas from './renderToCanvas';
|
|
26
28
|
import worldToImageCoords from './worldToImageCoords';
|
|
27
29
|
import imageToWorldCoords from './imageToWorldCoords';
|
|
30
|
+
import getVolumeSliceRangeInfo from './getVolumeSliceRangeInfo';
|
|
31
|
+
import getVolumeViewportScrollInfo from './getVolumeViewportScrollInfo';
|
|
28
32
|
import getSliceRange from './getSliceRange';
|
|
29
33
|
import snapFocalPointToSlice from './snapFocalPointToSlice';
|
|
30
34
|
import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeViewport';
|
|
@@ -36,6 +40,9 @@ import spatialRegistrationMetadataProvider from './spatialRegistrationMetadataPr
|
|
|
36
40
|
import getViewportImageCornersInWorld from './getViewportImageCornersInWorld';
|
|
37
41
|
import hasNaNValues from './hasNaNValues';
|
|
38
42
|
import applyPreset from './applyPreset';
|
|
43
|
+
import deepMerge from './deepMerge';
|
|
44
|
+
import getScalingParameters from './getScalingParameters';
|
|
45
|
+
import getScalarDataType from './getScalarDataType';
|
|
39
46
|
import * as planar from './planar';
|
|
40
47
|
import * as windowLevel from './windowLevel';
|
|
41
|
-
export { csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, };
|
|
48
|
+
export { csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, };
|