@cornerstonejs/core 1.42.0 → 1.43.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 (199) hide show
  1. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +3 -0
  2. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/StackViewport.js +2 -1
  4. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  5. package/dist/cjs/RenderingEngine/Viewport.d.ts +1 -0
  6. package/dist/cjs/RenderingEngine/Viewport.js +3 -0
  7. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  8. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js +2 -1
  9. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  10. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -1
  11. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  12. package/dist/cjs/cache/cache.d.ts +6 -3
  13. package/dist/cjs/cache/cache.js +43 -6
  14. package/dist/cjs/cache/cache.js.map +1 -1
  15. package/dist/cjs/cache/classes/ImageVolume.d.ts +25 -5
  16. package/dist/cjs/cache/classes/ImageVolume.js +302 -13
  17. package/dist/cjs/cache/classes/ImageVolume.js.map +1 -1
  18. package/dist/cjs/eventTarget.d.ts +1 -0
  19. package/dist/cjs/eventTarget.js +13 -1
  20. package/dist/cjs/eventTarget.js.map +1 -1
  21. package/dist/cjs/init.js +2 -0
  22. package/dist/cjs/init.js.map +1 -1
  23. package/dist/cjs/loaders/imageLoader.d.ts +6 -1
  24. package/dist/cjs/loaders/imageLoader.js +26 -12
  25. package/dist/cjs/loaders/imageLoader.js.map +1 -1
  26. package/dist/cjs/loaders/volumeLoader.d.ts +13 -9
  27. package/dist/cjs/loaders/volumeLoader.js +58 -5
  28. package/dist/cjs/loaders/volumeLoader.js.map +1 -1
  29. package/dist/cjs/types/BoundsLPS.d.ts +3 -0
  30. package/dist/cjs/types/BoundsLPS.js +3 -0
  31. package/dist/cjs/types/BoundsLPS.js.map +1 -0
  32. package/dist/cjs/types/Cornerstone3DConfig.d.ts +1 -0
  33. package/dist/cjs/types/IDynamicImageVolume.d.ts +2 -2
  34. package/dist/cjs/types/IImage.d.ts +5 -0
  35. package/dist/cjs/types/IImageVolume.d.ts +7 -2
  36. package/dist/cjs/types/ILoadObject.d.ts +2 -2
  37. package/dist/cjs/types/IViewport.d.ts +1 -0
  38. package/dist/cjs/types/IVolume.d.ts +3 -26
  39. package/dist/cjs/types/ImageVolumeProps.d.ts +6 -0
  40. package/dist/cjs/types/ImageVolumeProps.js +3 -0
  41. package/dist/cjs/types/ImageVolumeProps.js.map +1 -0
  42. package/dist/cjs/types/VolumeProps.d.ts +27 -0
  43. package/dist/cjs/types/VolumeProps.js +3 -0
  44. package/dist/cjs/types/VolumeProps.js.map +1 -0
  45. package/dist/cjs/types/index.d.ts +5 -2
  46. package/dist/cjs/utilities/VoxelManager.d.ts +2 -2
  47. package/dist/cjs/utilities/VoxelManager.js +13 -4
  48. package/dist/cjs/utilities/VoxelManager.js.map +1 -1
  49. package/dist/cjs/utilities/cacheUtils.d.ts +2 -0
  50. package/dist/cjs/utilities/cacheUtils.js +96 -0
  51. package/dist/cjs/utilities/cacheUtils.js.map +1 -0
  52. package/dist/cjs/utilities/convertStackToVolumeViewport.d.ts +12 -0
  53. package/dist/cjs/utilities/convertStackToVolumeViewport.js +61 -0
  54. package/dist/cjs/utilities/convertStackToVolumeViewport.js.map +1 -0
  55. package/dist/cjs/utilities/convertVolumeToStackViewport.d.ts +9 -0
  56. package/dist/cjs/utilities/convertVolumeToStackViewport.js +95 -0
  57. package/dist/cjs/utilities/convertVolumeToStackViewport.js.map +1 -0
  58. package/dist/cjs/utilities/generateVolumePropsFromImageIds.d.ts +3 -0
  59. package/dist/cjs/utilities/generateVolumePropsFromImageIds.js +124 -0
  60. package/dist/cjs/utilities/generateVolumePropsFromImageIds.js.map +1 -0
  61. package/dist/cjs/utilities/index.d.ts +6 -1
  62. package/dist/cjs/utilities/index.js +12 -1
  63. package/dist/cjs/utilities/index.js.map +1 -1
  64. package/dist/cjs/utilities/planar.d.ts +1 -1
  65. package/dist/cjs/utilities/planar.js +5 -1
  66. package/dist/cjs/utilities/planar.js.map +1 -1
  67. package/dist/cjs/utilities/roundNumber.d.ts +4 -0
  68. package/dist/cjs/utilities/roundNumber.js +36 -0
  69. package/dist/cjs/utilities/roundNumber.js.map +1 -0
  70. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +3 -0
  71. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  72. package/dist/esm/RenderingEngine/StackViewport.js +2 -1
  73. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  74. package/dist/esm/RenderingEngine/Viewport.js +3 -0
  75. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  76. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +1 -1
  77. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  78. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -1
  79. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  80. package/dist/esm/cache/cache.js +43 -6
  81. package/dist/esm/cache/cache.js.map +1 -1
  82. package/dist/esm/cache/classes/ImageVolume.js +279 -14
  83. package/dist/esm/cache/classes/ImageVolume.js.map +1 -1
  84. package/dist/esm/eventTarget.js +13 -1
  85. package/dist/esm/eventTarget.js.map +1 -1
  86. package/dist/esm/init.js +2 -0
  87. package/dist/esm/init.js.map +1 -1
  88. package/dist/esm/loaders/imageLoader.js +23 -9
  89. package/dist/esm/loaders/imageLoader.js.map +1 -1
  90. package/dist/esm/loaders/volumeLoader.js +58 -5
  91. package/dist/esm/loaders/volumeLoader.js.map +1 -1
  92. package/dist/esm/types/BoundsLPS.js +2 -0
  93. package/dist/esm/types/BoundsLPS.js.map +1 -0
  94. package/dist/esm/types/ImageVolumeProps.js +2 -0
  95. package/dist/esm/types/ImageVolumeProps.js.map +1 -0
  96. package/dist/esm/types/VolumeProps.js +2 -0
  97. package/dist/esm/types/VolumeProps.js.map +1 -0
  98. package/dist/esm/utilities/VoxelManager.js +13 -4
  99. package/dist/esm/utilities/VoxelManager.js.map +1 -1
  100. package/dist/esm/utilities/cacheUtils.js +65 -0
  101. package/dist/esm/utilities/cacheUtils.js.map +1 -0
  102. package/dist/esm/utilities/convertStackToVolumeViewport.js +49 -0
  103. package/dist/esm/utilities/convertStackToVolumeViewport.js.map +1 -0
  104. package/dist/esm/utilities/convertVolumeToStackViewport.js +58 -0
  105. package/dist/esm/utilities/convertVolumeToStackViewport.js.map +1 -0
  106. package/dist/esm/utilities/generateVolumePropsFromImageIds.js +118 -0
  107. package/dist/esm/utilities/generateVolumePropsFromImageIds.js.map +1 -0
  108. package/dist/esm/utilities/index.js +6 -1
  109. package/dist/esm/utilities/index.js.map +1 -1
  110. package/dist/esm/utilities/planar.js +5 -1
  111. package/dist/esm/utilities/planar.js.map +1 -1
  112. package/dist/esm/utilities/roundNumber.js +33 -0
  113. package/dist/esm/utilities/roundNumber.js.map +1 -0
  114. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts.map +1 -1
  115. package/dist/types/RenderingEngine/StackViewport.d.ts.map +1 -1
  116. package/dist/types/RenderingEngine/Viewport.d.ts +1 -0
  117. package/dist/types/RenderingEngine/Viewport.d.ts.map +1 -1
  118. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts.map +1 -1
  119. package/dist/types/cache/cache.d.ts +6 -3
  120. package/dist/types/cache/cache.d.ts.map +1 -1
  121. package/dist/types/cache/classes/ImageVolume.d.ts +25 -5
  122. package/dist/types/cache/classes/ImageVolume.d.ts.map +1 -1
  123. package/dist/types/eventTarget.d.ts +1 -0
  124. package/dist/types/eventTarget.d.ts.map +1 -1
  125. package/dist/types/loaders/imageLoader.d.ts +6 -1
  126. package/dist/types/loaders/imageLoader.d.ts.map +1 -1
  127. package/dist/types/loaders/volumeLoader.d.ts +13 -9
  128. package/dist/types/loaders/volumeLoader.d.ts.map +1 -1
  129. package/dist/types/types/BoundsLPS.d.ts +4 -0
  130. package/dist/types/types/BoundsLPS.d.ts.map +1 -0
  131. package/dist/types/types/Cornerstone3DConfig.d.ts +1 -0
  132. package/dist/types/types/Cornerstone3DConfig.d.ts.map +1 -1
  133. package/dist/types/types/IDynamicImageVolume.d.ts +2 -2
  134. package/dist/types/types/IDynamicImageVolume.d.ts.map +1 -1
  135. package/dist/types/types/IImage.d.ts +5 -0
  136. package/dist/types/types/IImage.d.ts.map +1 -1
  137. package/dist/types/types/IImageVolume.d.ts +7 -2
  138. package/dist/types/types/IImageVolume.d.ts.map +1 -1
  139. package/dist/types/types/ILoadObject.d.ts +2 -2
  140. package/dist/types/types/ILoadObject.d.ts.map +1 -1
  141. package/dist/types/types/IViewport.d.ts +1 -0
  142. package/dist/types/types/IViewport.d.ts.map +1 -1
  143. package/dist/types/types/IVolume.d.ts +3 -26
  144. package/dist/types/types/IVolume.d.ts.map +1 -1
  145. package/dist/types/types/ImageVolumeProps.d.ts +7 -0
  146. package/dist/types/types/ImageVolumeProps.d.ts.map +1 -0
  147. package/dist/types/types/VolumeProps.d.ts +28 -0
  148. package/dist/types/types/VolumeProps.d.ts.map +1 -0
  149. package/dist/types/types/index.d.ts +5 -2
  150. package/dist/types/types/index.d.ts.map +1 -1
  151. package/dist/types/utilities/VoxelManager.d.ts +2 -2
  152. package/dist/types/utilities/VoxelManager.d.ts.map +1 -1
  153. package/dist/types/utilities/cacheUtils.d.ts +3 -0
  154. package/dist/types/utilities/cacheUtils.d.ts.map +1 -0
  155. package/dist/types/utilities/convertStackToVolumeViewport.d.ts +13 -0
  156. package/dist/types/utilities/convertStackToVolumeViewport.d.ts.map +1 -0
  157. package/dist/types/utilities/convertVolumeToStackViewport.d.ts +10 -0
  158. package/dist/types/utilities/convertVolumeToStackViewport.d.ts.map +1 -0
  159. package/dist/types/utilities/generateVolumePropsFromImageIds.d.ts +4 -0
  160. package/dist/types/utilities/generateVolumePropsFromImageIds.d.ts.map +1 -0
  161. package/dist/types/utilities/index.d.ts +6 -1
  162. package/dist/types/utilities/index.d.ts.map +1 -1
  163. package/dist/types/utilities/planar.d.ts +1 -1
  164. package/dist/types/utilities/planar.d.ts.map +1 -1
  165. package/dist/types/utilities/roundNumber.d.ts +5 -0
  166. package/dist/types/utilities/roundNumber.d.ts.map +1 -0
  167. package/dist/umd/index.js +1 -1
  168. package/dist/umd/index.js.map +1 -1
  169. package/package.json +3 -3
  170. package/src/RenderingEngine/BaseVolumeViewport.ts +4 -1
  171. package/src/RenderingEngine/StackViewport.ts +3 -1
  172. package/src/RenderingEngine/Viewport.ts +9 -1
  173. package/src/RenderingEngine/helpers/createVolumeActor.ts +1 -1
  174. package/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +3 -26
  175. package/src/cache/cache.ts +91 -7
  176. package/src/cache/classes/ImageVolume.ts +535 -21
  177. package/src/eventTarget.ts +19 -1
  178. package/src/init.ts +2 -2
  179. package/src/loaders/imageLoader.ts +58 -10
  180. package/src/loaders/volumeLoader.ts +139 -23
  181. package/src/types/BoundsLPS.ts +5 -0
  182. package/src/types/Cornerstone3DConfig.ts +12 -0
  183. package/src/types/IDynamicImageVolume.ts +2 -2
  184. package/src/types/IImage.ts +6 -0
  185. package/src/types/IImageVolume.ts +14 -2
  186. package/src/types/ILoadObject.ts +2 -2
  187. package/src/types/IViewport.ts +2 -1
  188. package/src/types/IVolume.ts +4 -41
  189. package/src/types/ImageVolumeProps.ts +15 -0
  190. package/src/types/VolumeProps.ts +57 -0
  191. package/src/types/index.ts +7 -2
  192. package/src/utilities/VoxelManager.ts +17 -6
  193. package/src/utilities/cacheUtils.ts +121 -0
  194. package/src/utilities/convertStackToVolumeViewport.ts +115 -0
  195. package/src/utilities/convertVolumeToStackViewport.ts +125 -0
  196. package/src/utilities/generateVolumePropsFromImageIds.ts +183 -0
  197. package/src/utilities/index.ts +11 -0
  198. package/src/utilities/planar.ts +12 -1
  199. package/src/utilities/roundNumber.ts +56 -0
