med-viewer-sdk 0.1.10 → 0.1.12
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/core/Engine.d.ts +41 -0
- package/dist/core/Magnification.d.ts +15 -2
- package/dist/core/Toolbar.d.ts +10 -1
- package/dist/med-viewer-sdk.d.ts +3 -3
- package/dist/med-viewer-sdk.mjs +159 -5
- package/dist/med-viewer-sdk.umd.js +2 -2
- package/package.json +1 -1
- package/src/core/Engine.ts +148 -3
- package/src/core/Magnification.ts +82 -42
- package/src/core/Toolbar.ts +19 -9
- package/src/index.ts +7 -2
package/dist/core/Engine.d.ts
CHANGED
|
@@ -22,6 +22,38 @@ export interface MedEngineOptions {
|
|
|
22
22
|
magnification?: boolean | MagnificationOptions;
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
+
export interface AiBoxRectLabel {
|
|
26
|
+
label: string;
|
|
27
|
+
value: string;
|
|
28
|
+
style?: {
|
|
29
|
+
color: string;
|
|
30
|
+
fontSize: number;
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface AiBoxRect {
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
width: number;
|
|
38
|
+
height: number;
|
|
39
|
+
style: {
|
|
40
|
+
border: string;
|
|
41
|
+
fontSize: number;
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
};
|
|
44
|
+
labels: Array<AiBoxRectLabel>;
|
|
45
|
+
}
|
|
46
|
+
export interface SelectionBox {
|
|
47
|
+
x: number;
|
|
48
|
+
y: number;
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
style: {
|
|
52
|
+
border: string;
|
|
53
|
+
fontSize: number;
|
|
54
|
+
[key: string]: any;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
25
57
|
/**
|
|
26
58
|
* 医学影像核心引擎
|
|
27
59
|
* 职责:初始化 OpenSeadragon,管理插件生命周期
|
|
@@ -35,6 +67,7 @@ export declare class MedViewerEngine {
|
|
|
35
67
|
scalebar: ScalebarPlugin | null;
|
|
36
68
|
magnification: MagnificationPlugin | null;
|
|
37
69
|
private options;
|
|
70
|
+
private events;
|
|
38
71
|
constructor(options: MedEngineOptions);
|
|
39
72
|
/**
|
|
40
73
|
* 内部插件初始化逻辑
|
|
@@ -45,6 +78,14 @@ export declare class MedViewerEngine {
|
|
|
45
78
|
* 真正挂载 Annotorious 的私有方法
|
|
46
79
|
*/
|
|
47
80
|
private mountAnnotorious;
|
|
81
|
+
loadAIMarks(aiBoxes?: AiBoxRect[], showLabel?: boolean): void;
|
|
82
|
+
updateAIMarks(aiBoxes?: AiBoxRect[], showLabel?: boolean): void;
|
|
83
|
+
clearAIMarks(): void;
|
|
84
|
+
loadSelectionBox(selections?: SelectionBox[]): void;
|
|
85
|
+
addHandler(event: string, handler: Function): void;
|
|
86
|
+
addOnceHandler(event: string, handler: Function): void;
|
|
87
|
+
removeHandler(event: string, handler: Function): void;
|
|
88
|
+
private emit;
|
|
48
89
|
/**
|
|
49
90
|
* 销毁引擎与所有插件
|
|
50
91
|
*/
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import OpenSeadragon from "openseadragon";
|
|
2
|
-
export
|
|
3
|
-
|
|
2
|
+
export declare enum MagnificationPosition {
|
|
3
|
+
TOP_LEFT = "TOP_LEFT",
|
|
4
|
+
TOP_CENTER = "TOP_CENTER",
|
|
5
|
+
TOP_RIGHT = "TOP_RIGHT",
|
|
6
|
+
BOTTOM_LEFT = "BOTTOM_LEFT",
|
|
7
|
+
BOTTOM_CENTER = "BOTTOM_CENTER",
|
|
8
|
+
BOTTOM_RIGHT = "BOTTOM_RIGHT",
|
|
9
|
+
MIDDLE_LEFT = "MIDDLE_LEFT",
|
|
10
|
+
MIDDLE_RIGHT = "MIDDLE_RIGHT"
|
|
11
|
+
}
|
|
12
|
+
export declare enum MagnificationType {
|
|
13
|
+
LD = "LD",
|
|
14
|
+
OSD = "OSD"
|
|
15
|
+
}
|
|
4
16
|
export interface MagnificationOptions {
|
|
5
17
|
type?: MagnificationType;
|
|
6
18
|
position?: MagnificationPosition;
|
|
@@ -17,6 +29,7 @@ export declare class MagnificationPlugin {
|
|
|
17
29
|
private init;
|
|
18
30
|
private createButton;
|
|
19
31
|
private updateMagnificationDisplay;
|
|
32
|
+
getMagnification(): number;
|
|
20
33
|
private setMagnification;
|
|
21
34
|
private fitToScreen;
|
|
22
35
|
refresh(): void;
|
package/dist/core/Toolbar.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { MedViewerEngine } from "./Engine";
|
|
2
|
-
export
|
|
2
|
+
export declare enum ToolbarPosition {
|
|
3
|
+
TOP_LEFT = "TOP_LEFT",
|
|
4
|
+
TOP_CENTER = "TOP_CENTER",
|
|
5
|
+
TOP_RIGHT = "TOP_RIGHT",
|
|
6
|
+
BOTTOM_LEFT = "BOTTOM_LEFT",
|
|
7
|
+
BOTTOM_CENTER = "BOTTOM_CENTER",
|
|
8
|
+
BOTTOM_RIGHT = "BOTTOM_RIGHT",
|
|
9
|
+
MIDDLE_LEFT = "MIDDLE_LEFT",
|
|
10
|
+
MIDDLE_RIGHT = "MIDDLE_RIGHT"
|
|
11
|
+
}
|
|
3
12
|
export interface ToolbarButton {
|
|
4
13
|
id: string;
|
|
5
14
|
label?: string;
|
package/dist/med-viewer-sdk.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MedViewerEngine, type MedEngineOptions } from "./core/Engine";
|
|
2
2
|
import { type ScalebarOptions, ScalebarType, ScalebarLocation } from "./core/Scalebar";
|
|
3
3
|
import { AnnoAnnotator } from "./core/AnnoAnnotator";
|
|
4
|
-
import { MedToolbar, type ToolbarOptions } from "./core/Toolbar";
|
|
4
|
+
import { MedToolbar, ToolbarPosition, type ToolbarOptions } from "./core/Toolbar";
|
|
5
5
|
import { SelectionPlugin, type SelectionOptions } from "./core/SelectionPlugin";
|
|
6
6
|
import { ColorAdjustPlugin, type ColorAdjustOptions } from "./core/ColorAdjustPlugin";
|
|
7
|
-
import { MagnificationPlugin, type MagnificationOptions } from "./core/Magnification";
|
|
8
|
-
export { MedViewerEngine, type MedEngineOptions, AnnoAnnotator, MedToolbar, type ToolbarOptions, SelectionPlugin, type SelectionOptions, ColorAdjustPlugin, type ColorAdjustOptions, MagnificationPlugin, type MagnificationOptions, type ScalebarOptions, ScalebarType, ScalebarLocation, };
|
|
7
|
+
import { MagnificationPlugin, MagnificationPosition, MagnificationType, type MagnificationOptions } from "./core/Magnification";
|
|
8
|
+
export { MedViewerEngine, type MedEngineOptions, AnnoAnnotator, MedToolbar, ToolbarPosition, type ToolbarOptions, SelectionPlugin, type SelectionOptions, ColorAdjustPlugin, type ColorAdjustOptions, MagnificationPlugin, MagnificationPosition, MagnificationType, type MagnificationOptions, type ScalebarOptions, ScalebarType, ScalebarLocation, };
|
package/dist/med-viewer-sdk.mjs
CHANGED
|
@@ -13471,6 +13471,17 @@ const buttonAnno = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAA
|
|
|
13471
13471
|
const buttonSelection = "data:image/png;base64,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";
|
|
13472
13472
|
const buttonColorAdjust = "data:image/png;base64,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";
|
|
13473
13473
|
const buttonReset = "data:image/png;base64,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";
|
|
13474
|
+
var ToolbarPosition = /* @__PURE__ */ ((ToolbarPosition2) => {
|
|
13475
|
+
ToolbarPosition2["TOP_LEFT"] = "TOP_LEFT";
|
|
13476
|
+
ToolbarPosition2["TOP_CENTER"] = "TOP_CENTER";
|
|
13477
|
+
ToolbarPosition2["TOP_RIGHT"] = "TOP_RIGHT";
|
|
13478
|
+
ToolbarPosition2["BOTTOM_LEFT"] = "BOTTOM_LEFT";
|
|
13479
|
+
ToolbarPosition2["BOTTOM_CENTER"] = "BOTTOM_CENTER";
|
|
13480
|
+
ToolbarPosition2["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
|
|
13481
|
+
ToolbarPosition2["MIDDLE_LEFT"] = "MIDDLE_LEFT";
|
|
13482
|
+
ToolbarPosition2["MIDDLE_RIGHT"] = "MIDDLE_RIGHT";
|
|
13483
|
+
return ToolbarPosition2;
|
|
13484
|
+
})(ToolbarPosition || {});
|
|
13474
13485
|
const createAnnoDropdownContent = (engine, hide) => {
|
|
13475
13486
|
const container = document.createElement("div");
|
|
13476
13487
|
container.className = "med-toolbar-dropdown-inner";
|
|
@@ -15850,6 +15861,22 @@ class ScalebarPlugin {
|
|
|
15850
15861
|
this.scalebar = null;
|
|
15851
15862
|
}
|
|
15852
15863
|
}
|
|
15864
|
+
var MagnificationPosition = /* @__PURE__ */ ((MagnificationPosition2) => {
|
|
15865
|
+
MagnificationPosition2["TOP_LEFT"] = "TOP_LEFT";
|
|
15866
|
+
MagnificationPosition2["TOP_CENTER"] = "TOP_CENTER";
|
|
15867
|
+
MagnificationPosition2["TOP_RIGHT"] = "TOP_RIGHT";
|
|
15868
|
+
MagnificationPosition2["BOTTOM_LEFT"] = "BOTTOM_LEFT";
|
|
15869
|
+
MagnificationPosition2["BOTTOM_CENTER"] = "BOTTOM_CENTER";
|
|
15870
|
+
MagnificationPosition2["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
|
|
15871
|
+
MagnificationPosition2["MIDDLE_LEFT"] = "MIDDLE_LEFT";
|
|
15872
|
+
MagnificationPosition2["MIDDLE_RIGHT"] = "MIDDLE_RIGHT";
|
|
15873
|
+
return MagnificationPosition2;
|
|
15874
|
+
})(MagnificationPosition || {});
|
|
15875
|
+
var MagnificationType = /* @__PURE__ */ ((MagnificationType2) => {
|
|
15876
|
+
MagnificationType2["LD"] = "LD";
|
|
15877
|
+
MagnificationType2["OSD"] = "OSD";
|
|
15878
|
+
return MagnificationType2;
|
|
15879
|
+
})(MagnificationType || {});
|
|
15853
15880
|
class MagnificationPlugin {
|
|
15854
15881
|
constructor(viewer, options = {}) {
|
|
15855
15882
|
__publicField(this, "viewer");
|
|
@@ -15866,7 +15893,7 @@ class MagnificationPlugin {
|
|
|
15866
15893
|
const source = this.viewer.source;
|
|
15867
15894
|
const width = source.width;
|
|
15868
15895
|
source.height;
|
|
15869
|
-
const pixelsPerMeter = this.options.pixelsPerMeter || ((
|
|
15896
|
+
const pixelsPerMeter = this.options.pixelsPerMeter || ((_a2 = this.viewer.scalebarInstance) == null ? void 0 : _a2.pixelsPerMeter) || 96;
|
|
15870
15897
|
const currentZoom = this.viewer.viewport.getZoom();
|
|
15871
15898
|
const conversionFactor = 20 * 11e-4 * pixelsPerMeter / width;
|
|
15872
15899
|
const magnification = conversionFactor * currentZoom;
|
|
@@ -15921,6 +15948,25 @@ class MagnificationPlugin {
|
|
|
15921
15948
|
button.onclick = onClick;
|
|
15922
15949
|
return button;
|
|
15923
15950
|
}
|
|
15951
|
+
getMagnification() {
|
|
15952
|
+
var _a2, _b2;
|
|
15953
|
+
const tiledImage = this.viewer.world.getItemAt(0);
|
|
15954
|
+
if (!tiledImage)
|
|
15955
|
+
return 0;
|
|
15956
|
+
if (this.options.type === "LD") {
|
|
15957
|
+
const source = this.viewer.source;
|
|
15958
|
+
const width = source == null ? void 0 : source.width;
|
|
15959
|
+
const pixelsPerMeter = this.options.pixelsPerMeter || ((_a2 = this.viewer.scalebarInstance) == null ? void 0 : _a2.pixelsPerMeter) || 96;
|
|
15960
|
+
const currentZoom2 = this.viewer.viewport.getZoom();
|
|
15961
|
+
const conversionFactor = 20 * 11e-4 * pixelsPerMeter / width;
|
|
15962
|
+
return conversionFactor * currentZoom2;
|
|
15963
|
+
}
|
|
15964
|
+
const currentZoom = this.viewer.viewport.viewportToImageZoom(
|
|
15965
|
+
this.viewer.viewport.getZoom()
|
|
15966
|
+
);
|
|
15967
|
+
const baseMag = ((_b2 = this.viewer.source) == null ? void 0 : _b2.max_magnification) || 40;
|
|
15968
|
+
return currentZoom * baseMag;
|
|
15969
|
+
}
|
|
15924
15970
|
// 修改 setMagnification 方法
|
|
15925
15971
|
setMagnification(mag) {
|
|
15926
15972
|
var _a2, _b2;
|
|
@@ -15931,11 +15977,15 @@ class MagnificationPlugin {
|
|
|
15931
15977
|
const source = this.viewer.source;
|
|
15932
15978
|
const width = source.width;
|
|
15933
15979
|
source.height;
|
|
15934
|
-
const pixelsPerMeter = this.options.pixelsPerMeter || ((
|
|
15980
|
+
const pixelsPerMeter = this.options.pixelsPerMeter || ((_a2 = this.viewer.scalebarInstance) == null ? void 0 : _a2.pixelsPerMeter) || 96;
|
|
15935
15981
|
this.viewer.viewport.getZoom();
|
|
15936
15982
|
const conversionFactor = 20 * 11e-4 * pixelsPerMeter / width;
|
|
15937
15983
|
const targetZoom = mag / conversionFactor;
|
|
15938
|
-
this.viewer.viewport.zoomTo(
|
|
15984
|
+
this.viewer.viewport.zoomTo(
|
|
15985
|
+
targetZoom,
|
|
15986
|
+
this.viewer.viewport.getCenter(),
|
|
15987
|
+
false
|
|
15988
|
+
);
|
|
15939
15989
|
this.updateMagnificationDisplay();
|
|
15940
15990
|
} else {
|
|
15941
15991
|
const tiledImage = this.viewer.world.getItemAt(0);
|
|
@@ -16051,6 +16101,7 @@ class MedViewerEngine {
|
|
|
16051
16101
|
__publicField(this, "scalebar", null);
|
|
16052
16102
|
__publicField(this, "magnification", null);
|
|
16053
16103
|
__publicField(this, "options");
|
|
16104
|
+
__publicField(this, "events", /* @__PURE__ */ new Map());
|
|
16054
16105
|
var _a2;
|
|
16055
16106
|
if (!options.osdOptions) {
|
|
16056
16107
|
throw new Error("osdOptions is required");
|
|
@@ -16122,8 +16173,9 @@ class MedViewerEngine {
|
|
|
16122
16173
|
options.osdOptions = osdOptions;
|
|
16123
16174
|
this.options = options;
|
|
16124
16175
|
this.viewer = OpenSeadragon(osdOptions);
|
|
16125
|
-
this.viewer.addOnceHandler("
|
|
16176
|
+
this.viewer.addOnceHandler("open", () => {
|
|
16126
16177
|
this.viewer.viewport.goHome();
|
|
16178
|
+
this.emit("ready");
|
|
16127
16179
|
console.log(
|
|
16128
16180
|
"[MedViewerEngine] First tile loaded, refreshing viewer layout."
|
|
16129
16181
|
);
|
|
@@ -16208,6 +16260,105 @@ class MedViewerEngine {
|
|
|
16208
16260
|
console.error("[MedEngine] Failed to initialize Annotorious:", error);
|
|
16209
16261
|
}
|
|
16210
16262
|
}
|
|
16263
|
+
loadAIMarks(aiBoxes = [], showLabel = false) {
|
|
16264
|
+
this.clearAIMarks();
|
|
16265
|
+
aiBoxes.forEach((box) => {
|
|
16266
|
+
var elt = document.createElement("div");
|
|
16267
|
+
elt.classList.add("ld-ai-box");
|
|
16268
|
+
if (box.style) {
|
|
16269
|
+
Object.assign(elt.style, box.style);
|
|
16270
|
+
}
|
|
16271
|
+
if (showLabel) {
|
|
16272
|
+
let text = document.createElement("div");
|
|
16273
|
+
text.className = "celltext";
|
|
16274
|
+
text.style.position = "absolute";
|
|
16275
|
+
text.style.right = "102%";
|
|
16276
|
+
text.style.top = "0";
|
|
16277
|
+
text.style.color = "#333";
|
|
16278
|
+
text.style.background = "#F5F5F5";
|
|
16279
|
+
text.style.opacity = "0.7";
|
|
16280
|
+
text.style.width = "max-content";
|
|
16281
|
+
text.style.padding = "5px";
|
|
16282
|
+
text.style.borderRadius = "8px";
|
|
16283
|
+
box.labels.forEach((label) => {
|
|
16284
|
+
const labelStyle = label.style || {};
|
|
16285
|
+
text.innerHTML += `<div style="${Object.entries(labelStyle).map(([key, value]) => `${key}:${value}`).join(";")}">${label.label} : ${label.value}</div>`;
|
|
16286
|
+
});
|
|
16287
|
+
elt.appendChild(text);
|
|
16288
|
+
}
|
|
16289
|
+
const img = this.viewer.world.getItemAt(0);
|
|
16290
|
+
const size = img.getContentSize();
|
|
16291
|
+
const x2 = box.x / size.x;
|
|
16292
|
+
const y2 = box.y / size.y;
|
|
16293
|
+
const w2 = box.width / size.x;
|
|
16294
|
+
const h2 = box.height / size.y;
|
|
16295
|
+
this.viewer.addOverlay({
|
|
16296
|
+
element: elt,
|
|
16297
|
+
location: new OpenSeadragon.Rect(x2, y2, w2, h2)
|
|
16298
|
+
});
|
|
16299
|
+
});
|
|
16300
|
+
}
|
|
16301
|
+
updateAIMarks(aiBoxes = [], showLabel = false) {
|
|
16302
|
+
this.loadAIMarks(aiBoxes, showLabel);
|
|
16303
|
+
}
|
|
16304
|
+
clearAIMarks() {
|
|
16305
|
+
const aiBoxesList = Array.from(
|
|
16306
|
+
document.getElementsByClassName(
|
|
16307
|
+
"ld-ai-box"
|
|
16308
|
+
)
|
|
16309
|
+
);
|
|
16310
|
+
aiBoxesList.forEach((box) => {
|
|
16311
|
+
this.viewer.removeOverlay(box);
|
|
16312
|
+
});
|
|
16313
|
+
}
|
|
16314
|
+
loadSelectionBox(selections = []) {
|
|
16315
|
+
const aiBoxesList = Array.from(
|
|
16316
|
+
document.getElementsByClassName(
|
|
16317
|
+
"ld-selection-box"
|
|
16318
|
+
)
|
|
16319
|
+
);
|
|
16320
|
+
aiBoxesList.forEach((box) => {
|
|
16321
|
+
this.viewer.removeOverlay(box);
|
|
16322
|
+
});
|
|
16323
|
+
selections.forEach((selection) => {
|
|
16324
|
+
let elt = document.createElement("div");
|
|
16325
|
+
elt.classList.add("ld-selection-box");
|
|
16326
|
+
if (selection.style) {
|
|
16327
|
+
Object.assign(elt.style, selection.style);
|
|
16328
|
+
}
|
|
16329
|
+
const img = this.viewer.world.getItemAt(0);
|
|
16330
|
+
const size = img.getContentSize();
|
|
16331
|
+
const x2 = selection.x / size.x;
|
|
16332
|
+
const y2 = selection.y / size.y;
|
|
16333
|
+
const w2 = selection.width / size.x;
|
|
16334
|
+
const h2 = selection.height / size.y;
|
|
16335
|
+
this.viewer.addOverlay({
|
|
16336
|
+
element: elt,
|
|
16337
|
+
location: new OpenSeadragon.Rect(x2, y2, w2, h2)
|
|
16338
|
+
});
|
|
16339
|
+
});
|
|
16340
|
+
}
|
|
16341
|
+
addHandler(event2, handler) {
|
|
16342
|
+
if (!this.events.has(event2)) {
|
|
16343
|
+
this.events.set(event2, /* @__PURE__ */ new Set());
|
|
16344
|
+
}
|
|
16345
|
+
this.events.get(event2).add(handler);
|
|
16346
|
+
}
|
|
16347
|
+
addOnceHandler(event2, handler) {
|
|
16348
|
+
const wrapper = (...args) => {
|
|
16349
|
+
handler(...args);
|
|
16350
|
+
this.removeHandler(event2, wrapper);
|
|
16351
|
+
};
|
|
16352
|
+
this.addHandler(event2, wrapper);
|
|
16353
|
+
}
|
|
16354
|
+
removeHandler(event2, handler) {
|
|
16355
|
+
var _a2;
|
|
16356
|
+
(_a2 = this.events.get(event2)) == null ? void 0 : _a2.delete(handler);
|
|
16357
|
+
}
|
|
16358
|
+
emit(event2, payload) {
|
|
16359
|
+
var _a2;
|
|
16360
|
+
(_a2 = this.events.get(event2)) == null ? void 0 : _a2.forEach((fn) => fn(payload));
|
|
16361
|
+
}
|
|
16211
16362
|
/**
|
|
16212
16363
|
* 销毁引擎与所有插件
|
|
16213
16364
|
*/
|
|
@@ -16235,9 +16386,12 @@ export {
|
|
|
16235
16386
|
AnnoAnnotator,
|
|
16236
16387
|
ColorAdjustPlugin,
|
|
16237
16388
|
MagnificationPlugin,
|
|
16389
|
+
MagnificationPosition,
|
|
16390
|
+
MagnificationType,
|
|
16238
16391
|
MedToolbar,
|
|
16239
16392
|
MedViewerEngine,
|
|
16240
16393
|
ScalebarLocation,
|
|
16241
16394
|
ScalebarType,
|
|
16242
|
-
SelectionPlugin
|
|
16395
|
+
SelectionPlugin,
|
|
16396
|
+
ToolbarPosition
|
|
16243
16397
|
};
|