copper3d 1.15.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/LICENSE +201 -0
- package/README.md +105 -0
- package/dist/Controls/Copper3dTrackballControls.d.ts +45 -0
- package/dist/Controls/Copper3dTrackballControls.js +543 -0
- package/dist/Controls/Copper3dTrackballControls.js.map +1 -0
- package/dist/Controls/copperControls.d.ts +17 -0
- package/dist/Controls/copperControls.js +36 -0
- package/dist/Controls/copperControls.js.map +1 -0
- package/dist/Loader/convet.d.ts +1 -0
- package/dist/Loader/convet.js +80 -0
- package/dist/Loader/convet.js.map +1 -0
- package/dist/Loader/copperDicomLoader.d.ts +7 -0
- package/dist/Loader/copperDicomLoader.js +113 -0
- package/dist/Loader/copperDicomLoader.js.map +1 -0
- package/dist/Loader/copperGltfLoader.d.ts +3 -0
- package/dist/Loader/copperGltfLoader.js +16 -0
- package/dist/Loader/copperGltfLoader.js.map +1 -0
- package/dist/Loader/copperNrrdLoader.d.ts +13 -0
- package/dist/Loader/copperNrrdLoader.js +424 -0
- package/dist/Loader/copperNrrdLoader.js.map +1 -0
- package/dist/Loader/copperOBJLoader.d.ts +3 -0
- package/dist/Loader/copperOBJLoader.js +4 -0
- package/dist/Loader/copperOBJLoader.js.map +1 -0
- package/dist/Loader/copperVtkLoader.d.ts +8 -0
- package/dist/Loader/copperVtkLoader.js +44 -0
- package/dist/Loader/copperVtkLoader.js.map +1 -0
- package/dist/Renderer/baseRenderer.d.ts +30 -0
- package/dist/Renderer/baseRenderer.js +223 -0
- package/dist/Renderer/baseRenderer.js.map +1 -0
- package/dist/Renderer/copperMSceneRenderer.d.ts +21 -0
- package/dist/Renderer/copperMSceneRenderer.js +115 -0
- package/dist/Renderer/copperMSceneRenderer.js.map +1 -0
- package/dist/Renderer/copperRenderer.d.ts +15 -0
- package/dist/Renderer/copperRenderer.js +52 -0
- package/dist/Renderer/copperRenderer.js.map +1 -0
- package/dist/Renderer/copperRendererOnDemond.d.ts +13 -0
- package/dist/Renderer/copperRendererOnDemond.js +44 -0
- package/dist/Renderer/copperRendererOnDemond.js.map +1 -0
- package/dist/Scene/baseScene.d.ts +38 -0
- package/dist/Scene/baseScene.js +180 -0
- package/dist/Scene/baseScene.js.map +1 -0
- package/dist/Scene/commonSceneMethod.d.ts +45 -0
- package/dist/Scene/commonSceneMethod.js +258 -0
- package/dist/Scene/commonSceneMethod.js.map +1 -0
- package/dist/Scene/copperMScene.d.ts +42 -0
- package/dist/Scene/copperMScene.js +325 -0
- package/dist/Scene/copperMScene.js.map +1 -0
- package/dist/Scene/copperScene.d.ts +34 -0
- package/dist/Scene/copperScene.js +303 -0
- package/dist/Scene/copperScene.js.map +1 -0
- package/dist/Scene/copperSceneOnDemond.d.ts +13 -0
- package/dist/Scene/copperSceneOnDemond.js +60 -0
- package/dist/Scene/copperSceneOnDemond.js.map +1 -0
- package/dist/Utils/add3DLabel.d.ts +18 -0
- package/dist/Utils/add3DLabel.js +66 -0
- package/dist/Utils/add3DLabel.js.map +1 -0
- package/dist/Utils/download.d.ts +1 -0
- package/dist/Utils/download.js +21 -0
- package/dist/Utils/download.js.map +1 -0
- package/dist/Utils/getVOILUT.d.ts +13 -0
- package/dist/Utils/getVOILUT.js +78 -0
- package/dist/Utils/getVOILUT.js.map +1 -0
- package/dist/Utils/kiwrious/configKiwrious.d.ts +4 -0
- package/dist/Utils/kiwrious/configKiwrious.js +59 -0
- package/dist/Utils/kiwrious/configKiwrious.js.map +1 -0
- package/dist/Utils/nrrd_tool.d.ts +187 -0
- package/dist/Utils/nrrd_tool.js +2173 -0
- package/dist/Utils/nrrd_tool.js.map +1 -0
- package/dist/Utils/raycaster.d.ts +9 -0
- package/dist/Utils/raycaster.js +75 -0
- package/dist/Utils/raycaster.js.map +1 -0
- package/dist/Utils/texture2d.d.ts +10 -0
- package/dist/Utils/texture2d.js +111 -0
- package/dist/Utils/texture2d.js.map +1 -0
- package/dist/Utils/utils.d.ts +8 -0
- package/dist/Utils/utils.js +141 -0
- package/dist/Utils/utils.js.map +1 -0
- package/dist/Utils/workers/reformatSaveDataWorker.d.ts +13 -0
- package/dist/Utils/workers/reformatSaveDataWorker.js +107 -0
- package/dist/Utils/workers/reformatSaveDataWorker.js.map +1 -0
- package/dist/bundle.esm.js +68951 -0
- package/dist/bundle.umd.js +68982 -0
- package/dist/css/style.css +168 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/dicom_pharser_dictionary.d.ts +1 -0
- package/dist/lib/dicom_pharser_dictionary.js +28116 -0
- package/dist/lib/dicom_pharser_dictionary.js.map +1 -0
- package/dist/lib/environment/index.d.ts +8 -0
- package/dist/lib/environment/index.js +28 -0
- package/dist/lib/environment/index.js.map +1 -0
- package/dist/lib/three-vignette.d.ts +11 -0
- package/dist/lib/three-vignette.js +93 -0
- package/dist/lib/three-vignette.js.map +1 -0
- package/dist/types/Controls/Copper3dTrackballControls.d.ts +45 -0
- package/dist/types/Controls/copperControls.d.ts +17 -0
- package/dist/types/Loader/convet.d.ts +1 -0
- package/dist/types/Loader/copperDicomLoader.d.ts +7 -0
- package/dist/types/Loader/copperGltfLoader.d.ts +3 -0
- package/dist/types/Loader/copperNrrdLoader.d.ts +13 -0
- package/dist/types/Loader/copperOBJLoader.d.ts +3 -0
- package/dist/types/Loader/copperVtkLoader.d.ts +8 -0
- package/dist/types/Renderer/baseRenderer.d.ts +30 -0
- package/dist/types/Renderer/copperMSceneRenderer.d.ts +21 -0
- package/dist/types/Renderer/copperRenderer.d.ts +15 -0
- package/dist/types/Renderer/copperRendererOnDemond.d.ts +13 -0
- package/dist/types/Scene/baseScene.d.ts +38 -0
- package/dist/types/Scene/commonSceneMethod.d.ts +45 -0
- package/dist/types/Scene/copperMScene.d.ts +42 -0
- package/dist/types/Scene/copperScene.d.ts +34 -0
- package/dist/types/Scene/copperSceneOnDemond.d.ts +13 -0
- package/dist/types/Utils/add3DLabel.d.ts +18 -0
- package/dist/types/Utils/download.d.ts +1 -0
- package/dist/types/Utils/getVOILUT.d.ts +13 -0
- package/dist/types/Utils/kiwrious/configKiwrious.d.ts +4 -0
- package/dist/types/Utils/nrrd_tool.d.ts +187 -0
- package/dist/types/Utils/raycaster.d.ts +9 -0
- package/dist/types/Utils/texture2d.d.ts +10 -0
- package/dist/types/Utils/utils.d.ts +8 -0
- package/dist/types/Utils/workers/reformatSaveDataWorker.d.ts +13 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/lib/dicom_pharser_dictionary.d.ts +1 -0
- package/dist/types/lib/environment/index.d.ts +8 -0
- package/dist/types/lib/three-vignette.d.ts +11 -0
- package/dist/types/types/types.d.ts +198 -0
- package/dist/types/types.d.ts +198 -0
- package/dist/types/types.js +2 -0
- package/dist/types/types.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
addEventListener("message", (event) => {
|
|
2
|
+
const data = event.data;
|
|
3
|
+
if (data.type === "reformat") {
|
|
4
|
+
// 在 Worker 中执行计算量大的代码
|
|
5
|
+
const masks = restructData(data.masksData, data.len, data.width, data.height);
|
|
6
|
+
const result = {
|
|
7
|
+
masks,
|
|
8
|
+
type: "reformat",
|
|
9
|
+
};
|
|
10
|
+
// 发送计算结果到主线程
|
|
11
|
+
postMessage(result);
|
|
12
|
+
}
|
|
13
|
+
else if (data.type === "saveBlob") {
|
|
14
|
+
const result = convertReformatDataToBlob(data.maskData);
|
|
15
|
+
postMessage({
|
|
16
|
+
type: "saveBlob",
|
|
17
|
+
data: result,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
function deepCopy(obj) {
|
|
22
|
+
if (obj === null || typeof obj !== "object") {
|
|
23
|
+
return obj;
|
|
24
|
+
}
|
|
25
|
+
if (obj instanceof Date) {
|
|
26
|
+
return new Date(obj);
|
|
27
|
+
}
|
|
28
|
+
if (obj instanceof Array) {
|
|
29
|
+
let copiedArray = [];
|
|
30
|
+
for (let i = 0; i < obj.length; i++) {
|
|
31
|
+
copiedArray[i] = deepCopy(obj[i]);
|
|
32
|
+
}
|
|
33
|
+
return copiedArray;
|
|
34
|
+
}
|
|
35
|
+
if (obj instanceof Uint8ClampedArray) {
|
|
36
|
+
let copiedArray = [];
|
|
37
|
+
for (let i = 0; i < obj.length; i++) {
|
|
38
|
+
copiedArray[i] = deepCopy(obj[i]);
|
|
39
|
+
}
|
|
40
|
+
return copiedArray;
|
|
41
|
+
}
|
|
42
|
+
if (obj instanceof Object) {
|
|
43
|
+
let copiedObject = {};
|
|
44
|
+
for (let key in obj) {
|
|
45
|
+
if (obj.hasOwnProperty(key)) {
|
|
46
|
+
copiedObject[key] = deepCopy(obj[key]);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return copiedObject;
|
|
50
|
+
}
|
|
51
|
+
throw new Error("Unable to copy obj! Its type isn't supported.");
|
|
52
|
+
}
|
|
53
|
+
function pruningData(originArr) {
|
|
54
|
+
let pruningArray = [];
|
|
55
|
+
for (let i = 0; i < originArr.length; i++) {
|
|
56
|
+
pruningArray.push(originArr[i].image.data);
|
|
57
|
+
}
|
|
58
|
+
return pruningArray;
|
|
59
|
+
}
|
|
60
|
+
function restructData(originArr, len, width, height) {
|
|
61
|
+
const reformatData = [];
|
|
62
|
+
let start = new Date();
|
|
63
|
+
// const copiedArray = deepCopy(originArr) as paintImageType[];
|
|
64
|
+
let end = new Date();
|
|
65
|
+
let timeDiff = end - start; // time difference in milliseconds
|
|
66
|
+
let start_c = new Date();
|
|
67
|
+
for (let i = 0; i < len; i++) {
|
|
68
|
+
let exportTemp = {
|
|
69
|
+
sliceIndex: 0,
|
|
70
|
+
dataFormat: "RGBA - Each successive 4-digit number forms a pixel point in data array",
|
|
71
|
+
width,
|
|
72
|
+
height,
|
|
73
|
+
voxelSpacing: 0,
|
|
74
|
+
spaceOrigin: 0,
|
|
75
|
+
data: [],
|
|
76
|
+
};
|
|
77
|
+
exportTemp.sliceIndex = originArr[i].index;
|
|
78
|
+
// const imageData = copiedArray[i].image;
|
|
79
|
+
// const temp = Array.from(imageData.data).map((x) => Number(x));
|
|
80
|
+
// const temp = [];
|
|
81
|
+
const copiedArray = originArr[i].image.data.slice();
|
|
82
|
+
const temp = [...copiedArray];
|
|
83
|
+
// for (let j = 0; j < imageData.data.length; j++) {
|
|
84
|
+
// temp.push(imageData.data[j]);
|
|
85
|
+
// }
|
|
86
|
+
exportTemp.data = temp;
|
|
87
|
+
reformatData.push(exportTemp);
|
|
88
|
+
}
|
|
89
|
+
let end_c = new Date();
|
|
90
|
+
let timeDiff_c = end_c - start_c;
|
|
91
|
+
return reformatData;
|
|
92
|
+
}
|
|
93
|
+
function convertReformatDataToBlob(maskData) {
|
|
94
|
+
try {
|
|
95
|
+
const blob = new Blob([JSON.stringify(maskData)], {
|
|
96
|
+
type: "text/plain;charset=utf-8",
|
|
97
|
+
});
|
|
98
|
+
// saveFileAsJson(blob, name);
|
|
99
|
+
return blob;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.log(error);
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export { pruningData, restructData, convertReformatDataToBlob };
|
|
107
|
+
//# sourceMappingURL=reformatSaveDataWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reformatSaveDataWorker.js","sourceRoot":"","sources":["../../../src/Utils/workers/reformatSaveDataWorker.ts"],"names":[],"mappings":"AAEA,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;QAC5B,sBAAsB;QACtB,MAAM,KAAK,GAAG,YAAY,CACxB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,MAAM,MAAM,GAAG;YACb,KAAK;YACL,IAAI,EAAE,UAAU;SACjB,CAAC;QACF,aAAa;QACb,WAAW,CAAC,MAAM,CAAC,CAAC;KACrB;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;QACnC,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,WAAW,CAAC;YACV,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;KACJ;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,GAAQ;IACxB,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3C,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,GAAG,YAAY,IAAI,EAAE;QACvB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;KACtB;IAED,IAAI,GAAG,YAAY,KAAK,EAAE;QACxB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,WAAW,CAAC;KACpB;IAED,IAAI,GAAG,YAAY,iBAAiB,EAAE;QACpC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,WAAW,CAAC;KACpB;IAED,IAAI,GAAG,YAAY,MAAM,EAAE;QACzB,IAAI,YAAY,GAAQ,EAAE,CAAC;QAC3B,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;SACF;QACD,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAAC,SAA2B;IAC9C,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC5C;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CACnB,SAA2B,EAC3B,GAAW,EACX,KAAa,EACb,MAAc;IAEd,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,IAAI,KAAK,GAAY,IAAI,IAAI,EAAE,CAAC;IAEhC,+DAA+D;IAE/D,IAAI,GAAG,GAAY,IAAI,IAAI,EAAE,CAAC;IAC9B,IAAI,QAAQ,GAAI,GAAc,GAAI,KAAgB,CAAC,CAAC,kCAAkC;IAEtF,IAAI,OAAO,GAAY,IAAI,IAAI,EAAE,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,UAAU,GAAG;YACf,UAAU,EAAE,CAAC;YACb,UAAU,EACR,yEAAyE;YAC3E,KAAK;YACL,MAAM;YACN,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3C,0CAA0C;QAE1C,iEAAiE;QACjE,mBAAmB;QACnB,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9B,oDAAoD;QACpD,kCAAkC;QAClC,IAAI;QAEH,UAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;IACD,IAAI,KAAK,GAAY,IAAI,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,GAAI,KAAgB,GAAI,OAAkB,CAAC;IACzD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAa;IAC9C,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE;YAChD,IAAI,EAAE,0BAA0B;SACjC,CAAC,CAAC;QACH,8BAA8B;QAC9B,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
|