@cornerstonejs/tools 1.52.0 → 1.54.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 (909) 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 +2 -10
  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/WorkerTypes.d.ts +8 -0
  11. package/dist/cjs/enums/WorkerTypes.js +12 -0
  12. package/dist/cjs/enums/WorkerTypes.js.map +1 -0
  13. package/dist/cjs/enums/index.d.ts +2 -1
  14. package/dist/cjs/enums/index.js +3 -1
  15. package/dist/cjs/enums/index.js.map +1 -1
  16. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  17. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +1 -1
  18. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +171 -89
  19. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
  20. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js +4 -3
  21. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
  22. package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +58 -47
  23. package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -1
  24. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
  25. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +5 -0
  26. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  27. package/dist/cjs/stateManagement/annotation/annotationState.d.ts +7 -1
  28. package/dist/cjs/stateManagement/annotation/annotationState.js +54 -1
  29. package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
  30. package/dist/cjs/stateManagement/annotation/helpers/state.d.ts +2 -1
  31. package/dist/cjs/stateManagement/annotation/helpers/state.js +14 -3
  32. package/dist/cjs/stateManagement/annotation/helpers/state.js.map +1 -1
  33. package/dist/cjs/stateManagement/index.d.ts +6 -1
  34. package/dist/cjs/stateManagement/index.js +6 -1
  35. package/dist/cjs/stateManagement/index.js.map +1 -1
  36. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +4 -1
  37. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  38. package/dist/cjs/stateManagement/segmentation/addRepresentationData.d.ts +12 -0
  39. package/dist/cjs/stateManagement/segmentation/addRepresentationData.js +35 -0
  40. package/dist/cjs/stateManagement/segmentation/addRepresentationData.js.map +1 -0
  41. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentation.js +32 -14
  42. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentation.js.map +1 -1
  43. package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js +3 -52
  44. package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
  45. package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +9 -2
  46. package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.js +44 -27
  47. package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.js.map +1 -1
  48. package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +13 -0
  49. package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.js +52 -26
  50. package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.js.map +1 -1
  51. package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js +6 -9
  52. package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -1
  53. package/dist/cjs/stateManagement/segmentation/index.d.ts +3 -1
  54. package/dist/cjs/stateManagement/segmentation/index.js +5 -1
  55. package/dist/cjs/stateManagement/segmentation/index.js.map +1 -1
  56. package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +2 -0
  57. package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +8 -0
  58. package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -0
  59. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +2 -0
  60. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +11 -0
  61. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -0
  62. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +7 -0
  63. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +162 -0
  64. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -0
  65. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +6 -0
  66. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +71 -0
  67. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -0
  68. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +6 -0
  69. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +120 -0
  70. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -0
  71. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +4 -0
  72. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js +12 -0
  73. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js.map +1 -0
  74. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +3 -0
  75. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +52 -0
  76. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -0
  77. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +3 -0
  78. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +60 -0
  79. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -0
  80. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +5 -0
  81. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +56 -0
  82. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js.map +1 -0
  83. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +12 -0
  84. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +94 -0
  85. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js.map +1 -0
  86. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts +1 -0
  87. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +74 -0
  88. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js.map +1 -0
  89. package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +2 -0
  90. package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +83 -0
  91. package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js.map +1 -0
  92. package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +3 -0
  93. package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +64 -0
  94. package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -0
  95. package/dist/cjs/stateManagement/segmentation/polySeg/index.d.ts +5 -0
  96. package/dist/cjs/stateManagement/segmentation/polySeg/index.js +12 -0
  97. package/dist/cjs/stateManagement/segmentation/polySeg/index.js.map +1 -0
  98. package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts +1 -0
  99. package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.js +27 -0
  100. package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.js.map +1 -0
  101. package/dist/cjs/stateManagement/segmentation/segmentIndex.js +4 -0
  102. package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
  103. package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +6 -1
  104. package/dist/cjs/stateManagement/segmentation/segmentationState.js +30 -1
  105. package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
  106. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +3 -1
  107. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +3 -2
  108. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  109. package/dist/cjs/tools/ScaleOverlayTool.js +2 -1
  110. package/dist/cjs/tools/ScaleOverlayTool.js.map +1 -1
  111. package/dist/cjs/tools/SegmentationIntersectionTool.js +1 -1
  112. package/dist/cjs/tools/SegmentationIntersectionTool.js.map +1 -1
  113. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js +1 -1
  114. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js.map +1 -1
  115. package/dist/cjs/tools/annotation/LivewireContourTool.d.ts +4 -3
  116. package/dist/cjs/tools/annotation/LivewireContourTool.js +26 -26
  117. package/dist/cjs/tools/annotation/LivewireContourTool.js.map +1 -1
  118. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
  119. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js +0 -11
  120. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
  121. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +2 -2
  122. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  123. package/dist/cjs/tools/annotation/ProbeTool.js +3 -0
  124. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  125. package/dist/cjs/tools/annotation/SplineROITool.d.ts +6 -3
  126. package/dist/cjs/tools/annotation/SplineROITool.js +37 -18
  127. package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -1
  128. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +12 -7
  129. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  130. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +25 -19
  131. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  132. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +16 -10
  133. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  134. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  135. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
  136. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js +19 -7
  137. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  138. package/dist/cjs/tools/annotation/splines/LinearSpline.js +1 -1
  139. package/dist/cjs/tools/annotation/splines/LinearSpline.js.map +1 -1
  140. package/dist/cjs/tools/annotation/splines/Spline.d.ts +2 -0
  141. package/dist/cjs/tools/annotation/splines/Spline.js +7 -3
  142. package/dist/cjs/tools/annotation/splines/Spline.js.map +1 -1
  143. package/dist/cjs/tools/base/AnnotationTool.js +1 -1
  144. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  145. package/dist/cjs/tools/base/BaseTool.js.map +1 -1
  146. package/dist/cjs/tools/base/ContourBaseTool.d.ts +1 -0
  147. package/dist/cjs/tools/base/ContourBaseTool.js +18 -1
  148. package/dist/cjs/tools/base/ContourBaseTool.js.map +1 -1
  149. package/dist/cjs/tools/base/ContourSegmentationBaseTool.d.ts +1 -2
  150. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +28 -24
  151. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  152. package/dist/cjs/tools/displayTools/Contour/contourConfig.js +1 -0
  153. package/dist/cjs/tools/displayTools/Contour/contourConfig.js.map +1 -1
  154. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +9 -6
  155. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  156. package/dist/cjs/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
  157. package/dist/cjs/tools/displayTools/Contour/{addContourSetsToElement.d.ts → vtkContour/addContourSetsToElement.d.ts} +1 -1
  158. package/dist/cjs/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +1 -0
  159. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +3 -0
  160. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js +14 -0
  161. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +1 -0
  162. package/dist/cjs/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +1 -0
  163. package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +3 -0
  164. package/dist/cjs/tools/displayTools/Contour/{updateContourSets.js → vtkContour/updateVTKContourSets.js} +4 -4
  165. package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +1 -0
  166. package/dist/cjs/tools/displayTools/Contour/{utils.d.ts → vtkContour/utils.d.ts} +2 -2
  167. package/dist/cjs/tools/displayTools/Contour/vtkContour/utils.js.map +1 -0
  168. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -1
  169. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  170. package/dist/cjs/tools/displayTools/Labelmap/index.d.ts +2 -1
  171. package/dist/cjs/tools/displayTools/Labelmap/index.js +4 -1
  172. package/dist/cjs/tools/displayTools/Labelmap/index.js.map +1 -1
  173. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +20 -2
  174. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  175. package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.d.ts +4 -0
  176. package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.js +38 -0
  177. package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.js.map +1 -0
  178. package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +3 -0
  179. package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +112 -0
  180. package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -0
  181. package/dist/cjs/tools/displayTools/Surface/surfaceConfig.d.ts +3 -0
  182. package/dist/cjs/tools/displayTools/Surface/surfaceConfig.js +11 -0
  183. package/dist/cjs/tools/displayTools/Surface/surfaceConfig.js.map +1 -0
  184. package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.d.ts +7 -0
  185. package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js +173 -27
  186. package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
  187. package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.d.ts +1 -0
  188. package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js +27 -0
  189. package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js.map +1 -0
  190. package/dist/cjs/tools/segmentation/BrushTool.js +1 -1
  191. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  192. package/dist/cjs/tools/segmentation/CircleScissorsTool.js +1 -1
  193. package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
  194. package/dist/cjs/tools/segmentation/PaintFillTool.js +1 -1
  195. package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
  196. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +1 -1
  197. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  198. package/dist/cjs/tools/segmentation/SegmentSelectTool.d.ts +6 -2
  199. package/dist/cjs/tools/segmentation/SegmentSelectTool.js +45 -35
  200. package/dist/cjs/tools/segmentation/SegmentSelectTool.js.map +1 -1
  201. package/dist/cjs/tools/segmentation/SphereScissorsTool.js +1 -1
  202. package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
  203. package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js +7 -5
  204. package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
  205. package/dist/cjs/tools/segmentation/strategies/compositions/regionFill.js +1 -1
  206. package/dist/cjs/tools/segmentation/strategies/compositions/regionFill.js.map +1 -1
  207. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +14 -5
  208. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
  209. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js +21 -9
  210. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
  211. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -5
  212. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js +15 -8
  213. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -1
  214. package/dist/cjs/types/AnnotationTypes.d.ts +2 -0
  215. package/dist/cjs/types/ContourAnnotation.d.ts +6 -0
  216. package/dist/cjs/types/ContourAnnotation.js +7 -0
  217. package/dist/cjs/types/ContourAnnotation.js.map +1 -1
  218. package/dist/cjs/types/ContourSegmentationAnnotation.d.ts +0 -1
  219. package/dist/cjs/types/ContourTypes.d.ts +1 -0
  220. package/dist/cjs/types/EventTypes.d.ts +4 -1
  221. package/dist/cjs/types/ISpline.d.ts +1 -0
  222. package/dist/cjs/types/LabelmapTypes.d.ts +5 -1
  223. package/dist/cjs/types/PolySeg.d.ts +6 -0
  224. package/dist/cjs/types/PolySeg.js +3 -0
  225. package/dist/cjs/types/PolySeg.js.map +1 -0
  226. package/dist/cjs/types/SegmentationStateTypes.d.ts +12 -2
  227. package/dist/cjs/types/SplineProps.d.ts +1 -0
  228. package/dist/cjs/types/SurfaceTypes.d.ts +1 -1
  229. package/dist/cjs/types/index.d.ts +2 -1
  230. package/dist/cjs/utilities/boundingBox/getBoundingBoxAroundShape.js +6 -6
  231. package/dist/cjs/utilities/boundingBox/getBoundingBoxAroundShape.js.map +1 -1
  232. package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +2 -0
  233. package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js +20 -0
  234. package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -0
  235. package/dist/cjs/utilities/contourSegmentation/areSameSegment.js +0 -2
  236. package/dist/cjs/utilities/contourSegmentation/areSameSegment.js.map +1 -1
  237. package/dist/cjs/utilities/contourSegmentation/index.d.ts +2 -0
  238. package/dist/cjs/utilities/contourSegmentation/index.js +5 -1
  239. package/dist/cjs/utilities/contourSegmentation/index.js.map +1 -1
  240. package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +2 -0
  241. package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +19 -0
  242. package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -0
  243. package/dist/cjs/utilities/contours/detectContourHoles.js.map +1 -1
  244. package/dist/cjs/utilities/contours/generateContourSetsFromLabelmap.js +2 -2
  245. package/dist/cjs/utilities/contours/generateContourSetsFromLabelmap.js.map +1 -1
  246. package/dist/cjs/utilities/contours/getContourHolesDataCanvas.d.ts +3 -0
  247. package/dist/cjs/utilities/contours/getContourHolesDataCanvas.js +21 -0
  248. package/dist/cjs/utilities/contours/getContourHolesDataCanvas.js.map +1 -0
  249. package/dist/cjs/utilities/contours/getContourHolesDataWorld.d.ts +3 -0
  250. package/dist/cjs/utilities/contours/getContourHolesDataWorld.js +10 -0
  251. package/dist/cjs/utilities/contours/getContourHolesDataWorld.js.map +1 -0
  252. package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +11 -0
  253. package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +50 -0
  254. package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.js.map +1 -0
  255. package/dist/cjs/utilities/contours/index.d.ts +5 -2
  256. package/dist/cjs/utilities/contours/index.js +9 -3
  257. package/dist/cjs/utilities/contours/index.js.map +1 -1
  258. package/dist/cjs/utilities/contours/updateContourPolyline.d.ts +10 -0
  259. package/dist/cjs/utilities/contours/updateContourPolyline.js +64 -0
  260. package/dist/cjs/utilities/contours/updateContourPolyline.js.map +1 -0
  261. package/dist/cjs/utilities/index.d.ts +3 -1
  262. package/dist/cjs/utilities/index.js +5 -1
  263. package/dist/cjs/utilities/index.js.map +1 -1
  264. package/dist/cjs/utilities/math/polyline/containsPoint.js.map +1 -1
  265. package/dist/cjs/utilities/math/polyline/containsPoints.d.ts +2 -0
  266. package/dist/cjs/utilities/math/polyline/containsPoints.js +16 -0
  267. package/dist/cjs/utilities/math/polyline/containsPoints.js.map +1 -0
  268. package/dist/cjs/utilities/math/polyline/getWindingDirection.d.ts +2 -0
  269. package/dist/cjs/utilities/math/polyline/getWindingDirection.js +12 -0
  270. package/dist/cjs/utilities/math/polyline/getWindingDirection.js.map +1 -0
  271. package/dist/cjs/utilities/math/polyline/index.d.ts +4 -1
  272. package/dist/cjs/utilities/math/polyline/index.js +7 -1
  273. package/dist/cjs/utilities/math/polyline/index.js.map +1 -1
  274. package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.d.ts +2 -0
  275. package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.js +34 -0
  276. package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.js.map +1 -0
  277. package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +1 -0
  278. package/dist/cjs/utilities/segmentation/contourAndFindLargestBidirectional.js +0 -1
  279. package/dist/cjs/utilities/segmentation/contourAndFindLargestBidirectional.js.map +1 -1
  280. package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +1 -0
  281. package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +18 -0
  282. package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.js.map +1 -0
  283. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts +7 -0
  284. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js +77 -0
  285. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -0
  286. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.d.ts +11 -0
  287. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js +82 -0
  288. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -0
  289. package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.d.ts +2 -0
  290. package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js +59 -0
  291. package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -0
  292. package/dist/cjs/utilities/segmentation/index.d.ts +5 -1
  293. package/dist/cjs/utilities/segmentation/index.js +9 -1
  294. package/dist/cjs/utilities/segmentation/index.js.map +1 -1
  295. package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +2 -0
  296. package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.js +32 -0
  297. package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.js.map +1 -0
  298. package/dist/cjs/workers/clippingPlaneWorker.d.ts +1 -0
  299. package/dist/cjs/workers/clippingPlaneWorker.js +63 -0
  300. package/dist/cjs/workers/clippingPlaneWorker.js.map +1 -0
  301. package/dist/cjs/workers/polySegConverters.d.ts +1 -0
  302. package/dist/cjs/workers/polySegConverters.js +267 -0
  303. package/dist/cjs/workers/polySegConverters.js.map +1 -0
  304. package/dist/esm/drawingSvg/drawPath.js +49 -0
  305. package/dist/esm/drawingSvg/drawPath.js.map +1 -0
  306. package/dist/esm/drawingSvg/drawPolyline.js +2 -10
  307. package/dist/esm/drawingSvg/drawPolyline.js.map +1 -1
  308. package/dist/esm/drawingSvg/index.js +2 -1
  309. package/dist/esm/drawingSvg/index.js.map +1 -1
  310. package/dist/esm/enums/WorkerTypes.js +10 -0
  311. package/dist/esm/enums/WorkerTypes.js.map +1 -0
  312. package/dist/esm/enums/index.js +2 -1
  313. package/dist/esm/enums/index.js.map +1 -1
  314. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  315. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +112 -43
  316. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
  317. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +3 -3
  318. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
  319. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +59 -45
  320. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -1
  321. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +5 -0
  322. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  323. package/dist/esm/stateManagement/annotation/annotationState.js +46 -1
  324. package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
  325. package/dist/esm/stateManagement/annotation/helpers/state.js +12 -2
  326. package/dist/esm/stateManagement/annotation/helpers/state.js.map +1 -1
  327. package/dist/esm/stateManagement/index.js +2 -2
  328. package/dist/esm/stateManagement/index.js.map +1 -1
  329. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +4 -1
  330. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  331. package/dist/esm/stateManagement/segmentation/addRepresentationData.js +30 -0
  332. package/dist/esm/stateManagement/segmentation/addRepresentationData.js.map +1 -0
  333. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js +32 -15
  334. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js.map +1 -1
  335. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +1 -46
  336. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
  337. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +42 -27
  338. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js.map +1 -1
  339. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +49 -25
  340. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js.map +1 -1
  341. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js +6 -6
  342. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -1
  343. package/dist/esm/stateManagement/segmentation/index.js +3 -1
  344. package/dist/esm/stateManagement/segmentation/index.js.map +1 -1
  345. package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +4 -0
  346. package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -0
  347. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +7 -0
  348. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -0
  349. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +142 -0
  350. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -0
  351. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +53 -0
  352. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -0
  353. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +108 -0
  354. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -0
  355. package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js +8 -0
  356. package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js.map +1 -0
  357. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +37 -0
  358. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -0
  359. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +45 -0
  360. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -0
  361. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +41 -0
  362. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js.map +1 -0
  363. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +78 -0
  364. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js.map +1 -0
  365. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +59 -0
  366. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js.map +1 -0
  367. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +68 -0
  368. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js.map +1 -0
  369. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +47 -0
  370. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -0
  371. package/dist/esm/stateManagement/segmentation/polySeg/index.js +6 -0
  372. package/dist/esm/stateManagement/segmentation/polySeg/index.js.map +1 -0
  373. package/dist/esm/stateManagement/segmentation/polySeg/registerPolySegWorker.js +23 -0
  374. package/dist/esm/stateManagement/segmentation/polySeg/registerPolySegWorker.js.map +1 -0
  375. package/dist/esm/stateManagement/segmentation/segmentIndex.js +4 -0
  376. package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
  377. package/dist/esm/stateManagement/segmentation/segmentationState.js +28 -1
  378. package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
  379. package/dist/esm/store/ToolGroupManager/ToolGroup.js +3 -2
  380. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  381. package/dist/esm/tools/ScaleOverlayTool.js +2 -1
  382. package/dist/esm/tools/ScaleOverlayTool.js.map +1 -1
  383. package/dist/esm/tools/SegmentationIntersectionTool.js +1 -1
  384. package/dist/esm/tools/SegmentationIntersectionTool.js.map +1 -1
  385. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js +1 -1
  386. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js.map +1 -1
  387. package/dist/esm/tools/annotation/LivewireContourTool.js +28 -28
  388. package/dist/esm/tools/annotation/LivewireContourTool.js.map +1 -1
  389. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +0 -11
  390. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
  391. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +3 -3
  392. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  393. package/dist/esm/tools/annotation/ProbeTool.js +3 -0
  394. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  395. package/dist/esm/tools/annotation/SplineROITool.js +37 -19
  396. package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
  397. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +12 -7
  398. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  399. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +26 -20
  400. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  401. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +16 -10
  402. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  403. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  404. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
  405. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +20 -8
  406. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  407. package/dist/esm/tools/annotation/splines/LinearSpline.js +1 -1
  408. package/dist/esm/tools/annotation/splines/LinearSpline.js.map +1 -1
  409. package/dist/esm/tools/annotation/splines/Spline.js +5 -1
  410. package/dist/esm/tools/annotation/splines/Spline.js.map +1 -1
  411. package/dist/esm/tools/base/AnnotationTool.js +1 -1
  412. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  413. package/dist/esm/tools/base/BaseTool.js +1 -1
  414. package/dist/esm/tools/base/BaseTool.js.map +1 -1
  415. package/dist/esm/tools/base/ContourBaseTool.js +20 -3
  416. package/dist/esm/tools/base/ContourBaseTool.js.map +1 -1
  417. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +28 -24
  418. package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  419. package/dist/esm/tools/displayTools/Contour/contourConfig.js +1 -0
  420. package/dist/esm/tools/displayTools/Contour/contourConfig.js.map +1 -1
  421. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +10 -7
  422. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  423. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
  424. package/dist/esm/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +1 -0
  425. package/dist/esm/tools/displayTools/Contour/{addOrUpdateContourSets.js → vtkContour/addOrUpdateVTKContourSets.js} +4 -4
  426. package/dist/esm/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +1 -0
  427. package/dist/esm/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +1 -0
  428. package/dist/esm/tools/displayTools/Contour/{updateContourSets.js → vtkContour/updateVTKContourSets.js} +2 -2
  429. package/dist/esm/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +1 -0
  430. package/dist/esm/tools/displayTools/Contour/vtkContour/utils.js.map +1 -0
  431. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -1
  432. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  433. package/dist/esm/tools/displayTools/Labelmap/index.js +2 -1
  434. package/dist/esm/tools/displayTools/Labelmap/index.js.map +1 -1
  435. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +20 -2
  436. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  437. package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.js +33 -0
  438. package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.js.map +1 -0
  439. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +106 -0
  440. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -0
  441. package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +9 -0
  442. package/dist/esm/tools/displayTools/Surface/surfaceConfig.js.map +1 -0
  443. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +162 -28
  444. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
  445. package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js +23 -0
  446. package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js.map +1 -0
  447. package/dist/esm/tools/segmentation/BrushTool.js +1 -1
  448. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  449. package/dist/esm/tools/segmentation/CircleScissorsTool.js +1 -1
  450. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
  451. package/dist/esm/tools/segmentation/PaintFillTool.js +1 -1
  452. package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
  453. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +1 -1
  454. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  455. package/dist/esm/tools/segmentation/SegmentSelectTool.js +47 -37
  456. package/dist/esm/tools/segmentation/SegmentSelectTool.js.map +1 -1
  457. package/dist/esm/tools/segmentation/SphereScissorsTool.js +1 -1
  458. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
  459. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +7 -5
  460. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
  461. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +1 -1
  462. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js.map +1 -1
  463. package/dist/esm/tools/segmentation/strategies/fillSphere.js +14 -5
  464. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
  465. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +21 -9
  466. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
  467. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +15 -7
  468. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -1
  469. package/dist/esm/types/ContourAnnotation.js +6 -1
  470. package/dist/esm/types/ContourAnnotation.js.map +1 -1
  471. package/dist/esm/types/PolySeg.js +2 -0
  472. package/dist/esm/types/PolySeg.js.map +1 -0
  473. package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js +3 -2
  474. package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js.map +1 -1
  475. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +16 -0
  476. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -0
  477. package/dist/esm/utilities/contourSegmentation/areSameSegment.js +0 -2
  478. package/dist/esm/utilities/contourSegmentation/areSameSegment.js.map +1 -1
  479. package/dist/esm/utilities/contourSegmentation/index.js +2 -0
  480. package/dist/esm/utilities/contourSegmentation/index.js.map +1 -1
  481. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +15 -0
  482. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -0
  483. package/dist/esm/utilities/contours/detectContourHoles.js.map +1 -1
  484. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +2 -2
  485. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js.map +1 -1
  486. package/dist/esm/utilities/contours/getContourHolesDataCanvas.js +15 -0
  487. package/dist/esm/utilities/contours/getContourHolesDataCanvas.js.map +1 -0
  488. package/dist/esm/utilities/contours/getContourHolesDataWorld.js +6 -0
  489. package/dist/esm/utilities/contours/getContourHolesDataWorld.js.map +1 -0
  490. package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +46 -0
  491. package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js.map +1 -0
  492. package/dist/esm/utilities/contours/index.js +5 -2
  493. package/dist/esm/utilities/contours/index.js.map +1 -1
  494. package/dist/esm/utilities/contours/updateContourPolyline.js +38 -0
  495. package/dist/esm/utilities/contours/updateContourPolyline.js.map +1 -0
  496. package/dist/esm/utilities/index.js +3 -1
  497. package/dist/esm/utilities/index.js.map +1 -1
  498. package/dist/esm/utilities/math/polyline/containsPoint.js.map +1 -1
  499. package/dist/esm/utilities/math/polyline/containsPoints.js +10 -0
  500. package/dist/esm/utilities/math/polyline/containsPoints.js.map +1 -0
  501. package/dist/esm/utilities/math/polyline/getWindingDirection.js +6 -0
  502. package/dist/esm/utilities/math/polyline/getWindingDirection.js.map +1 -0
  503. package/dist/esm/utilities/math/polyline/index.js +4 -1
  504. package/dist/esm/utilities/math/polyline/index.js.map +1 -1
  505. package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js +27 -0
  506. package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js.map +1 -0
  507. package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js +0 -1
  508. package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js.map +1 -1
  509. package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +14 -0
  510. package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js.map +1 -0
  511. package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js +73 -0
  512. package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -0
  513. package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js +75 -0
  514. package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -0
  515. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +55 -0
  516. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -0
  517. package/dist/esm/utilities/segmentation/index.js +5 -1
  518. package/dist/esm/utilities/segmentation/index.js.map +1 -1
  519. package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js +25 -0
  520. package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js.map +1 -0
  521. package/dist/esm/workers/clippingPlaneWorker.js +58 -0
  522. package/dist/esm/workers/clippingPlaneWorker.js.map +1 -0
  523. package/dist/esm/workers/polySegConverters.js +241 -0
  524. package/dist/esm/workers/polySegConverters.js.map +1 -0
  525. package/dist/types/drawingSvg/drawPath.d.ts +12 -0
  526. package/dist/types/drawingSvg/drawPath.d.ts.map +1 -0
  527. package/dist/types/drawingSvg/drawPolyline.d.ts +1 -1
  528. package/dist/types/drawingSvg/drawPolyline.d.ts.map +1 -1
  529. package/dist/types/drawingSvg/index.d.ts +2 -1
  530. package/dist/types/drawingSvg/index.d.ts.map +1 -1
  531. package/dist/types/enums/WorkerTypes.d.ts +9 -0
  532. package/dist/types/enums/WorkerTypes.d.ts.map +1 -0
  533. package/dist/types/enums/index.d.ts +2 -1
  534. package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +1 -1
  535. package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts.map +1 -1
  536. package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts.map +1 -1
  537. package/dist/types/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts.map +1 -1
  538. package/dist/types/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
  539. package/dist/types/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts.map +1 -1
  540. package/dist/types/stateManagement/annotation/annotationState.d.ts +7 -1
  541. package/dist/types/stateManagement/annotation/annotationState.d.ts.map +1 -1
  542. package/dist/types/stateManagement/annotation/helpers/state.d.ts +2 -1
  543. package/dist/types/stateManagement/annotation/helpers/state.d.ts.map +1 -1
  544. package/dist/types/stateManagement/index.d.ts +6 -1
  545. package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts.map +1 -1
  546. package/dist/types/stateManagement/segmentation/addRepresentationData.d.ts +13 -0
  547. package/dist/types/stateManagement/segmentation/addRepresentationData.d.ts.map +1 -0
  548. package/dist/types/stateManagement/segmentation/addSegmentationRepresentation.d.ts.map +1 -1
  549. package/dist/types/stateManagement/segmentation/config/segmentationVisibility.d.ts.map +1 -1
  550. package/dist/types/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +9 -2
  551. package/dist/types/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts.map +1 -1
  552. package/dist/types/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +13 -0
  553. package/dist/types/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts.map +1 -1
  554. package/dist/types/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts.map +1 -1
  555. package/dist/types/stateManagement/segmentation/index.d.ts +3 -1
  556. package/dist/types/stateManagement/segmentation/index.d.ts.map +1 -1
  557. package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +3 -0
  558. package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts.map +1 -0
  559. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +3 -0
  560. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts.map +1 -0
  561. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +8 -0
  562. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts.map +1 -0
  563. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +7 -0
  564. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts.map +1 -0
  565. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +7 -0
  566. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts.map +1 -0
  567. package/dist/types/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +5 -0
  568. package/dist/types/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts.map +1 -0
  569. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +4 -0
  570. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts.map +1 -0
  571. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +4 -0
  572. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts.map +1 -0
  573. package/dist/types/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +6 -0
  574. package/dist/types/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts.map +1 -0
  575. package/dist/types/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +13 -0
  576. package/dist/types/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts.map +1 -0
  577. package/dist/types/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts +2 -0
  578. package/dist/types/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts.map +1 -0
  579. package/dist/types/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +3 -0
  580. package/dist/types/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts.map +1 -0
  581. package/dist/types/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +4 -0
  582. package/dist/types/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts.map +1 -0
  583. package/dist/types/stateManagement/segmentation/polySeg/index.d.ts +6 -0
  584. package/dist/types/stateManagement/segmentation/polySeg/index.d.ts.map +1 -0
  585. package/dist/types/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts +2 -0
  586. package/dist/types/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts.map +1 -0
  587. package/dist/types/stateManagement/segmentation/segmentIndex.d.ts.map +1 -1
  588. package/dist/types/stateManagement/segmentation/segmentationState.d.ts +6 -1
  589. package/dist/types/stateManagement/segmentation/segmentationState.d.ts.map +1 -1
  590. package/dist/types/store/ToolGroupManager/ToolGroup.d.ts +3 -1
  591. package/dist/types/store/ToolGroupManager/ToolGroup.d.ts.map +1 -1
  592. package/dist/types/tools/ScaleOverlayTool.d.ts.map +1 -1
  593. package/dist/types/tools/annotation/LivewireContourTool.d.ts +4 -3
  594. package/dist/types/tools/annotation/LivewireContourTool.d.ts.map +1 -1
  595. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
  596. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts.map +1 -1
  597. package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
  598. package/dist/types/tools/annotation/ProbeTool.d.ts.map +1 -1
  599. package/dist/types/tools/annotation/SplineROITool.d.ts +6 -3
  600. package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -1
  601. package/dist/types/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts.map +1 -1
  602. package/dist/types/tools/annotation/planarFreehandROITool/drawLoop.d.ts.map +1 -1
  603. package/dist/types/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts.map +1 -1
  604. package/dist/types/tools/annotation/planarFreehandROITool/renderMethods.d.ts.map +1 -1
  605. package/dist/types/tools/annotation/splines/Spline.d.ts +2 -0
  606. package/dist/types/tools/annotation/splines/Spline.d.ts.map +1 -1
  607. package/dist/types/tools/base/AnnotationTool.d.ts.map +1 -1
  608. package/dist/types/tools/base/BaseTool.d.ts.map +1 -1
  609. package/dist/types/tools/base/ContourBaseTool.d.ts +1 -0
  610. package/dist/types/tools/base/ContourBaseTool.d.ts.map +1 -1
  611. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts +1 -2
  612. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -1
  613. package/dist/types/tools/displayTools/Contour/contourConfig.d.ts.map +1 -1
  614. package/dist/types/tools/displayTools/Contour/contourDisplay.d.ts.map +1 -1
  615. package/dist/types/tools/displayTools/Contour/removeContourFromElement.d.ts.map +1 -1
  616. package/dist/types/tools/displayTools/Contour/{addContourSetsToElement.d.ts → vtkContour/addContourSetsToElement.d.ts} +1 -1
  617. package/dist/types/tools/displayTools/Contour/vtkContour/addContourSetsToElement.d.ts.map +1 -0
  618. package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +4 -0
  619. package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts.map +1 -0
  620. package/dist/types/tools/displayTools/Contour/vtkContour/contourConfigCache.d.ts.map +1 -0
  621. package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +4 -0
  622. package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts.map +1 -0
  623. package/dist/types/tools/displayTools/Contour/{utils.d.ts → vtkContour/utils.d.ts} +2 -2
  624. package/dist/types/tools/displayTools/Contour/vtkContour/utils.d.ts.map +1 -0
  625. package/dist/types/tools/displayTools/Labelmap/index.d.ts +2 -1
  626. package/dist/types/tools/displayTools/Labelmap/index.d.ts.map +1 -1
  627. package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts.map +1 -1
  628. package/dist/types/tools/displayTools/Labelmap/validateLabelmap.d.ts +5 -0
  629. package/dist/types/tools/displayTools/Labelmap/validateLabelmap.d.ts.map +1 -0
  630. package/dist/types/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +4 -0
  631. package/dist/types/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts.map +1 -0
  632. package/dist/types/tools/displayTools/Surface/surfaceConfig.d.ts +4 -0
  633. package/dist/types/tools/displayTools/Surface/surfaceConfig.d.ts.map +1 -0
  634. package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts +7 -0
  635. package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts.map +1 -1
  636. package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts +2 -0
  637. package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts.map +1 -0
  638. package/dist/types/tools/segmentation/CircleScissorsTool.d.ts.map +1 -1
  639. package/dist/types/tools/segmentation/RectangleScissorsTool.d.ts.map +1 -1
  640. package/dist/types/tools/segmentation/SegmentSelectTool.d.ts +6 -2
  641. package/dist/types/tools/segmentation/SegmentSelectTool.d.ts.map +1 -1
  642. package/dist/types/tools/segmentation/SphereScissorsTool.d.ts.map +1 -1
  643. package/dist/types/tools/segmentation/strategies/BrushStrategy.d.ts.map +1 -1
  644. package/dist/types/tools/segmentation/strategies/fillSphere.d.ts.map +1 -1
  645. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts.map +1 -1
  646. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -5
  647. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts.map +1 -1
  648. package/dist/types/types/AnnotationTypes.d.ts +2 -0
  649. package/dist/types/types/AnnotationTypes.d.ts.map +1 -1
  650. package/dist/types/types/ContourAnnotation.d.ts +6 -0
  651. package/dist/types/types/ContourAnnotation.d.ts.map +1 -1
  652. package/dist/types/types/ContourSegmentationAnnotation.d.ts +0 -1
  653. package/dist/types/types/ContourSegmentationAnnotation.d.ts.map +1 -1
  654. package/dist/types/types/ContourTypes.d.ts +1 -0
  655. package/dist/types/types/ContourTypes.d.ts.map +1 -1
  656. package/dist/types/types/EventTypes.d.ts +4 -1
  657. package/dist/types/types/EventTypes.d.ts.map +1 -1
  658. package/dist/types/types/ISpline.d.ts +1 -0
  659. package/dist/types/types/ISpline.d.ts.map +1 -1
  660. package/dist/types/types/LabelmapTypes.d.ts +5 -1
  661. package/dist/types/types/LabelmapTypes.d.ts.map +1 -1
  662. package/dist/types/types/PolySeg.d.ts +7 -0
  663. package/dist/types/types/PolySeg.d.ts.map +1 -0
  664. package/dist/types/types/SegmentationStateTypes.d.ts +12 -2
  665. package/dist/types/types/SegmentationStateTypes.d.ts.map +1 -1
  666. package/dist/types/types/SplineProps.d.ts +1 -0
  667. package/dist/types/types/SplineProps.d.ts.map +1 -1
  668. package/dist/types/types/SurfaceTypes.d.ts +1 -1
  669. package/dist/types/types/SurfaceTypes.d.ts.map +1 -1
  670. package/dist/types/types/index.d.ts +2 -1
  671. package/dist/types/types/index.d.ts.map +1 -1
  672. package/dist/types/utilities/boundingBox/getBoundingBoxAroundShape.d.ts.map +1 -1
  673. package/dist/types/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +3 -0
  674. package/dist/types/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts.map +1 -0
  675. package/dist/types/utilities/contourSegmentation/areSameSegment.d.ts.map +1 -1
  676. package/dist/types/utilities/contourSegmentation/index.d.ts +2 -0
  677. package/dist/types/utilities/contourSegmentation/index.d.ts.map +1 -1
  678. package/dist/types/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +3 -0
  679. package/dist/types/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts.map +1 -0
  680. package/dist/types/utilities/contours/detectContourHoles.d.ts.map +1 -1
  681. package/dist/types/utilities/contours/getContourHolesDataCanvas.d.ts +4 -0
  682. package/dist/types/utilities/contours/getContourHolesDataCanvas.d.ts.map +1 -0
  683. package/dist/types/utilities/contours/getContourHolesDataWorld.d.ts +4 -0
  684. package/dist/types/utilities/contours/getContourHolesDataWorld.d.ts.map +1 -0
  685. package/dist/types/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +12 -0
  686. package/dist/types/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts.map +1 -0
  687. package/dist/types/utilities/contours/index.d.ts +5 -2
  688. package/dist/types/utilities/contours/index.d.ts.map +1 -1
  689. package/dist/types/utilities/contours/updateContourPolyline.d.ts +11 -0
  690. package/dist/types/utilities/contours/updateContourPolyline.d.ts.map +1 -0
  691. package/dist/types/utilities/index.d.ts +3 -1
  692. package/dist/types/utilities/index.d.ts.map +1 -1
  693. package/dist/types/utilities/math/polyline/containsPoint.d.ts.map +1 -1
  694. package/dist/types/utilities/math/polyline/containsPoints.d.ts +3 -0
  695. package/dist/types/utilities/math/polyline/containsPoints.d.ts.map +1 -0
  696. package/dist/types/utilities/math/polyline/getWindingDirection.d.ts +3 -0
  697. package/dist/types/utilities/math/polyline/getWindingDirection.d.ts.map +1 -0
  698. package/dist/types/utilities/math/polyline/index.d.ts +4 -1
  699. package/dist/types/utilities/math/polyline/index.d.ts.map +1 -1
  700. package/dist/types/utilities/math/polyline/isPointInsidePolyline3D.d.ts +3 -0
  701. package/dist/types/utilities/math/polyline/isPointInsidePolyline3D.d.ts.map +1 -0
  702. package/dist/types/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +1 -0
  703. package/dist/types/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts.map +1 -1
  704. package/dist/types/utilities/segmentation/contourAndFindLargestBidirectional.d.ts.map +1 -1
  705. package/dist/types/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +2 -0
  706. package/dist/types/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts.map +1 -0
  707. package/dist/types/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts +8 -0
  708. package/dist/types/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts.map +1 -0
  709. package/dist/types/utilities/segmentation/getSegmentAtWorldPoint.d.ts +12 -0
  710. package/dist/types/utilities/segmentation/getSegmentAtWorldPoint.d.ts.map +1 -0
  711. package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts +3 -0
  712. package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts.map +1 -0
  713. package/dist/types/utilities/segmentation/index.d.ts +5 -1
  714. package/dist/types/utilities/segmentation/index.d.ts.map +1 -1
  715. package/dist/types/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +3 -0
  716. package/dist/types/utilities/triggerAnnotationRenderForToolGroupIds.d.ts.map +1 -0
  717. package/dist/types/workers/clippingPlaneWorker.d.ts +2 -0
  718. package/dist/types/workers/clippingPlaneWorker.d.ts.map +1 -0
  719. package/dist/types/workers/polySegConverters.d.ts +2 -0
  720. package/dist/types/workers/polySegConverters.d.ts.map +1 -0
  721. package/dist/umd/17dd54813d5acc10bf8f.wasm +0 -0
  722. package/dist/umd/444.index.js +3 -0
  723. package/dist/umd/444.index.js.LICENSE.txt +5 -0
  724. package/dist/umd/444.index.js.map +1 -0
  725. package/dist/umd/78.index.js +3 -0
  726. package/dist/umd/78.index.js.LICENSE.txt +5 -0
  727. package/dist/umd/78.index.js.map +1 -0
  728. package/dist/umd/985.index.js +2 -0
  729. package/dist/umd/985.index.js.map +1 -0
  730. package/dist/umd/index.js +1 -1
  731. package/dist/umd/index.js.map +1 -1
  732. package/package.json +5 -3
  733. package/src/drawingSvg/drawPath.ts +96 -0
  734. package/src/drawingSvg/drawPolyline.ts +12 -16
  735. package/src/drawingSvg/index.ts +2 -0
  736. package/src/enums/WorkerTypes.ts +16 -0
  737. package/src/enums/index.js +2 -0
  738. package/src/eventDispatchers/shared/getActiveToolForMouseEvent.ts +1 -1
  739. package/src/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.ts +204 -75
  740. package/src/eventListeners/segmentation/imageChangeEventListener.ts +3 -4
  741. package/src/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.ts +97 -69
  742. package/src/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.ts +11 -0
  743. package/src/stateManagement/annotation/annotationState.ts +107 -0
  744. package/src/stateManagement/annotation/helpers/state.ts +29 -1
  745. package/src/stateManagement/index.js +10 -0
  746. package/src/stateManagement/segmentation/SegmentationStateManager.ts +4 -1
  747. package/src/stateManagement/segmentation/addRepresentationData.ts +71 -0
  748. package/src/stateManagement/segmentation/addSegmentationRepresentation.ts +39 -16
  749. package/src/stateManagement/segmentation/config/segmentationVisibility.ts +1 -59
  750. package/src/stateManagement/segmentation/convertStackToVolumeSegmentation.ts +74 -37
  751. package/src/stateManagement/segmentation/convertVolumeToStackSegmentation.ts +102 -38
  752. package/src/stateManagement/segmentation/helpers/validateSegmentationInput.ts +13 -8
  753. package/src/stateManagement/segmentation/index.ts +9 -2
  754. package/src/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.ts +17 -0
  755. package/src/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.ts +25 -0
  756. package/src/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.ts +273 -0
  757. package/src/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.ts +89 -0
  758. package/src/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.ts +193 -0
  759. package/src/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.ts +26 -0
  760. package/src/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.ts +62 -0
  761. package/src/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.ts +81 -0
  762. package/src/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.ts +81 -0
  763. package/src/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.ts +167 -0
  764. package/src/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.ts +95 -0
  765. package/src/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.ts +123 -0
  766. package/src/stateManagement/segmentation/polySeg/computeAndAddRepresentation.ts +97 -0
  767. package/src/stateManagement/segmentation/polySeg/index.ts +12 -0
  768. package/src/stateManagement/segmentation/polySeg/registerPolySegWorker.ts +34 -0
  769. package/src/stateManagement/segmentation/segmentIndex.ts +5 -0
  770. package/src/stateManagement/segmentation/segmentationState.ts +62 -0
  771. package/src/store/ToolGroupManager/ToolGroup.ts +9 -2
  772. package/src/tools/ScaleOverlayTool.ts +4 -1
  773. package/src/tools/SegmentationIntersectionTool.ts +1 -1
  774. package/src/tools/annotation/LivewireContourSegmentationTool.ts +1 -1
  775. package/src/tools/annotation/LivewireContourTool.ts +65 -38
  776. package/src/tools/annotation/PlanarFreehandContourSegmentationTool.ts +1 -22
  777. package/src/tools/annotation/PlanarFreehandROITool.ts +8 -5
  778. package/src/tools/annotation/ProbeTool.ts +4 -0
  779. package/src/tools/annotation/SplineROITool.ts +76 -29
  780. package/src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts +20 -11
  781. package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +42 -23
  782. package/src/tools/annotation/planarFreehandROITool/openContourEditLoop.ts +28 -13
  783. package/src/tools/annotation/planarFreehandROITool/openContourEndEditLoop.ts +1 -1
  784. package/src/tools/annotation/planarFreehandROITool/renderMethods.ts +28 -10
  785. package/src/tools/annotation/splines/LinearSpline.ts +1 -1
  786. package/src/tools/annotation/splines/Spline.ts +13 -1
  787. package/src/tools/base/AnnotationTool.ts +2 -1
  788. package/src/tools/base/BaseTool.ts +1 -6
  789. package/src/tools/base/ContourBaseTool.ts +46 -4
  790. package/src/tools/base/ContourSegmentationBaseTool.ts +51 -42
  791. package/src/tools/displayTools/Contour/contourConfig.ts +1 -0
  792. package/src/tools/displayTools/Contour/contourDisplay.ts +82 -9
  793. package/src/tools/displayTools/Contour/removeContourFromElement.ts +2 -0
  794. package/src/tools/displayTools/Contour/{addContourSetsToElement.ts → vtkContour/addContourSetsToElement.ts} +1 -1
  795. package/src/tools/displayTools/Contour/{addOrUpdateContourSets.ts → vtkContour/addOrUpdateVTKContourSets.ts} +4 -4
  796. package/src/tools/displayTools/Contour/{updateContourSets.ts → vtkContour/updateVTKContourSets.ts} +2 -2
  797. package/src/tools/displayTools/Contour/{utils.ts → vtkContour/utils.ts} +1 -1
  798. package/src/tools/displayTools/Labelmap/addLabelmapToElement.ts +1 -1
  799. package/src/tools/displayTools/Labelmap/index.ts +10 -1
  800. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +39 -4
  801. package/src/tools/displayTools/Labelmap/validateLabelmap.ts +71 -0
  802. package/src/tools/displayTools/Surface/addOrUpdateSurfaceToElement.ts +172 -0
  803. package/src/tools/displayTools/Surface/surfaceConfig.ts +12 -0
  804. package/src/tools/displayTools/Surface/surfaceDisplay.ts +275 -35
  805. package/src/tools/displayTools/registerDisplayToolsWorker.ts +34 -0
  806. package/src/tools/segmentation/BrushTool.ts +1 -1
  807. package/src/tools/segmentation/CircleScissorsTool.ts +3 -1
  808. package/src/tools/segmentation/PaintFillTool.ts +1 -1
  809. package/src/tools/segmentation/RectangleScissorsTool.ts +3 -1
  810. package/src/tools/segmentation/SegmentSelectTool.ts +70 -75
  811. package/src/tools/segmentation/SphereScissorsTool.ts +3 -1
  812. package/src/tools/segmentation/strategies/BrushStrategy.ts +12 -9
  813. package/src/tools/segmentation/strategies/compositions/regionFill.ts +1 -1
  814. package/src/tools/segmentation/strategies/fillSphere.ts +13 -5
  815. package/src/tools/segmentation/strategies/utils/getStrategyData.ts +30 -15
  816. package/src/tools/segmentation/strategies/utils/stackVolumeCheck.ts +24 -17
  817. package/src/types/AnnotationTypes.ts +14 -0
  818. package/src/types/ContourAnnotation.ts +13 -0
  819. package/src/types/ContourSegmentationAnnotation.ts +0 -1
  820. package/src/types/ContourTypes.ts +3 -0
  821. package/src/types/EventTypes.ts +9 -0
  822. package/src/types/ISpline.ts +3 -0
  823. package/src/types/LabelmapTypes.ts +7 -1
  824. package/src/types/PolySeg.ts +7 -0
  825. package/src/types/SegmentationStateTypes.ts +20 -4
  826. package/src/types/SplineProps.ts +10 -0
  827. package/src/types/SurfaceTypes.ts +1 -1
  828. package/src/types/index.ts +3 -0
  829. package/src/utilities/boundingBox/getBoundingBoxAroundShape.ts +4 -2
  830. package/src/utilities/contourSegmentation/addContourSegmentationAnnotation.ts +29 -0
  831. package/src/utilities/contourSegmentation/areSameSegment.ts +0 -2
  832. package/src/utilities/contourSegmentation/index.ts +2 -0
  833. package/src/utilities/contourSegmentation/removeContourSegmentationAnnotation.ts +30 -0
  834. package/src/utilities/contours/detectContourHoles.ts +2 -0
  835. package/src/utilities/contours/generateContourSetsFromLabelmap.ts +2 -2
  836. package/src/utilities/contours/getContourHolesDataCanvas.ts +33 -0
  837. package/src/utilities/contours/getContourHolesDataWorld.ts +19 -0
  838. package/src/utilities/contours/getDeduplicatedVTKPolyDataPoints.ts +66 -0
  839. package/src/utilities/contours/index.ts +8 -2
  840. package/src/utilities/contours/updateContourPolyline.ts +74 -0
  841. package/src/utilities/index.ts +4 -0
  842. package/src/utilities/math/polyline/containsPoint.ts +4 -2
  843. package/src/utilities/math/polyline/containsPoints.ts +22 -0
  844. package/src/utilities/math/polyline/getWindingDirection.ts +14 -0
  845. package/src/utilities/math/polyline/index.ts +6 -0
  846. package/src/utilities/math/polyline/isPointInsidePolyline3D.ts +56 -0
  847. package/src/utilities/math/polyline/planarFreehandROIInternalTypes.ts +1 -0
  848. package/src/utilities/segmentation/contourAndFindLargestBidirectional.ts +0 -1
  849. package/src/utilities/segmentation/getHoveredContourSegmentationAnnotation.ts +25 -0
  850. package/src/utilities/segmentation/getSegmentAtLabelmapBorder.ts +179 -0
  851. package/src/utilities/segmentation/getSegmentAtWorldPoint.ts +173 -0
  852. package/src/utilities/segmentation/getUniqueSegmentIndices.ts +76 -0
  853. package/src/utilities/segmentation/index.ts +8 -0
  854. package/src/utilities/triggerAnnotationRenderForToolGroupIds.ts +38 -0
  855. package/src/workers/clippingPlaneWorker.js +87 -0
  856. package/src/workers/polySegConverters.js +467 -0
  857. package/dist/cjs/tools/displayTools/Contour/addContourSetsToElement.js.map +0 -1
  858. package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.d.ts +0 -3
  859. package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.js +0 -14
  860. package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.js.map +0 -1
  861. package/dist/cjs/tools/displayTools/Contour/contourConfigCache.js.map +0 -1
  862. package/dist/cjs/tools/displayTools/Contour/updateContourSets.d.ts +0 -3
  863. package/dist/cjs/tools/displayTools/Contour/updateContourSets.js.map +0 -1
  864. package/dist/cjs/tools/displayTools/Contour/utils.js.map +0 -1
  865. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.d.ts +0 -3
  866. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js +0 -20
  867. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js.map +0 -1
  868. package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.d.ts +0 -2
  869. package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.js +0 -84
  870. package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.js.map +0 -1
  871. package/dist/cjs/utilities/contours/mergePoints.d.ts +0 -8
  872. package/dist/cjs/utilities/contours/mergePoints.js +0 -77
  873. package/dist/cjs/utilities/contours/mergePoints.js.map +0 -1
  874. package/dist/esm/tools/displayTools/Contour/addContourSetsToElement.js.map +0 -1
  875. package/dist/esm/tools/displayTools/Contour/addOrUpdateContourSets.js.map +0 -1
  876. package/dist/esm/tools/displayTools/Contour/contourConfigCache.js.map +0 -1
  877. package/dist/esm/tools/displayTools/Contour/updateContourSets.js.map +0 -1
  878. package/dist/esm/tools/displayTools/Contour/utils.js.map +0 -1
  879. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js +0 -18
  880. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js.map +0 -1
  881. package/dist/esm/tools/displayTools/Surface/addSurfaceToElement.js +0 -79
  882. package/dist/esm/tools/displayTools/Surface/addSurfaceToElement.js.map +0 -1
  883. package/dist/esm/utilities/contours/mergePoints.js +0 -73
  884. package/dist/esm/utilities/contours/mergePoints.js.map +0 -1
  885. package/dist/types/tools/displayTools/Contour/addContourSetsToElement.d.ts.map +0 -1
  886. package/dist/types/tools/displayTools/Contour/addOrUpdateContourSets.d.ts +0 -4
  887. package/dist/types/tools/displayTools/Contour/addOrUpdateContourSets.d.ts.map +0 -1
  888. package/dist/types/tools/displayTools/Contour/contourConfigCache.d.ts.map +0 -1
  889. package/dist/types/tools/displayTools/Contour/updateContourSets.d.ts +0 -4
  890. package/dist/types/tools/displayTools/Contour/updateContourSets.d.ts.map +0 -1
  891. package/dist/types/tools/displayTools/Contour/utils.d.ts.map +0 -1
  892. package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts +0 -4
  893. package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts.map +0 -1
  894. package/dist/types/tools/displayTools/Surface/addSurfaceToElement.d.ts +0 -3
  895. package/dist/types/tools/displayTools/Surface/addSurfaceToElement.d.ts.map +0 -1
  896. package/dist/types/utilities/contours/mergePoints.d.ts +0 -9
  897. package/dist/types/utilities/contours/mergePoints.d.ts.map +0 -1
  898. package/src/tools/displayTools/Labelmap/validateRepresentationData.ts +0 -36
  899. package/src/tools/displayTools/Surface/addSurfaceToElement.ts +0 -115
  900. package/src/utilities/contours/mergePoints.ts +0 -108
  901. /package/dist/cjs/tools/displayTools/Contour/{addContourSetsToElement.js → vtkContour/addContourSetsToElement.js} +0 -0
  902. /package/dist/cjs/tools/displayTools/Contour/{contourConfigCache.d.ts → vtkContour/contourConfigCache.d.ts} +0 -0
  903. /package/dist/cjs/tools/displayTools/Contour/{contourConfigCache.js → vtkContour/contourConfigCache.js} +0 -0
  904. /package/dist/cjs/tools/displayTools/Contour/{utils.js → vtkContour/utils.js} +0 -0
  905. /package/dist/esm/tools/displayTools/Contour/{addContourSetsToElement.js → vtkContour/addContourSetsToElement.js} +0 -0
  906. /package/dist/esm/tools/displayTools/Contour/{contourConfigCache.js → vtkContour/contourConfigCache.js} +0 -0
  907. /package/dist/esm/tools/displayTools/Contour/{utils.js → vtkContour/utils.js} +0 -0
  908. /package/dist/types/tools/displayTools/Contour/{contourConfigCache.d.ts → vtkContour/contourConfigCache.d.ts} +0 -0
  909. /package/src/tools/displayTools/Contour/{contourConfigCache.ts → vtkContour/contourConfigCache.ts} +0 -0
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const core_1 = require("@cornerstonejs/core");
27
+ const math = __importStar(require("../math"));
28
+ const stateManagement_1 = require("../../stateManagement");
29
+ function updateContourPolyline(annotation, polylineData, transforms) {
30
+ const { canvasToWorld } = transforms;
31
+ const { data } = annotation;
32
+ const { points: polyline, targetWindingDirection } = polylineData;
33
+ let { closed } = polylineData;
34
+ const numPoints = polyline.length;
35
+ const polylineWorldPoints = new Array(numPoints);
36
+ const currentWindingDirection = math.polyline.getWindingDirection(polyline);
37
+ const parentAnnotation = (0, stateManagement_1.getParentAnnotation)(annotation);
38
+ if (closed === undefined) {
39
+ let currentClosedState = false;
40
+ if (polyline.length > 3) {
41
+ const lastToFirstDist = math.point.distanceToPointSquared(polyline[0], polyline[numPoints - 1]);
42
+ currentClosedState = core_1.utilities.isEqual(0, lastToFirstDist);
43
+ }
44
+ closed = currentClosedState;
45
+ }
46
+ let windingDirection = parentAnnotation
47
+ ? parentAnnotation.data.contour.windingDirection * -1
48
+ : targetWindingDirection;
49
+ if (windingDirection === undefined) {
50
+ windingDirection = currentWindingDirection;
51
+ }
52
+ else if (windingDirection !== currentWindingDirection) {
53
+ polyline.reverse();
54
+ }
55
+ for (let i = 0; i < numPoints; i++) {
56
+ polylineWorldPoints[i] = canvasToWorld(polyline[i]);
57
+ }
58
+ data.contour.polyline = polylineWorldPoints;
59
+ data.contour.closed = closed;
60
+ data.contour.windingDirection = windingDirection;
61
+ (0, stateManagement_1.invalidateAnnotation)(annotation);
62
+ }
63
+ exports.default = updateContourPolyline;
64
+ //# sourceMappingURL=updateContourPolyline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateContourPolyline.js","sourceRoot":"","sources":["../../../../src/utilities/contours/updateContourPolyline.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA2D;AAI3D,8CAAgC;AAChC,2DAG+B;AAS/B,SAAwB,qBAAqB,CAC3C,UAA6B,EAC7B,YAIC,EACD,UAEC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,GAAG,YAAY,CAAC;IAClE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;IAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;IAClC,MAAM,mBAAmB,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,IAAA,qCAAmB,EAAC,UAAU,CAAsB,CAAC;IAE9E,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAG/B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CACvD,QAAQ,CAAC,CAAC,CAAC,EACX,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CACxB,CAAC;YAEF,kBAAkB,GAAG,gBAAO,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;SAC1D;QAED,MAAM,GAAG,kBAAkB,CAAC;KAC7B;IAGD,IAAI,gBAAgB,GAAG,gBAAgB;QACrC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC,sBAAsB,CAAC;IAE3B,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClC,gBAAgB,GAAG,uBAAuB,CAAC;KAC5C;SAAM,IAAI,gBAAgB,KAAK,uBAAuB,EAAE;QACvD,QAAQ,CAAC,OAAO,EAAE,CAAC;KACpB;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,mBAAmB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,mBAAmB,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAEjD,IAAA,sCAAoB,EAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAxDD,wCAwDC"}
@@ -7,6 +7,7 @@ import clip from './clip';
7
7
  import calibrateImageSpacing from './calibrateImageSpacing';
