@cornerstonejs/core 1.75.2 → 1.76.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/helpers/addImageSlicesToViewports.d.ts +1 -1
- package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js +2 -2
- package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -1
- package/dist/cjs/loaders/imageLoader.js +6 -1
- package/dist/cjs/loaders/imageLoader.js.map +1 -1
- package/dist/cjs/types/IStackViewport.d.ts +2 -49
- package/dist/cjs/types/IStackViewport.js +1 -0
- package/dist/cjs/types/IStackViewport.js.map +1 -1
- package/dist/cjs/utilities/getScalingParameters.js +3 -2
- package/dist/cjs/utilities/getScalingParameters.js.map +1 -1
- package/dist/cjs/utilities/loadImageToCanvas.d.ts +21 -5
- package/dist/cjs/utilities/loadImageToCanvas.js +32 -17
- package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/cjs/utilities/renderToCanvasCPU.d.ts +3 -2
- package/dist/cjs/utilities/renderToCanvasCPU.js +7 -2
- package/dist/cjs/utilities/renderToCanvasCPU.js.map +1 -1
- package/dist/cjs/utilities/renderToCanvasGPU.d.ts +5 -2
- package/dist/cjs/utilities/renderToCanvasGPU.js +45 -12
- package/dist/cjs/utilities/renderToCanvasGPU.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +2 -2
- package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -1
- package/dist/esm/loaders/imageLoader.js +13 -1
- package/dist/esm/loaders/imageLoader.js.map +1 -1
- package/dist/esm/types/IStackViewport.js +1 -1
- package/dist/esm/types/IStackViewport.js.map +1 -1
- package/dist/esm/utilities/getScalingParameters.js +2 -2
- package/dist/esm/utilities/getScalingParameters.js.map +1 -1
- package/dist/esm/utilities/loadImageToCanvas.js +33 -17
- package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/esm/utilities/renderToCanvasCPU.js +7 -2
- package/dist/esm/utilities/renderToCanvasCPU.js.map +1 -1
- package/dist/esm/utilities/renderToCanvasGPU.js +45 -12
- package/dist/esm/utilities/renderToCanvasGPU.js.map +1 -1
- package/dist/types/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +1 -1
- package/dist/types/RenderingEngine/helpers/addImageSlicesToViewports.d.ts.map +1 -1
- package/dist/types/loaders/imageLoader.d.ts.map +1 -1
- package/dist/types/types/IStackViewport.d.ts +2 -49
- package/dist/types/types/IStackViewport.d.ts.map +1 -1
- package/dist/types/utilities/loadImageToCanvas.d.ts +21 -5
- package/dist/types/utilities/loadImageToCanvas.d.ts.map +1 -1
- package/dist/types/utilities/renderToCanvasCPU.d.ts +3 -2
- package/dist/types/utilities/renderToCanvasCPU.d.ts.map +1 -1
- package/dist/types/utilities/renderToCanvasGPU.d.ts +5 -2
- package/dist/types/utilities/renderToCanvasGPU.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/src/RenderingEngine/helpers/addImageSlicesToViewports.ts +2 -5
- package/src/loaders/imageLoader.ts +20 -8
- package/src/types/IStackViewport.ts +2 -178
- package/src/utilities/getScalingParameters.ts +2 -2
- package/src/utilities/loadImageToCanvas.ts +93 -32
- package/src/utilities/renderToCanvasCPU.ts +10 -3
- package/src/utilities/renderToCanvasGPU.ts +61 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getScalingParameters.js","sourceRoot":"","sources":["../../../src/utilities/getScalingParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AAUjD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,OAAe;IAEf,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,mBAAmB,GAAG,WAAW,CAAC,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;
|
|
1
|
+
{"version":3,"file":"getScalingParameters.js","sourceRoot":"","sources":["../../../src/utilities/getScalingParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AAUjD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,OAAe;IAEf,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,mBAAmB,GAAG,WAAW,CAAC,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,IAAI,CAAC;QACjD,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,IAAI,CAAC;QACzD,QAAQ;KACT,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE9D,OAAO;QACL,GAAG,iBAAiB;QACpB,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI;YACvB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -5,28 +5,36 @@ import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
|
|
|
5
5
|
import renderToCanvasGPU from './renderToCanvasGPU';
|
|
6
6
|
import renderToCanvasCPU from './renderToCanvasCPU';
|
|
7
7
|
import { getConfiguration } from '../init';
|
|
8
|
+
import cache from '../cache';
|
|
8
9
|
export default function loadImageToCanvas(options) {
|
|
9
|
-
const { canvas, imageId, requestType = RequestType.Thumbnail, priority = -5, renderingEngineId = '_thumbnails', useCPURendering = false, thumbnail = false, imageAspect = false,
|
|
10
|
-
const
|
|
10
|
+
const { canvas, imageId, viewReference, requestType = RequestType.Thumbnail, priority = -5, renderingEngineId = '_thumbnails', useCPURendering = false, thumbnail = false, imageAspect = false, viewportOptions: baseViewportOptions, } = options;
|
|
11
|
+
const volumeId = viewReference?.volumeId;
|
|
12
|
+
const isVolume = volumeId && !imageId;
|
|
13
|
+
const viewportOptions = viewReference && baseViewportOptions
|
|
14
|
+
? { ...baseViewportOptions, viewReference }
|
|
15
|
+
: baseViewportOptions;
|
|
11
16
|
const renderFn = useCPURendering ? renderToCanvasCPU : renderToCanvasGPU;
|
|
12
17
|
return new Promise((resolve, reject) => {
|
|
13
|
-
function successCallback(
|
|
18
|
+
function successCallback(imageOrVolume, imageId) {
|
|
14
19
|
const { modality } = metaData.get('generalSeriesModule', imageId) || {};
|
|
15
|
-
image
|
|
20
|
+
const image = !isVolume && imageOrVolume;
|
|
21
|
+
const volume = isVolume && imageOrVolume;
|
|
22
|
+
if (image) {
|
|
23
|
+
image.isPreScaled = image.isPreScaled || image.preScale?.scaled;
|
|
24
|
+
}
|
|
16
25
|
if (thumbnail) {
|
|
17
26
|
canvas.height = 256;
|
|
18
27
|
canvas.width = 256;
|
|
19
28
|
}
|
|
20
|
-
if (
|
|
21
|
-
canvas.width = canvas.
|
|
22
|
-
canvas.height = canvas.offsetHeight * devicePixelRatio;
|
|
29
|
+
if (imageAspect && image) {
|
|
30
|
+
canvas.width = image && (canvas.height * image.width) / image.height;
|
|
23
31
|
}
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
canvas.style.width = `${canvas.width / devicePixelRatio}px`;
|
|
33
|
+
canvas.style.height = `${canvas.height / devicePixelRatio}px`;
|
|
34
|
+
if (volume && useCPURendering) {
|
|
35
|
+
reject(new Error('CPU rendering of volume not supported'));
|
|
26
36
|
}
|
|
27
|
-
renderFn(canvas,
|
|
28
|
-
resolve(imageId);
|
|
29
|
-
});
|
|
37
|
+
renderFn(canvas, imageOrVolume, modality, renderingEngineId, viewportOptions).then(resolve);
|
|
30
38
|
}
|
|
31
39
|
function errorCallback(error, imageId) {
|
|
32
40
|
console.error(error, imageId);
|
|
@@ -39,20 +47,28 @@ export default function loadImageToCanvas(options) {
|
|
|
39
47
|
errorCallback.call(this, error, imageId);
|
|
40
48
|
});
|
|
41
49
|
}
|
|
42
|
-
const { useNorm16Texture
|
|
43
|
-
const useNativeDataType = useNorm16Texture || preferSizeOverAccuracy;
|
|
50
|
+
const { useNorm16Texture } = getConfiguration().rendering;
|
|
44
51
|
const options = {
|
|
45
52
|
targetBuffer: {
|
|
46
|
-
type:
|
|
53
|
+
type: useNorm16Texture ? undefined : 'Float32Array',
|
|
47
54
|
},
|
|
48
55
|
preScale: {
|
|
49
56
|
enabled: true,
|
|
50
57
|
},
|
|
51
|
-
useNativeDataType,
|
|
52
58
|
useRGBA: !!useCPURendering,
|
|
53
59
|
requestType,
|
|
54
60
|
};
|
|
55
|
-
|
|
61
|
+
if (volumeId) {
|
|
62
|
+
const volume = cache.getVolume(volumeId);
|
|
63
|
+
if (!volume) {
|
|
64
|
+
reject(new Error(`Volume id ${volumeId} not found in cache`));
|
|
65
|
+
}
|
|
66
|
+
const useImageId = volume.imageIds[0];
|
|
67
|
+
successCallback(volume, useImageId);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
imageLoadPoolManager.addRequest(sendRequest.bind(null, imageId, null, options), requestType, { imageId }, priority);
|
|
71
|
+
}
|
|
56
72
|
});
|
|
57
73
|
}
|
|
58
74
|
//# sourceMappingURL=loadImageToCanvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import getDefaultViewport from '../RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport';
|
|
2
2
|
import calculateTransform from '../RenderingEngine/helpers/cpuFallback/rendering/calculateTransform';
|
|
3
3
|
import drawImageSync from '../RenderingEngine/helpers/cpuFallback/drawImageSync';
|
|
4
|
-
export default function renderToCanvasCPU(canvas,
|
|
4
|
+
export default function renderToCanvasCPU(canvas, imageOrVolume, modality, _renderingEngineId, _viewportOptions) {
|
|
5
|
+
const volume = imageOrVolume;
|
|
6
|
+
if (volume.volumeId) {
|
|
7
|
+
throw new Error('Unsupported volume rendering for CPU');
|
|
8
|
+
}
|
|
9
|
+
const image = imageOrVolume;
|
|
5
10
|
const viewport = getDefaultViewport(canvas, image, modality);
|
|
6
11
|
const enabledElement = {
|
|
7
12
|
canvas,
|
|
@@ -13,7 +18,7 @@ export default function renderToCanvasCPU(canvas, image, modality, _renderingEng
|
|
|
13
18
|
const invalidated = true;
|
|
14
19
|
return new Promise((resolve, reject) => {
|
|
15
20
|
drawImageSync(enabledElement, invalidated);
|
|
16
|
-
resolve(
|
|
21
|
+
resolve(null);
|
|
17
22
|
});
|
|
18
23
|
}
|
|
19
24
|
//# sourceMappingURL=renderToCanvasCPU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderToCanvasCPU.js","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasCPU.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderToCanvasCPU.js","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasCPU.ts"],"names":[],"mappings":"AAOA,OAAO,kBAAkB,MAAM,qEAAqE,CAAC;AACrG,OAAO,kBAAkB,MAAM,qEAAqE,CAAC;AACrG,OAAO,aAAa,MAAM,sDAAsD,CAAC;AAUjF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAyB,EACzB,aAA+B,EAC/B,QAAiB,EACjB,kBAA2B,EAC3B,gBAAuC;IAEvC,MAAM,MAAM,GAAG,aAAwB,CAAC;IACxC,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IACD,MAAM,KAAK,GAAG,aAAuB,CAAC;IACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE7D,MAAM,cAAc,GAA8B;QAChD,MAAM;QACN,QAAQ;QACR,KAAK;QACL,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,cAAc,CAAC,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAG,IAAI,CAAC;IACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -3,23 +3,28 @@ import { ViewportType, Events } from '../enums';
|
|
|
3
3
|
import { getRenderingEngine } from '../RenderingEngine/getRenderingEngine';
|
|
4
4
|
import RenderingEngine from '../RenderingEngine';
|
|
5
5
|
import isPTPrescaledWithSUV from './isPTPrescaledWithSUV';
|
|
6
|
-
export default function renderToCanvasGPU(canvas,
|
|
6
|
+
export default function renderToCanvasGPU(canvas, imageOrVolume, modality = undefined, renderingEngineId = '_thumbnails', viewportOptions = {
|
|
7
|
+
displayArea: { imageArea: [1, 1] },
|
|
8
|
+
}) {
|
|
7
9
|
if (!canvas || !(canvas instanceof HTMLCanvasElement)) {
|
|
8
10
|
throw new Error('canvas element is required');
|
|
9
11
|
}
|
|
10
|
-
const
|
|
12
|
+
const isVolume = !imageOrVolume.imageId;
|
|
13
|
+
const image = !isVolume && imageOrVolume;
|
|
14
|
+
const volume = isVolume && imageOrVolume;
|
|
15
|
+
const imageIdToPrint = image?.imageId || volume?.volumeId;
|
|
11
16
|
const viewportId = `renderGPUViewport-${imageIdToPrint}`;
|
|
12
|
-
const imageId = image.imageId;
|
|
13
17
|
const element = document.createElement('div');
|
|
14
18
|
const devicePixelRatio = window.devicePixelRatio || 1;
|
|
19
|
+
if (!viewportOptions.displayArea) {
|
|
20
|
+
viewportOptions.displayArea = { imageArea: [1, 1] };
|
|
21
|
+
}
|
|
15
22
|
const originalWidth = canvas.width;
|
|
16
23
|
const originalHeight = canvas.height;
|
|
17
|
-
element.style.width = `${originalWidth + EPSILON}px`;
|
|
18
|
-
element.style.height = `${originalHeight + EPSILON}px`;
|
|
24
|
+
element.style.width = `${originalWidth / devicePixelRatio + EPSILON}px`;
|
|
25
|
+
element.style.height = `${originalHeight / devicePixelRatio + EPSILON}px`;
|
|
19
26
|
element.style.visibility = 'hidden';
|
|
20
27
|
element.style.position = 'absolute';
|
|
21
|
-
canvas.width = originalWidth * devicePixelRatio;
|
|
22
|
-
canvas.height = originalHeight * devicePixelRatio;
|
|
23
28
|
document.body.appendChild(element);
|
|
24
29
|
const uniqueId = viewportId.split(':').join('-');
|
|
25
30
|
element.setAttribute('viewport-id-for-remove', uniqueId);
|
|
@@ -28,26 +33,44 @@ export default function renderToCanvasGPU(canvas, image, modality = undefined, r
|
|
|
28
33
|
new RenderingEngine(renderingEngineId);
|
|
29
34
|
let viewport = renderingEngine.getViewport(viewportId);
|
|
30
35
|
if (!viewport) {
|
|
31
|
-
const
|
|
36
|
+
const viewportInput = {
|
|
32
37
|
viewportId,
|
|
33
|
-
type: ViewportType.STACK,
|
|
38
|
+
type: isVolume ? ViewportType.ORTHOGRAPHIC : ViewportType.STACK,
|
|
34
39
|
element,
|
|
35
40
|
defaultOptions: {
|
|
36
41
|
...viewportOptions,
|
|
37
42
|
suppressEvents: true,
|
|
38
43
|
},
|
|
39
44
|
};
|
|
40
|
-
renderingEngine.enableElement(
|
|
45
|
+
renderingEngine.enableElement(viewportInput);
|
|
41
46
|
viewport = renderingEngine.getViewport(viewportId);
|
|
42
47
|
}
|
|
43
48
|
return new Promise((resolve) => {
|
|
44
49
|
let elementRendered = false;
|
|
50
|
+
let { viewReference } = viewportOptions;
|
|
45
51
|
const onImageRendered = (eventDetail) => {
|
|
46
52
|
if (elementRendered) {
|
|
47
53
|
return;
|
|
48
54
|
}
|
|
55
|
+
if (viewReference) {
|
|
56
|
+
const useViewRef = viewReference;
|
|
57
|
+
viewReference = null;
|
|
58
|
+
viewport.setViewReference(useViewRef);
|
|
59
|
+
viewport.render();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
49
62
|
const context = canvas.getContext('2d');
|
|
50
63
|
context.drawImage(temporaryCanvas, 0, 0, temporaryCanvas.width, temporaryCanvas.height, 0, 0, canvas.width, canvas.height);
|
|
64
|
+
const origin = viewport.canvasToWorld([0, 0]);
|
|
65
|
+
const topRight = viewport.canvasToWorld([
|
|
66
|
+
temporaryCanvas.width / devicePixelRatio,
|
|
67
|
+
0,
|
|
68
|
+
]);
|
|
69
|
+
const bottomLeft = viewport.canvasToWorld([
|
|
70
|
+
0,
|
|
71
|
+
temporaryCanvas.height / devicePixelRatio,
|
|
72
|
+
]);
|
|
73
|
+
const thicknessMm = 1;
|
|
51
74
|
elementRendered = true;
|
|
52
75
|
element.removeEventListener(Events.IMAGE_RENDERED, onImageRendered);
|
|
53
76
|
setTimeout(() => {
|
|
@@ -57,10 +80,20 @@ export default function renderToCanvasGPU(canvas, image, modality = undefined, r
|
|
|
57
80
|
element.remove();
|
|
58
81
|
});
|
|
59
82
|
}, 0);
|
|
60
|
-
resolve(
|
|
83
|
+
resolve({
|
|
84
|
+
origin,
|
|
85
|
+
bottomLeft,
|
|
86
|
+
topRight,
|
|
87
|
+
thicknessMm,
|
|
88
|
+
});
|
|
61
89
|
};
|
|
62
90
|
element.addEventListener(Events.IMAGE_RENDERED, onImageRendered);
|
|
63
|
-
|
|
91
|
+
if (isVolume) {
|
|
92
|
+
viewport.setVolumes([volume], false, true);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
viewport.renderImageObject(imageOrVolume);
|
|
96
|
+
}
|
|
64
97
|
viewport.resetCamera();
|
|
65
98
|
if (modality === 'PT' && !isPTPrescaledWithSUV(image)) {
|
|
66
99
|
viewport.setProperties({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderToCanvasGPU.js","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasGPU.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,EAAE,EACxB,OAAO,GACR,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"renderToCanvasGPU.js","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasGPU.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { IStackInput, IRenderingEngine } from '../../types';
|
|
2
|
-
declare function addImageSlicesToViewports(renderingEngine: IRenderingEngine, stackInputs: Array<IStackInput>, viewportIds: Array<string
|
|
2
|
+
declare function addImageSlicesToViewports(renderingEngine: IRenderingEngine, stackInputs: Array<IStackInput>, viewportIds: Array<string>): Promise<void>;
|
|
3
3
|
export default addImageSlicesToViewports;
|
|
4
4
|
//# sourceMappingURL=addImageSlicesToViewports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addImageSlicesToViewports.d.ts","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/addImageSlicesToViewports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addImageSlicesToViewports.d.ts","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/addImageSlicesToViewports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAcrB,iBAAe,yBAAyB,CACtC,eAAe,EAAE,gBAAgB,EACjC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,EAC/B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageLoader.d.ts","sourceRoot":"","sources":["../../../src/loaders/imageLoader.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,MAAM,EACN,aAAa,EAGb,MAAM,EACN,MAAM,EACN,IAAI,EACJ,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CAClC;AAED,aAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IAOjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,aAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CAC9C,CAAC;AAoHF,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAA6D,GACrE,OAAO,CAAC,MAAM,CAAC,CAMjB;AAYD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAA6D,GACrE,OAAO,CAAC,MAAM,CAAC,CAgBjB;AASD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,OAAO,GAAE,kBAA6D,GACrE,OAAO,CAAC,MAAM,CAAC,EAAE,CAYnB;AAYD,wBAAgB,0BAA0B,CACxC,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE,mBAAwB,EACjC,YAAY,UAAQ,GACnB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"imageLoader.d.ts","sourceRoot":"","sources":["../../../src/loaders/imageLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import IImageData from './IImageData';
|
|
4
|
-
import { IViewport } from './IViewport';
|
|
5
|
-
import Point2 from './Point2';
|
|
6
|
-
import Point3 from './Point3';
|
|
7
|
-
import { Scaling } from './ScalingParameters';
|
|
8
|
-
import StackViewportProperties from './StackViewportProperties';
|
|
9
|
-
import type IImage from './IImage';
|
|
10
|
-
import { IStackInput } from './IStackInput';
|
|
11
|
-
export default interface IStackViewport extends IViewport {
|
|
12
|
-
modality: string;
|
|
13
|
-
scaling: Scaling;
|
|
14
|
-
stackActorReInitialized: boolean;
|
|
15
|
-
resize: () => void;
|
|
16
|
-
getFrameOfReferenceUID: () => string;
|
|
17
|
-
setDefaultProperties(ViewportProperties: StackViewportProperties, imageId?: string): void;
|
|
18
|
-
clearDefaultProperties(imageId?: string): void;
|
|
19
|
-
setProperties({ voiRange, invert, interpolationType, rotation, colormap, }: StackViewportProperties, suppressEvents?: boolean): void;
|
|
20
|
-
getDefaultProperties: (imageId?: string) => StackViewportProperties;
|
|
21
|
-
getProperties: () => StackViewportProperties;
|
|
22
|
-
canvasToWorld: (canvasPos: Point2) => Point3;
|
|
23
|
-
worldToCanvas: (worldPos: Point3) => Point2;
|
|
24
|
-
getCurrentImageIdIndex: () => number;
|
|
25
|
-
getImageIds: () => string[];
|
|
26
|
-
hasImageId: (imageId: string) => boolean;
|
|
27
|
-
hasImageURI: (imageURI: string) => boolean;
|
|
28
|
-
getCurrentImageId: () => string;
|
|
29
|
-
addImages(stackInputs: Array<IStackInput>, immediateRender: boolean, suppressEvents: boolean): any;
|
|
30
|
-
getImageDataMetadata(image: IImage): any;
|
|
31
|
-
customRenderViewportToCanvas: () => {
|
|
32
|
-
canvas: HTMLCanvasElement;
|
|
33
|
-
element: HTMLDivElement;
|
|
34
|
-
viewportId: string;
|
|
35
|
-
renderingEngineId: string;
|
|
36
|
-
};
|
|
37
|
-
getImageData(): IImageData | CPUIImageData;
|
|
38
|
-
getCornerstoneImage: () => IImage;
|
|
39
|
-
resetToDefaultProperties(): void;
|
|
40
|
-
resetProperties(): void;
|
|
41
|
-
getCamera(): ICamera;
|
|
42
|
-
setCamera(cameraInterface: ICamera): void;
|
|
43
|
-
setStack(imageIds: Array<string>, currentImageIdIndex?: number): Promise<string>;
|
|
44
|
-
resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
|
|
45
|
-
setImageIdIndex(imageIdIndex: number): Promise<string>;
|
|
46
|
-
calibrateSpacing(imageId: string): void;
|
|
47
|
-
getRenderer(): any;
|
|
48
|
-
unsetColormap(): void;
|
|
49
|
-
}
|
|
1
|
+
import type IStackViewport from '../RenderingEngine/StackViewport';
|
|
2
|
+
export default IStackViewport;
|
|
50
3
|
//# sourceMappingURL=IStackViewport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IStackViewport.d.ts","sourceRoot":"","sources":["../../../src/types/IStackViewport.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"IStackViewport.d.ts","sourceRoot":"","sources":["../../../src/types/IStackViewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,kCAAkC,CAAC;AAEnE,eAAe,cAAc,CAAC"}
|
|
@@ -1,8 +1,24 @@
|
|
|
1
|
-
import type { ViewportInputOptions } from '../types';
|
|
1
|
+
import type { ViewPresentation, ViewReference, ViewportInputOptions, Point3 } from '../types';
|
|
2
2
|
import { RequestType } from '../enums';
|
|
3
|
-
export
|
|
4
|
-
canvas: HTMLCanvasElement;
|
|
3
|
+
export declare type StackLoadImageOptions = {
|
|
5
4
|
imageId: string;
|
|
5
|
+
};
|
|
6
|
+
export declare type FullImageLoadOptions = {
|
|
7
|
+
viewReference: ViewReference;
|
|
8
|
+
viewPresentation: ViewPresentation;
|
|
9
|
+
imageId: undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare type CanvasLoadPosition = {
|
|
12
|
+
origin: Point3;
|
|
13
|
+
topRight: Point3;
|
|
14
|
+
bottomLeft: Point3;
|
|
15
|
+
thicknessMm: number;
|
|
16
|
+
};
|
|
17
|
+
export declare type LoadImageOptions = {
|
|
18
|
+
canvas: HTMLCanvasElement;
|
|
19
|
+
imageId?: string;
|
|
20
|
+
viewReference?: ViewReference;
|
|
21
|
+
viewPresentation?: ViewPresentation;
|
|
6
22
|
requestType?: RequestType;
|
|
7
23
|
priority?: number;
|
|
8
24
|
renderingEngineId?: string;
|
|
@@ -11,6 +27,6 @@ export interface LoadImageOptions {
|
|
|
11
27
|
imageAspect?: boolean;
|
|
12
28
|
physicalPixels?: boolean;
|
|
13
29
|
viewportOptions?: ViewportInputOptions;
|
|
14
|
-
}
|
|
15
|
-
export default function loadImageToCanvas(options: LoadImageOptions): Promise<
|
|
30
|
+
} & (StackLoadImageOptions | FullImageLoadOptions);
|
|
31
|
+
export default function loadImageToCanvas(options: LoadImageOptions): Promise<CanvasLoadPosition>;
|
|
16
32
|
//# sourceMappingURL=loadImageToCanvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadImageToCanvas.d.ts","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"loadImageToCanvas.d.ts","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,MAAM,EAEP,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAWvC,oBAAY,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAMF,oBAAY,oBAAoB,GAAG;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAUF,oBAAY,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,oBAAY,gBAAgB,GAAG;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAG1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC,GAAG,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;AAwBnD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAoG7B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { IImage, ViewportInputOptions } from '../types';
|
|
2
|
-
|
|
1
|
+
import { IImage, ViewportInputOptions, IVolume } from '../types';
|
|
2
|
+
import type { CanvasLoadPosition } from './loadImageToCanvas';
|
|
3
|
+
export default function renderToCanvasCPU(canvas: HTMLCanvasElement, imageOrVolume: IImage | IVolume, modality?: string, _renderingEngineId?: string, _viewportOptions?: ViewportInputOptions): Promise<CanvasLoadPosition>;
|
|
3
4
|
//# sourceMappingURL=renderToCanvasCPU.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderToCanvasCPU.d.ts","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasCPU.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,oBAAoB,
|
|
1
|
+
{"version":3,"file":"renderToCanvasCPU.d.ts","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasCPU.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,oBAAoB,EACpB,OAAO,EACR,MAAM,UAAU,CAAC;AAKlB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAS9D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,gBAAgB,CAAC,EAAE,oBAAoB,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAsB7B"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import { IImage, ViewportInputOptions } from '../types';
|
|
2
|
-
|
|
1
|
+
import { IImage, IVolume, ViewportInputOptions, ViewReference } from '../types';
|
|
2
|
+
import { CanvasLoadPosition } from './loadImageToCanvas';
|
|
3
|
+
export default function renderToCanvasGPU(canvas: HTMLCanvasElement, imageOrVolume: IImage | IVolume, modality?: any, renderingEngineId?: string, viewportOptions?: ViewportInputOptions & {
|
|
4
|
+
viewReference?: ViewReference;
|
|
5
|
+
}): Promise<CanvasLoadPosition>;
|
|
3
6
|
//# sourceMappingURL=renderToCanvasGPU.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderToCanvasGPU.d.ts","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasGPU.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderToCanvasGPU.d.ts","sourceRoot":"","sources":["../../../src/utilities/renderToCanvasGPU.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EAEN,OAAO,EACP,oBAAoB,EAEpB,aAAa,EACd,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAqBzD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,QAAQ,MAAY,EACpB,iBAAiB,SAAgB,EACjC,eAAe,GAAE,oBAAoB,GAAG;IAAE,aAAa,CAAC,EAAE,aAAa,CAAA;CAEtE,GACA,OAAO,CAAC,kBAAkB,CAAC,CAsJ7B"}
|