/
index.js
91 lines (77 loc) · 2.03 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import * as cornerstone from "@cornerstonejs/core";
import {
Enums,
init as csRenderInit,
imageLoader,
metaData,
RenderingEngine,
} from "@cornerstonejs/core";
import {
addTool,
drawing,
Enums as csToolsEnums,
init as csToolsInit,
utilities,
PanTool,
StackScrollMouseWheelTool,
ToolGroupManager,
WindowLevelTool,
ZoomTool,
} from "@cornerstonejs/tools";
import getSvgDrawingHelper from "@cornerstonejs/tools/dist/esm/drawingSvg/getSvgDrawingHelper";
import registerWebImageLoader from "./web-image-loader";
const init = async () => {
await csRenderInit();
await csToolsInit();
};
function metaDataProvider(type, imageId) {
return {
imagePixelModule: {
photometricInterpretation: "RGB",
},
generalSeriesModule: {},
}[type];
}
function component() {
registerWebImageLoader(imageLoader);
metaData.addProvider(metaDataProvider, 1000);
// cornerstone.setUseCPURendering(true);
const imageIds = [
"http://localhost:8080/img/0000.png",
"http://localhost:8080/img/0001.png",
"http://localhost:8080/img/0002.png",
]
const element = document.createElement('div');
element.style.width = '1000px';
element.style.height = '1000px';
init()
.then(() => {
const renderingEngineId = 'myRenderingEngine';
const renderingEngine = new RenderingEngine(renderingEngineId);
const viewportId = 'MRT_STACK';
const { ViewportType } = Enums;
const viewportInput = {
viewportId,
element,
type: ViewportType.STACK,
};
renderingEngine.enableElement(viewportInput);
const viewport = renderingEngine.getViewport(viewportId);
viewport.setStack(imageIds, 1);
utilities.stackPrefetch.enable(element);
viewport.render();
const drawingHelper = getSvgDrawingHelper(element);
drawing.drawRect(
drawingHelper,
"test-annotation",
"0",
[50,50],
[150,150],
{
color: "red"
}
);
});
return element;
}
document.body.appendChild(component());