8
8
  import { getCalibratedLengthUnits, getCalibratedAreaUnits, getCalibratedScale } from './getCalibratedUnits';
9
9
  import triggerAnnotationRenderForViewportIds from './triggerAnnotationRenderForViewportIds';
10
+ import triggerAnnotationRenderForToolGroupIds from './triggerAnnotationRenderForToolGroupIds';
10
11
  import triggerAnnotationRender from './triggerAnnotationRender';
11
12
  import jumpToSlice from './viewport/jumpToSlice';
12
13
  import pointInShapeCallback from './pointInShapeCallback';
@@ -33,6 +34,7 @@ import * as touch from './touch';
33
34
  import * as dynamicVolume from './dynamicVolume';
34
35
  import * as polyDataUtils from './polyData/utils';
35
36
  import * as voi from './voi';
37
+ import * as contourSegmentation from './contourSegmentation';
36
38
  declare const roundNumber: typeof utilities.roundNumber;
37
39
  import { triggerEvent } from '@cornerstonejs/core';
38
- export { math, planar, viewportFilters, drawing, debounce, dynamicVolume, throttle, orientation, isObject, touch, triggerEvent, calibrateImageSpacing, getCalibratedLengthUnits, getCalibratedAreaUnits, getCalibratedScale, segmentation, contours, triggerAnnotationRenderForViewportIds, triggerAnnotationRender, pointInShapeCallback, getSphereBoundsInfo, getAnnotationNearPoint, getViewportForAnnotation, getAnnotationNearPointOnEnabledElement, jumpToSlice, pointInSurroundingSphereCallback, viewport, cine, clip, boundingBox, rectangleROITool, planarFreehandROITool, stackPrefetch, stackContextPrefetch, scroll, roundNumber, pointToString, polyDataUtils, voi, annotationFrameRange, };
40
+ export { math, planar, viewportFilters, drawing, debounce, dynamicVolume, throttle, orientation, isObject, touch, triggerEvent, calibrateImageSpacing, getCalibratedLengthUnits, getCalibratedAreaUnits, getCalibratedScale, segmentation, contours, triggerAnnotationRenderForViewportIds, triggerAnnotationRenderForToolGroupIds, triggerAnnotationRender, pointInShapeCallback, getSphereBoundsInfo, getAnnotationNearPoint, getViewportForAnnotation, getAnnotationNearPointOnEnabledElement, jumpToSlice, pointInSurroundingSphereCallback, viewport, cine, clip, boundingBox, rectangleROITool, planarFreehandROITool, stackPrefetch, stackContextPrefetch, scroll, roundNumber, pointToString, polyDataUtils, voi, annotationFrameRange, contourSegmentation, };
@@ -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.annotationFrameRange = exports.voi = exports.polyDataUtils = exports.pointToString = exports.roundNumber = exports.scroll = exports.stackContextPrefetch = exports.stackPrefetch = exports.planarFreehandROITool = exports.rectangleROITool = exports.boundingBox = exports.clip = exports.cine = exports.viewport = exports.pointInSurroundingSphereCallback = exports.jumpToSlice = exports.getAnnotationNearPointOnEnabledElement = exports.getViewportForAnnotation = exports.getAnnotationNearPoint = exports.getSphereBoundsInfo = exports.pointInShapeCallback = exports.triggerAnnotationRender = exports.triggerAnnotationRenderForViewportIds = exports.contours = exports.segmentation = exports.getCalibratedScale = exports.getCalibratedAreaUnits = exports.getCalibratedLengthUnits = exports.calibrateImageSpacing = exports.triggerEvent = exports.touch = exports.isObject = exports.orientation = exports.throttle = exports.dynamicVolume = exports.debounce = exports.drawing = exports.viewportFilters = exports.planar = exports.math = void 0;
29
+ exports.contourSegmentation = exports.annotationFrameRange = exports.voi = exports.polyDataUtils = exports.pointToString = exports.roundNumber = exports.scroll = exports.stackContextPrefetch = exports.stackPrefetch = exports.planarFreehandROITool = exports.rectangleROITool = exports.boundingBox = exports.clip = exports.cine = exports.viewport = exports.pointInSurroundingSphereCallback = exports.jumpToSlice = exports.getAnnotationNearPointOnEnabledElement = exports.getViewportForAnnotation = exports.getAnnotationNearPoint = exports.getSphereBoundsInfo = exports.pointInShapeCallback = exports.triggerAnnotationRender = exports.triggerAnnotationRenderForToolGroupIds = exports.triggerAnnotationRenderForViewportIds = exports.contours = exports.segmentation = exports.getCalibratedScale = exports.getCalibratedAreaUnits = exports.getCalibratedLengthUnits = exports.calibrateImageSpacing = exports.triggerEvent = exports.touch = exports.isObject = exports.orientation = exports.throttle = exports.dynamicVolume = exports.debounce = exports.drawing = exports.viewportFilters = exports.planar = exports.math = void 0;
30
30
  const core_1 = require("@cornerstonejs/core");