@@ -0,0 +1,56 @@
1
+ import { EPSILON } from '../constants';
2
+
3
+ /**
4
+ * Truncates decimal points to that there is at least 1+precision significant
5
+ * digits.
6
+ *
7
+ * For example, with the default precision 2 (3 significant digits)
8
+ * * Values larger than 100 show no information after the decimal point
9
+ * * Values between 10 and 99 show 1 decimal point
10
+ * * Values between 1 and 9 show 2 decimal points
11
+ *
12
+ * @param value - to return a fixed measurement value from
13
+ * @param precision - defining how many digits after 1..9 are desired
14
+ */
15
+ function roundNumber(
16
+ value: string | number | (string | number)[],
17
+ precision = 2
18
+ ): string {
19
+ if (Array.isArray(value)) {
20
+ return value.map((v) => roundNumber(v, precision)).join(', ');
21
+ }
22
+ if (value === undefined || value === null || value === '') {
23
+ return 'NaN';
24
+ }
25
+ value = Number(value);
26
+ if (value < 0.0001) {
27
+ return `${value}`;
28
+ }
29
+ const fixedPrecision =
30
+ value >= 100
31
+ ? precision - 2
32
+ : value >= 10
33
+ ? precision - 1
34
+ : value >= 1
35
+ ? precision
36
+ : value >= 0.1
37
+ ? precision + 1
38
+ : value >= 0.01
39
+ ? precision + 2
40
+ : value >= 0.001
41
+ ? precision + 3
42
+ : precision + 4;
43
+ return value.toFixed(fixedPrecision);
44
+ }
45
+
46
+ /**
47
+ * Rounds a number to the nearest multiple of EPSILON.
48
+ * @param value - The number to round.
49
+ * @returns The rounded number.
50
+ */
51
+ function roundToPrecision(value) {
52
+ return Math.round(value / EPSILON) * EPSILON;
53
+ }
54
+
55
+ export { roundToPrecision };
56
+ export default roundNumber;