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.
Files changed (130) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +105 -0
  3. package/dist/Controls/Copper3dTrackballControls.d.ts +45 -0
  4. package/dist/Controls/Copper3dTrackballControls.js +543 -0
  5. package/dist/Controls/Copper3dTrackballControls.js.map +1 -0
  6. package/dist/Controls/copperControls.d.ts +17 -0
  7. package/dist/Controls/copperControls.js +36 -0
  8. package/dist/Controls/copperControls.js.map +1 -0
  9. package/dist/Loader/convet.d.ts +1 -0
  10. package/dist/Loader/convet.js +80 -0
  11. package/dist/Loader/convet.js.map +1 -0
  12. package/dist/Loader/copperDicomLoader.d.ts +7 -0
  13. package/dist/Loader/copperDicomLoader.js +113 -0
  14. package/dist/Loader/copperDicomLoader.js.map +1 -0
  15. package/dist/Loader/copperGltfLoader.d.ts +3 -0
  16. package/dist/Loader/copperGltfLoader.js +16 -0
  17. package/dist/Loader/copperGltfLoader.js.map +1 -0
  18. package/dist/Loader/copperNrrdLoader.d.ts +13 -0
  19. package/dist/Loader/copperNrrdLoader.js +424 -0
  20. package/dist/Loader/copperNrrdLoader.js.map +1 -0
  21. package/dist/Loader/copperOBJLoader.d.ts +3 -0
  22. package/dist/Loader/copperOBJLoader.js +4 -0
  23. package/dist/Loader/copperOBJLoader.js.map +1 -0
  24. package/dist/Loader/copperVtkLoader.d.ts +8 -0
  25. package/dist/Loader/copperVtkLoader.js +44 -0
  26. package/dist/Loader/copperVtkLoader.js.map +1 -0
  27. package/dist/Renderer/baseRenderer.d.ts +30 -0
  28. package/dist/Renderer/baseRenderer.js +223 -0
  29. package/dist/Renderer/baseRenderer.js.map +1 -0
  30. package/dist/Renderer/copperMSceneRenderer.d.ts +21 -0
  31. package/dist/Renderer/copperMSceneRenderer.js +115 -0
  32. package/dist/Renderer/copperMSceneRenderer.js.map +1 -0
  33. package/dist/Renderer/copperRenderer.d.ts +15 -0
  34. package/dist/Renderer/copperRenderer.js +52 -0
  35. package/dist/Renderer/copperRenderer.js.map +1 -0
  36. package/dist/Renderer/copperRendererOnDemond.d.ts +13 -0
  37. package/dist/Renderer/copperRendererOnDemond.js +44 -0
  38. package/dist/Renderer/copperRendererOnDemond.js.map +1 -0
  39. package/dist/Scene/baseScene.d.ts +38 -0
  40. package/dist/Scene/baseScene.js +180 -0
  41. package/dist/Scene/baseScene.js.map +1 -0
  42. package/dist/Scene/commonSceneMethod.d.ts +45 -0
  43. package/dist/Scene/commonSceneMethod.js +258 -0
  44. package/dist/Scene/commonSceneMethod.js.map +1 -0
  45. package/dist/Scene/copperMScene.d.ts +42 -0
  46. package/dist/Scene/copperMScene.js +325 -0
  47. package/dist/Scene/copperMScene.js.map +1 -0
  48. package/dist/Scene/copperScene.d.ts +34 -0
  49. package/dist/Scene/copperScene.js +303 -0
  50. package/dist/Scene/copperScene.js.map +1 -0
  51. package/dist/Scene/copperSceneOnDemond.d.ts +13 -0
  52. package/dist/Scene/copperSceneOnDemond.js +60 -0
  53. package/dist/Scene/copperSceneOnDemond.js.map +1 -0
  54. package/dist/Utils/add3DLabel.d.ts +18 -0
  55. package/dist/Utils/add3DLabel.js +66 -0
  56. package/dist/Utils/add3DLabel.js.map +1 -0
  57. package/dist/Utils/download.d.ts +1 -0
  58. package/dist/Utils/download.js +21 -0
  59. package/dist/Utils/download.js.map +1 -0
  60. package/dist/Utils/getVOILUT.d.ts +13 -0
  61. package/dist/Utils/getVOILUT.js +78 -0
  62. package/dist/Utils/getVOILUT.js.map +1 -0
  63. package/dist/Utils/kiwrious/configKiwrious.d.ts +4 -0
  64. package/dist/Utils/kiwrious/configKiwrious.js +59 -0
  65. package/dist/Utils/kiwrious/configKiwrious.js.map +1 -0
  66. package/dist/Utils/nrrd_tool.d.ts +187 -0
  67. package/dist/Utils/nrrd_tool.js +2173 -0
  68. package/dist/Utils/nrrd_tool.js.map +1 -0
  69. package/dist/Utils/raycaster.d.ts +9 -0
  70. package/dist/Utils/raycaster.js +75 -0
  71. package/dist/Utils/raycaster.js.map +1 -0
  72. package/dist/Utils/texture2d.d.ts +10 -0
  73. package/dist/Utils/texture2d.js +111 -0
  74. package/dist/Utils/texture2d.js.map +1 -0
  75. package/dist/Utils/utils.d.ts +8 -0
  76. package/dist/Utils/utils.js +141 -0
  77. package/dist/Utils/utils.js.map +1 -0
  78. package/dist/Utils/workers/reformatSaveDataWorker.d.ts +13 -0
  79. package/dist/Utils/workers/reformatSaveDataWorker.js +107 -0
  80. package/dist/Utils/workers/reformatSaveDataWorker.js.map +1 -0
  81. package/dist/bundle.esm.js +68951 -0
  82. package/dist/bundle.umd.js +68982 -0
  83. package/dist/css/style.css +168 -0
  84. package/dist/index.d.ts +21 -0
  85. package/dist/index.js +22 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/lib/dicom_pharser_dictionary.d.ts +1 -0
  88. package/dist/lib/dicom_pharser_dictionary.js +28116 -0
  89. package/dist/lib/dicom_pharser_dictionary.js.map +1 -0
  90. package/dist/lib/environment/index.d.ts +8 -0
  91. package/dist/lib/environment/index.js +28 -0
  92. package/dist/lib/environment/index.js.map +1 -0
  93. package/dist/lib/three-vignette.d.ts +11 -0
  94. package/dist/lib/three-vignette.js +93 -0
  95. package/dist/lib/three-vignette.js.map +1 -0
  96. package/dist/types/Controls/Copper3dTrackballControls.d.ts +45 -0
  97. package/dist/types/Controls/copperControls.d.ts +17 -0
  98. package/dist/types/Loader/convet.d.ts +1 -0
  99. package/dist/types/Loader/copperDicomLoader.d.ts +7 -0
  100. package/dist/types/Loader/copperGltfLoader.d.ts +3 -0
  101. package/dist/types/Loader/copperNrrdLoader.d.ts +13 -0
  102. package/dist/types/Loader/copperOBJLoader.d.ts +3 -0
  103. package/dist/types/Loader/copperVtkLoader.d.ts +8 -0
  104. package/dist/types/Renderer/baseRenderer.d.ts +30 -0
  105. package/dist/types/Renderer/copperMSceneRenderer.d.ts +21 -0
  106. package/dist/types/Renderer/copperRenderer.d.ts +15 -0
  107. package/dist/types/Renderer/copperRendererOnDemond.d.ts +13 -0
  108. package/dist/types/Scene/baseScene.d.ts +38 -0
  109. package/dist/types/Scene/commonSceneMethod.d.ts +45 -0
  110. package/dist/types/Scene/copperMScene.d.ts +42 -0
  111. package/dist/types/Scene/copperScene.d.ts +34 -0
  112. package/dist/types/Scene/copperSceneOnDemond.d.ts +13 -0
  113. package/dist/types/Utils/add3DLabel.d.ts +18 -0
  114. package/dist/types/Utils/download.d.ts +1 -0
  115. package/dist/types/Utils/getVOILUT.d.ts +13 -0
  116. package/dist/types/Utils/kiwrious/configKiwrious.d.ts +4 -0
  117. package/dist/types/Utils/nrrd_tool.d.ts +187 -0
  118. package/dist/types/Utils/raycaster.d.ts +9 -0
  119. package/dist/types/Utils/texture2d.d.ts +10 -0
  120. package/dist/types/Utils/utils.d.ts +8 -0
  121. package/dist/types/Utils/workers/reformatSaveDataWorker.d.ts +13 -0
  122. package/dist/types/index.d.ts +21 -0
  123. package/dist/types/lib/dicom_pharser_dictionary.d.ts +1 -0
  124. package/dist/types/lib/environment/index.d.ts +8 -0
  125. package/dist/types/lib/three-vignette.d.ts +11 -0
  126. package/dist/types/types/types.d.ts +198 -0
  127. package/dist/types/types.d.ts +198 -0
  128. package/dist/types/types.js +2 -0
  129. package/dist/types/types.js.map +1 -0
  130. 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"}