@cornerstonejs/tools 1.51.5 → 1.53.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 (339) hide show
  1. package/dist/cjs/drawingSvg/drawPath.d.ts +11 -0
  2. package/dist/cjs/drawingSvg/drawPath.js +55 -0
  3. package/dist/cjs/drawingSvg/drawPath.js.map +1 -0
  4. package/dist/cjs/drawingSvg/drawPolyline.d.ts +1 -1
  5. package/dist/cjs/drawingSvg/drawPolyline.js +3 -11
  6. package/dist/cjs/drawingSvg/drawPolyline.js.map +1 -1
  7. package/dist/cjs/drawingSvg/index.d.ts +2 -1
  8. package/dist/cjs/drawingSvg/index.js +3 -1
  9. package/dist/cjs/drawingSvg/index.js.map +1 -1
  10. package/dist/cjs/enums/ChangeTypes.d.ts +2 -1
  11. package/dist/cjs/enums/ChangeTypes.js +1 -0
  12. package/dist/cjs/enums/ChangeTypes.js.map +1 -1
  13. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
  14. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
  15. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  16. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +1 -1
  17. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +165 -78
  18. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
  19. package/dist/cjs/stateManagement/annotation/annotationState.d.ts +6 -1
  20. package/dist/cjs/stateManagement/annotation/annotationState.js +49 -1
  21. package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
  22. package/dist/cjs/stateManagement/annotation/helpers/state.d.ts +4 -2
  23. package/dist/cjs/stateManagement/annotation/helpers/state.js +16 -4
  24. package/dist/cjs/stateManagement/annotation/helpers/state.js.map +1 -1
  25. package/dist/cjs/stateManagement/index.d.ts +6 -1
  26. package/dist/cjs/stateManagement/index.js +6 -1
  27. package/dist/cjs/stateManagement/index.js.map +1 -1
  28. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +3 -1
  29. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +3 -2
  30. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  31. package/dist/cjs/tools/SegmentationIntersectionTool.js +1 -1
  32. package/dist/cjs/tools/SegmentationIntersectionTool.js.map +1 -1
  33. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.d.ts +4 -0
  34. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js +82 -0
  35. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js.map +1 -1
  36. package/dist/cjs/tools/annotation/LivewireContourTool.d.ts +13 -11
  37. package/dist/cjs/tools/annotation/LivewireContourTool.js +78 -65
  38. package/dist/cjs/tools/annotation/LivewireContourTool.js.map +1 -1
  39. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +3 -1
  40. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  41. package/dist/cjs/tools/annotation/SplineROITool.d.ts +6 -3
  42. package/dist/cjs/tools/annotation/SplineROITool.js +40 -21
  43. package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -1
  44. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +12 -7
  45. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  46. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +24 -18
  47. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  48. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +16 -10
  49. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  50. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js +19 -7
  51. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  52. package/dist/cjs/tools/annotation/splines/LinearSpline.js +1 -1
  53. package/dist/cjs/tools/annotation/splines/LinearSpline.js.map +1 -1
  54. package/dist/cjs/tools/annotation/splines/Spline.d.ts +2 -0
  55. package/dist/cjs/tools/annotation/splines/Spline.js +7 -3
  56. package/dist/cjs/tools/annotation/splines/Spline.js.map +1 -1
  57. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  58. package/dist/cjs/tools/base/ContourBaseTool.d.ts +1 -0
  59. package/dist/cjs/tools/base/ContourBaseTool.js +18 -1
  60. package/dist/cjs/tools/base/ContourBaseTool.js.map +1 -1
  61. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +4 -0
  62. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  63. package/dist/cjs/tools/displayTools/Contour/contourConfig.js +1 -0
  64. package/dist/cjs/tools/displayTools/Contour/contourConfig.js.map +1 -1
  65. package/dist/cjs/types/AnnotationTypes.d.ts +2 -0
  66. package/dist/cjs/types/ContourAnnotation.d.ts +6 -0
  67. package/dist/cjs/types/ContourAnnotation.js +7 -0
  68. package/dist/cjs/types/ContourAnnotation.js.map +1 -1
  69. package/dist/cjs/types/ContourSegmentationAnnotation.d.ts +8 -0
  70. package/dist/cjs/types/ContourTypes.d.ts +1 -0
  71. package/dist/cjs/types/EventTypes.d.ts +4 -1
  72. package/dist/cjs/types/ISpline.d.ts +1 -0
  73. package/dist/cjs/types/InterpolationTypes.d.ts +2 -0
  74. package/dist/cjs/types/SplineProps.d.ts +1 -0
  75. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +2 -5
  76. package/dist/cjs/utilities/contours/getContourHolesDataCanvas.d.ts +3 -0
  77. package/dist/cjs/utilities/contours/getContourHolesDataCanvas.js +21 -0
  78. package/dist/cjs/utilities/contours/getContourHolesDataCanvas.js.map +1 -0
  79. package/dist/cjs/utilities/contours/getContourHolesDataWorld.d.ts +3 -0
  80. package/dist/cjs/utilities/contours/getContourHolesDataWorld.js +10 -0
  81. package/dist/cjs/utilities/contours/getContourHolesDataWorld.js.map +1 -0
  82. package/dist/cjs/utilities/contours/index.d.ts +4 -1
  83. package/dist/cjs/utilities/contours/index.js +7 -1
  84. package/dist/cjs/utilities/contours/index.js.map +1 -1
  85. package/dist/cjs/utilities/contours/interpolation/acceptAutogeneratedInterpolations.js.map +1 -1
  86. package/dist/cjs/utilities/contours/interpolation/createPolylineToolData.js +2 -1
  87. package/dist/cjs/utilities/contours/interpolation/createPolylineToolData.js.map +1 -1
  88. package/dist/cjs/utilities/contours/interpolation/findAnnotationForInterpolation.js +2 -1
  89. package/dist/cjs/utilities/contours/interpolation/findAnnotationForInterpolation.js.map +1 -1
  90. package/dist/cjs/utilities/contours/interpolation/getInterpolationData.js +3 -1
  91. package/dist/cjs/utilities/contours/interpolation/getInterpolationData.js.map +1 -1
  92. package/dist/cjs/utilities/contours/interpolation/interpolate.d.ts +8 -0
  93. package/dist/cjs/utilities/contours/interpolation/interpolate.js +56 -42
  94. package/dist/cjs/utilities/contours/interpolation/interpolate.js.map +1 -1
  95. package/dist/cjs/utilities/contours/interpolation/selectHandles.d.ts +4 -0
  96. package/dist/cjs/utilities/contours/interpolation/selectHandles.js +170 -0
  97. package/dist/cjs/utilities/contours/interpolation/selectHandles.js.map +1 -0
  98. package/dist/cjs/utilities/contours/updateContourPolyline.d.ts +10 -0
  99. package/dist/cjs/utilities/contours/updateContourPolyline.js +64 -0
  100. package/dist/cjs/utilities/contours/updateContourPolyline.js.map +1 -0
  101. package/dist/cjs/utilities/livewire/LivewireScissors.d.ts +2 -1
  102. package/dist/cjs/utilities/livewire/LivewireScissors.js +46 -24
  103. package/dist/cjs/utilities/livewire/LivewireScissors.js.map +1 -1
  104. package/dist/cjs/utilities/math/polyline/containsPoints.d.ts +2 -0
  105. package/dist/cjs/utilities/math/polyline/containsPoints.js +16 -0
  106. package/dist/cjs/utilities/math/polyline/containsPoints.js.map +1 -0
  107. package/dist/cjs/utilities/math/polyline/getWindingDirection.d.ts +2 -0
  108. package/dist/cjs/utilities/math/polyline/getWindingDirection.js +12 -0
  109. package/dist/cjs/utilities/math/polyline/getWindingDirection.js.map +1 -0
  110. package/dist/cjs/utilities/math/polyline/index.d.ts +3 -1
  111. package/dist/cjs/utilities/math/polyline/index.js +5 -1
  112. package/dist/cjs/utilities/math/polyline/index.js.map +1 -1
  113. package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +1 -0
  114. package/dist/cjs/utilities/segmentation/InterpolationManager/InterpolationManager.js +13 -3
  115. package/dist/cjs/utilities/segmentation/InterpolationManager/InterpolationManager.js.map +1 -1
  116. package/dist/esm/drawingSvg/drawPath.js +49 -0
  117. package/dist/esm/drawingSvg/drawPath.js.map +1 -0
  118. package/dist/esm/drawingSvg/drawPolyline.js +3 -11
  119. package/dist/esm/drawingSvg/drawPolyline.js.map +1 -1
  120. package/dist/esm/drawingSvg/index.js +2 -1
  121. package/dist/esm/drawingSvg/index.js.map +1 -1
  122. package/dist/esm/enums/ChangeTypes.js +1 -0
  123. package/dist/esm/enums/ChangeTypes.js.map +1 -1
  124. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
  125. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
  126. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  127. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +106 -32
  128. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
  129. package/dist/esm/stateManagement/annotation/annotationState.js +42 -1
  130. package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
  131. package/dist/esm/stateManagement/annotation/helpers/state.js +15 -4
  132. package/dist/esm/stateManagement/annotation/helpers/state.js.map +1 -1
  133. package/dist/esm/stateManagement/index.js +2 -2
  134. package/dist/esm/stateManagement/index.js.map +1 -1
  135. package/dist/esm/store/ToolGroupManager/ToolGroup.js +3 -2
  136. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  137. package/dist/esm/tools/SegmentationIntersectionTool.js +1 -1
  138. package/dist/esm/tools/SegmentationIntersectionTool.js.map +1 -1
  139. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js +81 -0
  140. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js.map +1 -1
  141. package/dist/esm/tools/annotation/LivewireContourTool.js +80 -67
  142. package/dist/esm/tools/annotation/LivewireContourTool.js.map +1 -1
  143. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +3 -1
  144. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  145. package/dist/esm/tools/annotation/SplineROITool.js +40 -22
  146. package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
  147. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +12 -7
  148. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  149. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +25 -19
  150. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  151. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +16 -10
  152. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  153. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +20 -8
  154. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  155. package/dist/esm/tools/annotation/splines/LinearSpline.js +1 -1
  156. package/dist/esm/tools/annotation/splines/LinearSpline.js.map +1 -1
  157. package/dist/esm/tools/annotation/splines/Spline.js +5 -1
  158. package/dist/esm/tools/annotation/splines/Spline.js.map +1 -1
  159. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  160. package/dist/esm/tools/base/ContourBaseTool.js +20 -3
  161. package/dist/esm/tools/base/ContourBaseTool.js.map +1 -1
  162. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +4 -0
  163. package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  164. package/dist/esm/tools/displayTools/Contour/contourConfig.js +1 -0
  165. package/dist/esm/tools/displayTools/Contour/contourConfig.js.map +1 -1
  166. package/dist/esm/types/ContourAnnotation.js +6 -1
  167. package/dist/esm/types/ContourAnnotation.js.map +1 -1
  168. package/dist/esm/utilities/contours/getContourHolesDataCanvas.js +15 -0
  169. package/dist/esm/utilities/contours/getContourHolesDataCanvas.js.map +1 -0
  170. package/dist/esm/utilities/contours/getContourHolesDataWorld.js +6 -0
  171. package/dist/esm/utilities/contours/getContourHolesDataWorld.js.map +1 -0
  172. package/dist/esm/utilities/contours/index.js +4 -1
  173. package/dist/esm/utilities/contours/index.js.map +1 -1
  174. package/dist/esm/utilities/contours/interpolation/acceptAutogeneratedInterpolations.js.map +1 -1
  175. package/dist/esm/utilities/contours/interpolation/createPolylineToolData.js +2 -1
  176. package/dist/esm/utilities/contours/interpolation/createPolylineToolData.js.map +1 -1
  177. package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.js +2 -1
  178. package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.js.map +1 -1
  179. package/dist/esm/utilities/contours/interpolation/getInterpolationData.js +3 -1
  180. package/dist/esm/utilities/contours/interpolation/getInterpolationData.js.map +1 -1
  181. package/dist/esm/utilities/contours/interpolation/interpolate.js +57 -43
  182. package/dist/esm/utilities/contours/interpolation/interpolate.js.map +1 -1
  183. package/dist/esm/utilities/contours/interpolation/selectHandles.js +164 -0
  184. package/dist/esm/utilities/contours/interpolation/selectHandles.js.map +1 -0
  185. package/dist/esm/utilities/contours/updateContourPolyline.js +38 -0
  186. package/dist/esm/utilities/contours/updateContourPolyline.js.map +1 -0
  187. package/dist/esm/utilities/livewire/LivewireScissors.js +46 -24
  188. package/dist/esm/utilities/livewire/LivewireScissors.js.map +1 -1
  189. package/dist/esm/utilities/math/polyline/containsPoints.js +10 -0
  190. package/dist/esm/utilities/math/polyline/containsPoints.js.map +1 -0
  191. package/dist/esm/utilities/math/polyline/getWindingDirection.js +6 -0
  192. package/dist/esm/utilities/math/polyline/getWindingDirection.js.map +1 -0
  193. package/dist/esm/utilities/math/polyline/index.js +3 -1
  194. package/dist/esm/utilities/math/polyline/index.js.map +1 -1
  195. package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.js +13 -3
  196. package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.js.map +1 -1
  197. package/dist/types/drawingSvg/drawPath.d.ts +12 -0
  198. package/dist/types/drawingSvg/drawPath.d.ts.map +1 -0
  199. package/dist/types/drawingSvg/drawPolyline.d.ts +1 -1
  200. package/dist/types/drawingSvg/drawPolyline.d.ts.map +1 -1
  201. package/dist/types/drawingSvg/index.d.ts +2 -1
  202. package/dist/types/drawingSvg/index.d.ts.map +1 -1
  203. package/dist/types/enums/ChangeTypes.d.ts +2 -1
  204. package/dist/types/enums/ChangeTypes.d.ts.map +1 -1
  205. package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +1 -1
  206. package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts.map +1 -1
  207. package/dist/types/stateManagement/annotation/annotationState.d.ts +6 -1
  208. package/dist/types/stateManagement/annotation/annotationState.d.ts.map +1 -1
  209. package/dist/types/stateManagement/annotation/helpers/state.d.ts +4 -2
  210. package/dist/types/stateManagement/annotation/helpers/state.d.ts.map +1 -1
  211. package/dist/types/stateManagement/index.d.ts +6 -1
  212. package/dist/types/store/ToolGroupManager/ToolGroup.d.ts +3 -1
  213. package/dist/types/store/ToolGroupManager/ToolGroup.d.ts.map +1 -1
  214. package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts +4 -0
  215. package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts.map +1 -1
  216. package/dist/types/tools/annotation/LivewireContourTool.d.ts +13 -11
  217. package/dist/types/tools/annotation/LivewireContourTool.d.ts.map +1 -1
  218. package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
  219. package/dist/types/tools/annotation/SplineROITool.d.ts +6 -3
  220. package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -1
  221. package/dist/types/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts.map +1 -1
  222. package/dist/types/tools/annotation/planarFreehandROITool/drawLoop.d.ts.map +1 -1
  223. package/dist/types/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts.map +1 -1
  224. package/dist/types/tools/annotation/planarFreehandROITool/renderMethods.d.ts.map +1 -1
  225. package/dist/types/tools/annotation/splines/Spline.d.ts +2 -0
  226. package/dist/types/tools/annotation/splines/Spline.d.ts.map +1 -1
  227. package/dist/types/tools/base/AnnotationTool.d.ts.map +1 -1
  228. package/dist/types/tools/base/ContourBaseTool.d.ts +1 -0
  229. package/dist/types/tools/base/ContourBaseTool.d.ts.map +1 -1
  230. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -1
  231. package/dist/types/tools/displayTools/Contour/contourConfig.d.ts.map +1 -1
  232. package/dist/types/types/AnnotationTypes.d.ts +2 -0
  233. package/dist/types/types/AnnotationTypes.d.ts.map +1 -1
  234. package/dist/types/types/ContourAnnotation.d.ts +6 -0
  235. package/dist/types/types/ContourAnnotation.d.ts.map +1 -1
  236. package/dist/types/types/ContourSegmentationAnnotation.d.ts +8 -0
  237. package/dist/types/types/ContourSegmentationAnnotation.d.ts.map +1 -1
  238. package/dist/types/types/ContourTypes.d.ts +1 -0
  239. package/dist/types/types/ContourTypes.d.ts.map +1 -1
  240. package/dist/types/types/EventTypes.d.ts +4 -1
  241. package/dist/types/types/EventTypes.d.ts.map +1 -1
  242. package/dist/types/types/ISpline.d.ts +1 -0
  243. package/dist/types/types/ISpline.d.ts.map +1 -1
  244. package/dist/types/types/InterpolationTypes.d.ts +2 -0
  245. package/dist/types/types/InterpolationTypes.d.ts.map +1 -1
  246. package/dist/types/types/SplineProps.d.ts +1 -0
  247. package/dist/types/types/SplineProps.d.ts.map +1 -1
  248. package/dist/types/types/ToolSpecificAnnotationTypes.d.ts +2 -5
  249. package/dist/types/types/ToolSpecificAnnotationTypes.d.ts.map +1 -1
  250. package/dist/types/utilities/contours/getContourHolesDataCanvas.d.ts +4 -0
  251. package/dist/types/utilities/contours/getContourHolesDataCanvas.d.ts.map +1 -0
  252. package/dist/types/utilities/contours/getContourHolesDataWorld.d.ts +4 -0
  253. package/dist/types/utilities/contours/getContourHolesDataWorld.d.ts.map +1 -0
  254. package/dist/types/utilities/contours/index.d.ts +4 -1
  255. package/dist/types/utilities/contours/index.d.ts.map +1 -1
  256. package/dist/types/utilities/contours/interpolation/acceptAutogeneratedInterpolations.d.ts.map +1 -1
  257. package/dist/types/utilities/contours/interpolation/createPolylineToolData.d.ts.map +1 -1
  258. package/dist/types/utilities/contours/interpolation/findAnnotationForInterpolation.d.ts.map +1 -1
  259. package/dist/types/utilities/contours/interpolation/getInterpolationData.d.ts.map +1 -1
  260. package/dist/types/utilities/contours/interpolation/interpolate.d.ts +8 -0
  261. package/dist/types/utilities/contours/interpolation/interpolate.d.ts.map +1 -1
  262. package/dist/types/utilities/contours/interpolation/selectHandles.d.ts +5 -0
  263. package/dist/types/utilities/contours/interpolation/selectHandles.d.ts.map +1 -0
  264. package/dist/types/utilities/contours/updateContourPolyline.d.ts +11 -0
  265. package/dist/types/utilities/contours/updateContourPolyline.d.ts.map +1 -0
  266. package/dist/types/utilities/livewire/LivewireScissors.d.ts +2 -1
  267. package/dist/types/utilities/livewire/LivewireScissors.d.ts.map +1 -1
  268. package/dist/types/utilities/math/polyline/containsPoints.d.ts +3 -0
  269. package/dist/types/utilities/math/polyline/containsPoints.d.ts.map +1 -0
  270. package/dist/types/utilities/math/polyline/getWindingDirection.d.ts +3 -0
  271. package/dist/types/utilities/math/polyline/getWindingDirection.d.ts.map +1 -0
  272. package/dist/types/utilities/math/polyline/index.d.ts +3 -1
  273. package/dist/types/utilities/math/polyline/index.d.ts.map +1 -1
  274. package/dist/types/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +1 -0
  275. package/dist/types/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts.map +1 -1
  276. package/dist/types/utilities/segmentation/InterpolationManager/InterpolationManager.d.ts.map +1 -1
  277. package/dist/umd/index.js +1 -1
  278. package/dist/umd/index.js.map +1 -1
  279. package/package.json +3 -3
  280. package/src/drawingSvg/drawPath.ts +96 -0
  281. package/src/drawingSvg/drawPolyline.ts +13 -17
  282. package/src/drawingSvg/index.ts +2 -0
  283. package/src/enums/ChangeTypes.ts +4 -0
  284. package/src/eventDispatchers/keyboardEventHandlers/keyDown.ts +1 -1
  285. package/src/eventDispatchers/shared/getActiveToolForMouseEvent.ts +1 -1
  286. package/src/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.ts +194 -58
  287. package/src/stateManagement/annotation/annotationState.ts +101 -0
  288. package/src/stateManagement/annotation/helpers/state.ts +33 -3
  289. package/src/stateManagement/index.js +10 -0
  290. package/src/store/ToolGroupManager/ToolGroup.ts +9 -2
  291. package/src/tools/SegmentationIntersectionTool.ts +1 -1
  292. package/src/tools/annotation/LivewireContourSegmentationTool.ts +151 -0
  293. package/src/tools/annotation/LivewireContourTool.ts +172 -114
  294. package/src/tools/annotation/PlanarFreehandROITool.ts +13 -3
  295. package/src/tools/annotation/SplineROITool.ts +78 -31
  296. package/src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts +20 -11
  297. package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +40 -21
  298. package/src/tools/annotation/planarFreehandROITool/openContourEditLoop.ts +28 -13
  299. package/src/tools/annotation/planarFreehandROITool/renderMethods.ts +28 -10
  300. package/src/tools/annotation/splines/LinearSpline.ts +1 -1
  301. package/src/tools/annotation/splines/Spline.ts +13 -1
  302. package/src/tools/base/AnnotationTool.ts +1 -0
  303. package/src/tools/base/ContourBaseTool.ts +45 -3
  304. package/src/tools/base/ContourSegmentationBaseTool.ts +6 -0
  305. package/src/tools/displayTools/Contour/contourConfig.ts +1 -0
  306. package/src/types/AnnotationTypes.ts +14 -0
  307. package/src/types/ContourAnnotation.ts +13 -0
  308. package/src/types/ContourSegmentationAnnotation.ts +38 -0
  309. package/src/types/ContourTypes.ts +3 -0
  310. package/src/types/EventTypes.ts +9 -0
  311. package/src/types/ISpline.ts +3 -0
  312. package/src/types/InterpolationTypes.ts +6 -0
  313. package/src/types/SplineProps.ts +10 -0
  314. package/src/types/ToolSpecificAnnotationTypes.ts +7 -5
  315. package/src/utilities/contours/getContourHolesDataCanvas.ts +33 -0
  316. package/src/utilities/contours/getContourHolesDataWorld.ts +19 -0
  317. package/src/utilities/contours/index.ts +6 -0
  318. package/src/utilities/contours/interpolation/acceptAutogeneratedInterpolations.ts +3 -1
  319. package/src/utilities/contours/interpolation/createPolylineToolData.ts +7 -1
  320. package/src/utilities/contours/interpolation/findAnnotationForInterpolation.ts +2 -1
  321. package/src/utilities/contours/interpolation/getInterpolationData.ts +3 -1
  322. package/src/utilities/contours/interpolation/interpolate.ts +94 -75
  323. package/src/utilities/contours/interpolation/selectHandles.ts +240 -0
  324. package/src/utilities/contours/updateContourPolyline.ts +74 -0
  325. package/src/utilities/livewire/LivewireScissors.ts +65 -53
  326. package/src/utilities/math/polyline/containsPoint.ts +1 -1
  327. package/src/utilities/math/polyline/containsPoints.ts +22 -0
  328. package/src/utilities/math/polyline/getWindingDirection.ts +14 -0
  329. package/src/utilities/math/polyline/index.ts +4 -0
  330. package/src/utilities/math/polyline/planarFreehandROIInternalTypes.ts +1 -0
  331. package/src/utilities/segmentation/InterpolationManager/InterpolationManager.ts +39 -4
  332. package/dist/cjs/utilities/contours/PointsArray.d.ts +0 -29
  333. package/dist/cjs/utilities/contours/PointsArray.js +0 -104
  334. package/dist/cjs/utilities/contours/PointsArray.js.map +0 -1
  335. package/dist/esm/utilities/contours/PointsArray.js +0 -98
  336. package/dist/esm/utilities/contours/PointsArray.js.map +0 -1
  337. package/dist/types/utilities/contours/PointsArray.d.ts +0 -30
  338. package/dist/types/utilities/contours/PointsArray.d.ts.map +0 -1
  339. package/src/utilities/contours/PointsArray.ts +0 -165
