@cornerstonejs/core 3.29.1 → 3.29.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.
- package/dist/esm/RenderingEngine/BaseRenderingEngine.d.ts +53 -0
- package/dist/esm/RenderingEngine/BaseRenderingEngine.js +341 -0
- package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +18 -0
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +77 -0
- package/dist/esm/RenderingEngine/RenderingEngine.d.ts +4 -38
- package/dist/esm/RenderingEngine/RenderingEngine.js +37 -614
- package/dist/esm/RenderingEngine/SequentialRenderingEngine.d.ts +18 -0
- package/dist/esm/RenderingEngine/SequentialRenderingEngine.js +235 -0
- package/dist/esm/RenderingEngine/StackViewport.d.ts +2 -0
- package/dist/esm/RenderingEngine/StackViewport.js +71 -3
- package/dist/esm/RenderingEngine/StandardRenderingEngine.d.ts +23 -0
- package/dist/esm/RenderingEngine/StandardRenderingEngine.js +285 -0
- package/dist/esm/RenderingEngine/helpers/isSequentialRenderingEngine.d.ts +1 -0
- package/dist/esm/RenderingEngine/helpers/isSequentialRenderingEngine.js +6 -0
- package/dist/esm/RenderingEngine/index.d.ts +4 -1
- package/dist/esm/RenderingEngine/index.js +4 -1
- package/dist/esm/enums/RenderingEngineModeEnum.d.ts +5 -0
- package/dist/esm/enums/RenderingEngineModeEnum.js +6 -0
- package/dist/esm/enums/index.d.ts +2 -1
- package/dist/esm/enums/index.js +2 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/init.js +2 -0
- package/dist/esm/types/Cornerstone3DConfig.d.ts +9 -7
- package/dist/esm/types/IRenderingEngine.d.ts +1 -1
- package/dist/esm/types/RenderingEngineMode.d.ts +2 -0
- package/dist/esm/types/RenderingEngineMode.js +0 -0
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import BaseRenderingEngine, { VIEWPORT_MIN_SIZE } from './BaseRenderingEngine';
|
|
2
|
+
import Events from '../enums/Events';
|
|
3
|
+
import eventTarget from '../eventTarget';
|
|
4
|
+
import triggerEvent from '../utilities/triggerEvent';
|
|
5
|
+
import ViewportType from '../enums/ViewportType';
|
|
6
|
+
import VolumeViewport from './VolumeViewport';
|
|
7
|
+
import StackViewport from './StackViewport';
|
|
8
|
+
import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesCustomRenderingPipeline';
|
|
9
|
+
import getOrCreateCanvas from './helpers/getOrCreateCanvas';
|
|
10
|
+
import VolumeViewport3D from './VolumeViewport3D';
|
|
11
|
+
class StandardRenderingEngine extends BaseRenderingEngine {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this._renderFlaggedViewports = () => {
|
|
15
|
+
this._throwIfDestroyed();
|
|
16
|
+
if (!this.useCPURendering) {
|
|
17
|
+
this.performVtkDrawCall();
|
|
18
|
+
}
|
|
19
|
+
const viewports = this._getViewportsAsArray();
|
|
20
|
+
const eventDetailArray = [];
|
|
21
|
+
for (let i = 0; i < viewports.length; i++) {
|
|
22
|
+
const viewport = viewports[i];
|
|
23
|
+
if (this._needsRender.has(viewport.id)) {
|
|
24
|
+
const eventDetail = this.renderViewportUsingCustomOrVtkPipeline(viewport);
|
|
25
|
+
eventDetailArray.push(eventDetail);
|
|
26
|
+
viewport.setRendered();
|
|
27
|
+
this._needsRender.delete(viewport.id);
|
|
28
|
+
if (this._needsRender.size === 0) {
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
this._animationFrameSet = false;
|
|
34
|
+
this._animationFrameHandle = null;
|
|
35
|
+
eventDetailArray.forEach((eventDetail) => {
|
|
36
|
+
if (!eventDetail?.element) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
triggerEvent(eventDetail.element, Events.IMAGE_RENDERED, eventDetail);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
enableVTKjsDrivenViewport(viewportInputEntry) {
|
|
44
|
+
const viewports = this._getViewportsAsArray();
|
|
45
|
+
const viewportsDrivenByVtkJs = viewports.filter((vp) => viewportTypeUsesCustomRenderingPipeline(vp.type) === false);
|
|
46
|
+
const canvasesDrivenByVtkJs = viewportsDrivenByVtkJs.map((vp) => vp.canvas);
|
|
47
|
+
const canvas = getOrCreateCanvas(viewportInputEntry.element);
|
|
48
|
+
canvasesDrivenByVtkJs.push(canvas);
|
|
49
|
+
const { offScreenCanvasWidth, offScreenCanvasHeight } = this._resizeOffScreenCanvas(canvasesDrivenByVtkJs);
|
|
50
|
+
const xOffset = this._resize(viewportsDrivenByVtkJs, offScreenCanvasWidth, offScreenCanvasHeight);
|
|
51
|
+
const internalViewportEntry = { ...viewportInputEntry, canvas };
|
|
52
|
+
this.addVtkjsDrivenViewport(internalViewportEntry, {
|
|
53
|
+
offScreenCanvasWidth,
|
|
54
|
+
offScreenCanvasHeight,
|
|
55
|
+
xOffset,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
addVtkjsDrivenViewport(viewportInputEntry, offscreenCanvasProperties) {
|
|
59
|
+
const { element, canvas, viewportId, type, defaultOptions } = viewportInputEntry;
|
|
60
|
+
element.tabIndex = -1;
|
|
61
|
+
const { offScreenCanvasWidth, offScreenCanvasHeight, xOffset } = offscreenCanvasProperties;
|
|
62
|
+
const { sxStartDisplayCoords, syStartDisplayCoords, sxEndDisplayCoords, syEndDisplayCoords, sx, sy, sWidth, sHeight, } = this._getViewportCoordsOnOffScreenCanvas(viewportInputEntry, offScreenCanvasWidth, offScreenCanvasHeight, xOffset);
|
|
63
|
+
this.offscreenMultiRenderWindow.addRenderer({
|
|
64
|
+
viewport: [
|
|
65
|
+
sxStartDisplayCoords,
|
|
66
|
+
syStartDisplayCoords,
|
|
67
|
+
sxEndDisplayCoords,
|
|
68
|
+
syEndDisplayCoords,
|
|
69
|
+
],
|
|
70
|
+
id: viewportId,
|
|
71
|
+
background: defaultOptions.background
|
|
72
|
+
? defaultOptions.background
|
|
73
|
+
: [0, 0, 0],
|
|
74
|
+
});
|
|
75
|
+
const viewportInput = {
|
|
76
|
+
id: viewportId,
|
|
77
|
+
element,
|
|
78
|
+
renderingEngineId: this.id,
|
|
79
|
+
type,
|
|
80
|
+
canvas,
|
|
81
|
+
sx,
|
|
82
|
+
sy,
|
|
83
|
+
sWidth,
|
|
84
|
+
sHeight,
|
|
85
|
+
defaultOptions: defaultOptions || {},
|
|
86
|
+
};
|
|
87
|
+
let viewport;
|
|
88
|
+
if (type === ViewportType.STACK) {
|
|
89
|
+
viewport = new StackViewport(viewportInput);
|
|
90
|
+
}
|
|
91
|
+
else if (type === ViewportType.ORTHOGRAPHIC ||
|
|
92
|
+
type === ViewportType.PERSPECTIVE) {
|
|
93
|
+
viewport = new VolumeViewport(viewportInput);
|
|
94
|
+
}
|
|
95
|
+
else if (type === ViewportType.VOLUME_3D) {
|
|
96
|
+
viewport = new VolumeViewport3D(viewportInput);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
throw new Error(`Viewport Type ${type} is not supported`);
|
|
100
|
+
}
|
|
101
|
+
this._viewports.set(viewportId, viewport);
|
|
102
|
+
const eventDetail = {
|
|
103
|
+
element,
|
|
104
|
+
viewportId,
|
|
105
|
+
renderingEngineId: this.id,
|
|
106
|
+
};
|
|
107
|
+
if (!viewport.suppressEvents) {
|
|
108
|
+
triggerEvent(eventTarget, Events.ELEMENT_ENABLED, eventDetail);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
setVtkjsDrivenViewports(viewportInputEntries) {
|
|
112
|
+
if (viewportInputEntries.length) {
|
|
113
|
+
const vtkDrivenCanvases = viewportInputEntries.map((vp) => getOrCreateCanvas(vp.element));
|
|
114
|
+
vtkDrivenCanvases.forEach((canvas) => {
|
|
115
|
+
const devicePixelRatio = window.devicePixelRatio || 1;
|
|
116
|
+
const rect = canvas.getBoundingClientRect();
|
|
117
|
+
canvas.width = rect.width * devicePixelRatio;
|
|
118
|
+
canvas.height = rect.height * devicePixelRatio;
|
|
119
|
+
});
|
|
120
|
+
const { offScreenCanvasWidth, offScreenCanvasHeight } = this._resizeOffScreenCanvas(vtkDrivenCanvases);
|
|
121
|
+
let xOffset = 0;
|
|
122
|
+
for (let i = 0; i < viewportInputEntries.length; i++) {
|
|
123
|
+
const vtkDrivenViewportInputEntry = viewportInputEntries[i];
|
|
124
|
+
const canvas = vtkDrivenCanvases[i];
|
|
125
|
+
const internalViewportEntry = {
|
|
126
|
+
...vtkDrivenViewportInputEntry,
|
|
127
|
+
canvas,
|
|
128
|
+
};
|
|
129
|
+
this.addVtkjsDrivenViewport(internalViewportEntry, {
|
|
130
|
+
offScreenCanvasWidth,
|
|
131
|
+
offScreenCanvasHeight,
|
|
132
|
+
xOffset,
|
|
133
|
+
});
|
|
134
|
+
xOffset += canvas.width;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
_resizeVTKViewports(vtkDrivenViewports, keepCamera = true, immediate = true) {
|
|
139
|
+
const canvasesDrivenByVtkJs = vtkDrivenViewports.map((vp) => {
|
|
140
|
+
return getOrCreateCanvas(vp.element);
|
|
141
|
+
});
|
|
142
|
+
canvasesDrivenByVtkJs.forEach((canvas) => {
|
|
143
|
+
const devicePixelRatio = window.devicePixelRatio || 1;
|
|
144
|
+
canvas.width = canvas.clientWidth * devicePixelRatio;
|
|
145
|
+
canvas.height = canvas.clientHeight * devicePixelRatio;
|
|
146
|
+
});
|
|
147
|
+
if (canvasesDrivenByVtkJs.length) {
|
|
148
|
+
const { offScreenCanvasWidth, offScreenCanvasHeight } = this._resizeOffScreenCanvas(canvasesDrivenByVtkJs);
|
|
149
|
+
this._resize(vtkDrivenViewports, offScreenCanvasWidth, offScreenCanvasHeight);
|
|
150
|
+
}
|
|
151
|
+
vtkDrivenViewports.forEach((vp) => {
|
|
152
|
+
const prevCamera = vp.getCamera();
|
|
153
|
+
const rotation = vp.getRotation();
|
|
154
|
+
const { flipHorizontal } = prevCamera;
|
|
155
|
+
vp.resetCameraForResize();
|
|
156
|
+
const displayArea = vp.getDisplayArea();
|
|
157
|
+
if (keepCamera) {
|
|
158
|
+
if (displayArea) {
|
|
159
|
+
if (flipHorizontal) {
|
|
160
|
+
vp.setCamera({ flipHorizontal });
|
|
161
|
+
}
|
|
162
|
+
if (rotation) {
|
|
163
|
+
vp.setViewPresentation({ rotation });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
vp.setCamera(prevCamera);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
if (immediate) {
|
|
172
|
+
this.render();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
performVtkDrawCall() {
|
|
176
|
+
const { offscreenMultiRenderWindow } = this;
|
|
177
|
+
const renderWindow = offscreenMultiRenderWindow.getRenderWindow();
|
|
178
|
+
const renderers = offscreenMultiRenderWindow.getRenderers();
|
|
179
|
+
if (!renderers.length) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
for (let i = 0; i < renderers.length; i++) {
|
|
183
|
+
const { renderer, id } = renderers[i];
|
|
184
|
+
if (this._needsRender.has(id)) {
|
|
185
|
+
renderer.setDraw(true);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
renderer.setDraw(false);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
renderWindow.render();
|
|
192
|
+
for (let i = 0; i < renderers.length; i++) {
|
|
193
|
+
renderers[i].renderer.setDraw(false);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
renderViewportUsingCustomOrVtkPipeline(viewport) {
|
|
197
|
+
let eventDetail;
|
|
198
|
+
if (viewport.sWidth < VIEWPORT_MIN_SIZE ||
|
|
199
|
+
viewport.sHeight < VIEWPORT_MIN_SIZE) {
|
|
200
|
+
console.warn('Viewport is too small', viewport.sWidth, viewport.sHeight);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (viewportTypeUsesCustomRenderingPipeline(viewport.type) === true) {
|
|
204
|
+
eventDetail =
|
|
205
|
+
viewport.customRenderViewportToCanvas();
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
if (this.useCPURendering) {
|
|
209
|
+
throw new Error('GPU not available, and using a viewport with no custom render pipeline.');
|
|
210
|
+
}
|
|
211
|
+
const { offscreenMultiRenderWindow } = this;
|
|
212
|
+
const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
|
|
213
|
+
const context = openGLRenderWindow.get3DContext();
|
|
214
|
+
const offScreenCanvas = context.canvas;
|
|
215
|
+
eventDetail = this._renderViewportFromVtkCanvasToOnscreenCanvas(viewport, offScreenCanvas);
|
|
216
|
+
}
|
|
217
|
+
return eventDetail;
|
|
218
|
+
}
|
|
219
|
+
_renderViewportFromVtkCanvasToOnscreenCanvas(viewport, offScreenCanvas) {
|
|
220
|
+
const { element, canvas, sx, sy, sWidth, sHeight, id: viewportId, renderingEngineId, suppressEvents, } = viewport;
|
|
221
|
+
const { width: dWidth, height: dHeight } = canvas;
|
|
222
|
+
const onScreenContext = canvas.getContext('2d');
|
|
223
|
+
onScreenContext.drawImage(offScreenCanvas, sx, sy, sWidth, sHeight, 0, 0, dWidth, dHeight);
|
|
224
|
+
return {
|
|
225
|
+
element,
|
|
226
|
+
suppressEvents,
|
|
227
|
+
viewportId,
|
|
228
|
+
renderingEngineId,
|
|
229
|
+
viewportStatus: viewport.viewportStatus,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
_resizeOffScreenCanvas(canvasesDrivenByVtkJs) {
|
|
233
|
+
const { offScreenCanvasContainer, offscreenMultiRenderWindow } = this;
|
|
234
|
+
const offScreenCanvasHeight = Math.max(...canvasesDrivenByVtkJs.map((canvas) => canvas.height));
|
|
235
|
+
let offScreenCanvasWidth = 0;
|
|
236
|
+
canvasesDrivenByVtkJs.forEach((canvas) => {
|
|
237
|
+
offScreenCanvasWidth += canvas.width;
|
|
238
|
+
});
|
|
239
|
+
offScreenCanvasContainer.width = offScreenCanvasWidth;
|
|
240
|
+
offScreenCanvasContainer.height = offScreenCanvasHeight;
|
|
241
|
+
offscreenMultiRenderWindow.resize();
|
|
242
|
+
return { offScreenCanvasWidth, offScreenCanvasHeight };
|
|
243
|
+
}
|
|
244
|
+
_resize(viewportsDrivenByVtkJs, offScreenCanvasWidth, offScreenCanvasHeight) {
|
|
245
|
+
let _xOffset = 0;
|
|
246
|
+
for (let i = 0; i < viewportsDrivenByVtkJs.length; i++) {
|
|
247
|
+
const viewport = viewportsDrivenByVtkJs[i];
|
|
248
|
+
const { sxStartDisplayCoords, syStartDisplayCoords, sxEndDisplayCoords, syEndDisplayCoords, sx, sy, sWidth, sHeight, } = this._getViewportCoordsOnOffScreenCanvas(viewport, offScreenCanvasWidth, offScreenCanvasHeight, _xOffset);
|
|
249
|
+
_xOffset += viewport.canvas.width;
|
|
250
|
+
viewport.sx = sx;
|
|
251
|
+
viewport.sy = sy;
|
|
252
|
+
viewport.sWidth = sWidth;
|
|
253
|
+
viewport.sHeight = sHeight;
|
|
254
|
+
const renderer = this.offscreenMultiRenderWindow.getRenderer(viewport.id);
|
|
255
|
+
renderer.setViewport([
|
|
256
|
+
sxStartDisplayCoords,
|
|
257
|
+
syStartDisplayCoords,
|
|
258
|
+
sxEndDisplayCoords,
|
|
259
|
+
syEndDisplayCoords,
|
|
260
|
+
]);
|
|
261
|
+
}
|
|
262
|
+
return _xOffset;
|
|
263
|
+
}
|
|
264
|
+
_getViewportCoordsOnOffScreenCanvas(viewport, offScreenCanvasWidth, offScreenCanvasHeight, _xOffset) {
|
|
265
|
+
const { canvas } = viewport;
|
|
266
|
+
const { width: sWidth, height: sHeight } = canvas;
|
|
267
|
+
const sx = _xOffset;
|
|
268
|
+
const sy = 0;
|
|
269
|
+
const sxStartDisplayCoords = sx / offScreenCanvasWidth;
|
|
270
|
+
const syStartDisplayCoords = sy + (offScreenCanvasHeight - sHeight) / offScreenCanvasHeight;
|
|
271
|
+
const sWidthDisplayCoords = sWidth / offScreenCanvasWidth;
|
|
272
|
+
const sHeightDisplayCoords = sHeight / offScreenCanvasHeight;
|
|
273
|
+
return {
|
|
274
|
+
sxStartDisplayCoords,
|
|
275
|
+
syStartDisplayCoords,
|
|
276
|
+
sxEndDisplayCoords: sxStartDisplayCoords + sWidthDisplayCoords,
|
|
277
|
+
syEndDisplayCoords: syStartDisplayCoords + sHeightDisplayCoords,
|
|
278
|
+
sx,
|
|
279
|
+
sy,
|
|
280
|
+
sWidth,
|
|
281
|
+
sHeight,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
export default StandardRenderingEngine;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isSequentialRenderingEngine(renderingEngine: any): boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { getConfiguration } from '../../init';
|
|
2
|
+
import { RenderingEngineModeEnum } from '../../enums';
|
|
3
|
+
export function isSequentialRenderingEngine(renderingEngine) {
|
|
4
|
+
const config = getConfiguration();
|
|
5
|
+
return (config?.rendering?.renderingEngineMode === RenderingEngineModeEnum.Next);
|
|
6
|
+
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import RenderingEngine from './RenderingEngine';
|
|
2
|
+
import BaseRenderingEngine from './BaseRenderingEngine';
|
|
3
|
+
import StandardRenderingEngine from './StandardRenderingEngine';
|
|
4
|
+
import SequentialRenderingEngine from './SequentialRenderingEngine';
|
|
2
5
|
import getRenderingEngine from './getRenderingEngine';
|
|
3
6
|
import VolumeViewport from './VolumeViewport';
|
|
4
7
|
import StackViewport from './StackViewport';
|
|
5
8
|
import VolumeViewport3D from './VolumeViewport3D';
|
|
6
9
|
export * from './helpers';
|
|
7
|
-
export { getRenderingEngine, RenderingEngine, VolumeViewport, VolumeViewport3D, StackViewport, };
|
|
10
|
+
export { getRenderingEngine, RenderingEngine, BaseRenderingEngine, StandardRenderingEngine, SequentialRenderingEngine, VolumeViewport, VolumeViewport3D, StackViewport, };
|
|
8
11
|
export default RenderingEngine;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import RenderingEngine from './RenderingEngine';
|
|
2
|
+
import BaseRenderingEngine from './BaseRenderingEngine';
|
|
3
|
+
import StandardRenderingEngine from './StandardRenderingEngine';
|
|
4
|
+
import SequentialRenderingEngine from './SequentialRenderingEngine';
|
|
2
5
|
import getRenderingEngine from './getRenderingEngine';
|
|
3
6
|
import VolumeViewport from './VolumeViewport';
|
|
4
7
|
import StackViewport from './StackViewport';
|
|
5
8
|
import VolumeViewport3D from './VolumeViewport3D';
|
|
6
9
|
export * from './helpers';
|
|
7
|
-
export { getRenderingEngine, RenderingEngine, VolumeViewport, VolumeViewport3D, StackViewport, };
|
|
10
|
+
export { getRenderingEngine, RenderingEngine, BaseRenderingEngine, StandardRenderingEngine, SequentialRenderingEngine, VolumeViewport, VolumeViewport3D, StackViewport, };
|
|
8
11
|
export default RenderingEngine;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
var RenderingEngineModeEnum;
|
|
2
|
+
(function (RenderingEngineModeEnum) {
|
|
3
|
+
RenderingEngineModeEnum["Standard"] = "standard";
|
|
4
|
+
RenderingEngineModeEnum["Next"] = "next";
|
|
5
|
+
})(RenderingEngineModeEnum || (RenderingEngineModeEnum = {}));
|
|
6
|
+
export default RenderingEngineModeEnum;
|
|
@@ -16,4 +16,5 @@ import * as VideoEnums from './VideoEnums';
|
|
|
16
16
|
import MetadataModules from './MetadataModules';
|
|
17
17
|
import { GenerateImageType } from './GenerateImageType';
|
|
18
18
|
import VoxelManagerEnum from './VoxelManagerEnum';
|
|
19
|
-
|
|
19
|
+
import RenderingEngineModeEnum from './RenderingEngineModeEnum';
|
|
20
|
+
export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, GeometryType, ContourType, MeshType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoEnums, MetadataModules, ImageQualityStatus, VoxelManagerEnum, GenerateImageType, RenderingEngineModeEnum, };
|
package/dist/esm/enums/index.js
CHANGED
|
@@ -16,4 +16,5 @@ import * as VideoEnums from './VideoEnums';
|
|
|
16
16
|
import MetadataModules from './MetadataModules';
|
|
17
17
|
import { GenerateImageType } from './GenerateImageType';
|
|
18
18
|
import VoxelManagerEnum from './VoxelManagerEnum';
|
|
19
|
-
|
|
19
|
+
import RenderingEngineModeEnum from './RenderingEngineModeEnum';
|
|
20
|
+
export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, GeometryType, ContourType, MeshType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoEnums, MetadataModules, ImageQualityStatus, VoxelManagerEnum, GenerateImageType, RenderingEngineModeEnum, };
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Enums from './enums';
|
|
2
2
|
import * as CONSTANTS from './constants';
|
|
3
3
|
import { Events } from './enums';
|
|
4
|
-
import RenderingEngine from './RenderingEngine';
|
|
4
|
+
import RenderingEngine, { BaseRenderingEngine, StandardRenderingEngine, SequentialRenderingEngine } from './RenderingEngine';
|
|
5
5
|
import createVolumeActor from './RenderingEngine/helpers/createVolumeActor';
|
|
6
6
|
import createVolumeMapper, { convertMapperToNotSharedMapper } from './RenderingEngine/helpers/createVolumeMapper';
|
|
7
7
|
export * from './RenderingEngine/helpers/getOrCreateCanvas';
|
|
@@ -37,4 +37,4 @@ import { cornerstoneStreamingDynamicImageVolumeLoader } from './loaders/cornerst
|
|
|
37
37
|
import { cornerstoneMeshLoader } from './loaders/cornerstoneMeshLoader';
|
|
38
38
|
import { setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports } from './RenderingEngine/helpers';
|
|
39
39
|
export type { Types, IRetrieveConfiguration, RetrieveOptions, RetrieveStage, ImageLoadListener, IImagesLoader, };
|
|
40
|
-
export { init, isCornerstoneInitialized, peerImport, resetInitialization, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, cornerstoneMeshLoader, ProgressiveRetrieveImages, cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, StreamingDynamicImageVolume, StreamingImageVolume, convertMapperToNotSharedMapper, version, };
|
|
40
|
+
export { init, isCornerstoneInitialized, peerImport, resetInitialization, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, BaseRenderingEngine, StandardRenderingEngine, SequentialRenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, cornerstoneMeshLoader, ProgressiveRetrieveImages, cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, StreamingDynamicImageVolume, StreamingImageVolume, convertMapperToNotSharedMapper, version, };
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Enums from './enums';
|
|
2
2
|
import * as CONSTANTS from './constants';
|
|
3
3
|
import { Events } from './enums';
|
|
4
|
-
import RenderingEngine from './RenderingEngine';
|
|
4
|
+
import RenderingEngine, { BaseRenderingEngine, StandardRenderingEngine, SequentialRenderingEngine, } from './RenderingEngine';
|
|
5
5
|
import createVolumeActor from './RenderingEngine/helpers/createVolumeActor';
|
|
6
6
|
import createVolumeMapper, { convertMapperToNotSharedMapper, } from './RenderingEngine/helpers/createVolumeMapper';
|
|
7
7
|
export * from './RenderingEngine/helpers/getOrCreateCanvas';
|
|
@@ -34,4 +34,4 @@ import { cornerstoneStreamingImageVolumeLoader } from './loaders/cornerstoneStre
|
|
|
34
34
|
import { cornerstoneStreamingDynamicImageVolumeLoader } from './loaders/cornerstoneStreamingDynamicImageVolumeLoader';
|
|
35
35
|
import { cornerstoneMeshLoader } from './loaders/cornerstoneMeshLoader';
|
|
36
36
|
import { setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, } from './RenderingEngine/helpers';
|
|
37
|
-
export { init, isCornerstoneInitialized, peerImport, resetInitialization, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, cornerstoneMeshLoader, ProgressiveRetrieveImages, cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, StreamingDynamicImageVolume, StreamingImageVolume, convertMapperToNotSharedMapper, version, };
|
|
37
|
+
export { init, isCornerstoneInitialized, peerImport, resetInitialization, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, BaseRenderingEngine, StandardRenderingEngine, SequentialRenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, cornerstoneMeshLoader, ProgressiveRetrieveImages, cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, StreamingDynamicImageVolume, StreamingImageVolume, convertMapperToNotSharedMapper, version, };
|
package/dist/esm/init.js
CHANGED
|
@@ -3,6 +3,7 @@ let csRenderInitialized = false;
|
|
|
3
3
|
import deepMerge from './utilities/deepMerge';
|
|
4
4
|
import CentralizedWebWorkerManager from './webWorkerManager/webWorkerManager';
|
|
5
5
|
import { getSupportedTextureFormats } from './utilities/textureSupport';
|
|
6
|
+
import { RenderingEngineModeEnum } from './enums';
|
|
6
7
|
const defaultConfig = {
|
|
7
8
|
gpuTier: { tier: 2 },
|
|
8
9
|
isMobile: false,
|
|
@@ -10,6 +11,7 @@ const defaultConfig = {
|
|
|
10
11
|
useCPURendering: false,
|
|
11
12
|
preferSizeOverAccuracy: false,
|
|
12
13
|
strictZSpacingForVolumeViewport: true,
|
|
14
|
+
renderingEngineMode: RenderingEngineModeEnum.Next,
|
|
13
15
|
},
|
|
14
16
|
peerImport: (moduleId) => null,
|
|
15
17
|
};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import type { RenderingEngineModeType } from '../types';
|
|
1
2
|
interface Cornerstone3DConfig {
|
|
2
|
-
gpuTier
|
|
3
|
-
tier
|
|
3
|
+
gpuTier?: {
|
|
4
|
+
tier?: number;
|
|
4
5
|
};
|
|
5
|
-
isMobile
|
|
6
|
-
rendering
|
|
7
|
-
preferSizeOverAccuracy
|
|
8
|
-
useCPURendering
|
|
9
|
-
strictZSpacingForVolumeViewport
|
|
6
|
+
isMobile?: boolean;
|
|
7
|
+
rendering?: {
|
|
8
|
+
preferSizeOverAccuracy?: boolean;
|
|
9
|
+
useCPURendering?: boolean;
|
|
10
|
+
strictZSpacingForVolumeViewport?: boolean;
|
|
11
|
+
renderingEngineMode?: RenderingEngineModeType;
|
|
10
12
|
};
|
|
11
13
|
peerImport?: (moduleId: string) => Promise<any>;
|
|
12
14
|
}
|
|
File without changes
|
|
@@ -101,4 +101,5 @@ import type { IBaseVolumeViewport } from './IBaseVolumeViewport';
|
|
|
101
101
|
import type ScrollOptions from './ScrollOptions';
|
|
102
102
|
import type JumpToSliceOptions from './JumpToSliceOptions';
|
|
103
103
|
import type GeometryLoaderFn from './GeometryLoaderFn';
|
|
104
|
-
|
|
104
|
+
import type { RenderingEngineModeType } from './RenderingEngineMode';
|
|
105
|
+
export type { Cornerstone3DConfig, ICamera, IStackViewport, IVideoViewport, IWSIViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, IViewportId, IImageVolume, ImageVolumeProps, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, IPointsManager, PolyDataPointConfiguration, Scaling, IStreamingImageVolume, IImage, IImageData, IImageCalibration, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, ViewReference, DataSetOptions as ImageSetOptions, ViewPresentation, ViewPresentationSelector, ReferenceCompatibleOptions, ViewReferenceSpecifier, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, ImageActor, ICanvasActor, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, IStackInput, StackInputCallback, ViewportPreset, Metadata, OrientationVectors, AABB2, AABB3, Point2, Point3, PointsXYZ, Point4, Mat3, Plane, ViewportInputOptions, VideoViewportProperties, WSIViewportProperties, VOIRange, VOI, DisplayArea, 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, PublicSurfaceData, SurfaceData, ISurface, PublicMeshData, MeshData, IMesh, RGB, ColormapPublic, ColormapRegistration, PixelDataTypedArray, PixelDataTypedArrayString, ImagePixelModule, ImagePlaneModule, AffineMatrix, ImageLoadListener, InternalVideoCamera, VideoViewportInput, BoundsIJK, BoundsLPS, Color, ColorLUT, VolumeProps, IImageFrame, DicomDateObject, DicomTimeObject, GeneralSeriesModuleMetadata, ImagePlaneModuleMetadata, SopCommonModuleMetadata, ImagePixelModuleMetadata, PatientStudyModuleMetadata, TransferSyntaxMetadata, LocalVolumeOptions, IVoxelManager, IRLEVoxelMap, RLERun, ViewportInput, ImageLoadRequests, IBaseVolumeViewport, GeometryLoaderFn, ScrollOptions, JumpToSliceOptions, Memo, HistoryMemo, VoxelManager, RLEVoxelMap, RenderingEngineModeType, };
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "3.29.
|
|
1
|
+
export declare const version = "3.29.3";
|
package/dist/esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '3.29.
|
|
1
|
+
export const version = '3.29.3';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "3.29.
|
|
3
|
+
"version": "3.29.3",
|
|
4
4
|
"description": "Cornerstone3D Core",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/esm/index.d.ts",
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
"type": "individual",
|
|
98
98
|
"url": "https://ohif.org/donate"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "b3073ebc138e6bf613b6e4b2b66d6d8d7d7cfb89"
|
|
101
101
|
}
|