@cornerstonejs/tools 1.32.3 → 1.34.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 (260) hide show
  1. package/dist/cjs/eventListeners/index.d.ts +2 -2
  2. package/dist/cjs/eventListeners/index.js +2 -1
  3. package/dist/cjs/eventListeners/index.js.map +1 -1
  4. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.d.ts +5 -0
  5. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js +143 -0
  6. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js.map +1 -0
  7. package/dist/cjs/eventListeners/segmentation/index.d.ts +2 -1
  8. package/dist/cjs/eventListeners/segmentation/index.js +3 -1
  9. package/dist/cjs/eventListeners/segmentation/index.js.map +1 -1
  10. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +31 -5
  11. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  12. package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +1 -0
  13. package/dist/cjs/store/SynchronizerManager/Synchronizer.js +17 -1
  14. package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
  15. package/dist/cjs/store/addEnabledElement.js +1 -0
  16. package/dist/cjs/store/addEnabledElement.js.map +1 -1
  17. package/dist/cjs/store/removeEnabledElement.js +2 -0
  18. package/dist/cjs/store/removeEnabledElement.js.map +1 -1
  19. package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .d.ts +1 -1
  20. package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -1
  21. package/dist/cjs/synchronizers/callbacks/{stackImageSyncCallback.d.ts → imageSliceSyncCallback.d.ts} +1 -1
  22. package/dist/cjs/synchronizers/callbacks/{stackImageSyncCallback.js → imageSliceSyncCallback.js} +8 -4
  23. package/dist/cjs/synchronizers/callbacks/{stackImageSyncCallback.js.map → imageSliceSyncCallback.js.map} +1 -1
  24. package/dist/cjs/synchronizers/index.d.ts +3 -2
  25. package/dist/cjs/synchronizers/index.js +5 -3
  26. package/dist/cjs/synchronizers/index.js.map +1 -1
  27. package/dist/cjs/synchronizers/synchronizers/{createStackImageSynchronizer.d.ts → createImageSliceSynchronizer.d.ts} +1 -1
  28. package/dist/cjs/synchronizers/synchronizers/createImageSliceSynchronizer.js +17 -0
  29. package/dist/cjs/synchronizers/synchronizers/createImageSliceSynchronizer.js.map +1 -0
  30. package/dist/cjs/synchronizers/synchronizers/index.d.ts +3 -2
  31. package/dist/cjs/synchronizers/synchronizers/index.js +5 -3
  32. package/dist/cjs/synchronizers/synchronizers/index.js.map +1 -1
  33. package/dist/cjs/tools/annotation/CircleROITool.js +3 -1
  34. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  35. package/dist/cjs/tools/annotation/EllipticalROITool.js +1 -1
  36. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  37. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -1
  38. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +23 -10
  39. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  40. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -1
  41. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +36 -22
  42. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  43. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js +6 -5
  44. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -1
  45. package/dist/cjs/tools/segmentation/BrushTool.js +40 -45
  46. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  47. package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +4 -2
  48. package/dist/cjs/tools/segmentation/CircleScissorsTool.js +18 -17
  49. package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
  50. package/dist/cjs/tools/segmentation/PaintFillTool.js +28 -5
  51. package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
  52. package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +3 -1
  53. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +15 -16
  54. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  55. package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +4 -2
  56. package/dist/cjs/tools/segmentation/SphereScissorsTool.js +20 -20
  57. package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
  58. package/dist/cjs/tools/segmentation/strategies/eraseCircle.d.ts +2 -10
  59. package/dist/cjs/tools/segmentation/strategies/eraseCircle.js.map +1 -1
  60. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +4 -8
  61. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +4 -20
  62. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  63. package/dist/cjs/tools/segmentation/strategies/eraseSphere.d.ts +2 -10
  64. package/dist/cjs/tools/segmentation/strategies/eraseSphere.js.map +1 -1
  65. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +3 -11
  66. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +57 -32
  67. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
  68. package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +2 -7
  69. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +16 -8
  70. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  71. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +2 -10
  72. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +31 -17
  73. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
  74. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.d.ts +9 -0
  75. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js +43 -0
  76. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -0
  77. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +2 -2
  78. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js +2 -2
  79. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -1
  80. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -0
  81. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js +13 -0
  82. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -0
  83. package/dist/cjs/types/LabelmapToolOperationData.d.ts +14 -0
  84. package/dist/cjs/types/LabelmapToolOperationData.js +3 -0
  85. package/dist/cjs/types/LabelmapToolOperationData.js.map +1 -0
  86. package/dist/cjs/types/LabelmapTypes.d.ts +5 -1
  87. package/dist/cjs/types/index.d.ts +2 -1
  88. package/dist/cjs/utilities/math/ellipse/pointInEllipse.d.ts +7 -9
  89. package/dist/cjs/utilities/math/ellipse/pointInEllipse.js +19 -11
  90. package/dist/cjs/utilities/math/ellipse/pointInEllipse.js.map +1 -1
  91. package/dist/esm/eventListeners/index.js +2 -2
  92. package/dist/esm/eventListeners/index.js.map +1 -1
  93. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +115 -0
  94. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js.map +1 -0
  95. package/dist/esm/eventListeners/segmentation/index.js +2 -1
  96. package/dist/esm/eventListeners/segmentation/index.js.map +1 -1
  97. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +32 -6
  98. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  99. package/dist/esm/store/SynchronizerManager/Synchronizer.js +17 -1
  100. package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
  101. package/dist/esm/store/addEnabledElement.js +2 -1
  102. package/dist/esm/store/addEnabledElement.js.map +1 -1
  103. package/dist/esm/store/removeEnabledElement.js +2 -0
  104. package/dist/esm/store/removeEnabledElement.js.map +1 -1
  105. package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -1
  106. package/dist/esm/synchronizers/callbacks/{stackImageSyncCallback.js → imageSliceSyncCallback.js} +8 -4
  107. package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.js.map +1 -0
  108. package/dist/esm/synchronizers/index.js +3 -2
  109. package/dist/esm/synchronizers/index.js.map +1 -1
  110. package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.js +11 -0
  111. package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.js.map +1 -0
  112. package/dist/esm/synchronizers/synchronizers/index.js +3 -2
  113. package/dist/esm/synchronizers/synchronizers/index.js.map +1 -1
  114. package/dist/esm/tools/annotation/CircleROITool.js +4 -2
  115. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  116. package/dist/esm/tools/annotation/EllipticalROITool.js +1 -1
  117. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  118. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +24 -11
  119. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  120. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +36 -22
  121. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  122. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js +6 -5
  123. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -1
  124. package/dist/esm/tools/segmentation/BrushTool.js +38 -29
  125. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  126. package/dist/esm/tools/segmentation/CircleScissorsTool.js +27 -15
  127. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
  128. package/dist/esm/tools/segmentation/PaintFillTool.js +28 -5
  129. package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
  130. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +26 -17
  131. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  132. package/dist/esm/tools/segmentation/SphereScissorsTool.js +28 -17
  133. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
  134. package/dist/esm/tools/segmentation/strategies/eraseCircle.js.map +1 -1
  135. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +4 -20
  136. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  137. package/dist/esm/tools/segmentation/strategies/eraseSphere.js.map +1 -1
  138. package/dist/esm/tools/segmentation/strategies/fillCircle.js +56 -31
  139. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
  140. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +16 -8
  141. package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  142. package/dist/esm/tools/segmentation/strategies/fillSphere.js +32 -18
  143. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
  144. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +40 -0
  145. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -0
  146. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js +2 -2
  147. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -1
  148. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +9 -0
  149. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -0
  150. package/dist/esm/types/LabelmapToolOperationData.js +2 -0
  151. package/dist/esm/types/LabelmapToolOperationData.js.map +1 -0
  152. package/dist/esm/utilities/math/ellipse/pointInEllipse.js +19 -11
  153. package/dist/esm/utilities/math/ellipse/pointInEllipse.js.map +1 -1
  154. package/dist/types/eventListeners/index.d.ts +2 -2
  155. package/dist/types/eventListeners/index.d.ts.map +1 -1
  156. package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts +6 -0
  157. package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts.map +1 -0
  158. package/dist/types/eventListeners/segmentation/index.d.ts +2 -1
  159. package/dist/types/eventListeners/segmentation/index.d.ts.map +1 -1
  160. package/dist/types/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts.map +1 -1
  161. package/dist/types/store/SynchronizerManager/Synchronizer.d.ts +1 -0
  162. package/dist/types/store/SynchronizerManager/Synchronizer.d.ts.map +1 -1
  163. package/dist/types/store/addEnabledElement.d.ts.map +1 -1
  164. package/dist/types/store/removeEnabledElement.d.ts.map +1 -1
  165. package/dist/types/synchronizers/callbacks/areViewportsCoplanar .d.ts +1 -1
  166. package/dist/types/synchronizers/callbacks/areViewportsCoplanar .d.ts.map +1 -1
  167. package/dist/types/synchronizers/callbacks/{stackImageSyncCallback.d.ts → imageSliceSyncCallback.d.ts} +2 -2
  168. package/dist/types/synchronizers/callbacks/imageSliceSyncCallback.d.ts.map +1 -0
  169. package/dist/types/synchronizers/index.d.ts +3 -2
  170. package/dist/types/synchronizers/index.d.ts.map +1 -1
  171. package/dist/types/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts +3 -0
  172. package/dist/types/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts.map +1 -0
  173. package/dist/types/synchronizers/synchronizers/index.d.ts +3 -2
  174. package/dist/types/synchronizers/synchronizers/index.d.ts.map +1 -1
  175. package/dist/types/tools/annotation/CircleROITool.d.ts.map +1 -1
  176. package/dist/types/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -1
  177. package/dist/types/tools/displayTools/Labelmap/addLabelmapToElement.d.ts.map +1 -1
  178. package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -1
  179. package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts.map +1 -1
  180. package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts.map +1 -1
  181. package/dist/types/tools/segmentation/BrushTool.d.ts.map +1 -1
  182. package/dist/types/tools/segmentation/CircleScissorsTool.d.ts +4 -2
  183. package/dist/types/tools/segmentation/CircleScissorsTool.d.ts.map +1 -1
  184. package/dist/types/tools/segmentation/PaintFillTool.d.ts.map +1 -1
  185. package/dist/types/tools/segmentation/RectangleScissorsTool.d.ts +3 -1
  186. package/dist/types/tools/segmentation/RectangleScissorsTool.d.ts.map +1 -1
  187. package/dist/types/tools/segmentation/SphereScissorsTool.d.ts +4 -2
  188. package/dist/types/tools/segmentation/SphereScissorsTool.d.ts.map +1 -1
  189. package/dist/types/tools/segmentation/strategies/eraseCircle.d.ts +2 -10
  190. package/dist/types/tools/segmentation/strategies/eraseCircle.d.ts.map +1 -1
  191. package/dist/types/tools/segmentation/strategies/eraseRectangle.d.ts +4 -8
  192. package/dist/types/tools/segmentation/strategies/eraseRectangle.d.ts.map +1 -1
  193. package/dist/types/tools/segmentation/strategies/eraseSphere.d.ts +2 -10
  194. package/dist/types/tools/segmentation/strategies/eraseSphere.d.ts.map +1 -1
  195. package/dist/types/tools/segmentation/strategies/fillCircle.d.ts +3 -11
  196. package/dist/types/tools/segmentation/strategies/fillCircle.d.ts.map +1 -1
  197. package/dist/types/tools/segmentation/strategies/fillRectangle.d.ts +2 -7
  198. package/dist/types/tools/segmentation/strategies/fillRectangle.d.ts.map +1 -1
  199. package/dist/types/tools/segmentation/strategies/fillSphere.d.ts +2 -10
  200. package/dist/types/tools/segmentation/strategies/fillSphere.d.ts.map +1 -1
  201. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts +10 -0
  202. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts.map +1 -0
  203. package/dist/types/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +2 -2
  204. package/dist/types/tools/segmentation/strategies/utils/isWithinThreshold.d.ts.map +1 -1
  205. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +6 -0
  206. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts.map +1 -0
  207. package/dist/types/types/LabelmapToolOperationData.d.ts +15 -0
  208. package/dist/types/types/LabelmapToolOperationData.d.ts.map +1 -0
  209. package/dist/types/types/LabelmapTypes.d.ts +5 -1
  210. package/dist/types/types/LabelmapTypes.d.ts.map +1 -1
  211. package/dist/types/types/index.d.ts +2 -1
  212. package/dist/types/types/index.d.ts.map +1 -1
  213. package/dist/types/utilities/math/ellipse/pointInEllipse.d.ts +7 -9
  214. package/dist/types/utilities/math/ellipse/pointInEllipse.d.ts.map +1 -1
  215. package/dist/umd/index.js +1 -1
  216. package/dist/umd/index.js.map +1 -1
  217. package/package.json +3 -3
  218. package/src/eventListeners/index.ts +2 -0
  219. package/src/eventListeners/segmentation/imageChangeEventListener.ts +215 -0
  220. package/src/eventListeners/segmentation/index.ts +2 -0
  221. package/src/eventListeners/segmentation/segmentationDataModifiedEventListener.ts +70 -9
  222. package/src/store/SynchronizerManager/Synchronizer.ts +28 -3
  223. package/src/store/addEnabledElement.ts +2 -0
  224. package/src/store/removeEnabledElement.ts +3 -0
  225. package/src/synchronizers/callbacks/areViewportsCoplanar .ts +2 -2
  226. package/src/synchronizers/callbacks/{stackImageSyncCallback.ts → imageSliceSyncCallback.ts} +16 -8
  227. package/src/synchronizers/index.ts +5 -1
  228. package/src/synchronizers/synchronizers/{createStackImageSynchronizer.ts → createImageSliceSynchronizer.ts} +8 -5
  229. package/src/synchronizers/synchronizers/index.ts +4 -1
  230. package/src/tools/annotation/CircleROITool.ts +5 -5
  231. package/src/tools/annotation/EllipticalROITool.ts +1 -1
  232. package/src/tools/displayTools/Labelmap/addLabelmapToElement.ts +51 -22
  233. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +65 -35
  234. package/src/tools/displayTools/Labelmap/validateRepresentationData.ts +17 -11
  235. package/src/tools/segmentation/BrushTool.ts +78 -39
  236. package/src/tools/segmentation/CircleScissorsTool.ts +46 -29
  237. package/src/tools/segmentation/PaintFillTool.ts +45 -8
  238. package/src/tools/segmentation/RectangleScissorsTool.ts +41 -31
  239. package/src/tools/segmentation/SphereScissorsTool.ts +46 -28
  240. package/src/tools/segmentation/strategies/eraseCircle.ts +3 -11
  241. package/src/tools/segmentation/strategies/eraseRectangle.ts +13 -42
  242. package/src/tools/segmentation/strategies/eraseSphere.ts +2 -10
  243. package/src/tools/segmentation/strategies/fillCircle.ts +93 -61
  244. package/src/tools/segmentation/strategies/fillRectangle.ts +31 -22
  245. package/src/tools/segmentation/strategies/fillSphere.ts +51 -41
  246. package/src/tools/segmentation/strategies/utils/getStrategyData.ts +58 -0
  247. package/src/tools/segmentation/strategies/utils/isWithinThreshold.ts +3 -2
  248. package/src/tools/segmentation/strategies/utils/stackVolumeCheck.ts +33 -0
  249. package/src/types/LabelmapToolOperationData.ts +27 -0
  250. package/src/types/LabelmapTypes.ts +16 -1
  251. package/src/types/index.ts +8 -0
  252. package/src/utilities/math/ellipse/pointInEllipse.ts +43 -22
  253. package/dist/cjs/synchronizers/synchronizers/createStackImageSynchronizer.js +0 -15
  254. package/dist/cjs/synchronizers/synchronizers/createStackImageSynchronizer.js.map +0 -1
  255. package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +0 -1
  256. package/dist/esm/synchronizers/synchronizers/createStackImageSynchronizer.js +0 -9
  257. package/dist/esm/synchronizers/synchronizers/createStackImageSynchronizer.js.map +0 -1
  258. package/dist/types/synchronizers/callbacks/stackImageSyncCallback.d.ts.map +0 -1
  259. package/dist/types/synchronizers/synchronizers/createStackImageSynchronizer.d.ts +0 -3
  260. package/dist/types/synchronizers/synchronizers/createStackImageSynchronizer.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ declare function getStrategyData({ operationData, viewport }: {
2
+ operationData: any;
3
+ viewport: any;
4
+ }): {
5
+ segmentationImageData: any;
6
+ segmentationScalarData: any;
7
+ imageScalarData: any;
8
+ };
9
+ export { getStrategyData };
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStrategyData = void 0;
4
+ const core_1 = require("@cornerstonejs/core");
5
+ const stackVolumeCheck_1 = require("./stackVolumeCheck");
6
+ function getStrategyData({ operationData, viewport }) {
7
+ let segmentationImageData, segmentationScalarData, imageScalarData;
8
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(operationData)) {
9
+ const { volumeId, referencedVolumeId } = operationData;
10
+ const segmentationVolume = core_1.cache.getVolume(volumeId);
11
+ const imageVolume = core_1.cache.getVolume(referencedVolumeId);
12
+ if (!segmentationVolume || !imageVolume) {
13
+ return;
14
+ }
15
+ ({ imageData: segmentationImageData } = segmentationVolume);
16
+ segmentationScalarData = segmentationVolume.getScalarData();
17
+ imageScalarData = imageVolume.getScalarData();
18
+ }
19
+ else {
20
+ const { imageIdReferenceMap, segmentationRepresentationUID } = operationData;
21
+ if (!imageIdReferenceMap) {
22
+ return;
23
+ }
24
+ const currentImageId = viewport.getCurrentImageId();
25
+ if (!currentImageId) {
26
+ return;
27
+ }
28
+ const actor = viewport.getActor(segmentationRepresentationUID);
29
+ segmentationImageData = actor.actor.getMapper().getInputData();
30
+ const currentSegmentationImageId = imageIdReferenceMap.get(currentImageId);
31
+ const segmentationImage = core_1.cache.getImage(currentSegmentationImageId);
32
+ segmentationScalarData = segmentationImage.getPixelData();
33
+ const image = core_1.cache.getImage(currentImageId);
34
+ imageScalarData = image.getPixelData();
35
+ }
36
+ return {
37
+ segmentationImageData,
38
+ segmentationScalarData,
39
+ imageScalarData,
40
+ };
41
+ }
42
+ exports.getStrategyData = getStrategyData;
43
+ //# sourceMappingURL=getStrategyData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStrategyData.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/getStrategyData.ts"],"names":[],"mappings":";;;AAAA,8CAA4C;AAC5C,yDAA0D;AAG1D,SAAS,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClD,IAAI,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,CAAC;IACnE,IAAI,IAAA,uCAAoB,EAAC,aAAa,CAAC,EAAE;QACvC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;QAEvD,MAAM,kBAAkB,GAAG,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,YAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,CAAC,kBAAkB,IAAI,CAAC,WAAW,EAAE;YACvC,OAAO;SACR;QAED,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAAC,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC5D,eAAe,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;KAC/C;SAAM;QACL,MAAM,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,GAC1D,aAA+C,CAAC;QAElD,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QAKD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC/D,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QAC/D,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,iBAAiB,GAAG,YAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACrE,sBAAsB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAE1D,MAAM,KAAK,GAAG,YAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAK7C,eAAe,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;KACxC;IAED,OAAO;QACL,qBAAqB;QACrB,sBAAsB;QACtB,eAAe;KAChB,CAAC;AACJ,CAAC;AAEQ,0CAAe"}
@@ -1,3 +1,3 @@
1
- import { Types } from '@cornerstonejs/core';
2
- declare function isWithinThreshold(index: number, imageVolume: Types.IImageVolume, strategySpecificConfiguration: any): boolean;
1
+ import { TypedArray } from '@kitware/vtk.js/types';
2
+ declare function isWithinThreshold(index: number, imageScalarData: TypedArray, strategySpecificConfiguration: any): boolean;
3
3
  export default isWithinThreshold;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- function isWithinThreshold(index, imageVolume, strategySpecificConfiguration) {
3
+ function isWithinThreshold(index, imageScalarData, strategySpecificConfiguration) {
4
4
  const { THRESHOLD_INSIDE_CIRCLE } = strategySpecificConfiguration;
5
- const voxelValue = imageVolume.getScalarData()[index];
5
+ const voxelValue = imageScalarData[index];
6
6
  const { threshold } = THRESHOLD_INSIDE_CIRCLE;
7
7
  return threshold[0] <= voxelValue && voxelValue <= threshold[1];
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"isWithinThreshold.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/isWithinThreshold.ts"],"names":[],"mappings":";;AAEA,SAAS,iBAAiB,CACxB,KAAa,EACb,WAA+B,EAC/B,6BAAkC;IAElC,MAAM,EAAE,uBAAuB,EAAE,GAAG,6BAA6B,CAAC;IAElE,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,EAAE,SAAS,EAAE,GAAG,uBAAuB,CAAC;IAE9C,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"isWithinThreshold.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/isWithinThreshold.ts"],"names":[],"mappings":";;AAGA,SAAS,iBAAiB,CACxB,KAAa,EACb,eAA2B,EAC3B,6BAAkC;IAElC,MAAM,EAAE,uBAAuB,EAAE,GAAG,6BAA6B,CAAC;IAElE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,uBAAuB,CAAC;IAE9C,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { LabelmapSegmentationData, LabelmapSegmentationDataStack, LabelmapSegmentationDataVolume } from '../../../../types/LabelmapTypes';
2
+ import { LabelmapToolOperationData, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume } from '../../../../types';
3
+ declare function isStackSegmentation(operationData: LabelmapToolOperationData | LabelmapSegmentationData): operationData is LabelmapToolOperationDataStack | LabelmapSegmentationDataStack;
4
+ declare function isVolumeSegmentation(operationData: LabelmapToolOperationData | LabelmapSegmentationData): operationData is LabelmapToolOperationDataVolume | LabelmapSegmentationDataVolume;
5
+ export { isStackSegmentation, isVolumeSegmentation };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isVolumeSegmentation = exports.isStackSegmentation = void 0;
4
+ function isStackSegmentation(operationData) {
5
+ return (operationData.imageIdReferenceMap !==
6
+ undefined);
7
+ }
8
+ exports.isStackSegmentation = isStackSegmentation;
9
+ function isVolumeSegmentation(operationData) {
10
+ return (operationData.volumeId !== undefined);
11
+ }
12
+ exports.isVolumeSegmentation = isVolumeSegmentation;
13
+ //# sourceMappingURL=stackVolumeCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stackVolumeCheck.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/stackVolumeCheck.ts"],"names":[],"mappings":";;;AAWA,SAAS,mBAAmB,CAC1B,aAAmE;IAInE,OAAO,CACJ,aAAgD,CAAC,mBAAmB;QACrE,SAAS,CACV,CAAC;AACJ,CAAC;AAYQ,kDAAmB;AAV5B,SAAS,oBAAoB,CAC3B,aAAmE;IAInE,OAAO,CACJ,aAAiD,CAAC,QAAQ,KAAK,SAAS,CAC1E,CAAC;AACJ,CAAC;AAE6B,oDAAoB"}
@@ -0,0 +1,14 @@
1
+ import { LabelmapSegmentationDataStack, LabelmapSegmentationDataVolume } from './LabelmapTypes';
2
+ declare type LabelmapToolOperationData = {
3
+ segmentationId: string;
4
+ segmentIndex: number;
5
+ segmentsLocked: number[];
6
+ viewPlaneNormal: number[];
7
+ viewUp: number[];
8
+ strategySpecificConfiguration: any;
9
+ constraintFn: (pointIJK: number) => boolean;
10
+ segmentationRepresentationUID: string;
11
+ };
12
+ declare type LabelmapToolOperationDataStack = LabelmapToolOperationData & LabelmapSegmentationDataStack;
13
+ declare type LabelmapToolOperationDataVolume = LabelmapToolOperationData & LabelmapSegmentationDataVolume;
14
+ export { LabelmapToolOperationData, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume, };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LabelmapToolOperationData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelmapToolOperationData.js","sourceRoot":"","sources":["../../../src/types/LabelmapToolOperationData.ts"],"names":[],"mappings":""}
@@ -15,7 +15,11 @@ export declare type LabelmapRenderingConfig = {
15
15
  cfun?: vtkColorTransferFunction;
16
16
  ofun?: vtkPiecewiseFunction;
17
17
  };
18
- export declare type LabelmapSegmentationData = {
18
+ export declare type LabelmapSegmentationDataVolume = {
19
19
  volumeId: string;
20
20
  referencedVolumeId?: string;
21
21
  };
22
+ export declare type LabelmapSegmentationDataStack = {
23
+ imageIdReferenceMap: Map<string, string>;
24
+ };
25
+ export declare type LabelmapSegmentationData = LabelmapSegmentationDataVolume | LabelmapSegmentationDataStack;
@@ -28,4 +28,5 @@ import type { ContourSegmentationData } from './ContourTypes';
28
28
  import type IAnnotationManager from './IAnnotationManager';
29
29
  import type AnnotationGroupSelector from './AnnotationGroupSelector';
30
30
  import type { Statistics } from './CalculatorTypes';
31
- export type { Annotation, Annotations, IAnnotationManager, GroupSpecificAnnotations, AnnotationState, AnnotationStyle, ToolSpecificAnnotationTypes, JumpToSliceOptions, AnnotationGroupSelector, PlanarBoundingBox, ToolProps, PublicToolProps, ToolConfiguration, EventTypes, IPoints, ITouchPoints, IDistance, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, ToolAction, IToolGroup, IToolClassReference, ISynchronizerEventHandler, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificContourRepresentation, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, Color, ColorLUT, LabelmapTypes, SVGCursorDescriptor, SVGPoint, ScrollOptions, CINETypes, BoundsIJK, SVGDrawingHelper, FloodFillResult, FloodFillGetter, FloodFillOptions, ContourSegmentationData, Statistics, };
31
+ import { LabelmapToolOperationData, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume } from './LabelmapToolOperationData';
32
+ export type { Annotation, Annotations, IAnnotationManager, GroupSpecificAnnotations, AnnotationState, AnnotationStyle, ToolSpecificAnnotationTypes, JumpToSliceOptions, AnnotationGroupSelector, PlanarBoundingBox, ToolProps, PublicToolProps, ToolConfiguration, EventTypes, IPoints, ITouchPoints, IDistance, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, ToolAction, IToolGroup, IToolClassReference, ISynchronizerEventHandler, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificContourRepresentation, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, Color, ColorLUT, LabelmapTypes, SVGCursorDescriptor, SVGPoint, ScrollOptions, CINETypes, BoundsIJK, SVGDrawingHelper, FloodFillResult, FloodFillGetter, FloodFillOptions, ContourSegmentationData, Statistics, LabelmapToolOperationData, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume, };
@@ -1,10 +1,8 @@
1
- import type { Types } from '@cornerstonejs/core';
2
- import { vec3 } from 'gl-matrix';
3
- declare type Ellipse = {
4
- center: Types.Point3;
5
- xRadius: number;
6
- yRadius: number;
7
- zRadius: number;
8
- };
9
- export default function pointInEllipse(ellipse: Ellipse, pointLPS: vec3): boolean;
1
+ interface Inverts {
2
+ invXRadiusSq?: number;
3
+ invYRadiusSq?: number;
4
+ invZRadiusSq?: number;
5
+ fast?: boolean;
6
+ }
7
+ export default function pointInEllipse(ellipse: any, pointLPS: any, inverts?: Inverts): boolean;
10
8
  export {};
@@ -1,19 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- function pointInEllipse(ellipse, pointLPS) {
4
- const { center: circleCenterWorld, xRadius, yRadius, zRadius } = ellipse;
5
- const [x, y, z] = pointLPS;
6
- const [x0, y0, z0] = circleCenterWorld;
7
- let inside = 0;
8
- if (xRadius !== 0) {
9
- inside += ((x - x0) * (x - x0)) / (xRadius * xRadius);
3
+ function pointInEllipse(ellipse, pointLPS, inverts = {}) {
4
+ const { center, xRadius, yRadius, zRadius } = ellipse;
5
+ if (inverts.invXRadiusSq === undefined ||
6
+ inverts.invYRadiusSq === undefined ||
7
+ inverts.invZRadiusSq === undefined) {
8
+ inverts.invXRadiusSq = xRadius !== 0 ? 1 / Math.pow(xRadius, 2) : 0;
9
+ inverts.invYRadiusSq = yRadius !== 0 ? 1 / Math.pow(yRadius, 2) : 0;
10
+ inverts.invZRadiusSq = zRadius !== 0 ? 1 / Math.pow(zRadius, 2) : 0;
10
11
  }
11
- if (yRadius !== 0) {
12
- inside += ((y - y0) * (y - y0)) / (yRadius * yRadius);
12
+ let inside = 0;
13
+ const dx = pointLPS[0] - center[0];
14
+ inside += dx * dx * inverts.invXRadiusSq;
15
+ if (inside > 1) {
16
+ return false;
13
17
  }
14
- if (zRadius !== 0) {
15
- inside += ((z - z0) * (z - z0)) / (zRadius * zRadius);
18
+ const dy = pointLPS[1] - center[1];
19
+ inside += dy * dy * inverts.invYRadiusSq;
20
+ if (inside > 1) {
21
+ return false;
16
22
  }
23
+ const dz = pointLPS[2] - center[2];
24
+ inside += dz * dz * inverts.invZRadiusSq;
17
25
  return inside <= 1;
18
26
  }
19
27
  exports.default = pointInEllipse;
@@ -1 +1 @@
1
- {"version":3,"file":"pointInEllipse.js","sourceRoot":"","sources":["../../../../../src/utilities/math/ellipse/pointInEllipse.ts"],"names":[],"mappings":";;AAgBA,SAAwB,cAAc,CACpC,OAAgB,EAChB,QAAc;IAEd,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACzE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC;IAEvC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;KACvD;IAED,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;KACvD;IAED,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;KACvD;IAED,OAAO,MAAM,IAAI,CAAC,CAAC;AACrB,CAAC;AAtBD,iCAsBC"}
1
+ {"version":3,"file":"pointInEllipse.js","sourceRoot":"","sources":["../../../../../src/utilities/math/ellipse/pointInEllipse.ts"],"names":[],"mappings":";;AAoBA,SAAwB,cAAc,CACpC,OAAO,EACP,QAAQ,EACR,UAAmB,EAAE;IAErB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAItD,IACE,OAAO,CAAC,YAAY,KAAK,SAAS;QAClC,OAAO,CAAC,YAAY,KAAK,SAAS;QAClC,OAAO,CAAC,YAAY,KAAK,SAAS,EAClC;QACA,OAAO,CAAC,YAAY,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAA,OAAO,EAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,YAAY,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAA,OAAO,EAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,YAAY,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAA,OAAO,EAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7D;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAGzC,OAAO,MAAM,IAAI,CAAC,CAAC;AACrB,CAAC;AAvCD,iCAuCC"}
@@ -2,7 +2,7 @@ import mouseEventListeners from './mouse';
2
2
  import touchEventListeners from './touch';
3
3
  import wheelEventListener from './wheel';
4
4
  import keyEventListener from './keyboard';
5
- import { segmentationDataModifiedEventListener, segmentationRepresentationModifiedEventListener, segmentationRepresentationRemovedEventListener, segmentationModifiedListener, } from './segmentation';
5
+ import { segmentationDataModifiedEventListener, segmentationRepresentationModifiedEventListener, segmentationRepresentationRemovedEventListener, segmentationModifiedListener, imageChangeEventListener, } from './segmentation';
6
6
  import { annotationSelectionListener, annotationModifiedListener, } from './annotations';
7
- export { mouseEventListeners, touchEventListeners, wheelEventListener, keyEventListener, segmentationRepresentationModifiedEventListener, segmentationModifiedListener, segmentationRepresentationRemovedEventListener, segmentationDataModifiedEventListener, annotationSelectionListener, annotationModifiedListener, };
7
+ export { mouseEventListeners, touchEventListeners, wheelEventListener, keyEventListener, segmentationRepresentationModifiedEventListener, segmentationModifiedListener, segmentationRepresentationRemovedEventListener, segmentationDataModifiedEventListener, imageChangeEventListener, annotationSelectionListener, annotationModifiedListener, };
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/eventListeners/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,SAAS,CAAC;AAC1C,OAAO,mBAAmB,MAAM,SAAS,CAAC;AAC1C,OAAO,kBAAkB,MAAM,SAAS,CAAC;AACzC,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,qCAAqC,EACrC,+CAA+C,EAC/C,8CAA8C,EAC9C,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,+CAA+C,EAC/C,4BAA4B,EAC5B,8CAA8C,EAC9C,qCAAqC,EACrC,2BAA2B,EAC3B,0BAA0B,GAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/eventListeners/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,SAAS,CAAC;AAC1C,OAAO,mBAAmB,MAAM,SAAS,CAAC;AAC1C,OAAO,kBAAkB,MAAM,SAAS,CAAC;AACzC,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,qCAAqC,EACrC,+CAA+C,EAC/C,8CAA8C,EAC9C,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,+CAA+C,EAC/C,4BAA4B,EAC5B,8CAA8C,EAC9C,qCAAqC,EACrC,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,GAC3B,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { StackViewport, getEnabledElement, Enums, getEnabledElementByIds, cache, utilities, } from '@cornerstonejs/core';
2
+ import { getToolGroupForViewport } from '../../store/ToolGroupManager';
3
+ import Representations from '../../enums/SegmentationRepresentations';
4
+ import * as SegmentationState from '../../stateManagement/segmentation/segmentationState';
5
+ import { isVolumeSegmentation } from '../../tools/segmentation/strategies/utils/stackVolumeCheck';
6
+ import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
7
+ import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
8
+ import triggerSegmentationRender from '../../utilities/segmentation/triggerSegmentationRender';
9
+ const enable = function (element) {
10
+ const { viewport } = getEnabledElement(element);
11
+ if (!(viewport instanceof StackViewport)) {
12
+ return;
13
+ }
14
+ element.addEventListener(Enums.Events.STACK_NEW_IMAGE, _imageChangeEventListener);
15
+ element.addEventListener(Enums.Events.IMAGE_RENDERED, _imageChangeEventListener);
16
+ };
17
+ const disable = function (element) {
18
+ const { viewport } = getEnabledElement(element);
19
+ if (!(viewport instanceof StackViewport)) {
20
+ return;
21
+ }
22
+ element.removeEventListener(Enums.Events.STACK_NEW_IMAGE, _imageChangeEventListener);
23
+ element.removeEventListener(Enums.Events.IMAGE_RENDERED, _imageChangeEventListener);
24
+ };
25
+ function _imageChangeEventListener(evt) {
26
+ const eventData = evt.detail;
27
+ const { viewportId, renderingEngineId } = eventData;
28
+ const { viewport } = getEnabledElementByIds(viewportId, renderingEngineId);
29
+ const toolGroup = getToolGroupForViewport(viewportId, renderingEngineId);
30
+ let toolGroupSegmentationRepresentations = SegmentationState.getSegmentationRepresentations(toolGroup.id) || [];
31
+ toolGroupSegmentationRepresentations =
32
+ toolGroupSegmentationRepresentations.filter((representation) => representation.type === Representations.Labelmap);
33
+ if (!toolGroupSegmentationRepresentations?.length) {
34
+ return;
35
+ }
36
+ const segmentationRepresentations = {};
37
+ toolGroupSegmentationRepresentations.forEach((representation) => {
38
+ const segmentation = SegmentationState.getSegmentation(representation.segmentationId);
39
+ if (!segmentation) {
40
+ return;
41
+ }
42
+ const labelmapData = segmentation.representationData[Representations.Labelmap];
43
+ if (isVolumeSegmentation(labelmapData)) {
44
+ return;
45
+ }
46
+ const { imageIdReferenceMap } = labelmapData;
47
+ segmentationRepresentations[representation.segmentationRepresentationUID] =
48
+ {
49
+ imageIdReferenceMap,
50
+ };
51
+ });
52
+ const representationList = Object.keys(segmentationRepresentations);
53
+ const currentImageId = viewport.getCurrentImageId();
54
+ const actors = viewport.getActors();
55
+ actors.forEach((actor) => {
56
+ if (!representationList.includes(actor.uid)) {
57
+ return;
58
+ }
59
+ const segmentationActor = actor.actor;
60
+ const { imageIdReferenceMap } = segmentationRepresentations[actor.uid];
61
+ const derivedImageId = imageIdReferenceMap.get(currentImageId);
62
+ const segmentationImageData = segmentationActor.getMapper().getInputData();
63
+ if (!derivedImageId) {
64
+ const scalarArray = vtkDataArray.newInstance({
65
+ name: 'Pixels',
66
+ numberOfComponents: 1,
67
+ values: new Uint8Array(segmentationImageData.getNumberOfPoints()),
68
+ });
69
+ const imageData = vtkImageData.newInstance();
70
+ imageData.getPointData().setScalars(scalarArray);
71
+ segmentationActor.getMapper().setInputData(imageData);
72
+ return;
73
+ }
74
+ const derivedImage = cache.getImage(derivedImageId);
75
+ const { origin, dimensions, spacing, direction } = viewport.getImageDataMetadata(derivedImage);
76
+ segmentationImageData.setOrigin(origin);
77
+ segmentationImageData.modified();
78
+ if (segmentationImageData.getDimensions()[0] !== dimensions[0] ||
79
+ segmentationImageData.getDimensions()[1] !== dimensions[1]) {
80
+ viewport.removeActors([actor.uid]);
81
+ viewport.addImages([
82
+ {
83
+ imageId: derivedImageId,
84
+ actorUID: actor.uid,
85
+ callback: ({ imageActor }) => {
86
+ const scalarArray = vtkDataArray.newInstance({
87
+ name: 'Pixels',
88
+ numberOfComponents: 1,
89
+ values: [...derivedImage.getPixelData()],
90
+ });
91
+ const imageData = vtkImageData.newInstance();
92
+ imageData.setDimensions(dimensions[0], dimensions[1], 1);
93
+ imageData.setSpacing(spacing);
94
+ imageData.setDirection(direction);
95
+ imageData.setOrigin(origin);
96
+ imageData.getPointData().setScalars(scalarArray);
97
+ imageActor.getMapper().setInputData(imageData);
98
+ },
99
+ },
100
+ ], true, false);
101
+ triggerSegmentationRender(toolGroup.id);
102
+ return;
103
+ }
104
+ utilities.updateVTKImageDataWithCornerstoneImage(segmentationImageData, derivedImage);
105
+ viewport.render();
106
+ if (evt.type === Enums.Events.IMAGE_RENDERED) {
107
+ viewport.element.removeEventListener(Enums.Events.IMAGE_RENDERED, _imageChangeEventListener);
108
+ }
109
+ });
110
+ }
111
+ export default {
112
+ enable,
113
+ disable,
114
+ };
115
+ //# sourceMappingURL=imageChangeEventListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageChangeEventListener.js","sourceRoot":"","sources":["../../../../src/eventListeners/segmentation/imageChangeEventListener.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import segmentationRepresentationModifiedEventListener from './segmentationRepre
2
2
  import segmentationDataModifiedEventListener from './segmentationDataModifiedEventListener';
3
3
  import segmentationRepresentationRemovedEventListener from './segmentationRepresentationRemovedEventListener';
4
4
  import segmentationModifiedListener from './segmentationModifiedEventListener';
5
- export { segmentationRepresentationModifiedEventListener, segmentationDataModifiedEventListener, segmentationRepresentationRemovedEventListener, segmentationModifiedListener, };
5
+ import imageChangeEventListener from './imageChangeEventListener';
6
+ export { segmentationRepresentationModifiedEventListener, segmentationDataModifiedEventListener, segmentationRepresentationRemovedEventListener, segmentationModifiedListener, imageChangeEventListener, };
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/eventListeners/segmentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,+CAA+C,MAAM,mDAAmD,CAAC;AAChH,OAAO,qCAAqC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,8CAA8C,MAAM,kDAAkD,CAAC;AAC9G,OAAO,4BAA4B,MAAM,qCAAqC,CAAC;AAE/E,OAAO,EACL,+CAA+C,EAC/C,qCAAqC,EACrC,8CAA8C,EAC9C,4BAA4B,GAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/eventListeners/segmentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,+CAA+C,MAAM,mDAAmD,CAAC;AAChH,OAAO,qCAAqC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,8CAA8C,MAAM,kDAAkD,CAAC;AAC9G,OAAO,4BAA4B,MAAM,qCAAqC,CAAC;AAC/E,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACL,+CAA+C,EAC/C,qCAAqC,EACrC,8CAA8C,EAC9C,4BAA4B,EAC5B,wBAAwB,GACzB,CAAC"}
@@ -1,12 +1,17 @@
1
- import { cache } from '@cornerstonejs/core';
1
+ import { cache, getEnabledElementByIds, utilities as csUtils, } from '@cornerstonejs/core';
2
2
  import triggerSegmentationRender from '../../utilities/segmentation/triggerSegmentationRender';
3
3
  import SegmentationRepresentations from '../../enums/SegmentationRepresentations';
4
4
  import * as SegmentationState from '../../stateManagement/segmentation/segmentationState';
5
+ import { isVolumeSegmentation } from '../../tools/segmentation/strategies/utils/stackVolumeCheck';
6
+ import { getToolGroup } from '../../store/ToolGroupManager';
5
7
  const onSegmentationDataModified = function (evt) {
6
8
  const { segmentationId, modifiedSlicesToUse } = evt.detail;
7
9
  const { representationData, type } = SegmentationState.getSegmentation(segmentationId);
8
- let toolGroupIds;
9
- if (type === SegmentationRepresentations.Labelmap) {
10
+ const toolGroupIds = SegmentationState.getToolGroupIdsWithSegmentation(segmentationId);
11
+ if (type !== SegmentationRepresentations.Labelmap) {
12
+ throw new Error(`onSegmentationDataModified: representationType ${type} not supported yet`);
13
+ }
14
+ if (isVolumeSegmentation(representationData[type])) {
10
15
  const segmentationVolume = cache.getVolume(representationData[type].volumeId);
11
16
  if (!segmentationVolume) {
12
17
  console.warn('segmentation not found in cache');
@@ -25,11 +30,32 @@ const onSegmentationDataModified = function (evt) {
25
30
  vtkOpenGLTexture.setUpdatedFrame(i);
26
31
  });
27
32
  imageData.modified();
28
- toolGroupIds =
29
- SegmentationState.getToolGroupIdsWithSegmentation(segmentationId);
30
33
  }
31
34
  else {
32
- throw new Error(`onSegmentationDataModified: representationType ${type} not supported yet`);
35
+ toolGroupIds.forEach((toolGroupId) => {
36
+ const toolGroupSegmentationRepresentations = SegmentationState.getSegmentationRepresentations(toolGroupId);
37
+ const toolGroup = getToolGroup(toolGroupId);
38
+ const viewportsInfo = toolGroup.getViewportsInfo();
39
+ toolGroupSegmentationRepresentations.forEach((representation) => {
40
+ if (representation.segmentationId !== segmentationId) {
41
+ return;
42
+ }
43
+ viewportsInfo.forEach(({ viewportId, renderingEngineId }) => {
44
+ const viewport = getEnabledElementByIds(viewportId, renderingEngineId).viewport;
45
+ const actorEntry = viewport.getActor(representation.segmentationRepresentationUID);
46
+ if (!actorEntry) {
47
+ return;
48
+ }
49
+ const currentImageId = viewport.getCurrentImageId();
50
+ const segImageData = actorEntry.actor.getMapper().getInputData();
51
+ const { imageIdReferenceMap } = representationData[type];
52
+ const currentSegmentationImageId = imageIdReferenceMap.get(currentImageId);
53
+ const segmentationImage = cache.getImage(currentSegmentationImageId);
54
+ segImageData.modified();
55
+ csUtils.updateVTKImageDataWithCornerstoneImage(segImageData, segmentationImage);
56
+ });
57
+ });
58
+ });
33
59
  }
34
60
  toolGroupIds.forEach((toolGroupId) => {
35
61
  triggerSegmentationRender(toolGroupId);
@@ -1 +1 @@
1
- {"version":3,"file":"segmentationDataModifiedEventListener.js","sourceRoot":"","sources":["../../../../src/eventListeners/segmentation/segmentationDataModifiedEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,yBAAyB,MAAM,wDAAwD,CAAC;AAC/F,OAAO,2BAA2B,MAAM,yCAAyC,CAAC;AAClF,OAAO,KAAK,iBAAiB,MAAM,sDAAsD,CAAC;AAM1F,MAAM,0BAA0B,GAAG,UACjC,GAAsC;IAEtC,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE3D,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAChC,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAEpD,IAAI,YAAY,CAAC;IACjB,IAAI,IAAI,KAAK,2BAA2B,CAAC,QAAQ,EAAE;QAEjD,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS,CACxC,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAClC,CAAC;QAEF,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAChD,OAAO;SACR;QAED,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;QAG3D,IAAI,cAAc,CAAC;QACnB,IAAI,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;YAC7D,cAAc,GAAG,mBAAmB,CAAC;SACtC;aAAM;YACL,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/C;QAED,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAGH,SAAS,CAAC,QAAQ,EAAE,CAAC;QACrB,YAAY;YACV,iBAAiB,CAAC,+BAA+B,CAAC,cAAc,CAAC,CAAC;KACrE;SAAM;QACL,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,oBAAoB,CAC3E,CAAC;KACH;IAED,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACnC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"segmentationDataModifiedEventListener.js","sourceRoot":"","sources":["../../../../src/eventListeners/segmentation/segmentationDataModifiedEventListener.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ class Synchronizer {
29
29
  this._sourceViewports = [];
30
30
  this._targetViewports = [];
31
31
  this._options = options || {};
32
+ this._auxiliaryEventNames = this._options.auxiliaryEventNames || [];
32
33
  this.id = synchronizerId;
33
34
  }
34
35
  isDisabled() {
@@ -49,8 +50,18 @@ class Synchronizer {
49
50
  return;
50
51
  }
51
52
  const { renderingEngineId, viewportId } = viewportInfo;
52
- const { element } = getRenderingEngine(renderingEngineId).getViewport(viewportId);
53
+ const viewport = getRenderingEngine(renderingEngineId).getViewport(viewportId);
54
+ if (!viewport) {
55
+ console.warn(`Synchronizer.addSource: No viewport for ${renderingEngineId} ${viewportId}`);
56
+ return;
57
+ }
58
+ const element = viewport.element;
53
59
  element.addEventListener(this._eventName, this._onEvent.bind(this));
60
+ if (this._auxiliaryEventNames.length) {
61
+ this._auxiliaryEventNames.forEach((eventName) => {
62
+ element.addEventListener(eventName, this._onEvent.bind(this));
63
+ });
64
+ }
54
65
  this._updateDisableHandlers();
55
66
  this._sourceViewports.push(viewportInfo);
56
67
  }
@@ -83,6 +94,11 @@ class Synchronizer {
83
94
  const element = _getViewportElement(viewportInfo);
84
95
  this._sourceViewports.splice(index, 1);
85
96
  element.removeEventListener(this._eventName, this._eventHandler);
97
+ if (this._auxiliaryEventNames) {
98
+ this._auxiliaryEventNames.forEach((eventName) => {
99
+ element.removeEventListener(eventName, this._eventHandler);
100
+ });
101
+ }
86
102
  this._updateDisableHandlers();
87
103
  }
88
104
  removeTarget(viewportInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"Synchronizer.js","sourceRoot":"","sources":["../../../../src/store/SynchronizerManager/Synchronizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Synchronizer.js","sourceRoot":"","sources":["../../../../src/store/SynchronizerManager/Synchronizer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { mouseEventListeners, wheelEventListener, touchEventListeners, keyEventListener, } from '../eventListeners';
1
+ import { mouseEventListeners, wheelEventListener, touchEventListeners, keyEventListener, imageChangeEventListener, } from '../eventListeners';
2
2
  import { imageRenderedEventDispatcher, cameraModifiedEventDispatcher, mouseToolEventDispatcher, touchToolEventDispatcher, keyboardToolEventDispatcher, imageSpacingCalibratedEventDispatcher, } from '../eventDispatchers';
3
3
  import { state } from './state';
4
4
  import { annotationRenderingEngine } from '../utilities/triggerAnnotationRender';
@@ -12,6 +12,7 @@ export default function addEnabledElement(evt) {
12
12
  wheelEventListener.enable(element);
13
13
  touchEventListeners.enable(element);
14
14
  keyEventListener.enable(element);
15
+ imageChangeEventListener.enable(element);
15
16
  imageRenderedEventDispatcher.enable(element);
16
17
  cameraModifiedEventDispatcher.enable(element);
17
18
  imageSpacingCalibratedEventDispatcher.enable(element);
@@ -1 +1 @@
1
- {"version":3,"file":"addEnabledElement.js","sourceRoot":"","sources":["../../../src/store/addEnabledElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addEnabledElement.js","sourceRoot":"","sources":["../../../src/store/addEnabledElement.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { removeAnnotation } from '../stateManagement';
9
9
  import getSynchronizersForViewport from './SynchronizerManager/getSynchronizersForViewport';
10
10
  import getToolGroupForViewport from './ToolGroupManager/getToolGroupForViewport';
11
11
  import { annotationRenderingEngine } from '../utilities/triggerAnnotationRender';
12
+ import imageChangeEventListener from '../eventListeners/segmentation/imageChangeEventListener';
12
13
  const VIEWPORT_ELEMENT = 'viewport-element';
13
14
  function removeEnabledElement(elementDisabledEvt) {
14
15
  const { element, viewportId } = elementDisabledEvt.detail;
@@ -19,6 +20,7 @@ function removeEnabledElement(elementDisabledEvt) {
19
20
  wheelEventListener.disable(element);
20
21
  touchEventListeners.disable(element);
21
22
  keyEventListener.disable(element);
23
+ imageChangeEventListener.disable(element);
22
24
  imageRenderedEventDispatcher.disable(element);
23
25
  cameraModifiedEventDispatcher.disable(element);
24
26
  imageSpacingCalibratedEventDispatcher.disable(element);