@@ -6,6 +6,7 @@ export declare type InterpolationViewportData = {
6
6
  interpolationUID: string;
7
7
  viewport: Types.IViewport;
8
8
  sliceData: Types.ImageSliceData;
9
+ isInterpolationUpdate?: boolean;
9
10
  };
10
11
  export declare type ImageInterpolationData = {
11
12
  sliceIndex: number;
@@ -15,4 +16,5 @@ export declare type AcceptInterpolationSelector = {
15
16
  toolNames?: string[];
16
17
  segmentationId?: string;
17
18
  segmentIndex?: number;
19
+ sliceIndex?: number;
18
20
  };
@@ -1,4 +1,5 @@
1
1
  export declare type SplineProps = {
2
2
  resolution?: number;
3
+ fixedResolution?: boolean;
3
4
  closed?: boolean;
4
5
  };
@@ -131,11 +131,7 @@ export declare type SplineROIAnnotation = ContourAnnotation & {
131
131
  };
132
132
  };
133
133
  export declare type SplineContourSegmentationAnnotation = SplineROIAnnotation & ContourSegmentationAnnotationData;
134
- export declare type LivewireContourAnnotation = ContourAnnotation & {
135
- data: {
136
- label?: string;
137
- };
138
- };
134
+ export declare type LivewireContourAnnotation = ContourAnnotation;
139
135
  export declare type LivewireContourSegmentationAnnotation = LivewireContourAnnotation & ContourSegmentationAnnotationData;