31
31
  const getAnnotationNearPoint_1 = require("./getAnnotationNearPoint");
32
32
  Object.defineProperty(exports, "getAnnotationNearPoint", { enumerable: true, get: function () { return getAnnotationNearPoint_1.getAnnotationNearPoint; } });
@@ -47,6 +47,8 @@ Object.defineProperty(exports, "getCalibratedAreaUnits", { enumerable: true, get
47
47
  Object.defineProperty(exports, "getCalibratedScale", { enumerable: true, get: function () { return getCalibratedUnits_1.getCalibratedScale; } });
48
48
  const triggerAnnotationRenderForViewportIds_1 = __importDefault(require("./triggerAnnotationRenderForViewportIds"));
49
49
  exports.triggerAnnotationRenderForViewportIds = triggerAnnotationRenderForViewportIds_1.default;
50
+ const triggerAnnotationRenderForToolGroupIds_1 = __importDefault(require("./triggerAnnotationRenderForToolGroupIds"));
51
+ exports.triggerAnnotationRenderForToolGroupIds = triggerAnnotationRenderForToolGroupIds_1.default;
50
52
  const triggerAnnotationRender_1 = __importDefault(require("./triggerAnnotationRender"));
51
53
  exports.triggerAnnotationRender = triggerAnnotationRender_1.default;
52
54
  const jumpToSlice_1 = __importDefault(require("./viewport/jumpToSlice"));
@@ -100,6 +102,8 @@ const polyDataUtils = __importStar(require("./polyData/utils"));
100
102
  exports.polyDataUtils = polyDataUtils;
101
103
  const voi = __importStar(require("./voi"));
102
104
  exports.voi = voi;
105
+ const contourSegmentation = __importStar(require("./contourSegmentation"));
106
+ exports.contourSegmentation = contourSegmentation;
103
107
  const roundNumber = core_1.utilities.roundNumber;
104
108
  exports.roundNumber = roundNumber;
105
109
  const core_2 = require("@cornerstonejs/core");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgD;AAEhD,qEAGkC;AAuEhC,uGAzEA,+CAAsB,OAyEA;AAEtB,uHA1EA,+DAAsC,OA0EA;AAtExC,0DAAkC;AAmDhC,mBAnDK,kBAAQ,CAmDL;AAlDV,0DAAkC;AAoDhC,mBApDK,kBAAQ,CAoDL;AAnDV,0DAAkC;AAqDhC,mBArDK,kBAAQ,CAqDL;AApDV,kDAA0B;AAwExB,eAxEK,cAAI,CAwEL;AAvEN,oFAA4D;AAsD1D,gCAtDK,+BAAqB,CAsDL;AArDvB,6DAI8B;AAkD5B,yGArDA,6CAAwB,OAqDA;AACxB,uGArDA,2CAAsB,OAqDA;AACtB,mGArDA,uCAAkB,OAqDA;AAnDpB,oHAA4F;AAsD1F,gDAtDK,+CAAqC,CAsDL;AArDvC,wFAAgE;AAsD9D,kCAtDK,iCAAuB,CAsDL;AArDzB,yEAAiD;AA2D/C,sBA3DK,qBAAW,CA2DL;AAzDb,kFAA0D;AAoDxD,+BApDK,8BAAoB,CAoDL;AAnDtB,+DAA4D;AAoD1D,oGApDO,yCAAmB,OAoDP;AAnDrB,sDAA8B;AAiE5B,iBAjEK,gBAAM,CAiEL;AAhER,mDAAgD;AAkE9C,8FAlEO,6BAAa,OAkEP;AAjEf,kFAA0D;AAoExD,+BApEK,8BAAoB,CAoEL;AAnEtB,0GAAkF;AAqDhF,2CArDK,0CAAgC,CAqDL;AApDlC,0FAAkE;AAiDhE,mCAjDK,kCAAwB,CAiDL;AA9C1B,qDAAuC;AAwCrC,4BAAQ;AAvCV,6DAA+C;AAsC7C,oCAAY;AArCd,mDAAqC;AAyBnC,0BAAO;AAxBT,6CAA+B;AAqB7B,oBAAI;AApBN,iDAAmC;AAqBjC,wBAAM;AApBR,mEAAqD;AAqBnD,0CAAe;AApBjB,2DAA6C;AAyB3C,kCAAW;AAxBb,6CAA+B;AA4C7B,oBAAI;AA3CN,2DAA6C;AA6C3C,kCAAW;AA5Cb,+EAAiE;AA8C/D,sDAAqB;AA7CvB,qEAAuD;AA4CrD,4CAAgB;AA3ClB,mDAAsE;AA6CpE,8FA7CO,6BAAa,OA6CP;AACb,qGA9CsB,oCAAoB,OA8CtB;AA7CtB,qDAAuC;AAsCrC,4BAAQ;AArCV,+CAAiC;AAoB/B,sBAAK;AAnBP,+DAAiD;AAe/C,sCAAa;AAdf,gEAAkD;AA8ChD,sCAAa;AA7Cf,2CAA6B;AA8C3B,kBAAG;AA5CL,MAAM,WAAW,GAAG,gBAAS,CAAC,WAAW,CAAC;AAyCxC,kCAAW;AAtCb,8CAAmD;AAajD,6FAbO,mBAAY,OAaP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgD;AAEhD,qEAGkC;AA0EhC,uGA5EA,+CAAsB,OA4EA;AAEtB,uHA7EA,+DAAsC,OA6EA;AAzExC,0DAAkC;AAqDhC,mBArDK,kBAAQ,CAqDL;AApDV,0DAAkC;AAsDhC,mBAtDK,kBAAQ,CAsDL;AArDV,0DAAkC;AAuDhC,mBAvDK,kBAAQ,CAuDL;AAtDV,kDAA0B;AA2ExB,eA3EK,cAAI,CA2EL;AA1EN,oFAA4D;AAwD1D,gCAxDK,+BAAqB,CAwDL;AAvDvB,6DAI8B;AAoD5B,yGAvDA,6CAAwB,OAuDA;AACxB,uGAvDA,2CAAsB,OAuDA;AACtB,mGAvDA,uCAAkB,OAuDA;AArDpB,oHAA4F;AAwD1F,gDAxDK,+CAAqC,CAwDL;AAvDvC,sHAA8F;AAwD5F,iDAxDK,gDAAsC,CAwDL;AAvDxC,wFAAgE;AAwD9D,kCAxDK,iCAAuB,CAwDL;AAvDzB,yEAAiD;AA6D/C,sBA7DK,qBAAW,CA6DL;AA3Db,kFAA0D;AAsDxD,+BAtDK,8BAAoB,CAsDL;AArDtB,+DAA4D;AAsD1D,oGAtDO,yCAAmB,OAsDP;AArDrB,sDAA8B;AAmE5B,iBAnEK,gBAAM,CAmEL;AAlER,mDAAgD;AAoE9C,8FApEO,6BAAa,OAoEP;AAnEf,kFAA0D;AAsExD,+BAtEK,8BAAoB,CAsEL;AArEtB,0GAAkF;AAuDhF,2CAvDK,0CAAgC,CAuDL;AAtDlC,0FAAkE;AAmDhE,mCAnDK,kCAAwB,CAmDL;AAhD1B,qDAAuC;AAyCrC,4BAAQ;AAxCV,6DAA+C;AAuC7C,oCAAY;AAtCd,mDAAqC;AA0BnC,0BAAO;AAzBT,6CAA+B;AAsB7B,oBAAI;AArBN,iDAAmC;AAsBjC,wBAAM;AArBR,mEAAqD;AAsBnD,0CAAe;AArBjB,2DAA6C;AA0B3C,kCAAW;AAzBb,6CAA+B;AA8C7B,oBAAI;AA7CN,2DAA6C;AA+C3C,kCAAW;AA9Cb,+EAAiE;AAgD/D,sDAAqB;AA/CvB,qEAAuD;AA8CrD,4CAAgB;AA7ClB,mDAAsE;AA+CpE,8FA/CO,6BAAa,OA+CP;AACb,qGAhDsB,oCAAoB,OAgDtB;AA/CtB,qDAAuC;AAwCrC,4BAAQ;AAvCV,+CAAiC;AAqB/B,sBAAK;AApBP,+DAAiD;AAgB/C,sCAAa;AAff,gEAAkD;AAgDhD,sCAAa;AA/Cf,2CAA6B;AAgD3B,kBAAG;AA/CL,2EAA6D;AAiD3D,kDAAmB;AA/CrB,MAAM,WAAW,GAAG,gBAAS,CAAC,WAAW,CAAC;AA0CxC,kCAAW;AAvCb,8CAAmD;AAajD,6FAbO,mBAAY,OAaP"}
@@ -1 +1 @@
1
- {"version":3,"file":"containsPoint.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/containsPoint.ts"],"names":[],"mappings":";;;;;AACA,0DAAkC;AAalC,SAAwB,aAAa,CACnC,QAAwB,EACxB,KAAmB,EACnB,MAAgB;IAEhB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAGzB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAIvB,MAAM,OAAO,GAAG,CAAC,KAAK,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAG7B,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,uBAAuB,GAC3B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAE1D,IAAI,uBAAuB,EAAE;YAC3B,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,UAAU,GAAG,cAAc,CAAC;YAEhC,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,aAAa,GACjB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEnE,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;aACxC;YAED,gBAAgB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC;KACF;IAED,OAAO,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAhDD,gCAgDC"}
1
+ {"version":3,"file":"containsPoint.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/containsPoint.ts"],"names":[],"mappings":";;;;;AACA,0DAAkC;AAelC,SAAwB,aAAa,CACnC,QAAwB,EACxB,KAAmB,EACnB,MAAgB;IAEhB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAGzB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAIvB,MAAM,OAAO,GAAG,CAAC,KAAK,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAG7B,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,uBAAuB,GAC3B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAE1D,IAAI,uBAAuB,EAAE;YAC3B,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,UAAU,GAAG,cAAc,CAAC;YAEhC,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,aAAa,GACjB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEnE,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;aACxC;YAED,gBAAgB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC;KACF;IAED,OAAO,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAhDD,gCAgDC"}
@@ -0,0 +1,2 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ export default function containsPoints(polyline: Types.Point2[], points: Types.Point2[]): boolean;
@@ -0,0 +1,16 @@
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 containsPoint_1 = __importDefault(require("./containsPoint"));
7
+ function containsPoints(polyline, points) {
8
+ for (let i = 0, numPoint = points.length; i < numPoint; i++) {
9
+ if (!(0, containsPoint_1.default)(polyline, points[i])) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
15
+ exports.default = containsPoints;
16
+ //# sourceMappingURL=containsPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containsPoints.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/containsPoints.ts"],"names":[],"mappings":";;;;;AACA,oEAA4C;AAS5C,SAAwB,cAAc,CACpC,QAAwB,EACxB,MAAsB;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC3D,IAAI,CAAC,IAAA,uBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACvC,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,iCAWC"}
@@ -0,0 +1,2 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ export default function getWindingDirection(polyline: Types.Point2[]): number;
@@ -0,0 +1,12 @@
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 getSignedArea_1 = __importDefault(require("./getSignedArea"));
7
+ function getWindingDirection(polyline) {
8
+ const signedArea = (0, getSignedArea_1.default)(polyline);
9
+ return signedArea >= 0 ? 1 : -1;
10
+ }
11
+ exports.default = getWindingDirection;
12
+ //# sourceMappingURL=getWindingDirection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWindingDirection.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/getWindingDirection.ts"],"names":[],"mappings":";;;;;AACA,oEAA4C;AAO5C,SAAwB,mBAAmB,CAAC,QAAwB;IAClE,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,QAAQ,CAAC,CAAC;IAG3C,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AALD,sCAKC"}
@@ -1,8 +1,10 @@
1
1
  import isClosed from './isClosed';
2
2
  import containsPoint from './containsPoint';
3
+ import containsPoints from './containsPoints';
3
4
  import getAABB from './getAABB';
4
5
  import getArea from './getArea';
5
6
  import getSignedArea from './getSignedArea';
7
+ import getWindingDirection from './getWindingDirection';
6
8
  import getNormal3 from './getNormal3';
7
9
  import getNormal2 from './getNormal2';
8
10
  import { mergePolylines, subtractPolylines } from './combinePolyline';
@@ -15,4 +17,5 @@ import getSubPixelSpacingAndXYDirections from './getSubPixelSpacingAndXYDirectio
15
17
  import pointsAreWithinCloseContourProximity from './pointsAreWithinCloseContourProximity';
16
18
  import addCanvasPointsToArray from './addCanvasPointsToArray';
17
19
  import pointCanProjectOnLine from './pointCanProjectOnLine';
18
- export { isClosed, containsPoint, getAABB, getArea, getSignedArea, getNormal3, getNormal2, intersectPolyline, getFirstLineSegmentIntersectionIndexes, getLineSegmentIntersectionsIndexes, getLineSegmentIntersectionsCoordinates, getClosestLineSegmentIntersection, getSubPixelSpacingAndXYDirections, pointsAreWithinCloseContourProximity, addCanvasPointsToArray, pointCanProjectOnLine, mergePolylines, subtractPolylines, };
20
+ import { isPointInsidePolyline3D } from './isPointInsidePolyline3D';
21
+ export { isClosed, containsPoint, containsPoints, getAABB, getArea, getSignedArea, getWindingDirection, getNormal3, getNormal2, intersectPolyline, getFirstLineSegmentIntersectionIndexes, getLineSegmentIntersectionsIndexes, getLineSegmentIntersectionsCoordinates, getClosestLineSegmentIntersection, getSubPixelSpacingAndXYDirections, pointsAreWithinCloseContourProximity, addCanvasPointsToArray, pointCanProjectOnLine, mergePolylines, subtractPolylines, isPointInsidePolyline3D, };
@@ -3,17 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.subtractPolylines = exports.mergePolylines = exports.pointCanProjectOnLine = exports.addCanvasPointsToArray = exports.pointsAreWithinCloseContourProximity = exports.getSubPixelSpacingAndXYDirections = exports.getClosestLineSegmentIntersection = exports.getLineSegmentIntersectionsCoordinates = exports.getLineSegmentIntersectionsIndexes = exports.getFirstLineSegmentIntersectionIndexes = exports.intersectPolyline = exports.getNormal2 = exports.getNormal3 = exports.getSignedArea = exports.getArea = exports.getAABB = exports.containsPoint = exports.isClosed = void 0;
6
+ exports.isPointInsidePolyline3D = exports.subtractPolylines = exports.mergePolylines = exports.pointCanProjectOnLine = exports.addCanvasPointsToArray = exports.pointsAreWithinCloseContourProximity = exports.getSubPixelSpacingAndXYDirections = exports.getClosestLineSegmentIntersection = exports.getLineSegmentIntersectionsCoordinates = exports.getLineSegmentIntersectionsIndexes = exports.getFirstLineSegmentIntersectionIndexes = exports.intersectPolyline = exports.getNormal2 = exports.getNormal3 = exports.getWindingDirection = exports.getSignedArea = exports.getArea = exports.getAABB = exports.containsPoints = exports.containsPoint = exports.isClosed = void 0;
7
7
  const isClosed_1 = __importDefault(require("./isClosed"));
8
8
  exports.isClosed = isClosed_1.default;
9
9
  const containsPoint_1 = __importDefault(require("./containsPoint"));
10
10
  exports.containsPoint = containsPoint_1.default;
11
+ const containsPoints_1 = __importDefault(require("./containsPoints"));
12
+ exports.containsPoints = containsPoints_1.default;
11
13
  const getAABB_1 = __importDefault(require("./getAABB"));
12
14
  exports.getAABB = getAABB_1.default;
13
15
  const getArea_1 = __importDefault(require("./getArea"));
14
16
  exports.getArea = getArea_1.default;
15
17
  const getSignedArea_1 = __importDefault(require("./getSignedArea"));
16
18
  exports.getSignedArea = getSignedArea_1.default;
19
+ const getWindingDirection_1 = __importDefault(require("./getWindingDirection"));
20
+ exports.getWindingDirection = getWindingDirection_1.default;
17
21
  const getNormal3_1 = __importDefault(require("./getNormal3"));
18
22
  exports.getNormal3 = getNormal3_1.default;
19
23
  const getNormal2_1 = __importDefault(require("./getNormal2"));
@@ -39,4 +43,6 @@ const addCanvasPointsToArray_1 = __importDefault(require("./addCanvasPointsToArr
39
43
  exports.addCanvasPointsToArray = addCanvasPointsToArray_1.default;
40
44
  const pointCanProjectOnLine_1 = __importDefault(require("./pointCanProjectOnLine"));
41
45
  exports.pointCanProjectOnLine = pointCanProjectOnLine_1.default;
46
+ const isPointInsidePolyline3D_1 = require("./isPointInsidePolyline3D");
47
+ Object.defineProperty(exports, "isPointInsidePolyline3D", { enumerable: true, get: function () { return isPointInsidePolyline3D_1.isPointInsidePolyline3D; } });
42
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAmBhC,mBAnBK,kBAAQ,CAmBL;AAlBV,oEAA4C;AAmB1C,wBAnBK,uBAAa,CAmBL;AAlBf,wDAAgC;AAmB9B,kBAnBK,iBAAO,CAmBL;AAlBT,wDAAgC;AAmB9B,kBAnBK,iBAAO,CAmBL;AAlBT,oEAA4C;AAmB1C,wBAnBK,uBAAa,CAmBL;AAlBf,8DAAsC;AAmBpC,qBAnBK,oBAAU,CAmBL;AAlBZ,8DAAsC;AAmBpC,qBAnBK,oBAAU,CAmBL;AAlBZ,uDAAsE;AA4BpE,+FA5BO,gCAAc,OA4BP;AACd,kGA7BuB,mCAAiB,OA6BvB;AA5BnB,4EAAoD;AAkBlD,4BAlBK,2BAAiB,CAkBL;AAjBnB,sHAA8F;AAkB5F,iDAlBK,gDAAsC,CAkBL;AAjBxC,8GAAsF;AAkBpF,6CAlBK,4CAAkC,CAkBL;AAjBpC,sHAA8F;AAkB5F,iDAlBK,gDAAsC,CAkBL;AAjBxC,4GAAoF;AAkBlF,4CAlBK,2CAAiC,CAkBL;AAjBnC,4GAAoF;AAkBlF,4CAlBK,2CAAiC,CAkBL;AAjBnC,kHAA0F;AAkBxF,+CAlBK,8CAAoC,CAkBL;AAjBtC,sFAA8D;AAkB5D,iCAlBK,gCAAsB,CAkBL;AAjBxB,oFAA4D;AAkB1D,gCAlBK,+BAAqB,CAkBL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAsBhC,mBAtBK,kBAAQ,CAsBL;AArBV,oEAA4C;AAsB1C,wBAtBK,uBAAa,CAsBL;AArBf,sEAA8C;AAsB5C,yBAtBK,wBAAc,CAsBL;AArBhB,wDAAgC;AAsB9B,kBAtBK,iBAAO,CAsBL;AArBT,wDAAgC;AAsB9B,kBAtBK,iBAAO,CAsBL;AArBT,oEAA4C;AAsB1C,wBAtBK,uBAAa,CAsBL;AArBf,gFAAwD;AAsBtD,8BAtBK,6BAAmB,CAsBL;AArBrB,8DAAsC;AAsBpC,qBAtBK,oBAAU,CAsBL;AArBZ,8DAAsC;AAsBpC,qBAtBK,oBAAU,CAsBL;AArBZ,uDAAsE;AA+BpE,+FA/BO,gCAAc,OA+BP;AACd,kGAhCuB,mCAAiB,OAgCvB;AA/BnB,4EAAoD;AAqBlD,4BArBK,2BAAiB,CAqBL;AApBnB,sHAA8F;AAqB5F,iDArBK,gDAAsC,CAqBL;AApBxC,8GAAsF;AAqBpF,6CArBK,4CAAkC,CAqBL;AApBpC,sHAA8F;AAqB5F,iDArBK,gDAAsC,CAqBL;AApBxC,4GAAoF;AAqBlF,4CArBK,2CAAiC,CAqBL;AApBnC,4GAAoF;AAqBlF,4CArBK,2CAAiC,CAqBL;AApBnC,kHAA0F;AAqBxF,+CArBK,8CAAoC,CAqBL;AApBtC,sFAA8D;AAqB5D,iCArBK,gCAAsB,CAqBL;AApBxB,oFAA4D;AAqB1D,gCArBK,+BAAqB,CAqBL;AApBvB,uEAAoE;AAuBlE,wGAvBO,iDAAuB,OAuBP"}
@@ -0,0 +1,2 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ export declare function isPointInsidePolyline3D(point: Types.Point3, polyline: Types.Point3[]): boolean;
@@ -0,0 +1,34 @@
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
+ exports.isPointInsidePolyline3D = void 0;
7
+ const containsPoint_1 = __importDefault(require("./containsPoint"));
8
+ function isPointInsidePolyline3D(point, polyline) {
9
+ let sharedDimensionIndex;
10
+ const testPoints = polyline.slice(0, 3);
11
+ for (let i = 0; i < 3; i++) {
12
+ if (testPoints.every((point, index, array) => point[i] === array[0][i])) {
13
+ sharedDimensionIndex = i;
14
+ break;
15
+ }
16
+ }
17
+ if (sharedDimensionIndex === undefined) {
18
+ throw new Error('Cannot find a shared dimension index for polyline, probably oblique plane');
19
+ }
20
+ const points2D = [];
21
+ for (let i = 0; i < polyline.length; i++) {
22
+ points2D.push([
23
+ polyline[i][(sharedDimensionIndex + 1) % 3],
24
+ polyline[i][(sharedDimensionIndex + 2) % 3],
25
+ ]);
26
+ }
27
+ const point2D = [
28
+ point[(sharedDimensionIndex + 1) % 3],
29
+ point[(sharedDimensionIndex + 2) % 3],
30
+ ];
31
+ return (0, containsPoint_1.default)(points2D, point2D);
32
+ }
33
+ exports.isPointInsidePolyline3D = isPointInsidePolyline3D;
34
+ //# sourceMappingURL=isPointInsidePolyline3D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPointInsidePolyline3D.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/isPointInsidePolyline3D.ts"],"names":[],"mappings":";;;;;;AACA,oEAA4C;AAa5C,SAAgB,uBAAuB,CACrC,KAAmB,EACnB,QAAwB;IAOxB,IAAI,oBAAoB,CAAC;IAEzB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACvE,oBAAoB,GAAG,CAAC,CAAC;YACzB,MAAM;SACP;KACF;IAED,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;KACH;IAGD,MAAM,QAAQ,GAAG,EAAoB,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3C,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SAC5C,CAAC,CAAC;KACJ;IAED,MAAM,OAAO,GAAG;QACd,KAAK,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACtB,CAAC;IAElB,OAAO,IAAA,uBAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAzCD,0DAyCC"}
@@ -3,6 +3,7 @@ import { PlanarFreehandROIAnnotation } from '../../../types/ToolSpecificAnnotati
3
3
  declare type PlanarFreehandROIDrawData = {
4
4
  polylineIndex: number;
5
5
  canvasPoints: Types.Point2[];
6
+ contourHoleProcessingEnabled: boolean;
6
7
  };
7
8
  declare type PlanarFreehandROIEditData = {
8
9
  prevCanvasPoints: Types.Point2[];
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const contours_1 = require("../contours");
7
7
  const SegmentationRepresentations_1 = __importDefault(require("../../enums/SegmentationRepresentations"));
8
8
  const findLargestBidirectional_1 = __importDefault(require("./findLargestBidirectional"));
9
- const EPSILON = 1e-2;
10
9
  const { Labelmap } = SegmentationRepresentations_1.default;
11
10
  function contourAndFindLargestBidirectional(segmentation) {
12
11
  const contours = (0, contours_1.generateContourSetsFromLabelmap)({
@@ -1 +1 @@
1
- {"version":3,"file":"contourAndFindLargestBidirectional.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/contourAndFindLargestBidirectional.ts"],"names":[],"mappings":";;;;;AAAA,0CAA8D;AAC9D,0GAAkF;AAClF,0FAAkE;AAElE,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,qCAA2B,CAAC;AAYjD,SAAwB,kCAAkC,CAAC,YAAY;IACrE,MAAM,QAAQ,GAAG,IAAA,0CAA+B,EAAC;QAC/C,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE;QAC1D,OAAO;KACR;IAED,MAAM,EACJ,kBAAkB,EAClB,QAAQ,GAAG;QACT,IAAI;QACJ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE;KACrE,GACF,GAAG,YAAY,CAAC;IACjB,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;QACvB,OAAO;KACR;IACD,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC;IACnD,OAAO,IAAA,kCAAwB,EAC7B,QAAQ,CAAC,CAAC,CAAC,EACX,WAAW,EACX,QAAQ,CAAC,YAAY,CAAC,CACvB,CAAC;AACJ,CAAC;AA5BD,qDA4BC"}
1
+ {"version":3,"file":"contourAndFindLargestBidirectional.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/contourAndFindLargestBidirectional.ts"],"names":[],"mappings":";;;;;AAAA,0CAA8D;AAC9D,0GAAkF;AAClF,0FAAkE;AAElE,MAAM,EAAE,QAAQ,EAAE,GAAG,qCAA2B,CAAC;AAYjD,SAAwB,kCAAkC,CAAC,YAAY;IACrE,MAAM,QAAQ,GAAG,IAAA,0CAA+B,EAAC;QAC/C,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE;QAC1D,OAAO;KACR;IAED,MAAM,EACJ,kBAAkB,EAClB,QAAQ,GAAG;QACT,IAAI;QACJ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE;KACrE,GACF,GAAG,YAAY,CAAC;IACjB,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;QACvB,OAAO;KACR;IACD,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC;IACnD,OAAO,IAAA,kCAAwB,EAC7B,QAAQ,CAAC,CAAC,CAAC,EACX,WAAW,EACX,QAAQ,CAAC,YAAY,CAAC,CACvB,CAAC;AACJ,CAAC;AA5BD,qDA4BC"}
@@ -0,0 +1 @@
1
+ export declare function getHoveredContourSegmentationAnnotation(segmentationId: any): number;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHoveredContourSegmentationAnnotation = void 0;
4
+ const stateManagement_1 = require("../../stateManagement");
5
+ const segmentationState_1 = require("../../stateManagement/segmentation/segmentationState");
6
+ function getHoveredContourSegmentationAnnotation(segmentationId) {
7
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
8
+ const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
9
+ for (const [segmentIndex, annotationUIDs] of annotationUIDsMap.entries()) {
10
+ const highlightedAnnotationUID = Array.from(annotationUIDs).find((annotationUID) => (0, stateManagement_1.getAnnotation)(annotationUID).highlighted);
11
+ if (highlightedAnnotationUID) {
12
+ return segmentIndex;
13
+ }
14
+ }
15
+ return undefined;
16
+ }
17
+ exports.getHoveredContourSegmentationAnnotation = getHoveredContourSegmentationAnnotation;
18
+ //# sourceMappingURL=getHoveredContourSegmentationAnnotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHoveredContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getHoveredContourSegmentationAnnotation.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AACtD,4FAAuF;AAQvF,SAAgB,uCAAuC,CAAC,cAAc;IACpE,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAEtE,KAAK,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE;QACxE,MAAM,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAC9D,CAAC,aAAa,EAAE,EAAE,CAAC,IAAA,+BAAa,EAAC,aAAa,CAAC,CAAC,WAAW,CAC5D,CAAC;QAEF,IAAI,wBAAwB,EAAE;YAC5B,OAAO,YAAY,CAAC;SACrB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAfD,0FAeC"}
@@ -0,0 +1,7 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ declare type Options = {
3
+ viewport?: Types.IViewport;
4
+ searchRadius?: number;
5
+ };
6
+ export declare function getSegmentAtLabelmapBorder(segmentationId: string, worldPoint: Types.Point3, { viewport, searchRadius }: Options): number;
7
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSegmentAtLabelmapBorder = void 0;
4
+ const core_1 = require("@cornerstonejs/core");
5
+ const segmentationState_1 = require("../../stateManagement/segmentation/segmentationState");
6
+ const stackVolumeCheck_1 = require("../../tools/segmentation/strategies/utils/stackVolumeCheck");
7
+ function getSegmentAtLabelmapBorder(segmentationId, worldPoint, { viewport, searchRadius }) {
8
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
9
+ const labelmapData = segmentation.representationData.LABELMAP;
10
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(labelmapData)) {
11
+ const { volumeId } = labelmapData;
12
+ const segmentationVolume = core_1.cache.getVolume(volumeId);
13
+ if (!segmentationVolume) {
14
+ return;
15
+ }
16
+ const imageData = segmentationVolume.imageData;
17
+ const segmentIndex = imageData.getScalarValueFromWorld(worldPoint);
18
+ const canvasPoint = viewport.worldToCanvas(worldPoint);
19
+ const onEdge = isSegmentOnEdgeCanvas(canvasPoint, segmentIndex, viewport, imageData, searchRadius);
20
+ return onEdge ? segmentIndex : undefined;
21
+ }
22
+ const { imageIdReferenceMap } = labelmapData;
23
+ const currentImageId = viewport.getCurrentImageId();
24
+ const segmentationImageId = imageIdReferenceMap.get(currentImageId);
25
+ const image = core_1.cache.getImage(segmentationImageId);
26
+ if (!image) {
27
+ return;
28
+ }
29
+ const segmentationRepresentations = (0, segmentationState_1.getSegmentationIdRepresentations)(segmentation.segmentationId);
30
+ const { segmentationRepresentationUID } = segmentationRepresentations[0];
31
+ const segmentationActor = viewport.getActor(segmentationRepresentationUID);
32
+ const imageData = segmentationActor === null || segmentationActor === void 0 ? void 0 : segmentationActor.actor.getMapper().getInputData();
33
+ const indexIJK = core_1.utilities.transformWorldToIndex(imageData, worldPoint);
34
+ const dimensions = imageData.getDimensions();
35
+ const voxelManager = core_1.utilities.VoxelManager.createVolumeVoxelManager(dimensions, imageData.getPointData().getScalars().getData());
36
+ const segmentIndex = voxelManager.getAtIJK(...indexIJK);
37
+ const onEdge = isSegmentOnEdgeIJK(indexIJK, dimensions, voxelManager, segmentIndex);
38
+ return onEdge ? segmentIndex : undefined;
39
+ }
40
+ exports.getSegmentAtLabelmapBorder = getSegmentAtLabelmapBorder;
41
+ function isSegmentOnEdge(getNeighborIndex, segmentIndex, searchRadius = 1) {
42
+ const neighborRange = Array.from({ length: 2 * searchRadius + 1 }, (_, i) => i - searchRadius);
43
+ for (const deltaI of neighborRange) {
44
+ for (const deltaJ of neighborRange) {
45
+ for (const deltaK of neighborRange) {
46
+ if (deltaI === 0 && deltaJ === 0 && deltaK === 0) {
47
+ continue;
48
+ }
49
+ const neighborIndex = getNeighborIndex(deltaI, deltaJ, deltaK);
50
+ if (neighborIndex !== undefined && segmentIndex !== neighborIndex) {
51
+ return true;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ return false;
57
+ }
58
+ function isSegmentOnEdgeIJK(indexIJK, dimensions, voxelManager, segmentIndex, searchRadius) {
59
+ const getNeighborIndex = (deltaI, deltaJ, deltaK) => {
60
+ const neighborIJK = [
61
+ indexIJK[0] + deltaI,
62
+ indexIJK[1] + deltaJ,
63
+ indexIJK[2] + deltaK,
64
+ ];
65
+ return voxelManager.getAtIJK(...neighborIJK);
66
+ };
67
+ return isSegmentOnEdge(getNeighborIndex, segmentIndex, searchRadius);
68
+ }
69
+ function isSegmentOnEdgeCanvas(canvasPoint, segmentIndex, viewport, imageData, searchRadius) {
70
+ const getNeighborIndex = (deltaI, deltaJ) => {
71
+ const neighborCanvas = [canvasPoint[0] + deltaI, canvasPoint[1] + deltaJ];
72
+ const worldPoint = viewport.canvasToWorld(neighborCanvas);
73
+ return imageData.getScalarValueFromWorld(worldPoint);
74
+ };
75
+ return isSegmentOnEdge(getNeighborIndex, segmentIndex, searchRadius);
76
+ }
77
+ //# sourceMappingURL=getSegmentAtLabelmapBorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSegmentAtLabelmapBorder.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtLabelmapBorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import { SegmentationRepresentations } from '../../enums';
3
+ import { Segmentation } from '../../types';
4
+ declare type Options = {
5
+ representationType?: SegmentationRepresentations;
6
+ viewport?: Types.IViewport;
7
+ };
8
+ export declare function getSegmentAtWorldPoint(segmentationId: string, worldPoint: Types.Point3, options?: Options): number;
9
+ export declare function getSegmentAtWorldForLabelmap(segmentation: Segmentation, worldPoint: Types.Point3, { viewport }: Options): number | undefined;
10
+ export declare function getSegmentAtWorldForContour(segmentation: Segmentation, worldPoint: Types.Point3, { viewport }: Options): number;
11
+ export {};
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSegmentAtWorldForContour = exports.getSegmentAtWorldForLabelmap = exports.getSegmentAtWorldPoint = void 0;
4
+ const core_1 = require("@cornerstonejs/core");
5
+ const enums_1 = require("../../enums");
6
+ const segmentationState_1 = require("../../stateManagement/segmentation/segmentationState");
7
+ const stackVolumeCheck_1 = require("../../tools/segmentation/strategies/utils/stackVolumeCheck");
8
+ const stateManagement_1 = require("../../stateManagement");
9
+ const polyline_1 = require("../math/polyline");
10
+ function getSegmentAtWorldPoint(segmentationId, worldPoint, options = {}) {
11
+ var _a;
12
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
13
+ const representationData = segmentation.representationData;
14
+ const desiredRepresentation = (_a = options === null || options === void 0 ? void 0 : options.representationType) !== null && _a !== void 0 ? _a : Object.keys(representationData)[0];
15
+ if (!desiredRepresentation) {
16
+ throw new Error(`Segmentation ${segmentationId} does not have any representations`);
17
+ }
18
+ switch (desiredRepresentation) {
19
+ case enums_1.SegmentationRepresentations.Labelmap:
20
+ return getSegmentAtWorldForLabelmap(segmentation, worldPoint, options);
21
+ case enums_1.SegmentationRepresentations.Contour:
22
+ return getSegmentAtWorldForContour(segmentation, worldPoint, options);
23
+ default:
24
+ return;
25
+ }
26
+ }
27
+ exports.getSegmentAtWorldPoint = getSegmentAtWorldPoint;
28
+ function getSegmentAtWorldForLabelmap(segmentation, worldPoint, { viewport }) {
29
+ const labelmapData = segmentation.representationData.LABELMAP;
30
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(labelmapData)) {
31
+ const { volumeId } = labelmapData;
32
+ const segmentationVolume = core_1.cache.getVolume(volumeId);
33
+ if (!segmentationVolume) {
34
+ return;
35
+ }
36
+ const segmentIndex = segmentationVolume.imageData.getScalarValueFromWorld(worldPoint);
37
+ return segmentIndex;
38
+ }
39
+ const { imageIdReferenceMap } = labelmapData;
40
+ const currentImageId = viewport.getCurrentImageId();
41
+ const segmentationImageId = imageIdReferenceMap.get(currentImageId);
42
+ const image = core_1.cache.getImage(segmentationImageId);
43
+ if (!image) {
44
+ return;
45
+ }
46
+ const segmentationRepresentations = (0, segmentationState_1.getSegmentationIdRepresentations)(segmentation.segmentationId);
47
+ const { segmentationRepresentationUID } = segmentationRepresentations[0];
48
+ const segmentationActor = viewport.getActor(segmentationRepresentationUID);
49
+ const imageData = segmentationActor === null || segmentationActor === void 0 ? void 0 : segmentationActor.actor.getMapper().getInputData();
50
+ const indexIJK = core_1.utilities.transformWorldToIndex(imageData, worldPoint);
51
+ const dimensions = imageData.getDimensions();
52
+ const voxelManager = core_1.utilities.VoxelManager.createVolumeVoxelManager(dimensions, imageData.getPointData().getScalars().getData());
53
+ const segmentIndex = voxelManager.getAtIJK(...indexIJK);
54
+ return segmentIndex;
55
+ }
56
+ exports.getSegmentAtWorldForLabelmap = getSegmentAtWorldForLabelmap;
57
+ function getSegmentAtWorldForContour(segmentation, worldPoint, { viewport }) {
58
+ const contourData = segmentation.representationData.CONTOUR;
59
+ const segmentIndices = Array.from(contourData.annotationUIDsMap.keys());
60
+ const { viewPlaneNormal } = viewport.getCamera();
61
+ for (const segmentIndex of segmentIndices) {
62
+ const annotationsSet = contourData.annotationUIDsMap.get(segmentIndex);
63
+ if (!annotationsSet) {
64
+ continue;
65
+ }
66
+ for (const annotationUID of annotationsSet) {
67
+ const annotation = (0, stateManagement_1.getAnnotation)(annotationUID);
68
+ if (!annotation) {
69
+ continue;
70
+ }
71
+ const { polyline } = annotation.data.contour;
72
+ if (!core_1.utilities.isEqual(viewPlaneNormal, annotation.metadata.viewPlaneNormal)) {
73
+ continue;
74
+ }
75
+ if ((0, polyline_1.isPointInsidePolyline3D)(worldPoint, polyline)) {
76
+ return Number(segmentIndex);
77
+ }
78
+ }
79
+ }
80
+ }
81
+ exports.getSegmentAtWorldForContour = getSegmentAtWorldForContour;
82
+ //# sourceMappingURL=getSegmentAtWorldPoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSegmentAtWorldPoint.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtWorldPoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare function getUniqueSegmentIndices(segmentationId: any): number[];
2
+ export { getUniqueSegmentIndices };