@cornerstonejs/core 0.43.0 → 0.44.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/BaseVolumeViewport.js +1 -1
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.d.ts +6 -2
- package/dist/cjs/RenderingEngine/StackViewport.js +95 -68
- package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/Viewport.d.ts +2 -1
- package/dist/cjs/RenderingEngine/Viewport.js +1 -1
- package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/init.d.ts +2 -1
- package/dist/cjs/init.js +18 -13
- package/dist/cjs/init.js.map +1 -1
- package/dist/cjs/types/IImage.d.ts +4 -3
- package/dist/cjs/types/IViewport.d.ts +1 -0
- package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.d.ts +7 -2
- package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.js +0 -3
- package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.js.map +1 -1
- package/dist/cjs/utilities/loadImageToCanvas.js +1 -0
- package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.d.ts +6 -2
- package/dist/esm/RenderingEngine/StackViewport.js +99 -69
- package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/Viewport.d.ts +2 -1
- package/dist/esm/RenderingEngine/Viewport.js +1 -1
- package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +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 +2 -1
- package/dist/esm/init.js +17 -13
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types/IImage.d.ts +4 -3
- package/dist/esm/types/IViewport.d.ts +1 -0
- package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +7 -2
- package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js +0 -3
- package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js.map +1 -1
- package/dist/esm/utilities/loadImageToCanvas.js +1 -0
- 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 +4 -4
- package/src/RenderingEngine/BaseVolumeViewport.ts +1 -1
- package/src/RenderingEngine/StackViewport.ts +165 -92
- package/src/RenderingEngine/Viewport.ts +2 -1
- package/src/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.ts +1 -1
- package/src/index.ts +3 -1
- package/src/init.ts +42 -14
- package/src/types/IImage.ts +11 -3
- package/src/types/IViewport.ts +1 -0
- package/src/utilities/calibratedPixelSpacingMetadataProvider.ts +10 -6
- package/src/utilities/loadImageToCanvas.ts +1 -0
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
export declare type CalibratedPixelValue = {
|
|
2
|
+
rowPixelSpacing: number;
|
|
3
|
+
columnPixelSpacing: number;
|
|
4
|
+
appliedSpacing?: CalibratedPixelValue;
|
|
5
|
+
};
|
|
1
6
|
declare const metadataProvider: {
|
|
2
|
-
add: (imageId: string, payload:
|
|
3
|
-
get: (type: string, imageId: string) =>
|
|
7
|
+
add: (imageId: string, payload: CalibratedPixelValue) => void;
|
|
8
|
+
get: (type: string, imageId: string) => CalibratedPixelValue;
|
|
4
9
|
};
|
|
5
10
|
export default metadataProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calibratedPixelSpacingMetadataProvider.js","sourceRoot":"","sources":["../../../src/utilities/calibratedPixelSpacingMetadataProvider.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;
|
|
1
|
+
{"version":3,"file":"calibratedPixelSpacingMetadataProvider.js","sourceRoot":"","sources":["../../../src/utilities/calibratedPixelSpacingMetadataProvider.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAS1C,MAAM,KAAK,GAAyC,EAAE,CAAC;AAOvD,MAAM,gBAAgB,GAAG;IAMvB,GAAG,EAAE,CAAC,OAAe,EAAE,OAA6B,EAAQ,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAC5B,CAAC;IAQD,GAAG,EAAE,CAAC,IAAY,EAAE,OAAe,EAAwB,EAAE;QAC3D,IAAI,IAAI,KAAK,wBAAwB,EAAE;YACrC,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;SACxB;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wDAA2D;AAC3D,sDAAwC;AACxC,oCAAuC;AACvC,+FAAuE;AACvE,sEAA8C;AAC9C,kCAA2C;AAoB3C,SAAwB,iBAAiB,CACvC,MAAyB,EACzB,OAAe,EACf,WAAW,GAAG,mBAAW,CAAC,SAAS,EACnC,QAAQ,GAAG,CAAC,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,eAAe,CAAC,KAAa,EAAE,OAAe;;YACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAExE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,KAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAC;YAChE,IAAA,wBAAc,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAED,SAAS,aAAa,CAAC,KAAY,EAAE,OAAe;YAClD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QAED,SAAS,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO;YACjD,OAAO,IAAA,+BAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE;gBACR,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,uBAAgB,GAAE,CAAC,SAAS,CAAC;QAI1D,MAAM,OAAO,GAAG;YACd,YAAY,EAAE;gBACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;aACpD;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI;aACd;YACD,WAAW;SACZ,CAAC;QAEF,8BAAoB,CAAC,UAAU,CAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAC9C,WAAW,EACX,EAAE,OAAO,EAAE,EACX,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wDAA2D;AAC3D,sDAAwC;AACxC,oCAAuC;AACvC,+FAAuE;AACvE,sEAA8C;AAC9C,kCAA2C;AAoB3C,SAAwB,iBAAiB,CACvC,MAAyB,EACzB,OAAe,EACf,WAAW,GAAG,mBAAW,CAAC,SAAS,EACnC,QAAQ,GAAG,CAAC,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,eAAe,CAAC,KAAa,EAAE,OAAe;;YACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAExE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,KAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAC;YAChE,IAAA,wBAAc,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAED,SAAS,aAAa,CAAC,KAAY,EAAE,OAAe;YAClD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QAED,SAAS,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO;YACjD,OAAO,IAAA,+BAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE;gBACR,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,uBAAgB,GAAE,CAAC,SAAS,CAAC;QAI1D,MAAM,OAAO,GAAG;YACd,YAAY,EAAE;gBACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;aACpD;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI;aACd;YACD,WAAW;SACZ,CAAC;QAEF,8BAAoB,CAAC,UAAU,CAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAC9C,WAAW,EACX,EAAE,OAAO,EAAE,EACX,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AArDD,oCAqDC"}
|
|
@@ -98,7 +98,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
98
98
|
throw new Error('Method not implemented.');
|
|
99
99
|
};
|
|
100
100
|
this.useCPURendering = getShouldUseCPURendering();
|
|
101
|
-
this.use16BitTexture = this.
|
|
101
|
+
this.use16BitTexture = this._shouldUseNativeDataType();
|
|
102
102
|
if (this.useCPURendering) {
|
|
103
103
|
throw new Error('VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.');
|
|
104
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
|
|
|
18
18
|
private _calibrationEvent;
|
|
19
19
|
private _cpuFallbackEnabledElement?;
|
|
20
20
|
private useCPURendering;
|
|
21
|
-
private
|
|
21
|
+
private useNativeDataType;
|
|
22
22
|
private cpuImagePixelData;
|
|
23
23
|
private cpuRenderingInvalidated;
|
|
24
24
|
private csImage;
|
|
@@ -26,9 +26,12 @@ declare class StackViewport extends Viewport implements IStackViewport {
|
|
|
26
26
|
scaling: Scaling;
|
|
27
27
|
private initialViewUp;
|
|
28
28
|
constructor(props: ViewportInput);
|
|
29
|
-
static get useCustomRenderingPipeline(): boolean;
|
|
30
29
|
setUseCPURendering(value: boolean): void;
|
|
30
|
+
static get useCustomRenderingPipeline(): boolean;
|
|
31
|
+
updateRenderingPipeline: () => void;
|
|
31
32
|
private _configureRenderingPipeline;
|
|
33
|
+
private _resetCPUFallbackElement;
|
|
34
|
+
private _resetGPUViewport;
|
|
32
35
|
getImageData: () => IImageData | CPUIImageData;
|
|
33
36
|
setColormap: (colormap: CPUFallbackColormapData) => void;
|
|
34
37
|
getCamera: () => ICamera;
|
|
@@ -86,6 +89,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
|
|
|
86
89
|
setStack(imageIds: Array<string>, currentImageIdIndex?: number): Promise<string>;
|
|
87
90
|
private _checkVTKImageDataMatchesCornerstoneImage;
|
|
88
91
|
private _updateVTKImageDataFromCornerstoneImage;
|
|
92
|
+
private _updatePixelData;
|
|
89
93
|
private _loadAndDisplayImage;
|
|
90
94
|
private _loadAndDisplayImageCPU;
|
|
91
95
|
private _loadAndDisplayImageGPU;
|
|
@@ -23,11 +23,10 @@ import calculateTransform from './helpers/cpuFallback/rendering/calculateTransfo
|
|
|
23
23
|
import resize from './helpers/cpuFallback/rendering/resize';
|
|
24
24
|
import resetCamera from './helpers/cpuFallback/rendering/resetCamera';
|
|
25
25
|
import { Transform } from './helpers/cpuFallback/rendering/transform';
|
|
26
|
-
import { getShouldUseCPURendering } from '../init';
|
|
26
|
+
import { getConfiguration, getShouldUseCPURendering } from '../init';
|
|
27
27
|
import RequestType from '../enums/RequestType';
|
|
28
28
|
import cache from '../cache';
|
|
29
29
|
import correctShift from './helpers/cpuFallback/rendering/correctShift';
|
|
30
|
-
import isRgbaSourceRgbDest from './helpers/isRgbaSourceRgbDest';
|
|
31
30
|
import createLinearRGBTransferFunction from '../utilities/createLinearRGBTransferFunction';
|
|
32
31
|
const EPSILON = 1;
|
|
33
32
|
class StackViewport extends Viewport {
|
|
@@ -37,7 +36,10 @@ class StackViewport extends Viewport {
|
|
|
37
36
|
this.invert = false;
|
|
38
37
|
this.stackInvalidated = false;
|
|
39
38
|
this._publishCalibratedEvent = false;
|
|
40
|
-
this.
|
|
39
|
+
this.useNativeDataType = false;
|
|
40
|
+
this.updateRenderingPipeline = () => {
|
|
41
|
+
this._configureRenderingPipeline();
|
|
42
|
+
};
|
|
41
43
|
this.resize = () => {
|
|
42
44
|
if (this.useCPURendering) {
|
|
43
45
|
this._resizeCPU();
|
|
@@ -64,6 +66,10 @@ class StackViewport extends Viewport {
|
|
|
64
66
|
mapper.setInputData(imageData);
|
|
65
67
|
const actor = vtkImageSlice.newInstance();
|
|
66
68
|
actor.setMapper(mapper);
|
|
69
|
+
const { preferSizeOverAccuracy } = getConfiguration().rendering;
|
|
70
|
+
if (preferSizeOverAccuracy) {
|
|
71
|
+
mapper.setPreferSizeOverAccuracy(true);
|
|
72
|
+
}
|
|
67
73
|
if (imageData.getPointData().getNumberOfComponents() > 1) {
|
|
68
74
|
actor.getProperty().setIndependentComponents(false);
|
|
69
75
|
}
|
|
@@ -300,28 +306,11 @@ class StackViewport extends Viewport {
|
|
|
300
306
|
this.scaling = {};
|
|
301
307
|
this.modality = null;
|
|
302
308
|
this.useCPURendering = getShouldUseCPURendering();
|
|
303
|
-
this.
|
|
309
|
+
this.useNativeDataType = this._shouldUseNativeDataType();
|
|
304
310
|
this._configureRenderingPipeline();
|
|
305
|
-
|
|
306
|
-
this.
|
|
307
|
-
|
|
308
|
-
renderingTools: {},
|
|
309
|
-
transform: new Transform(),
|
|
310
|
-
viewport: { rotation: 0 },
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
const renderer = this.getRenderer();
|
|
315
|
-
const camera = vtkCamera.newInstance();
|
|
316
|
-
renderer.setActiveCamera(camera);
|
|
317
|
-
const viewPlaneNormal = [0, 0, -1];
|
|
318
|
-
this.initialViewUp = [0, -1, 0];
|
|
319
|
-
camera.setDirectionOfProjection(-viewPlaneNormal[0], -viewPlaneNormal[1], -viewPlaneNormal[2]);
|
|
320
|
-
camera.setViewUp(...this.initialViewUp);
|
|
321
|
-
camera.setParallelProjection(true);
|
|
322
|
-
camera.setThicknessFromFocalPoint(0.1);
|
|
323
|
-
camera.setFreezeFocalPoint(true);
|
|
324
|
-
}
|
|
311
|
+
this.useCPURendering
|
|
312
|
+
? this._resetCPUFallbackElement()
|
|
313
|
+
: this._resetGPUViewport();
|
|
325
314
|
this.imageIds = [];
|
|
326
315
|
this.currentImageIdIndex = 0;
|
|
327
316
|
this.targetImageIdIndex = 0;
|
|
@@ -329,17 +318,42 @@ class StackViewport extends Viewport {
|
|
|
329
318
|
this.resetCamera();
|
|
330
319
|
this.initializeElementDisabledHandler();
|
|
331
320
|
}
|
|
332
|
-
static get useCustomRenderingPipeline() {
|
|
333
|
-
return getShouldUseCPURendering();
|
|
334
|
-
}
|
|
335
321
|
setUseCPURendering(value) {
|
|
336
322
|
this.useCPURendering = value;
|
|
337
323
|
this._configureRenderingPipeline();
|
|
338
324
|
}
|
|
325
|
+
static get useCustomRenderingPipeline() {
|
|
326
|
+
return getShouldUseCPURendering();
|
|
327
|
+
}
|
|
339
328
|
_configureRenderingPipeline() {
|
|
329
|
+
this.useNativeDataType = this._shouldUseNativeDataType();
|
|
330
|
+
this.useCPURendering = getShouldUseCPURendering();
|
|
340
331
|
for (const [funcName, functions] of Object.entries(this.renderingPipelineFunctions)) {
|
|
341
332
|
this[funcName] = this.useCPURendering ? functions.cpu : functions.gpu;
|
|
342
333
|
}
|
|
334
|
+
this.useCPURendering
|
|
335
|
+
? this._resetCPUFallbackElement()
|
|
336
|
+
: this._resetGPUViewport();
|
|
337
|
+
}
|
|
338
|
+
_resetCPUFallbackElement() {
|
|
339
|
+
this._cpuFallbackEnabledElement = {
|
|
340
|
+
canvas: this.canvas,
|
|
341
|
+
renderingTools: {},
|
|
342
|
+
transform: new Transform(),
|
|
343
|
+
viewport: { rotation: 0 },
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
_resetGPUViewport() {
|
|
347
|
+
const renderer = this.getRenderer();
|
|
348
|
+
const camera = vtkCamera.newInstance();
|
|
349
|
+
renderer.setActiveCamera(camera);
|
|
350
|
+
const viewPlaneNormal = [0, 0, -1];
|
|
351
|
+
this.initialViewUp = [0, -1, 0];
|
|
352
|
+
camera.setDirectionOfProjection(-viewPlaneNormal[0], -viewPlaneNormal[1], -viewPlaneNormal[2]);
|
|
353
|
+
camera.setViewUp(...this.initialViewUp);
|
|
354
|
+
camera.setParallelProjection(true);
|
|
355
|
+
camera.setThicknessFromFocalPoint(0.1);
|
|
356
|
+
camera.setFreezeFocalPoint(true);
|
|
343
357
|
}
|
|
344
358
|
initializeElementDisabledHandler() {
|
|
345
359
|
eventTarget.addEventListener(Events.ELEMENT_DISABLED, function elementDisabledHandler() {
|
|
@@ -444,7 +458,7 @@ class StackViewport extends Viewport {
|
|
|
444
458
|
if (!calibratedPixelSpacing) {
|
|
445
459
|
return imagePlaneModule;
|
|
446
460
|
}
|
|
447
|
-
const
|
|
461
|
+
const { rowPixelSpacing: calibratedRowSpacing, columnPixelSpacing: calibratedColumnSpacing, } = calibratedPixelSpacing;
|
|
448
462
|
if (imagePlaneModule.rowPixelSpacing === calibratedRowSpacing &&
|
|
449
463
|
imagePlaneModule.columnPixelSpacing === calibratedColumnSpacing) {
|
|
450
464
|
return imagePlaneModule;
|
|
@@ -463,12 +477,14 @@ class StackViewport extends Viewport {
|
|
|
463
477
|
rowScale: calibratedRowSpacing / imagePlaneModule.rowPixelSpacing,
|
|
464
478
|
columnScale: calibratedColumnSpacing / imagePlaneModule.columnPixelSpacing,
|
|
465
479
|
};
|
|
480
|
+
calibratedPixelSpacing.appliedSpacing = calibratedPixelSpacing;
|
|
466
481
|
imagePlaneModule.rowPixelSpacing = calibratedRowSpacing;
|
|
467
482
|
imagePlaneModule.columnPixelSpacing = calibratedColumnSpacing;
|
|
468
483
|
return imagePlaneModule;
|
|
469
484
|
}
|
|
470
485
|
const { imageData } = imageDataMetadata;
|
|
471
486
|
const [columnPixelSpacing, rowPixelSpacing] = imageData.getSpacing();
|
|
487
|
+
calibratedPixelSpacing.appliedSpacing = calibratedPixelSpacing;
|
|
472
488
|
imagePlaneModule.rowPixelSpacing = calibratedRowSpacing;
|
|
473
489
|
imagePlaneModule.columnPixelSpacing = calibratedColumnSpacing;
|
|
474
490
|
if (rowPixelSpacing === calibratedRowSpacing &&
|
|
@@ -888,26 +904,7 @@ class StackViewport extends Viewport {
|
|
|
888
904
|
viewUp: [viewUp[0], viewUp[1], viewUp[2]],
|
|
889
905
|
};
|
|
890
906
|
}
|
|
891
|
-
_createVTKImageData({ origin, direction, dimensions, spacing,
|
|
892
|
-
let pixelArray;
|
|
893
|
-
switch (bitsAllocated) {
|
|
894
|
-
case 8:
|
|
895
|
-
pixelArray = new Uint8Array(numVoxels * numComps);
|
|
896
|
-
break;
|
|
897
|
-
case 16:
|
|
898
|
-
if (this.use16BitTexture) {
|
|
899
|
-
pixelArray = new TypedArray(numVoxels * numComps);
|
|
900
|
-
}
|
|
901
|
-
else {
|
|
902
|
-
pixelArray = new Float32Array(numVoxels * numComps);
|
|
903
|
-
}
|
|
904
|
-
break;
|
|
905
|
-
case 24:
|
|
906
|
-
pixelArray = new Uint8Array(numVoxels * 3 * numComps);
|
|
907
|
-
break;
|
|
908
|
-
default:
|
|
909
|
-
console.log('bit allocation not implemented');
|
|
910
|
-
}
|
|
907
|
+
_createVTKImageData({ origin, direction, dimensions, spacing, numComps, pixelArray, }) {
|
|
911
908
|
const scalarArray = vtkDataArray.newInstance({
|
|
912
909
|
name: 'Pixels',
|
|
913
910
|
numberOfComponents: numComps,
|
|
@@ -966,7 +963,7 @@ class StackViewport extends Viewport {
|
|
|
966
963
|
yVoxels === image.rows &&
|
|
967
964
|
isEqual(imagePlaneModule.rowCosines, rowCosines) &&
|
|
968
965
|
isEqual(imagePlaneModule.columnCosines, columnCosines) &&
|
|
969
|
-
(!this.
|
|
966
|
+
(!this.useNativeDataType ||
|
|
970
967
|
dataType === image.getPixelData().constructor.name));
|
|
971
968
|
}
|
|
972
969
|
_updateVTKImageDataFromCornerstoneImage(image) {
|
|
@@ -976,22 +973,22 @@ class StackViewport extends Viewport {
|
|
|
976
973
|
origin = [0, 0, 0];
|
|
977
974
|
}
|
|
978
975
|
this._imageData.setOrigin(origin);
|
|
976
|
+
this._updatePixelData(image);
|
|
977
|
+
}
|
|
978
|
+
_updatePixelData(image) {
|
|
979
979
|
const pixelData = image.getPixelData();
|
|
980
980
|
const scalars = this._imageData.getPointData().getScalars();
|
|
981
981
|
const scalarData = scalars.getData();
|
|
982
|
-
if (image.
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
let index = 0;
|
|
989
|
-
for (let i = 0; i < numPixels; i++) {
|
|
990
|
-
scalarData[index++] = pixelData[rgbIndex++];
|
|
991
|
-
scalarData[index++] = pixelData[rgbIndex++];
|
|
992
|
-
scalarData[index++] = pixelData[rgbIndex++];
|
|
993
|
-
rgbIndex++;
|
|
982
|
+
if (image.color && image.rgba) {
|
|
983
|
+
const newPixelData = new Uint8Array(image.columns * image.rows * 3);
|
|
984
|
+
for (let i = 0; i < image.columns * image.rows; i++) {
|
|
985
|
+
newPixelData[i * 3] = pixelData[i * 4];
|
|
986
|
+
newPixelData[i * 3 + 1] = pixelData[i * 4 + 1];
|
|
987
|
+
newPixelData[i * 3 + 2] = pixelData[i * 4 + 2];
|
|
994
988
|
}
|
|
989
|
+
image.rgba = false;
|
|
990
|
+
image.getPixelData = () => newPixelData;
|
|
991
|
+
scalarData.set(newPixelData);
|
|
995
992
|
}
|
|
996
993
|
else {
|
|
997
994
|
scalarData.set(pixelData);
|
|
@@ -1010,6 +1007,36 @@ class StackViewport extends Viewport {
|
|
|
1010
1007
|
if (this.currentImageIdIndex !== imageIdIndex) {
|
|
1011
1008
|
return;
|
|
1012
1009
|
}
|
|
1010
|
+
const pixelData = image.getPixelData();
|
|
1011
|
+
if (pixelData instanceof Float32Array) {
|
|
1012
|
+
const floatMinMax = {
|
|
1013
|
+
min: image.maxPixelValue,
|
|
1014
|
+
max: image.minPixelValue,
|
|
1015
|
+
};
|
|
1016
|
+
const floatRange = Math.abs(floatMinMax.max - floatMinMax.min);
|
|
1017
|
+
const intRange = 65535;
|
|
1018
|
+
const slope = floatRange / intRange;
|
|
1019
|
+
const intercept = floatMinMax.min;
|
|
1020
|
+
const numPixels = pixelData.length;
|
|
1021
|
+
const intPixelData = new Uint16Array(numPixels);
|
|
1022
|
+
let min = 65535;
|
|
1023
|
+
let max = 0;
|
|
1024
|
+
for (let i = 0; i < numPixels; i++) {
|
|
1025
|
+
const rescaledPixel = Math.floor((pixelData[i] - intercept) / slope);
|
|
1026
|
+
intPixelData[i] = rescaledPixel;
|
|
1027
|
+
min = Math.min(min, rescaledPixel);
|
|
1028
|
+
max = Math.max(max, rescaledPixel);
|
|
1029
|
+
}
|
|
1030
|
+
image.minPixelValue = min;
|
|
1031
|
+
image.maxPixelValue = max;
|
|
1032
|
+
image.slope = slope;
|
|
1033
|
+
image.intercept = intercept;
|
|
1034
|
+
image.getPixelData = () => intPixelData;
|
|
1035
|
+
image.preScale = {
|
|
1036
|
+
...image.preScale,
|
|
1037
|
+
scaled: false,
|
|
1038
|
+
};
|
|
1039
|
+
}
|
|
1013
1040
|
image.isPreScaled = image.preScale?.scaled;
|
|
1014
1041
|
this.csImage = image;
|
|
1015
1042
|
const eventDetail = {
|
|
@@ -1022,6 +1049,8 @@ class StackViewport extends Viewport {
|
|
|
1022
1049
|
triggerEvent(this.element, Events.STACK_NEW_IMAGE, eventDetail);
|
|
1023
1050
|
const metadata = this._getImageDataMetadata(image);
|
|
1024
1051
|
const viewport = getDefaultViewport(this.canvas, image, this.modality, this._cpuFallbackEnabledElement.viewport.colormap);
|
|
1052
|
+
const { windowCenter, windowWidth } = viewport.voi;
|
|
1053
|
+
this.voiRange = windowLevelUtil.toLowHighRange(windowWidth, windowCenter);
|
|
1025
1054
|
this._cpuFallbackEnabledElement.image = image;
|
|
1026
1055
|
this._cpuFallbackEnabledElement.metadata = {
|
|
1027
1056
|
...metadata,
|
|
@@ -1060,9 +1089,6 @@ class StackViewport extends Viewport {
|
|
|
1060
1089
|
const requestType = RequestType.Interaction;
|
|
1061
1090
|
const additionalDetails = { imageId };
|
|
1062
1091
|
const options = {
|
|
1063
|
-
targetBuffer: {
|
|
1064
|
-
type: this.use16BitTexture ? undefined : 'Float32Array',
|
|
1065
|
-
},
|
|
1066
1092
|
preScale: {
|
|
1067
1093
|
enabled: true,
|
|
1068
1094
|
},
|
|
@@ -1120,7 +1146,7 @@ class StackViewport extends Viewport {
|
|
|
1120
1146
|
const additionalDetails = { imageId };
|
|
1121
1147
|
const options = {
|
|
1122
1148
|
targetBuffer: {
|
|
1123
|
-
type: this.
|
|
1149
|
+
type: this.useNativeDataType ? undefined : 'Float32Array',
|
|
1124
1150
|
},
|
|
1125
1151
|
preScale: {
|
|
1126
1152
|
enabled: true,
|
|
@@ -1158,16 +1184,14 @@ class StackViewport extends Viewport {
|
|
|
1158
1184
|
this._setPropertiesFromCache();
|
|
1159
1185
|
return;
|
|
1160
1186
|
}
|
|
1161
|
-
const { origin, direction, dimensions, spacing,
|
|
1187
|
+
const { origin, direction, dimensions, spacing, numComps, imagePixelModule, } = this._getImageDataMetadata(image);
|
|
1162
1188
|
this._createVTKImageData({
|
|
1163
1189
|
origin,
|
|
1164
1190
|
direction,
|
|
1165
1191
|
dimensions,
|
|
1166
1192
|
spacing,
|
|
1167
|
-
bitsAllocated,
|
|
1168
1193
|
numComps,
|
|
1169
|
-
|
|
1170
|
-
TypedArray: image.getPixelData().constructor,
|
|
1194
|
+
pixelArray: image.getPixelData(),
|
|
1171
1195
|
});
|
|
1172
1196
|
this._updateVTKImageDataFromCornerstoneImage(image);
|
|
1173
1197
|
const actor = this.createActorMapper(this._imageData);
|
|
@@ -1383,9 +1407,15 @@ class StackViewport extends Viewport {
|
|
|
1383
1407
|
}
|
|
1384
1408
|
_getImagePlaneModule(imageId) {
|
|
1385
1409
|
const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
|
|
1410
|
+
const calibratedPixelSpacing = metaData.get('calibratedPixelSpacing', imageId);
|
|
1386
1411
|
const newImagePlaneModule = {
|
|
1387
1412
|
...imagePlaneModule,
|
|
1388
1413
|
};
|
|
1414
|
+
if (calibratedPixelSpacing?.appliedSpacing) {
|
|
1415
|
+
const { rowPixelSpacing, columnPixelSpacing } = calibratedPixelSpacing.appliedSpacing;
|
|
1416
|
+
newImagePlaneModule.rowPixelSpacing = rowPixelSpacing;
|
|
1417
|
+
newImagePlaneModule.columnPixelSpacing = columnPixelSpacing;
|
|
1418
|
+
}
|
|
1389
1419
|
if (!newImagePlaneModule.columnPixelSpacing) {
|
|
1390
1420
|
newImagePlaneModule.columnPixelSpacing = 1;
|
|
1391
1421
|
this.hasPixelSpacing = false;
|