140
136
  export interface EllipticalROIAnnotation extends Annotation {
141
137
  data: {
@@ -256,6 +252,7 @@ export declare type InterpolationROIAnnotation = ContourAnnotation & {
256
252
  referencedSliceIndex?: number;
257
253
  };
258
254
  interpolationUID?: string;
255
+ isInterpolationUpdate?: boolean;
259
256
  };
260
257
  export interface ArrowAnnotation extends Annotation {
261
258
  data: {
@@ -0,0 +1,3 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import type { Annotation } from '../../types';
3
+ export default function getContourHolesDataCanvas(annotation: Annotation, viewport: Types.IViewport): Types.Point2[][];
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const getContourHolesDataWorld_1 = __importDefault(require("./getContourHolesDataWorld"));
7
+ function getContourHolesDataCanvas(annotation, viewport) {
8
+ const worldHoleContours = (0, getContourHolesDataWorld_1.default)(annotation);
9
+ const canvasHoleContours = [];
10
+ worldHoleContours.forEach((worldHoleContour) => {
11
+ const numPoints = worldHoleContour.length;
12
+ const canvasHoleContour = new Array(numPoints);
13
+ for (let i = 0; i < numPoints; i++) {
14
+ canvasHoleContour[i] = viewport.worldToCanvas(worldHoleContour[i]);
15
+ }
16
+ canvasHoleContours.push(canvasHoleContour);
17
+ });
18
+ return canvasHoleContours;
19
+ }
20
+ exports.default = getContourHolesDataCanvas;
21
+ //# sourceMappingURL=getContourHolesDataCanvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContourHolesDataCanvas.js","sourceRoot":"","sources":["../../../../src/utilities/contours/getContourHolesDataCanvas.ts"],"names":[],"mappings":";;;;;AAEA,0FAAkE;AAQlE,SAAwB,yBAAyB,CAC/C,UAAsB,EACtB,QAAyB;IAEzB,MAAM,iBAAiB,GAAG,IAAA,kCAAwB,EAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAE9B,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAG1C,MAAM,iBAAiB,GAAmB,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAG/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SACpE;QAED,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAtBD,4CAsBC"}
@@ -0,0 +1,3 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import type { Annotation } from '../../types';
3
+ export default function getContourHolesDataWorld(annotation: Annotation): Types.Point3[][];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const stateManagement_1 = require("../../stateManagement");
4
+ function getContourHolesDataWorld(annotation) {
5
+ var _a;
6
+ const childAnnotationUIDs = (_a = annotation.childAnnotationUIDs) !== null && _a !== void 0 ? _a : [];
7
+ return childAnnotationUIDs.map((uid) => (0, stateManagement_1.getAnnotation)(uid).data.contour.polyline);
8
+ }
9
+ exports.default = getContourHolesDataWorld;
10
+ //# sourceMappingURL=getContourHolesDataWorld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContourHolesDataWorld.js","sourceRoot":"","sources":["../../../../src/utilities/contours/getContourHolesDataWorld.ts"],"names":[],"mappings":";;AAEA,2DAAsD;AAQtD,SAAwB,wBAAwB,CAC9C,UAAsB;;IAEtB,MAAM,mBAAmB,GAAG,MAAA,UAAU,CAAC,mBAAmB,mCAAI,EAAE,CAAC;IAEjE,OAAO,mBAAmB,CAAC,GAAG,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAE,IAAA,+BAAa,EAAC,GAAG,CAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CACzE,CAAC;AACJ,CAAC;AARD,2CAQC"}
@@ -4,7 +4,10 @@ import mergePoints from './mergePoints';
4
4
  import detectContourHoles from './detectContourHoles';
5
5
  import { generateContourSetsFromLabelmap } from './generateContourSetsFromLabelmap';
6
6
  import AnnotationToPointData from './AnnotationToPointData';
7
+ import getContourHolesDataWorld from './getContourHolesDataWorld';
8
+ import getContourHolesDataCanvas from './getContourHolesDataCanvas';
9
+ import updateContourPolyline from './updateContourPolyline';
7
10
  import acceptAutogeneratedInterpolations from './interpolation/acceptAutogeneratedInterpolations';
8
11
  import * as interpolation from './interpolation';
9
12
  import findHandlePolylineIndex from './findHandlePolylineIndex';
10
- export { areCoplanarContours, contourFinder, mergePoints, detectContourHoles, generateContourSetsFromLabelmap, AnnotationToPointData, interpolation, acceptAutogeneratedInterpolations, findHandlePolylineIndex, };
13
+ export { areCoplanarContours, contourFinder, mergePoints, detectContourHoles, generateContourSetsFromLabelmap, AnnotationToPointData, getContourHolesDataWorld, getContourHolesDataCanvas, updateContourPolyline, interpolation, acceptAutogeneratedInterpolations, findHandlePolylineIndex, };
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.findHandlePolylineIndex = exports.acceptAutogeneratedInterpolations = exports.interpolation = exports.AnnotationToPointData = exports.generateContourSetsFromLabelmap = exports.detectContourHoles = exports.mergePoints = exports.contourFinder = exports.areCoplanarContours = void 0;
29
+ exports.findHandlePolylineIndex = exports.acceptAutogeneratedInterpolations = exports.interpolation = exports.updateContourPolyline = exports.getContourHolesDataCanvas = exports.getContourHolesDataWorld = exports.AnnotationToPointData = exports.generateContourSetsFromLabelmap = exports.detectContourHoles = exports.mergePoints = exports.contourFinder = exports.areCoplanarContours = void 0;
30
30
  const areCoplanarContours_1 = __importDefault(require("./areCoplanarContours"));
31
31
  exports.areCoplanarContours = areCoplanarContours_1.default;
32
32
  const contourFinder_1 = __importDefault(require("./contourFinder"));
@@ -39,6 +39,12 @@ const generateContourSetsFromLabelmap_1 = require("./generateContourSetsFromLabe
39
39
  Object.defineProperty(exports, "generateContourSetsFromLabelmap", { enumerable: true, get: function () { return generateContourSetsFromLabelmap_1.generateContourSetsFromLabelmap; } });
40
40
  const AnnotationToPointData_1 = __importDefault(require("./AnnotationToPointData"));
41
41
  exports.AnnotationToPointData = AnnotationToPointData_1.default;
42
+ const getContourHolesDataWorld_1 = __importDefault(require("./getContourHolesDataWorld"));
43
+ exports.getContourHolesDataWorld = getContourHolesDataWorld_1.default;
44
+ const getContourHolesDataCanvas_1 = __importDefault(require("./getContourHolesDataCanvas"));
45
+ exports.getContourHolesDataCanvas = getContourHolesDataCanvas_1.default;
46
+ const updateContourPolyline_1 = __importDefault(require("./updateContourPolyline"));
47
+ exports.updateContourPolyline = updateContourPolyline_1.default;
42
48
  const acceptAutogeneratedInterpolations_1 = __importDefault(require("./interpolation/acceptAutogeneratedInterpolations"));
43
49
  exports.acceptAutogeneratedInterpolations = acceptAutogeneratedInterpolations_1.default;
44
50
  const interpolation = __importStar(require("./interpolation"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/contours/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gFAAwD;AAWtD,8BAXK,6BAAmB,CAWL;AAVrB,oEAA4C;AAW1C,wBAXK,uBAAa,CAWL;AAVf,gEAAwC;AAWtC,sBAXK,qBAAW,CAWL;AAVb,8EAAsD;AAWpD,6BAXK,4BAAkB,CAWL;AAVpB,uFAAoF;AAWlF,gHAXO,iEAA+B,OAWP;AAVjC,oFAA4D;AAW1D,gCAXK,+BAAqB,CAWL;AAVvB,0HAAkG;AAYhG,4CAZK,2CAAiC,CAYL;AAXnC,+DAAiD;AAU/C,sCAAa;AATf,wFAAgE;AAW9D,kCAXK,iCAAuB,CAWL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/contours/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gFAAwD;AActD,8BAdK,6BAAmB,CAcL;AAbrB,oEAA4C;AAc1C,wBAdK,uBAAa,CAcL;AAbf,gEAAwC;AActC,sBAdK,qBAAW,CAcL;AAbb,8EAAsD;AAcpD,6BAdK,4BAAkB,CAcL;AAbpB,uFAAoF;AAclF,gHAdO,iEAA+B,OAcP;AAbjC,oFAA4D;AAc1D,gCAdK,+BAAqB,CAcL;AAbvB,0FAAkE;AAchE,mCAdK,kCAAwB,CAcL;AAb1B,4FAAoE;AAclE,oCAdK,mCAAyB,CAcL;AAb3B,oFAA4D;AAc1D,gCAdK,+BAAqB,CAcL;AAbvB,0HAAkG;AAehG,4CAfK,2CAAiC,CAeL;AAdnC,+DAAiD;AAa/C,sCAAa;AAZf,wFAAgE;AAc9D,kCAdK,iCAAuB,CAcL"}
@@ -1 +1 @@
1
- {"version":3,"file":"acceptAutogeneratedInterpolations.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/acceptAutogeneratedInterpolations.ts"],"names":[],"mappings":";;;;;AAAA,wHAAgG;AAUhG,SAAwB,iCAAiC,CACvD,uBAAgD,EAChD,QAAqC;IAErC,8BAAoB,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC;AALD,oDAKC"}
1
+ {"version":3,"file":"acceptAutogeneratedInterpolations.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/acceptAutogeneratedInterpolations.ts"],"names":[],"mappings":";;;;;AAEA,wHAAgG;AAUhG,SAAwB,iCAAiC,CACvD,uBAAgD,EAChD,QAAqC;IAErC,8BAAoB,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC;AALD,oDAKC"}
@@ -15,7 +15,8 @@ function createPolylineToolData(polyline, handlePoints, referencedToolData) {
15
15
  });
16
16
  Object.assign(annotation.data, {
17
17
  handles: {
18
- points: handlePoints || [],
18
+ points: handlePoints.points || handlePoints || [],
19
+ interpolationSources: handlePoints.sources,
19
20
  activeHandleIndex: null,
20
21
  textBox: {
21
22
  hasMoved: false,
@@ -1 +1 @@
1
- {"version":3,"file":"createPolylineToolData.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/createPolylineToolData.ts"],"names":[],"mappings":";;AAAA,8CAAkE;AAclE,SAAwB,sBAAsB,CAC5C,QAAQ,EACR,YAAY,EACZ,kBAAkB;IAElB,MAAM,UAAU,GAA+B,gBAAO,CAAC,SAAS,CAC9D;QACE,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;KACb,EACD,kBAAkB,CACnB,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;QACxB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,EAAE;KAChB,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAC7B,OAAO,EAAE;YACP,MAAM,EAAE,YAAY,IAAI,EAAE;YAC1B,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE;gBACP,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtC,gBAAgB,EAAE;oBAChB,OAAO,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAChC,QAAQ,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjC,UAAU,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACnC,WAAW,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBACrC;aACF;SACF;QACD,OAAO,EAAE;YACP,QAAQ;YACR,MAAM,EAAE,IAAI;SACb;KACF,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAzCD,yCAyCC"}
1
+ {"version":3,"file":"createPolylineToolData.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/createPolylineToolData.ts"],"names":[],"mappings":";;AAAA,8CAAkE;AAclE,SAAwB,sBAAsB,CAC5C,QAAQ,EACR,YAAY,EACZ,kBAAkB;IAElB,MAAM,UAAU,GAA+B,gBAAO,CAAC,SAAS,CAC9D;QACE,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;KACb,EACD,kBAAkB,CACnB,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;QACxB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,EAAE;KAChB,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAC7B,OAAO,EAAE;YACP,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,YAAY,IAAI,EAAE;YAMjD,oBAAoB,EAAE,YAAY,CAAC,OAAO;YAC1C,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE;gBACP,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtC,gBAAgB,EAAE;oBAChB,OAAO,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAChC,QAAQ,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjC,UAAU,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACnC,WAAW,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBACrC;aACF;SACF;QACD,OAAO,EAAE;YACP,QAAQ;YACR,MAAM,EAAE,IAAI;SACb;KACF,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AA/CD,yCA+CC"}
@@ -56,7 +56,8 @@ function _getSlicePositionOfToolData(interpolationData, annotationUID) {
56
56
  }
57
57
  function _sliceNeedsInterpolating(interpolationData, sliceIndex) {
58
58
  const annotations = interpolationData.get(sliceIndex);
59
- return (!annotations || (annotations.length === 1 && annotations[0].autoGenerated));
59
+ return (!(annotations === null || annotations === void 0 ? void 0 : annotations.length) ||
60
+ (annotations.length === 1 && annotations[0].autoGenerated));
60
61
  }
61
62
  function _appendInterpolationList(contourPair, interpolationList, itemIndex) {
62
63
  const [startIndex] = contourPair;
@@ -1 +1 @@
1
- {"version":3,"file":"findAnnotationForInterpolation.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/findAnnotationForInterpolation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findAnnotationForInterpolation.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/findAnnotationForInterpolation.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,9 @@ function getInterpolationData(viewportData, filterParams = []) {
22
22
  return value === x.value;
23
23
  });
24
24
  });
25
- interpolationDatas.set(i, filteredInterpolatedAnnotations);
25
+ if (filteredInterpolatedAnnotations.length) {
26
+ interpolationDatas.set(i, filteredInterpolatedAnnotations);
27
+ }
26
28
  }
27
29
  return interpolationDatas;
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getInterpolationData.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/getInterpolationData.ts"],"names":[],"mappings":";;AACA,yFAAqF;AAiCrF,SAAwB,oBAAoB,CAC1C,YAAuC,EACvC,YAAY,GAAG,EAAE;IAEjB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,gCAAc,EAChC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAC5B,QAAQ,CAAC,OAAO,CACjB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACH,CAAgC,CAAC,QAAQ,CAAC,oBAAoB,KAAK,CAAC,CACxE,CAAC;QAEF,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE;YAC7B,SAAS;SACV;QAED,MAAM,+BAA+B,GAAG,gBAAgB,CAAC,MAAM,CAC7D,CAAC,eAAe,EAAE,EAAE;YAClB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS;oBACxB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC;oBAC9B,CAAC,CAAC,eAAe,CAAC;gBACpB,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC9D;gBACD,OAAO,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;KAC5D;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAxCD,uCAwCC"}
1
+ {"version":3,"file":"getInterpolationData.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/getInterpolationData.ts"],"names":[],"mappings":";;AACA,yFAAqF;AAiCrF,SAAwB,oBAAoB,CAC1C,YAAuC,EACvC,YAAY,GAAG,EAAE;IAEjB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,gCAAc,EAChC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAC5B,QAAQ,CAAC,OAAO,CACjB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACH,CAAgC,CAAC,QAAQ,CAAC,oBAAoB,KAAK,CAAC,CACxE,CAAC;QAEF,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE;YAC7B,SAAS;SACV;QAED,MAAM,+BAA+B,GAAG,gBAAgB,CAAC,MAAM,CAC7D,CAAC,eAAe,EAAE,EAAE;YAClB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS;oBACxB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC;oBAC9B,CAAC,CAAC,eAAe,CAAC;gBACpB,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC9D;gBACD,OAAO,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAI,+BAA+B,CAAC,MAAM,EAAE;YAC1C,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;SAC5D;KACF;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AA1CD,uCA0CC"}
@@ -1,3 +1,11 @@
1
+ import type { Types } from '@cornerstonejs/core';
1
2
  import type { InterpolationViewportData } from '../../../types/InterpolationTypes';
3
+ export declare type PointsXYZI = Types.PointsXYZ & {
4
+ I?: boolean[];
5
+ kIndex?: number;
6
+ };
7
+ export declare type PointsArray3 = Types.PointsManager<Types.Point3> & {
8
+ I?: boolean[];
9
+ };
2
10
  declare function interpolate(viewportData: InterpolationViewportData): void;
3
11
  export default interpolate;
@@ -32,7 +32,8 @@ const createPolylineToolData_1 = __importDefault(require("./createPolylineToolDa
32
32
  const findAnnotationForInterpolation_1 = __importDefault(require("./findAnnotationForInterpolation"));
33
33
  const Events_1 = __importDefault(require("../../../enums/Events"));
34
34
  const annotationState = __importStar(require("../../../stateManagement/annotation"));
35
- const PointsArray_1 = require("../PointsArray");
35
+ const selectHandles_1 = __importDefault(require("./selectHandles"));
36
+ const { PointsManager } = core_1.utilities;
36
37
  const dP = 0.2;
37
38
  let interpolating = false;
38
39
  function interpolate(viewportData) {
@@ -40,12 +41,22 @@ function interpolate(viewportData) {
40
41
  return;
41
42
  }
42
43
  interpolating = true;
43
- try {
44
- startInterpolation(viewportData);
45
- }
46
- finally {
47
- interpolating = false;
48
- }
44
+ const { isInterpolationUpdate, annotation } = viewportData;
45
+ queueMicrotask(() => {
46
+ try {
47
+ if (isInterpolationUpdate) {
48
+ annotation.isInterpolationUpdate = true;
49
+ annotation.autoGenerated = false;
50
+ }
51
+ startInterpolation(viewportData);
52
+ }
53
+ finally {
54
+ interpolating = false;
55
+ if (isInterpolationUpdate) {
56
+ annotation.autoGenerated = true;
57
+ }
58
+ }
59
+ });
49
60
  }
50
61
  function startInterpolation(viewportData) {
51
62
  const toolData = viewportData.annotation;
@@ -75,17 +86,27 @@ function _linearlyInterpolateBetween(indices, annotationPair, interpolationData,
75
86
  const c1 = _generateClosedContour(interpolationData.get(annotationPair[0])[0].data.contour.polyline);
76
87
  const c2 = _generateClosedContour(interpolationData.get(annotationPair[1])[0].data.contour.polyline);
77
88
  const { c1Interp, c2Interp } = _generateInterpolationContourPair(c1, c2);
89
+ c1Interp.kIndex = annotationPair[0];
90
+ c2Interp.kIndex = annotationPair[1];
78
91
  indices.forEach(function (index) {
79
92
  _linearlyInterpolateContour(c1Interp, c2Interp, index, annotationPair, interpolationData, c1.x.length > c2.x.length, eventData);
80
93
  });
81
94
  }
95
+ function getPointCount(pointArray) {
96
+ let sum = 0;
97
+ for (let i = 0; i < pointArray.I.length; i++) {
98
+ if (pointArray.I[i]) {
99
+ sum++;
100
+ }
101
+ }
102
+ return sum;
103
+ }
82
104
  function _linearlyInterpolateContour(c1Interp, c2Interp, sliceIndex, annotationPair, interpolationData, c1HasMoreNodes, eventData) {
83
105
  const [startIndex, endIndex] = annotationPair;
84
106
  const zInterp = (sliceIndex - startIndex) / (endIndex - startIndex);
85
107
  const interpolated3DPoints = _generateInterpolatedOpenContour(c1Interp, c2Interp, zInterp, c1HasMoreNodes);
86
108
  const nearestAnnotation = interpolationData.get(annotationPair[zInterp > 0.5 ? 1 : 0])[0];
87
- const handleCount = Math.round(Math.max(8, interpolationData.get(startIndex)[0].data.handles.points.length, interpolationData.get(endIndex)[0].data.handles.points.length, interpolated3DPoints.x.length / 50));
88
- const handlePoints = _subselect(interpolated3DPoints, handleCount);
109
+ const handlePoints = (0, selectHandles_1.default)(interpolated3DPoints);
89
110
  if (interpolationData.has(sliceIndex)) {
90
111
  _editInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex, nearestAnnotation, eventData);
91
112
  }
@@ -93,28 +114,16 @@ function _linearlyInterpolateContour(c1Interp, c2Interp, sliceIndex, annotationP
93
114
  _addInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex, nearestAnnotation, eventData);
94
115
  }
95
116
  }
96
- function _subselect(points, count = 10) {
97
- const handles = [];
98
- const { length } = points.x;
99
- if (!length) {
100
- return handles;
101
- }
102
- for (let i = 0; i < count; i++) {
103
- const handleIndex = Math.floor((length * i) / count);
104
- handles.push(gl_matrix_1.vec3.fromValues(points.x[handleIndex], points.y[handleIndex], points.z[handleIndex]));
105
- }
106
- return handles;
107
- }
108
117
  function _addInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex, referencedToolData, eventData) {
109
118
  var _a;
110
- const points = PointsArray_1.PointsArray.fromXYZ(interpolated3DPoints).points;
119
+ const points = interpolated3DPoints.points;
111
120
  const { viewport } = eventData;
112
121
  const interpolatedAnnotation = (0, createPolylineToolData_1.default)(points, handlePoints, referencedToolData);
113
122
  const targetId = viewport.getTargetId({ sliceIndex });
114
123
  interpolatedAnnotation.metadata.referencedImageId = targetId;
115
124
  interpolatedAnnotation.metadata.referencedSliceIndex = sliceIndex;
116
125
  annotationState.state.addAnnotation(interpolatedAnnotation, viewport.element);
117
- (_a = referencedToolData.postInterpolateAction) === null || _a === void 0 ? void 0 : _a.call(referencedToolData, interpolatedAnnotation, referencedToolData);
126
+ (_a = referencedToolData.onInterpolationComplete) === null || _a === void 0 ? void 0 : _a.call(referencedToolData, interpolatedAnnotation, referencedToolData);
118
127
  }
119
128
  function _editInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex, referencedToolData, eventData) {
120
129
  const { viewport } = eventData;
@@ -133,26 +142,35 @@ function _editInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex
133
142
  return;
134
143
  }
135
144
  const oldToolData = annotations[toolDataIndex];
136
- const points = PointsArray_1.PointsArray.fromXYZ(interpolated3DPoints).points;
145
+ const points = interpolated3DPoints.points;
137
146
  const interpolatedAnnotation = (0, createPolylineToolData_1.default)(points, handlePoints, oldToolData);
138
147
  interpolatedAnnotation.annotationUID = oldToolData.annotationUID;
139
148
  annotationState.state.removeAnnotation(oldToolData.annotationUID);
140
149
  annotationState.state.addAnnotation(interpolatedAnnotation, viewport.element);
141
150
  }
142
151
  function _generateInterpolatedOpenContour(c1ir, c2ir, zInterp, c1HasMoreNodes) {
143
- const cInterp = {
144
- x: [],
145
- y: [],
146
- z: [],
147
- };
148
152
  const indices = c1HasMoreNodes ? c1ir.I : c2ir.I;
153
+ const c1 = PointsManager.fromXYZ(c1ir);
154
+ const c2 = PointsManager.fromXYZ(c2ir);
155
+ const { length } = c1;
156
+ const cInterp = PointsManager.create3(length);
157
+ const vecSubtract = gl_matrix_1.vec3.create();
158
+ const vecResult = gl_matrix_1.vec3.create();
159
+ const c1Source = PointsManager.create3(length);
160
+ c1Source.kIndex = c1ir.kIndex;
161
+ const c2Source = PointsManager.create3(length);
162
+ c2Source.kIndex = c2ir.kIndex;
149
163
  for (let i = 0; i < c1ir.x.length; i++) {
150
164
  if (indices[i]) {
151
- cInterp.x.push(c1ir.x[i] + (c2ir.x[i] - c1ir.x[i]) * zInterp);
152
- cInterp.y.push(c1ir.y[i] + (c2ir.y[i] - c1ir.y[i]) * zInterp);
153
- cInterp.z.push(c1ir.z[i] + (c2ir.z[i] - c1ir.z[i]) * zInterp);
165
+ const c1point = c1.getPoint(i);
166
+ const c2point = c2.getPoint(i);
167
+ c1Source.push(c1point);
168
+ c2Source.push(c2point);
169
+ gl_matrix_1.vec3.sub(vecSubtract, c2point, c1point);
170
+ cInterp.push(gl_matrix_1.vec3.scaleAndAdd(vecResult, c1point, vecSubtract, zInterp));
154
171
  }
155
172
  }
173
+ cInterp.sources = [c1Source, c2Source];
156
174
  return cInterp;
157
175
  }
158
176
  function _generateInterpolationContourPair(c1, c2) {
@@ -165,8 +183,8 @@ function _generateInterpolationContourPair(c1, c2) {
165
183
  const numNodes2 = interpNodes + c1.x.length;
166
184
  const perim1Interp = _getInterpolatedPerim(numNodes1, cumPerim1Norm);
167
185
  const perim2Interp = _getInterpolatedPerim(numNodes2, cumPerim2Norm);
168
- const perim1Ind = _getIndicatorArray(c1, numNodes1);
169
- const perim2Ind = _getIndicatorArray(c2, numNodes2);
186
+ const perim1Ind = _getIndicatorArray(numNodes1 - 2, c1.x.length);
187
+ const perim2Ind = _getIndicatorArray(numNodes2 - 2, c2.x.length);
170
188
  const nodesPerSegment1 = _getNodesPerSegment(perim1Interp, perim1Ind);
171
189
  const nodesPerSegment2 = _getNodesPerSegment(perim2Interp, perim2Ind);
172
190
  const c1i = _getSuperSampledContour(c1, nodesPerSegment1);
@@ -288,14 +306,10 @@ function _getNodesPerSegment(perimInterp, perimInd) {
288
306
  }
289
307
  return nodesPerSegment;
290
308
  }
291
- function _getIndicatorArray(contour, numNodes) {
292
- const perimInd = [];
293
- for (let i = 0; i < numNodes - 2; i++) {
294
- perimInd.push(false);
295
- }
296
- for (let i = 0; i < contour.x.length; i++) {
297
- perimInd.push(true);
298
- }
309
+ function _getIndicatorArray(numFalse, numTrue) {
310
+ const perimInd = new Array(numFalse + numTrue);
311
+ perimInd.fill(false, 0, numFalse);
312
+ perimInd.fill(true, numFalse, numFalse + numTrue);
299
313
  return perimInd;
300
314
  }
301
315
  function _getInterpolatedPerim(numNodes, cumPerimNorm) {
@@ -1 +1 @@
1
- {"version":3,"file":"interpolate.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/interpolate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolate.js","sourceRoot":"","sources":["../../../../../src/utilities/contours/interpolation/interpolate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PointsArray3 } from './interpolate';
2
+ export default function selectHandles(polyline: PointsArray3, handleCount?: number): PointsArray3;
3
+ export declare function createDotValues(polyline: PointsArray3, distance?: number): Float32Array;
4
+ export declare function addInterval(indices: any, start: any, finish: any, interval: any, length: any): any;