@cornerstonejs/tools 1.53.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 (713) hide show
  1. package/dist/cjs/enums/WorkerTypes.d.ts +8 -0
  2. package/dist/cjs/enums/WorkerTypes.js +12 -0
  3. package/dist/cjs/enums/WorkerTypes.js.map +1 -0
  4. package/dist/cjs/enums/index.d.ts +2 -1
  5. package/dist/cjs/enums/index.js +3 -1
  6. package/dist/cjs/enums/index.js.map +1 -1
  7. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +6 -11
  8. package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
  9. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js +4 -3
  10. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
  11. package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +58 -47
  12. package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -1
  13. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
  14. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +5 -0
  15. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  16. package/dist/cjs/stateManagement/annotation/annotationState.d.ts +2 -1
  17. package/dist/cjs/stateManagement/annotation/annotationState.js +6 -1
  18. package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
  19. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +4 -1
  20. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  21. package/dist/cjs/stateManagement/segmentation/addRepresentationData.d.ts +12 -0
  22. package/dist/cjs/stateManagement/segmentation/addRepresentationData.js +35 -0
  23. package/dist/cjs/stateManagement/segmentation/addRepresentationData.js.map +1 -0
  24. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentation.js +32 -14
  25. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentation.js.map +1 -1
  26. package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js +3 -52
  27. package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
  28. package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +9 -2
  29. package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.js +44 -27
  30. package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.js.map +1 -1
  31. package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +13 -0
  32. package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.js +52 -26
  33. package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.js.map +1 -1
  34. package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js +6 -9
  35. package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -1
  36. package/dist/cjs/stateManagement/segmentation/index.d.ts +3 -1
  37. package/dist/cjs/stateManagement/segmentation/index.js +5 -1
  38. package/dist/cjs/stateManagement/segmentation/index.js.map +1 -1
  39. package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +2 -0
  40. package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +8 -0
  41. package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -0
  42. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +2 -0
  43. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +11 -0
  44. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -0
  45. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +7 -0
  46. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +162 -0
  47. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -0
  48. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +6 -0
  49. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +71 -0
  50. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -0
  51. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +6 -0
  52. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +120 -0
  53. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -0
  54. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +4 -0
  55. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js +12 -0
  56. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js.map +1 -0
  57. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +3 -0
  58. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +52 -0
  59. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -0
  60. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +3 -0
  61. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +60 -0
  62. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -0
  63. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +5 -0
  64. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +56 -0
  65. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js.map +1 -0
  66. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +12 -0
  67. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +94 -0
  68. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js.map +1 -0
  69. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts +1 -0
  70. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +74 -0
  71. package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js.map +1 -0
  72. package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +2 -0
  73. package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +83 -0
  74. package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js.map +1 -0
  75. package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +3 -0
  76. package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +64 -0
  77. package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -0
  78. package/dist/cjs/stateManagement/segmentation/polySeg/index.d.ts +5 -0
  79. package/dist/cjs/stateManagement/segmentation/polySeg/index.js +12 -0
  80. package/dist/cjs/stateManagement/segmentation/polySeg/index.js.map +1 -0
  81. package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts +1 -0
  82. package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.js +27 -0
  83. package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.js.map +1 -0
  84. package/dist/cjs/stateManagement/segmentation/segmentIndex.js +4 -0
  85. package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
  86. package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +6 -1
  87. package/dist/cjs/stateManagement/segmentation/segmentationState.js +30 -1
  88. package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
  89. package/dist/cjs/tools/ScaleOverlayTool.js +2 -1
  90. package/dist/cjs/tools/ScaleOverlayTool.js.map +1 -1
  91. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
  92. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js +0 -11
  93. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
  94. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +1 -2
  95. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  96. package/dist/cjs/tools/annotation/ProbeTool.js +3 -0
  97. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  98. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
  99. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  100. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  101. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
  102. package/dist/cjs/tools/base/AnnotationTool.js +1 -1
  103. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  104. package/dist/cjs/tools/base/BaseTool.js.map +1 -1
  105. package/dist/cjs/tools/base/ContourSegmentationBaseTool.d.ts +1 -2
  106. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +24 -24
  107. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  108. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +9 -6
  109. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  110. package/dist/cjs/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
  111. package/dist/cjs/tools/displayTools/Contour/{addContourSetsToElement.d.ts → vtkContour/addContourSetsToElement.d.ts} +1 -1
  112. package/dist/cjs/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +1 -0
  113. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +3 -0
  114. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js +14 -0
  115. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +1 -0
  116. package/dist/cjs/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +1 -0
  117. package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +3 -0
  118. package/dist/cjs/tools/displayTools/Contour/{updateContourSets.js → vtkContour/updateVTKContourSets.js} +4 -4
  119. package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +1 -0
  120. package/dist/cjs/tools/displayTools/Contour/{utils.d.ts → vtkContour/utils.d.ts} +2 -2
  121. package/dist/cjs/tools/displayTools/Contour/vtkContour/utils.js.map +1 -0
  122. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -1
  123. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  124. package/dist/cjs/tools/displayTools/Labelmap/index.d.ts +2 -1
  125. package/dist/cjs/tools/displayTools/Labelmap/index.js +4 -1
  126. package/dist/cjs/tools/displayTools/Labelmap/index.js.map +1 -1
  127. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +20 -2
  128. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  129. package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.d.ts +4 -0
  130. package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.js +38 -0
  131. package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.js.map +1 -0
  132. package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +3 -0
  133. package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +112 -0
  134. package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -0
  135. package/dist/cjs/tools/displayTools/Surface/surfaceConfig.d.ts +3 -0
  136. package/dist/cjs/tools/displayTools/Surface/surfaceConfig.js +11 -0
  137. package/dist/cjs/tools/displayTools/Surface/surfaceConfig.js.map +1 -0
  138. package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.d.ts +7 -0
  139. package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js +173 -27
  140. package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
  141. package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.d.ts +1 -0
  142. package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js +27 -0
  143. package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js.map +1 -0
  144. package/dist/cjs/tools/segmentation/BrushTool.js +1 -1
  145. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  146. package/dist/cjs/tools/segmentation/CircleScissorsTool.js +1 -1
  147. package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
  148. package/dist/cjs/tools/segmentation/PaintFillTool.js +1 -1
  149. package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
  150. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +1 -1
  151. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  152. package/dist/cjs/tools/segmentation/SegmentSelectTool.d.ts +6 -2
  153. package/dist/cjs/tools/segmentation/SegmentSelectTool.js +45 -35
  154. package/dist/cjs/tools/segmentation/SegmentSelectTool.js.map +1 -1
  155. package/dist/cjs/tools/segmentation/SphereScissorsTool.js +1 -1
  156. package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
  157. package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js +7 -5
  158. package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
  159. package/dist/cjs/tools/segmentation/strategies/compositions/regionFill.js +1 -1
  160. package/dist/cjs/tools/segmentation/strategies/compositions/regionFill.js.map +1 -1
  161. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +14 -5
  162. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
  163. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js +21 -9
  164. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
  165. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -5
  166. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js +15 -8
  167. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -1
  168. package/dist/cjs/types/ContourSegmentationAnnotation.d.ts +0 -1
  169. package/dist/cjs/types/LabelmapTypes.d.ts +5 -1
  170. package/dist/cjs/types/PolySeg.d.ts +6 -0
  171. package/dist/cjs/types/PolySeg.js +3 -0
  172. package/dist/cjs/types/PolySeg.js.map +1 -0
  173. package/dist/cjs/types/SegmentationStateTypes.d.ts +12 -2
  174. package/dist/cjs/types/SurfaceTypes.d.ts +1 -1
  175. package/dist/cjs/types/index.d.ts +2 -1
  176. package/dist/cjs/utilities/boundingBox/getBoundingBoxAroundShape.js +6 -6
  177. package/dist/cjs/utilities/boundingBox/getBoundingBoxAroundShape.js.map +1 -1
  178. package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +2 -0
  179. package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js +20 -0
  180. package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -0
  181. package/dist/cjs/utilities/contourSegmentation/areSameSegment.js +0 -2
  182. package/dist/cjs/utilities/contourSegmentation/areSameSegment.js.map +1 -1
  183. package/dist/cjs/utilities/contourSegmentation/index.d.ts +2 -0
  184. package/dist/cjs/utilities/contourSegmentation/index.js +5 -1
  185. package/dist/cjs/utilities/contourSegmentation/index.js.map +1 -1
  186. package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +2 -0
  187. package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +19 -0
  188. package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -0
  189. package/dist/cjs/utilities/contours/detectContourHoles.js.map +1 -1
  190. package/dist/cjs/utilities/contours/generateContourSetsFromLabelmap.js +2 -2
  191. package/dist/cjs/utilities/contours/generateContourSetsFromLabelmap.js.map +1 -1
  192. package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +11 -0
  193. package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +50 -0
  194. package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.js.map +1 -0
  195. package/dist/cjs/utilities/contours/index.d.ts +2 -2
  196. package/dist/cjs/utilities/contours/index.js +3 -3
  197. package/dist/cjs/utilities/contours/index.js.map +1 -1
  198. package/dist/cjs/utilities/index.d.ts +3 -1
  199. package/dist/cjs/utilities/index.js +5 -1
  200. package/dist/cjs/utilities/index.js.map +1 -1
  201. package/dist/cjs/utilities/math/polyline/containsPoint.js.map +1 -1
  202. package/dist/cjs/utilities/math/polyline/index.d.ts +2 -1
  203. package/dist/cjs/utilities/math/polyline/index.js +3 -1
  204. package/dist/cjs/utilities/math/polyline/index.js.map +1 -1
  205. package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.d.ts +2 -0
  206. package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.js +34 -0
  207. package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.js.map +1 -0
  208. package/dist/cjs/utilities/segmentation/contourAndFindLargestBidirectional.js +0 -1
  209. package/dist/cjs/utilities/segmentation/contourAndFindLargestBidirectional.js.map +1 -1
  210. package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +1 -0
  211. package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +18 -0
  212. package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.js.map +1 -0
  213. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts +7 -0
  214. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js +77 -0
  215. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -0
  216. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.d.ts +11 -0
  217. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js +82 -0
  218. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -0
  219. package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.d.ts +2 -0
  220. package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js +59 -0
  221. package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -0
  222. package/dist/cjs/utilities/segmentation/index.d.ts +5 -1
  223. package/dist/cjs/utilities/segmentation/index.js +9 -1
  224. package/dist/cjs/utilities/segmentation/index.js.map +1 -1
  225. package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +2 -0
  226. package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.js +32 -0
  227. package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.js.map +1 -0
  228. package/dist/cjs/workers/clippingPlaneWorker.d.ts +1 -0
  229. package/dist/cjs/workers/clippingPlaneWorker.js +63 -0
  230. package/dist/cjs/workers/clippingPlaneWorker.js.map +1 -0
  231. package/dist/cjs/workers/polySegConverters.d.ts +1 -0
  232. package/dist/cjs/workers/polySegConverters.js +267 -0
  233. package/dist/cjs/workers/polySegConverters.js.map +1 -0
  234. package/dist/esm/enums/WorkerTypes.js +10 -0
  235. package/dist/esm/enums/WorkerTypes.js.map +1 -0
  236. package/dist/esm/enums/index.js +2 -1
  237. package/dist/esm/enums/index.js.map +1 -1
  238. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +7 -12
  239. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
  240. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +3 -3
  241. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
  242. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +59 -45
  243. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -1
  244. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +5 -0
  245. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  246. package/dist/esm/stateManagement/annotation/annotationState.js +5 -1
  247. package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
  248. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +4 -1
  249. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  250. package/dist/esm/stateManagement/segmentation/addRepresentationData.js +30 -0
  251. package/dist/esm/stateManagement/segmentation/addRepresentationData.js.map +1 -0
  252. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js +32 -15
  253. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js.map +1 -1
  254. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +1 -46
  255. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
  256. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +42 -27
  257. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js.map +1 -1
  258. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +49 -25
  259. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js.map +1 -1
  260. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js +6 -6
  261. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -1
  262. package/dist/esm/stateManagement/segmentation/index.js +3 -1
  263. package/dist/esm/stateManagement/segmentation/index.js.map +1 -1
  264. package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +4 -0
  265. package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -0
  266. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +7 -0
  267. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -0
  268. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +142 -0
  269. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -0
  270. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +53 -0
  271. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -0
  272. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +108 -0
  273. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -0
  274. package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js +8 -0
  275. package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js.map +1 -0
  276. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +37 -0
  277. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -0
  278. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +45 -0
  279. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -0
  280. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +41 -0
  281. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js.map +1 -0
  282. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +78 -0
  283. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js.map +1 -0
  284. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +59 -0
  285. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js.map +1 -0
  286. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +68 -0
  287. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js.map +1 -0
  288. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +47 -0
  289. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -0
  290. package/dist/esm/stateManagement/segmentation/polySeg/index.js +6 -0
  291. package/dist/esm/stateManagement/segmentation/polySeg/index.js.map +1 -0
  292. package/dist/esm/stateManagement/segmentation/polySeg/registerPolySegWorker.js +23 -0
  293. package/dist/esm/stateManagement/segmentation/polySeg/registerPolySegWorker.js.map +1 -0
  294. package/dist/esm/stateManagement/segmentation/segmentIndex.js +4 -0
  295. package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
  296. package/dist/esm/stateManagement/segmentation/segmentationState.js +28 -1
  297. package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
  298. package/dist/esm/tools/ScaleOverlayTool.js +2 -1
  299. package/dist/esm/tools/ScaleOverlayTool.js.map +1 -1
  300. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +0 -11
  301. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
  302. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +1 -2
  303. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  304. package/dist/esm/tools/annotation/ProbeTool.js +3 -0
  305. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  306. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
  307. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  308. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  309. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
  310. package/dist/esm/tools/base/AnnotationTool.js +1 -1
  311. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  312. package/dist/esm/tools/base/BaseTool.js +1 -1
  313. package/dist/esm/tools/base/BaseTool.js.map +1 -1
  314. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +24 -24
  315. package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -1
  316. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +10 -7
  317. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  318. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
  319. package/dist/esm/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +1 -0
  320. package/dist/esm/tools/displayTools/Contour/{addOrUpdateContourSets.js → vtkContour/addOrUpdateVTKContourSets.js} +4 -4
  321. package/dist/esm/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +1 -0
  322. package/dist/esm/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +1 -0
  323. package/dist/esm/tools/displayTools/Contour/{updateContourSets.js → vtkContour/updateVTKContourSets.js} +2 -2
  324. package/dist/esm/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +1 -0
  325. package/dist/esm/tools/displayTools/Contour/vtkContour/utils.js.map +1 -0
  326. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -1
  327. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  328. package/dist/esm/tools/displayTools/Labelmap/index.js +2 -1
  329. package/dist/esm/tools/displayTools/Labelmap/index.js.map +1 -1
  330. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +20 -2
  331. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  332. package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.js +33 -0
  333. package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.js.map +1 -0
  334. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +106 -0
  335. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -0
  336. package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +9 -0
  337. package/dist/esm/tools/displayTools/Surface/surfaceConfig.js.map +1 -0
  338. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +162 -28
  339. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
  340. package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js +23 -0
  341. package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js.map +1 -0
  342. package/dist/esm/tools/segmentation/BrushTool.js +1 -1
  343. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  344. package/dist/esm/tools/segmentation/CircleScissorsTool.js +1 -1
  345. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
  346. package/dist/esm/tools/segmentation/PaintFillTool.js +1 -1
  347. package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
  348. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +1 -1
  349. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  350. package/dist/esm/tools/segmentation/SegmentSelectTool.js +47 -37
  351. package/dist/esm/tools/segmentation/SegmentSelectTool.js.map +1 -1
  352. package/dist/esm/tools/segmentation/SphereScissorsTool.js +1 -1
  353. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
  354. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +7 -5
  355. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
  356. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +1 -1
  357. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js.map +1 -1
  358. package/dist/esm/tools/segmentation/strategies/fillSphere.js +14 -5
  359. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
  360. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +21 -9
  361. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
  362. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +15 -7
  363. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -1
  364. package/dist/esm/types/PolySeg.js +2 -0
  365. package/dist/esm/types/PolySeg.js.map +1 -0
  366. package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js +3 -2
  367. package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js.map +1 -1
  368. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +16 -0
  369. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -0
  370. package/dist/esm/utilities/contourSegmentation/areSameSegment.js +0 -2
  371. package/dist/esm/utilities/contourSegmentation/areSameSegment.js.map +1 -1
  372. package/dist/esm/utilities/contourSegmentation/index.js +2 -0
  373. package/dist/esm/utilities/contourSegmentation/index.js.map +1 -1
  374. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +15 -0
  375. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -0
  376. package/dist/esm/utilities/contours/detectContourHoles.js.map +1 -1
  377. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +2 -2
  378. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js.map +1 -1
  379. package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +46 -0
  380. package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js.map +1 -0
  381. package/dist/esm/utilities/contours/index.js +2 -2
  382. package/dist/esm/utilities/contours/index.js.map +1 -1
  383. package/dist/esm/utilities/index.js +3 -1
  384. package/dist/esm/utilities/index.js.map +1 -1
  385. package/dist/esm/utilities/math/polyline/containsPoint.js.map +1 -1
  386. package/dist/esm/utilities/math/polyline/index.js +2 -1
  387. package/dist/esm/utilities/math/polyline/index.js.map +1 -1
  388. package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js +27 -0
  389. package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js.map +1 -0
  390. package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js +0 -1
  391. package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js.map +1 -1
  392. package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +14 -0
  393. package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js.map +1 -0
  394. package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js +73 -0
  395. package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -0
  396. package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js +75 -0
  397. package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -0
  398. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +55 -0
  399. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -0
  400. package/dist/esm/utilities/segmentation/index.js +5 -1
  401. package/dist/esm/utilities/segmentation/index.js.map +1 -1
  402. package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js +25 -0
  403. package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js.map +1 -0
  404. package/dist/esm/workers/clippingPlaneWorker.js +58 -0
  405. package/dist/esm/workers/clippingPlaneWorker.js.map +1 -0
  406. package/dist/esm/workers/polySegConverters.js +241 -0
  407. package/dist/esm/workers/polySegConverters.js.map +1 -0
  408. package/dist/types/enums/WorkerTypes.d.ts +9 -0
  409. package/dist/types/enums/WorkerTypes.d.ts.map +1 -0
  410. package/dist/types/enums/index.d.ts +2 -1
  411. package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts.map +1 -1
  412. package/dist/types/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts.map +1 -1
  413. package/dist/types/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
  414. package/dist/types/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts.map +1 -1
  415. package/dist/types/stateManagement/annotation/annotationState.d.ts +2 -1
  416. package/dist/types/stateManagement/annotation/annotationState.d.ts.map +1 -1
  417. package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts.map +1 -1
  418. package/dist/types/stateManagement/segmentation/addRepresentationData.d.ts +13 -0
  419. package/dist/types/stateManagement/segmentation/addRepresentationData.d.ts.map +1 -0
  420. package/dist/types/stateManagement/segmentation/addSegmentationRepresentation.d.ts.map +1 -1
  421. package/dist/types/stateManagement/segmentation/config/segmentationVisibility.d.ts.map +1 -1
  422. package/dist/types/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +9 -2
  423. package/dist/types/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts.map +1 -1
  424. package/dist/types/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +13 -0
  425. package/dist/types/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts.map +1 -1
  426. package/dist/types/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts.map +1 -1
  427. package/dist/types/stateManagement/segmentation/index.d.ts +3 -1
  428. package/dist/types/stateManagement/segmentation/index.d.ts.map +1 -1
  429. package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +3 -0
  430. package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts.map +1 -0
  431. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +3 -0
  432. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts.map +1 -0
  433. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +8 -0
  434. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts.map +1 -0
  435. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +7 -0
  436. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts.map +1 -0
  437. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +7 -0
  438. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts.map +1 -0
  439. package/dist/types/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +5 -0
  440. package/dist/types/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts.map +1 -0
  441. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +4 -0
  442. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts.map +1 -0
  443. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +4 -0
  444. package/dist/types/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts.map +1 -0
  445. package/dist/types/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +6 -0
  446. package/dist/types/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts.map +1 -0
  447. package/dist/types/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +13 -0
  448. package/dist/types/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts.map +1 -0
  449. package/dist/types/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts +2 -0
  450. package/dist/types/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts.map +1 -0
  451. package/dist/types/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +3 -0
  452. package/dist/types/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts.map +1 -0
  453. package/dist/types/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +4 -0
  454. package/dist/types/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts.map +1 -0
  455. package/dist/types/stateManagement/segmentation/polySeg/index.d.ts +6 -0
  456. package/dist/types/stateManagement/segmentation/polySeg/index.d.ts.map +1 -0
  457. package/dist/types/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts +2 -0
  458. package/dist/types/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts.map +1 -0
  459. package/dist/types/stateManagement/segmentation/segmentIndex.d.ts.map +1 -1
  460. package/dist/types/stateManagement/segmentation/segmentationState.d.ts +6 -1
  461. package/dist/types/stateManagement/segmentation/segmentationState.d.ts.map +1 -1
  462. package/dist/types/tools/ScaleOverlayTool.d.ts.map +1 -1
  463. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
  464. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts.map +1 -1
  465. package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
  466. package/dist/types/tools/annotation/ProbeTool.d.ts.map +1 -1
  467. package/dist/types/tools/base/BaseTool.d.ts.map +1 -1
  468. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts +1 -2
  469. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -1
  470. package/dist/types/tools/displayTools/Contour/contourDisplay.d.ts.map +1 -1
  471. package/dist/types/tools/displayTools/Contour/removeContourFromElement.d.ts.map +1 -1
  472. package/dist/types/tools/displayTools/Contour/{addContourSetsToElement.d.ts → vtkContour/addContourSetsToElement.d.ts} +1 -1
  473. package/dist/types/tools/displayTools/Contour/vtkContour/addContourSetsToElement.d.ts.map +1 -0
  474. package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +4 -0
  475. package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts.map +1 -0
  476. package/dist/types/tools/displayTools/Contour/vtkContour/contourConfigCache.d.ts.map +1 -0
  477. package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +4 -0
  478. package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts.map +1 -0
  479. package/dist/types/tools/displayTools/Contour/{utils.d.ts → vtkContour/utils.d.ts} +2 -2
  480. package/dist/types/tools/displayTools/Contour/vtkContour/utils.d.ts.map +1 -0
  481. package/dist/types/tools/displayTools/Labelmap/index.d.ts +2 -1
  482. package/dist/types/tools/displayTools/Labelmap/index.d.ts.map +1 -1
  483. package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts.map +1 -1
  484. package/dist/types/tools/displayTools/Labelmap/validateLabelmap.d.ts +5 -0
  485. package/dist/types/tools/displayTools/Labelmap/validateLabelmap.d.ts.map +1 -0
  486. package/dist/types/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +4 -0
  487. package/dist/types/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts.map +1 -0
  488. package/dist/types/tools/displayTools/Surface/surfaceConfig.d.ts +4 -0
  489. package/dist/types/tools/displayTools/Surface/surfaceConfig.d.ts.map +1 -0
  490. package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts +7 -0
  491. package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts.map +1 -1
  492. package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts +2 -0
  493. package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts.map +1 -0
  494. package/dist/types/tools/segmentation/CircleScissorsTool.d.ts.map +1 -1
  495. package/dist/types/tools/segmentation/RectangleScissorsTool.d.ts.map +1 -1
  496. package/dist/types/tools/segmentation/SegmentSelectTool.d.ts +6 -2
  497. package/dist/types/tools/segmentation/SegmentSelectTool.d.ts.map +1 -1
  498. package/dist/types/tools/segmentation/SphereScissorsTool.d.ts.map +1 -1
  499. package/dist/types/tools/segmentation/strategies/BrushStrategy.d.ts.map +1 -1
  500. package/dist/types/tools/segmentation/strategies/fillSphere.d.ts.map +1 -1
  501. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts.map +1 -1
  502. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -5
  503. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts.map +1 -1
  504. package/dist/types/types/ContourSegmentationAnnotation.d.ts +0 -1
  505. package/dist/types/types/ContourSegmentationAnnotation.d.ts.map +1 -1
  506. package/dist/types/types/LabelmapTypes.d.ts +5 -1
  507. package/dist/types/types/LabelmapTypes.d.ts.map +1 -1
  508. package/dist/types/types/PolySeg.d.ts +7 -0
  509. package/dist/types/types/PolySeg.d.ts.map +1 -0
  510. package/dist/types/types/SegmentationStateTypes.d.ts +12 -2
  511. package/dist/types/types/SegmentationStateTypes.d.ts.map +1 -1
  512. package/dist/types/types/SurfaceTypes.d.ts +1 -1
  513. package/dist/types/types/SurfaceTypes.d.ts.map +1 -1
  514. package/dist/types/types/index.d.ts +2 -1
  515. package/dist/types/types/index.d.ts.map +1 -1
  516. package/dist/types/utilities/boundingBox/getBoundingBoxAroundShape.d.ts.map +1 -1
  517. package/dist/types/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +3 -0
  518. package/dist/types/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts.map +1 -0
  519. package/dist/types/utilities/contourSegmentation/areSameSegment.d.ts.map +1 -1
  520. package/dist/types/utilities/contourSegmentation/index.d.ts +2 -0
  521. package/dist/types/utilities/contourSegmentation/index.d.ts.map +1 -1
  522. package/dist/types/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +3 -0
  523. package/dist/types/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts.map +1 -0
  524. package/dist/types/utilities/contours/detectContourHoles.d.ts.map +1 -1
  525. package/dist/types/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +12 -0
  526. package/dist/types/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts.map +1 -0
  527. package/dist/types/utilities/contours/index.d.ts +2 -2
  528. package/dist/types/utilities/contours/index.d.ts.map +1 -1
  529. package/dist/types/utilities/index.d.ts +3 -1
  530. package/dist/types/utilities/index.d.ts.map +1 -1
  531. package/dist/types/utilities/math/polyline/containsPoint.d.ts.map +1 -1
  532. package/dist/types/utilities/math/polyline/index.d.ts +2 -1
  533. package/dist/types/utilities/math/polyline/index.d.ts.map +1 -1
  534. package/dist/types/utilities/math/polyline/isPointInsidePolyline3D.d.ts +3 -0
  535. package/dist/types/utilities/math/polyline/isPointInsidePolyline3D.d.ts.map +1 -0
  536. package/dist/types/utilities/segmentation/contourAndFindLargestBidirectional.d.ts.map +1 -1
  537. package/dist/types/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +2 -0
  538. package/dist/types/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts.map +1 -0
  539. package/dist/types/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts +8 -0
  540. package/dist/types/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts.map +1 -0
  541. package/dist/types/utilities/segmentation/getSegmentAtWorldPoint.d.ts +12 -0
  542. package/dist/types/utilities/segmentation/getSegmentAtWorldPoint.d.ts.map +1 -0
  543. package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts +3 -0
  544. package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts.map +1 -0
  545. package/dist/types/utilities/segmentation/index.d.ts +5 -1
  546. package/dist/types/utilities/segmentation/index.d.ts.map +1 -1
  547. package/dist/types/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +3 -0
  548. package/dist/types/utilities/triggerAnnotationRenderForToolGroupIds.d.ts.map +1 -0
  549. package/dist/types/workers/clippingPlaneWorker.d.ts +2 -0
  550. package/dist/types/workers/clippingPlaneWorker.d.ts.map +1 -0
  551. package/dist/types/workers/polySegConverters.d.ts +2 -0
  552. package/dist/types/workers/polySegConverters.d.ts.map +1 -0
  553. package/dist/umd/17dd54813d5acc10bf8f.wasm +0 -0
  554. package/dist/umd/444.index.js +3 -0
  555. package/dist/umd/444.index.js.LICENSE.txt +5 -0
  556. package/dist/umd/444.index.js.map +1 -0
  557. package/dist/umd/78.index.js +3 -0
  558. package/dist/umd/78.index.js.LICENSE.txt +5 -0
  559. package/dist/umd/78.index.js.map +1 -0
  560. package/dist/umd/985.index.js +2 -0
  561. package/dist/umd/985.index.js.map +1 -0
  562. package/dist/umd/index.js +1 -1
  563. package/dist/umd/index.js.map +1 -1
  564. package/package.json +5 -3
  565. package/src/enums/WorkerTypes.ts +16 -0
  566. package/src/enums/index.js +2 -0
  567. package/src/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.ts +10 -17
  568. package/src/eventListeners/segmentation/imageChangeEventListener.ts +3 -4
  569. package/src/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.ts +97 -69
  570. package/src/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.ts +11 -0
  571. package/src/stateManagement/annotation/annotationState.ts +6 -0
  572. package/src/stateManagement/segmentation/SegmentationStateManager.ts +4 -1
  573. package/src/stateManagement/segmentation/addRepresentationData.ts +71 -0
  574. package/src/stateManagement/segmentation/addSegmentationRepresentation.ts +39 -16
  575. package/src/stateManagement/segmentation/config/segmentationVisibility.ts +1 -59
  576. package/src/stateManagement/segmentation/convertStackToVolumeSegmentation.ts +74 -37
  577. package/src/stateManagement/segmentation/convertVolumeToStackSegmentation.ts +102 -38
  578. package/src/stateManagement/segmentation/helpers/validateSegmentationInput.ts +13 -8
  579. package/src/stateManagement/segmentation/index.ts +9 -2
  580. package/src/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.ts +17 -0
  581. package/src/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.ts +25 -0
  582. package/src/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.ts +273 -0
  583. package/src/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.ts +89 -0
  584. package/src/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.ts +193 -0
  585. package/src/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.ts +26 -0
  586. package/src/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.ts +62 -0
  587. package/src/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.ts +81 -0
  588. package/src/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.ts +81 -0
  589. package/src/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.ts +167 -0
  590. package/src/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.ts +95 -0
  591. package/src/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.ts +123 -0
  592. package/src/stateManagement/segmentation/polySeg/computeAndAddRepresentation.ts +97 -0
  593. package/src/stateManagement/segmentation/polySeg/index.ts +12 -0
  594. package/src/stateManagement/segmentation/polySeg/registerPolySegWorker.ts +34 -0
  595. package/src/stateManagement/segmentation/segmentIndex.ts +5 -0
  596. package/src/stateManagement/segmentation/segmentationState.ts +62 -0
  597. package/src/tools/ScaleOverlayTool.ts +4 -1
  598. package/src/tools/annotation/PlanarFreehandContourSegmentationTool.ts +1 -22
  599. package/src/tools/annotation/PlanarFreehandROITool.ts +2 -4
  600. package/src/tools/annotation/ProbeTool.ts +4 -0
  601. package/src/tools/annotation/SplineROITool.ts +1 -1
  602. package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +2 -2
  603. package/src/tools/annotation/planarFreehandROITool/openContourEndEditLoop.ts +1 -1
  604. package/src/tools/base/AnnotationTool.ts +1 -1
  605. package/src/tools/base/BaseTool.ts +1 -6
  606. package/src/tools/base/ContourBaseTool.ts +1 -1
  607. package/src/tools/base/ContourSegmentationBaseTool.ts +45 -42
  608. package/src/tools/displayTools/Contour/contourDisplay.ts +82 -9
  609. package/src/tools/displayTools/Contour/removeContourFromElement.ts +2 -0
  610. package/src/tools/displayTools/Contour/{addContourSetsToElement.ts → vtkContour/addContourSetsToElement.ts} +1 -1
  611. package/src/tools/displayTools/Contour/{addOrUpdateContourSets.ts → vtkContour/addOrUpdateVTKContourSets.ts} +4 -4
  612. package/src/tools/displayTools/Contour/{updateContourSets.ts → vtkContour/updateVTKContourSets.ts} +2 -2
  613. package/src/tools/displayTools/Contour/{utils.ts → vtkContour/utils.ts} +1 -1
  614. package/src/tools/displayTools/Labelmap/addLabelmapToElement.ts +1 -1
  615. package/src/tools/displayTools/Labelmap/index.ts +10 -1
  616. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +39 -4
  617. package/src/tools/displayTools/Labelmap/validateLabelmap.ts +71 -0
  618. package/src/tools/displayTools/Surface/addOrUpdateSurfaceToElement.ts +172 -0
  619. package/src/tools/displayTools/Surface/surfaceConfig.ts +12 -0
  620. package/src/tools/displayTools/Surface/surfaceDisplay.ts +275 -35
  621. package/src/tools/displayTools/registerDisplayToolsWorker.ts +34 -0
  622. package/src/tools/segmentation/BrushTool.ts +1 -1
  623. package/src/tools/segmentation/CircleScissorsTool.ts +3 -1
  624. package/src/tools/segmentation/PaintFillTool.ts +1 -1
  625. package/src/tools/segmentation/RectangleScissorsTool.ts +3 -1
  626. package/src/tools/segmentation/SegmentSelectTool.ts +70 -75
  627. package/src/tools/segmentation/SphereScissorsTool.ts +3 -1
  628. package/src/tools/segmentation/strategies/BrushStrategy.ts +12 -9
  629. package/src/tools/segmentation/strategies/compositions/regionFill.ts +1 -1
  630. package/src/tools/segmentation/strategies/fillSphere.ts +13 -5
  631. package/src/tools/segmentation/strategies/utils/getStrategyData.ts +30 -15
  632. package/src/tools/segmentation/strategies/utils/stackVolumeCheck.ts +24 -17
  633. package/src/types/ContourSegmentationAnnotation.ts +0 -1
  634. package/src/types/LabelmapTypes.ts +7 -1
  635. package/src/types/PolySeg.ts +7 -0
  636. package/src/types/SegmentationStateTypes.ts +20 -4
  637. package/src/types/SurfaceTypes.ts +1 -1
  638. package/src/types/index.ts +3 -0
  639. package/src/utilities/boundingBox/getBoundingBoxAroundShape.ts +4 -2
  640. package/src/utilities/contourSegmentation/addContourSegmentationAnnotation.ts +29 -0
  641. package/src/utilities/contourSegmentation/areSameSegment.ts +0 -2
  642. package/src/utilities/contourSegmentation/index.ts +2 -0
  643. package/src/utilities/contourSegmentation/removeContourSegmentationAnnotation.ts +30 -0
  644. package/src/utilities/contours/detectContourHoles.ts +2 -0
  645. package/src/utilities/contours/generateContourSetsFromLabelmap.ts +2 -2
  646. package/src/utilities/contours/getDeduplicatedVTKPolyDataPoints.ts +66 -0
  647. package/src/utilities/contours/index.ts +2 -2
  648. package/src/utilities/index.ts +4 -0
  649. package/src/utilities/math/polyline/containsPoint.ts +3 -1
  650. package/src/utilities/math/polyline/index.ts +2 -0
  651. package/src/utilities/math/polyline/isPointInsidePolyline3D.ts +56 -0
  652. package/src/utilities/segmentation/contourAndFindLargestBidirectional.ts +0 -1
  653. package/src/utilities/segmentation/getHoveredContourSegmentationAnnotation.ts +25 -0
  654. package/src/utilities/segmentation/getSegmentAtLabelmapBorder.ts +179 -0
  655. package/src/utilities/segmentation/getSegmentAtWorldPoint.ts +173 -0
  656. package/src/utilities/segmentation/getUniqueSegmentIndices.ts +76 -0
  657. package/src/utilities/segmentation/index.ts +8 -0
  658. package/src/utilities/triggerAnnotationRenderForToolGroupIds.ts +38 -0
  659. package/src/workers/clippingPlaneWorker.js +87 -0
  660. package/src/workers/polySegConverters.js +467 -0
  661. package/dist/cjs/tools/displayTools/Contour/addContourSetsToElement.js.map +0 -1
  662. package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.d.ts +0 -3
  663. package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.js +0 -14
  664. package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.js.map +0 -1
  665. package/dist/cjs/tools/displayTools/Contour/contourConfigCache.js.map +0 -1
  666. package/dist/cjs/tools/displayTools/Contour/updateContourSets.d.ts +0 -3
  667. package/dist/cjs/tools/displayTools/Contour/updateContourSets.js.map +0 -1
  668. package/dist/cjs/tools/displayTools/Contour/utils.js.map +0 -1
  669. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.d.ts +0 -3
  670. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js +0 -20
  671. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js.map +0 -1
  672. package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.d.ts +0 -2
  673. package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.js +0 -84
  674. package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.js.map +0 -1
  675. package/dist/cjs/utilities/contours/mergePoints.d.ts +0 -8
  676. package/dist/cjs/utilities/contours/mergePoints.js +0 -77
  677. package/dist/cjs/utilities/contours/mergePoints.js.map +0 -1
  678. package/dist/esm/tools/displayTools/Contour/addContourSetsToElement.js.map +0 -1
  679. package/dist/esm/tools/displayTools/Contour/addOrUpdateContourSets.js.map +0 -1
  680. package/dist/esm/tools/displayTools/Contour/contourConfigCache.js.map +0 -1
  681. package/dist/esm/tools/displayTools/Contour/updateContourSets.js.map +0 -1
  682. package/dist/esm/tools/displayTools/Contour/utils.js.map +0 -1
  683. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js +0 -18
  684. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js.map +0 -1
  685. package/dist/esm/tools/displayTools/Surface/addSurfaceToElement.js +0 -79
  686. package/dist/esm/tools/displayTools/Surface/addSurfaceToElement.js.map +0 -1
  687. package/dist/esm/utilities/contours/mergePoints.js +0 -73
  688. package/dist/esm/utilities/contours/mergePoints.js.map +0 -1
  689. package/dist/types/tools/displayTools/Contour/addContourSetsToElement.d.ts.map +0 -1
  690. package/dist/types/tools/displayTools/Contour/addOrUpdateContourSets.d.ts +0 -4
  691. package/dist/types/tools/displayTools/Contour/addOrUpdateContourSets.d.ts.map +0 -1
  692. package/dist/types/tools/displayTools/Contour/contourConfigCache.d.ts.map +0 -1
  693. package/dist/types/tools/displayTools/Contour/updateContourSets.d.ts +0 -4
  694. package/dist/types/tools/displayTools/Contour/updateContourSets.d.ts.map +0 -1
  695. package/dist/types/tools/displayTools/Contour/utils.d.ts.map +0 -1
  696. package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts +0 -4
  697. package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts.map +0 -1
  698. package/dist/types/tools/displayTools/Surface/addSurfaceToElement.d.ts +0 -3
  699. package/dist/types/tools/displayTools/Surface/addSurfaceToElement.d.ts.map +0 -1
  700. package/dist/types/utilities/contours/mergePoints.d.ts +0 -9
  701. package/dist/types/utilities/contours/mergePoints.d.ts.map +0 -1
  702. package/src/tools/displayTools/Labelmap/validateRepresentationData.ts +0 -36
  703. package/src/tools/displayTools/Surface/addSurfaceToElement.ts +0 -115
  704. package/src/utilities/contours/mergePoints.ts +0 -108
  705. /package/dist/cjs/tools/displayTools/Contour/{addContourSetsToElement.js → vtkContour/addContourSetsToElement.js} +0 -0
  706. /package/dist/cjs/tools/displayTools/Contour/{contourConfigCache.d.ts → vtkContour/contourConfigCache.d.ts} +0 -0
  707. /package/dist/cjs/tools/displayTools/Contour/{contourConfigCache.js → vtkContour/contourConfigCache.js} +0 -0
  708. /package/dist/cjs/tools/displayTools/Contour/{utils.js → vtkContour/utils.js} +0 -0
  709. /package/dist/esm/tools/displayTools/Contour/{addContourSetsToElement.js → vtkContour/addContourSetsToElement.js} +0 -0
  710. /package/dist/esm/tools/displayTools/Contour/{contourConfigCache.js → vtkContour/contourConfigCache.js} +0 -0
  711. /package/dist/esm/tools/displayTools/Contour/{utils.js → vtkContour/utils.js} +0 -0
  712. /package/dist/types/tools/displayTools/Contour/{contourConfigCache.d.ts → vtkContour/contourConfigCache.d.ts} +0 -0
  713. /package/src/tools/displayTools/Contour/{contourConfigCache.ts → vtkContour/contourConfigCache.ts} +0 -0
@@ -0,0 +1,12 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import { PolySegConversionOptions } from '../../../../types';
3
+ export declare type RawSurfacesData = {
4
+ segmentIndex: number;
5
+ data: Types.SurfaceData;
6
+ }[];
7
+ export declare function computeSurfaceData(segmentationId: string, options?: PolySegConversionOptions): Promise<{
8
+ geometryIds: Map<number, string>;
9
+ }>;
10
+ declare function computeSurfaceFromLabelmapSegmentation(segmentationId: any, options?: PolySegConversionOptions): Promise<RawSurfacesData>;
11
+ declare function computeSurfaceFromContourSegmentation(segmentationId: string, options?: PolySegConversionOptions): Promise<RawSurfacesData>;
12
+ export { computeSurfaceFromContourSegmentation, computeSurfaceFromLabelmapSegmentation, };
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.computeSurfaceFromLabelmapSegmentation = exports.computeSurfaceFromContourSegmentation = exports.computeSurfaceData = void 0;
13
+ const segmentation_1 = require("../../../../utilities/segmentation");
14
+ const segmentationState_1 = require("../../segmentationState");
15
+ const convertContourToSurface_1 = require("./convertContourToSurface");
16
+ const createAndCacheSurfacesFromRaw_1 = require("./createAndCacheSurfacesFromRaw");
17
+ const stackVolumeCheck_1 = require("../../../../tools/segmentation/strategies/utils/stackVolumeCheck");
18
+ const convertLabelmapToSurface_1 = require("./convertLabelmapToSurface");
19
+ function computeSurfaceData(segmentationId, options = {}) {
20
+ var _a;
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const segmentIndices = ((_a = options.segmentIndices) === null || _a === void 0 ? void 0 : _a.length)
23
+ ? options.segmentIndices
24
+ : (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
25
+ let rawSurfacesData;
26
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
27
+ const representationData = segmentation.representationData;
28
+ try {
29
+ if (representationData.CONTOUR) {
30
+ rawSurfacesData = yield computeSurfaceFromContourSegmentation(segmentationId, Object.assign({ segmentIndices }, options));
31
+ }
32
+ else if (representationData.LABELMAP) {
33
+ rawSurfacesData = yield computeSurfaceFromLabelmapSegmentation(segmentation.segmentationId, Object.assign({ segmentIndices }, options));
34
+ }
35
+ }
36
+ catch (error) {
37
+ console.error(error);
38
+ throw error;
39
+ }
40
+ if (!rawSurfacesData) {
41
+ throw new Error('Not enough data to convert to surface, currently only support converting volume labelmap to surface if available');
42
+ }
43
+ const surfacesData = yield (0, createAndCacheSurfacesFromRaw_1.createAndCacheSurfacesFromRaw)(segmentationId, rawSurfacesData, options);
44
+ return surfacesData;
45
+ });
46
+ }
47
+ exports.computeSurfaceData = computeSurfaceData;
48
+ function computeSurfaceFromLabelmapSegmentation(segmentationId, options = {}) {
49
+ var _a;
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
52
+ if (!((_a = segmentation === null || segmentation === void 0 ? void 0 : segmentation.representationData) === null || _a === void 0 ? void 0 : _a.LABELMAP)) {
53
+ console.warn('Only support surface update from labelmaps');
54
+ return;
55
+ }
56
+ const isVolume = (0, stackVolumeCheck_1.isVolumeSegmentation)(segmentation.representationData.LABELMAP);
57
+ const labelmapRepresentationData = segmentation.representationData.LABELMAP;
58
+ const segmentIndices = options.segmentIndices || (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
59
+ const promises = segmentIndices.map((index) => {
60
+ const surface = (0, convertLabelmapToSurface_1.convertLabelmapToSurface)(labelmapRepresentationData, index, isVolume);
61
+ return surface;
62
+ });
63
+ const surfaces = yield Promise.allSettled(promises);
64
+ const errors = surfaces.filter((p) => p.status === 'rejected');
65
+ if (errors.length > 0) {
66
+ console.error(errors);
67
+ throw new Error('Failed to convert labelmap to surface');
68
+ }
69
+ const rawSurfacesData = surfaces
70
+ .map((surface, index) => {
71
+ if (surface.status === 'fulfilled') {
72
+ return { segmentIndex: segmentIndices[index], data: surface.value };
73
+ }
74
+ })
75
+ .filter(Boolean);
76
+ return rawSurfacesData;
77
+ });
78
+ }
79
+ exports.computeSurfaceFromLabelmapSegmentation = computeSurfaceFromLabelmapSegmentation;
80
+ function computeSurfaceFromContourSegmentation(segmentationId, options = {}) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
83
+ const contourRepresentationData = segmentation.representationData.CONTOUR;
84
+ const segmentIndices = options.segmentIndices || (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
85
+ const promises = segmentIndices.map((index) => __awaiter(this, void 0, void 0, function* () {
86
+ const surface = yield (0, convertContourToSurface_1.convertContourToSurface)(contourRepresentationData, index);
87
+ return { segmentIndex: index, data: surface };
88
+ }));
89
+ const surfaces = yield Promise.all(promises);
90
+ return surfaces;
91
+ });
92
+ }
93
+ exports.computeSurfaceFromContourSegmentation = computeSurfaceFromContourSegmentation;
94
+ //# sourceMappingURL=surfaceComputationStrategies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaceComputationStrategies.js","sourceRoot":"","sources":["../../../../../../src/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function updateSurfaceData(segmentationId: any): Promise<void>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.updateSurfaceData = void 0;
13
+ const core_1 = require("@cornerstonejs/core");
14
+ const segmentation_1 = require("../../../../utilities/segmentation");
15
+ const segmentationState_1 = require("../../segmentationState");
16
+ const triggerSegmentationEvents_1 = require("../../triggerSegmentationEvents");
17
+ const enums_1 = require("../../../../enums");
18
+ const surfaceComputationStrategies_1 = require("./surfaceComputationStrategies");
19
+ const createAndCacheSurfacesFromRaw_1 = require("./createAndCacheSurfacesFromRaw");
20
+ function updateSurfaceData(segmentationId) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const surfacesObj = yield (0, surfaceComputationStrategies_1.computeSurfaceFromLabelmapSegmentation)(segmentationId);
23
+ if (!surfacesObj) {
24
+ return;
25
+ }
26
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
27
+ const indices = (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
28
+ if (!indices.length) {
29
+ const geometryIds = segmentation.representationData.SURFACE.geometryIds;
30
+ geometryIds.forEach((geometryId) => {
31
+ const geometry = core_1.cache.getGeometry(geometryId);
32
+ const surface = geometry.data;
33
+ surface.setPoints([]);
34
+ surface.setPolys([]);
35
+ });
36
+ (0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
37
+ return;
38
+ }
39
+ const promises = surfacesObj.map(({ data, segmentIndex }) => {
40
+ const geometryId = `segmentation_${segmentationId}_surface_${segmentIndex}`;
41
+ const geometry = core_1.cache.getGeometry(geometryId);
42
+ if (!geometry) {
43
+ const toolGroupIds = (0, segmentationState_1.getToolGroupIdsWithSegmentation)(segmentationId);
44
+ return toolGroupIds.map((toolGroupId) => {
45
+ const segmentationRepresentations = (0, segmentationState_1.getSegmentationRepresentations)(toolGroupId);
46
+ return segmentationRepresentations.map((segmentationRepresentation) => {
47
+ if (segmentationRepresentation.type !==
48
+ enums_1.SegmentationRepresentations.Surface) {
49
+ return;
50
+ }
51
+ segmentation.representationData.SURFACE.geometryIds.set(segmentIndex, geometryId);
52
+ return (0, createAndCacheSurfacesFromRaw_1.createAndCacheSurfacesFromRaw)(segmentationId, [{ segmentIndex, data }], {
53
+ segmentationRepresentationUID: segmentationRepresentation.segmentationRepresentationUID,
54
+ });
55
+ });
56
+ });
57
+ }
58
+ else if (indices.includes(segmentIndex)) {
59
+ const surface = geometry.data;
60
+ surface.setPoints(data.points);
61
+ surface.setPolys(data.polys);
62
+ }
63
+ else {
64
+ const surface = geometry.data;
65
+ surface.setPoints([]);
66
+ surface.setPolys([]);
67
+ }
68
+ });
69
+ yield Promise.all(promises);
70
+ (0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
71
+ });
72
+ }
73
+ exports.updateSurfaceData = updateSurfaceData;
74
+ //# sourceMappingURL=updateSurfaceData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateSurfaceData.js","sourceRoot":"","sources":["../../../../../../src/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAmD;AACnD,qEAA6E;AAC7E,+DAIiC;AACjC,+EAA8E;AAE9E,6CAAgE;AAChE,iFAAwF;AACxF,mFAAgF;AAEhF,SAAsB,iBAAiB,CAAC,cAAc;;QACpD,MAAM,WAAW,GAAG,MAAM,IAAA,qEAAsC,EAC9D,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAA,sCAAuB,EAAC,cAAc,CAAC,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAGnB,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC;YACxE,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,YAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAsB,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;YAE5C,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;YAC1D,MAAM,UAAU,GAAG,gBAAgB,cAAc,YAAY,YAAY,EAAE,CAAC;YAE5E,MAAM,QAAQ,GAAG,YAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAE/C,IAAI,CAAC,QAAQ,EAAE;gBAGb,MAAM,YAAY,GAAG,IAAA,mDAA+B,EAAC,cAAc,CAAC,CAAC;gBAErE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;oBACtC,MAAM,2BAA2B,GAAG,IAAA,kDAA8B,EAChE,WAAW,CACwB,CAAC;oBAEtC,OAAO,2BAA2B,CAAC,GAAG,CAAC,CAAC,0BAA0B,EAAE,EAAE;wBACpE,IACE,0BAA0B,CAAC,IAAI;4BAC/B,mCAA2B,CAAC,OAAO,EACnC;4BACA,OAAO;yBACR;wBACD,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CACrD,YAAY,EACZ,UAAU,CACX,CAAC;wBAEF,OAAO,IAAA,6DAA6B,EAClC,cAAc,EACd,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACxB;4BACE,6BAA6B,EAC3B,0BAA0B,CAAC,6BAA6B;yBAC3D,CACF,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBAGzC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAsB,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9B;iBAAM;gBACL,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAsB,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;CAAA;AAjFD,8CAiFC"}
@@ -0,0 +1,2 @@
1
+ declare function canComputeRequestedRepresentation(segmentationRepresentationUID: string): boolean;
2
+ export { canComputeRequestedRepresentation };
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.canComputeRequestedRepresentation = void 0;
13
+ const enums_1 = require("../../../enums");
14
+ const Labelmap_1 = require("../../../tools/displayTools/Labelmap");
15
+ const segmentationState_1 = require("../segmentationState");
16
+ const conversionPaths = new Map([
17
+ [
18
+ enums_1.SegmentationRepresentations.Labelmap,
19
+ new Set([
20
+ enums_1.SegmentationRepresentations.Surface,
21
+ enums_1.SegmentationRepresentations.Contour,
22
+ ]),
23
+ ],
24
+ [
25
+ enums_1.SegmentationRepresentations.Contour,
26
+ new Set([
27
+ enums_1.SegmentationRepresentations.Labelmap,
28
+ enums_1.SegmentationRepresentations.Surface,
29
+ ]),
30
+ ],
31
+ [
32
+ enums_1.SegmentationRepresentations.Surface,
33
+ new Set([enums_1.SegmentationRepresentations.Labelmap]),
34
+ ],
35
+ ]);
36
+ function canComputeRequestedRepresentation(segmentationRepresentationUID) {
37
+ const representationInfo = (0, segmentationState_1.findSegmentationRepresentationByUID)(segmentationRepresentationUID);
38
+ if (!(representationInfo === null || representationInfo === void 0 ? void 0 : representationInfo.segmentationRepresentation)) {
39
+ return false;
40
+ }
41
+ const { segmentationRepresentation } = representationInfo;
42
+ const { type: representationType, polySeg } = segmentationRepresentation;
43
+ if (!polySeg || !polySeg.enabled) {
44
+ return false;
45
+ }
46
+ const { representationData } = (0, segmentationState_1.getSegmentation)(segmentationRepresentation.segmentationId);
47
+ const existingRepresentationTypes = getExistingRepresentationTypes(representationData);
48
+ return existingRepresentationTypes.some((existingRepresentationType) => canConvertFromTo(existingRepresentationType, representationType));
49
+ }
50
+ exports.canComputeRequestedRepresentation = canComputeRequestedRepresentation;
51
+ function getExistingRepresentationTypes(representationData) {
52
+ const supportedTypes = [];
53
+ Object.keys(representationData).forEach((representationType) => {
54
+ const representationTypeData = representationData[representationType];
55
+ let validateFn;
56
+ switch (representationType) {
57
+ case enums_1.SegmentationRepresentations.Labelmap:
58
+ validateFn = Labelmap_1.validateLabelmap;
59
+ break;
60
+ }
61
+ if (validateFn) {
62
+ try {
63
+ validateFn(representationTypeData);
64
+ supportedTypes.push(representationType);
65
+ }
66
+ catch (error) {
67
+ console.warn(`Validation failed for labelmap of type ${representationType}`);
68
+ }
69
+ }
70
+ else {
71
+ supportedTypes.push(representationType);
72
+ }
73
+ });
74
+ return supportedTypes;
75
+ }
76
+ function canConvertFromTo(fromRepresentationType, toRepresentationType) {
77
+ var _a;
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ return (((_a = conversionPaths.get(fromRepresentationType)) === null || _a === void 0 ? void 0 : _a.has(toRepresentationType)) ||
80
+ false);
81
+ });
82
+ }
83
+ //# sourceMappingURL=canComputeRequestedRepresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canComputeRequestedRepresentation.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA6D;AAC7D,mEAAwE;AAExE,4DAG8B;AAI9B,MAAM,eAAe,GAAG,IAAI,GAAG,CAG7B;IACA;QACE,mCAA2B,CAAC,QAAQ;QACpC,IAAI,GAAG,CAAC;YACN,mCAA2B,CAAC,OAAO;YACnC,mCAA2B,CAAC,OAAO;SACpC,CAAC;KACH;IACD;QACE,mCAA2B,CAAC,OAAO;QACnC,IAAI,GAAG,CAAC;YACN,mCAA2B,CAAC,QAAQ;YACpC,mCAA2B,CAAC,OAAO;SACpC,CAAC;KACH;IACD;QACE,mCAA2B,CAAC,OAAO;QACnC,IAAI,GAAG,CAAC,CAAC,mCAA2B,CAAC,QAAQ,CAAC,CAAC;KAChD;CACF,CAAC,CAAC;AAaH,SAAS,iCAAiC,CACxC,6BAAqC;IAErC,MAAM,kBAAkB,GAAG,IAAA,uDAAmC,EAC5D,6BAA6B,CAC9B,CAAC;IAEF,IAAI,CAAC,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,0BAA0B,CAAA,EAAE;QACnD,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,CAAC;IAC1D,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAC;IAEzE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,mCAAe,EAC5C,0BAA0B,CAAC,cAAc,CAC1C,CAAC;IAEF,MAAM,2BAA2B,GAC/B,8BAA8B,CAAC,kBAAkB,CAAC,CAAC;IAErD,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,0BAA0B,EAAE,EAAE,CACrE,gBAAgB,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CACjE,CAAC;AACJ,CAAC;AAiDQ,8EAAiC;AAxC1C,SAAS,8BAA8B,CACrC,kBAAkD;IAElD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;QAC7D,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAEtE,IAAI,UAAU,CAAC;QACf,QAAQ,kBAAkB,EAAE;YAC1B,KAAK,mCAA2B,CAAC,QAAQ;gBACvC,UAAU,GAAG,2BAAgB,CAAC;gBAC9B,MAAM;SAET;QAED,IAAI,UAAU,EAAE;YACd,IAAI;gBACF,UAAU,CAAC,sBAAsB,CAAC,CAAC;gBACnC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACzC;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,IAAI,CACV,0CAA0C,kBAAkB,EAAE,CAC/D,CAAC;aACH;SACF;aAAM;YACL,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAe,gBAAgB,CAAC,sBAAsB,EAAE,oBAAoB;;;QAC1E,OAAO,CACL,CAAA,MAAA,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,0CAAE,GAAG,CAAC,oBAAoB,CAAC;YACtE,KAAK,CACN,CAAC;;CACH"}
@@ -0,0 +1,3 @@
1
+ import { SegmentationRepresentations } from '../../../enums';
2
+ declare function computeAndAddRepresentation<T>(segmentationId: string, representationType: SegmentationRepresentations, computeFunction: () => Promise<T>, updateFunction?: () => void): Promise<T>;
3
+ export { computeAndAddRepresentation };
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.computeAndAddRepresentation = void 0;
16
+ const core_1 = require("@cornerstonejs/core");
17
+ const enums_1 = require("../../../enums");
18
+ const addRepresentationData_1 = __importDefault(require("../addRepresentationData"));
19
+ const triggerSegmentationEvents_1 = require("../triggerSegmentationEvents");
20
+ const utilities_1 = require("../../../utilities");
21
+ const registerPolySegWorker_1 = require("./registerPolySegWorker");
22
+ const computedRepresentations = new Map();
23
+ function computeAndAddRepresentation(segmentationId, representationType, computeFunction, updateFunction) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ (0, registerPolySegWorker_1.registerPolySegWorker)();
26
+ const data = yield computeFunction();
27
+ (0, addRepresentationData_1.default)({
28
+ segmentationId,
29
+ type: representationType,
30
+ data: Object.assign({}, data),
31
+ });
32
+ if (!computedRepresentations.has(segmentationId)) {
33
+ computedRepresentations.set(segmentationId, []);
34
+ }
35
+ const representations = computedRepresentations.get(segmentationId);
36
+ if (!representations.includes(representationType)) {
37
+ representations.push(representationType);
38
+ }
39
+ subscribeToSegmentationChanges(updateFunction);
40
+ (0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
41
+ return data;
42
+ });
43
+ }
44
+ exports.computeAndAddRepresentation = computeAndAddRepresentation;
45
+ function subscribeToSegmentationChanges(updateFunction) {
46
+ const debouncedUpdateFunction = (event) => {
47
+ _debouncedSegmentationModified(event, updateFunction);
48
+ };
49
+ updateFunction._debouncedUpdateFunction = debouncedUpdateFunction;
50
+ core_1.eventTarget.removeEventListener(enums_1.Events.SEGMENTATION_DATA_MODIFIED, updateFunction._debouncedUpdateFunction);
51
+ core_1.eventTarget.addEventListener(enums_1.Events.SEGMENTATION_DATA_MODIFIED, updateFunction._debouncedUpdateFunction);
52
+ }
53
+ const _debouncedSegmentationModified = (0, utilities_1.debounce)((event, updateFunction) => {
54
+ const segmentationId = event.detail.segmentationId;
55
+ const representations = computedRepresentations.get(segmentationId);
56
+ if (!representations || !representations.length) {
57
+ return;
58
+ }
59
+ updateFunction(segmentationId);
60
+ if (representations.length) {
61
+ (0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
62
+ }
63
+ }, 300);
64
+ //# sourceMappingURL=computeAndAddRepresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeAndAddRepresentation.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/computeAndAddRepresentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAkD;AAClD,0CAAqE;AACrE,qFAA6D;AAC7D,4EAA2E;AAC3E,kDAA8C;AAC9C,mEAAgE;AAEhE,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAGpC,CAAC;AAYJ,SAAe,2BAA2B,CACxC,cAAsB,EACtB,kBAA+C,EAC/C,eAAiC,EACjC,cAA2B;;QAG3B,IAAA,6CAAqB,GAAE,CAAC;QAGxB,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;QAGrC,IAAA,+BAAqB,EAAC;YACpB,cAAc;YACd,IAAI,EAAE,kBAAkB;YACxB,IAAI,oBAAO,IAAI,CAAE;SAClB,CAAC,CAAC;QAGH,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YAChD,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;SACjD;QAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACjD,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC1C;QAGD,8BAA8B,CAAC,cAAc,CAAC,CAAC;QAG/C,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAsCQ,kEAA2B;AAhCpC,SAAS,8BAA8B,CAAC,cAAc;IACpD,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,EAAE;QACxC,8BAA8B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,cAAc,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;IAElE,kBAAW,CAAC,mBAAmB,CAC7B,cAAM,CAAC,0BAA0B,EACjC,cAAc,CAAC,wBAAwB,CACxC,CAAC;IAEF,kBAAW,CAAC,gBAAgB,CAC1B,cAAM,CAAC,0BAA0B,EACjC,cAAc,CAAC,wBAAwB,CACxC,CAAC;AACJ,CAAC;AAED,MAAM,8BAA8B,GAAG,IAAA,oBAAQ,EAAC,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;IACxE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;IACnD,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC/C,OAAO;KACR;IAED,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/B,IAAI,eAAe,CAAC,MAAM,EAAE;QAC1B,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;KAC7C;AACH,CAAC,EAAE,GAAG,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { computeAndAddSurfaceRepresentation } from './Surface/computeAndAddSurfaceRepresentation';
2
+ import { computeAndAddLabelmapRepresentation } from './Labelmap/computeAndAddLabelmapRepresentation';
3
+ import { computeAndAddContourRepresentation } from './Contour/computeAndAddContourRepresentation';
4
+ import { canComputeRequestedRepresentation } from './canComputeRequestedRepresentation';
5
+ export { canComputeRequestedRepresentation, computeAndAddSurfaceRepresentation, computeAndAddLabelmapRepresentation, computeAndAddContourRepresentation, };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeAndAddContourRepresentation = exports.computeAndAddLabelmapRepresentation = exports.computeAndAddSurfaceRepresentation = exports.canComputeRequestedRepresentation = void 0;
4
+ const computeAndAddSurfaceRepresentation_1 = require("./Surface/computeAndAddSurfaceRepresentation");
5
+ Object.defineProperty(exports, "computeAndAddSurfaceRepresentation", { enumerable: true, get: function () { return computeAndAddSurfaceRepresentation_1.computeAndAddSurfaceRepresentation; } });
6
+ const computeAndAddLabelmapRepresentation_1 = require("./Labelmap/computeAndAddLabelmapRepresentation");
7
+ Object.defineProperty(exports, "computeAndAddLabelmapRepresentation", { enumerable: true, get: function () { return computeAndAddLabelmapRepresentation_1.computeAndAddLabelmapRepresentation; } });
8
+ const computeAndAddContourRepresentation_1 = require("./Contour/computeAndAddContourRepresentation");
9
+ Object.defineProperty(exports, "computeAndAddContourRepresentation", { enumerable: true, get: function () { return computeAndAddContourRepresentation_1.computeAndAddContourRepresentation; } });
10
+ const canComputeRequestedRepresentation_1 = require("./canComputeRequestedRepresentation");
11
+ Object.defineProperty(exports, "canComputeRequestedRepresentation", { enumerable: true, get: function () { return canComputeRequestedRepresentation_1.canComputeRequestedRepresentation; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/index.ts"],"names":[],"mappings":";;;AAAA,qGAAkG;AAQhG,mHARO,uEAAkC,OAQP;AAPpC,wGAAqG;AAQnG,oHARO,yEAAmC,OAQP;AAPrC,qGAAkG;AAQhG,mHARO,uEAAkC,OAQP;AAPpC,2FAAwF;AAGtF,kHAHO,qEAAiC,OAGP"}
@@ -0,0 +1 @@
1
+ export declare function registerPolySegWorker(): void;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerPolySegWorker = void 0;
4
+ const core_1 = require("@cornerstonejs/core");
5
+ let registered = false;
6
+ function registerPolySegWorker() {
7
+ if (registered) {
8
+ return;
9
+ }
10
+ registered = true;
11
+ const workerFn = () => {
12
+ return new Worker(new URL('../../../workers/polySegConverters', import.meta.url), {
13
+ name: 'polySeg',
14
+ });
15
+ };
16
+ const workerManager = (0, core_1.getWebWorkerManager)();
17
+ const options = {
18
+ maxWorkerInstances: 1,
19
+ autoTerminateOnIdle: {
20
+ enabled: true,
21
+ idleTimeThreshold: 2000,
22
+ },
23
+ };
24
+ workerManager.registerWorker('polySeg', workerFn, options);
25
+ }
26
+ exports.registerPolySegWorker = registerPolySegWorker;
27
+ //# sourceMappingURL=registerPolySegWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerPolySegWorker.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/registerPolySegWorker.ts"],"names":[],"mappings":";;;AAAA,8CAA0D;AAE1D,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,SAAgB,qBAAqB;IACnC,IAAI,UAAU,EAAE;QACd,OAAO;KACR;IAED,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,QAAQ,GAAG,GAAG,EAAE;QAEpB,OAAO,IAAI,MAAM,CAEf,IAAI,GAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9D;YACE,IAAI,EAAE,SAAS;SAChB,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,0BAAmB,GAAE,CAAC;IAE5C,MAAM,OAAO,GAAG;QACd,kBAAkB,EAAE,CAAC;QACrB,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,IAAI;SACxB;KACF,CAAC;IAEF,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AA7BD,sDA6BC"}
@@ -6,6 +6,10 @@ const segmentationState_1 = require("./segmentationState");
6
6
  const triggerSegmentationEvents_1 = require("./triggerSegmentationEvents");
7
7
  function setActiveSegmentIndex(segmentationId, segmentIndex) {
8
8
  const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
9
+ if (typeof segmentIndex === 'string') {
10
+ console.warn('segmentIndex is a string, converting to number');
11
+ segmentIndex = Number(segmentIndex);
12
+ }
9
13
  if ((segmentation === null || segmentation === void 0 ? void 0 : segmentation.activeSegmentIndex) !== segmentIndex) {
10
14
  segmentation.activeSegmentIndex = segmentIndex;
11
15
  (0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
@@ -1 +1 @@
1
- {"version":3,"file":"segmentIndex.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentIndex.ts"],"names":[],"mappings":";;;AAAA,gEAAsE;AACtE,2DAG6B;AAC7B,2EAA0E;AAY1E,SAAS,qBAAqB,CAC5B,cAAsB,EACtB,YAAoB;IAEpB,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,kBAAkB,MAAK,YAAY,EAAE;QACrD,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAE/C,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;KAC7C;IAID,MAAM,UAAU,GAAG,IAAA,mDAA+B,EAAC,cAAc,CAAC,CAAC;IACnE,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACjC,IAAA,oCAAqB,EAAC,WAAW,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAe+B,sDAAqB;AARrD,SAAS,qBAAqB,CAAC,cAAsB;IACnD,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC,kBAAkB,CAAC;KACxC;AACH,CAAC;AAEQ,sDAAqB"}
1
+ {"version":3,"file":"segmentIndex.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentIndex.ts"],"names":[],"mappings":";;;AAAA,gEAAsE;AACtE,2DAG6B;AAC7B,2EAA0E;AAY1E,SAAS,qBAAqB,CAC5B,cAAsB,EACtB,YAAoB;IAEpB,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;QACpC,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC/D,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;KACrC;IAED,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,kBAAkB,MAAK,YAAY,EAAE;QACrD,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAE/C,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;KAC7C;IAID,MAAM,UAAU,GAAG,IAAA,mDAA+B,EAAC,cAAc,CAAC,CAAC;IACnE,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACjC,IAAA,oCAAqB,EAAC,WAAW,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAe+B,sDAAqB;AARrD,SAAS,qBAAqB,CAAC,cAAsB;IACnD,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC,kBAAkB,CAAC;KACxC;AACH,CAAC;AAEQ,sDAAqB"}
@@ -6,6 +6,11 @@ declare function getSegmentations(): Segmentation[] | [];
6
6
  declare function addSegmentation(segmentationInput: SegmentationPublicInput, suppressEvents?: boolean): void;
7
7
  declare function getSegmentationRepresentations(toolGroupId: string): ToolGroupSpecificRepresentations | [];
8
8
  declare function getAllSegmentationRepresentations(): Record<string, ToolGroupSpecificRepresentation[]>;
9
+ declare function getSegmentationIdRepresentations(segmentationId: any): any[];
10
+ declare function findSegmentationRepresentationByUID(segmentationRepresentationUID: string): {
11
+ toolGroupId: string;
12
+ segmentationRepresentation: ToolGroupSpecificRepresentation;
13
+ };
9
14
  declare function getToolGroupIdsWithSegmentation(segmentationId: string): string[];
10
15
  declare function getToolGroupSpecificConfig(toolGroupId: string): SegmentationRepresentationConfig;
11
16
  declare function setToolGroupSpecificConfig(toolGroupId: string, config: SegmentationRepresentationConfig, suppressEvents?: boolean): void;
@@ -24,4 +29,4 @@ declare function removeColorLUT(colorLUTIndex: number): void;
24
29
  declare function getColorLUT(index: number): Types.ColorLUT | undefined;
25
30
  declare function getNextColorLUTIndex(): number;
26
31
  declare function addColorLUT(colorLUT: Types.ColorLUT, index: number): void;
27
- export { getDefaultSegmentationStateManager, getSegmentation, getSegmentations, addSegmentation, removeSegmentation, getSegmentationRepresentations, addSegmentationRepresentation, removeSegmentationRepresentation, removeSegmentationRepresentations, getToolGroupSpecificConfig, setToolGroupSpecificConfig, getGlobalConfig, setGlobalConfig, getSegmentationRepresentationSpecificConfig, setSegmentationRepresentationSpecificConfig, getSegmentSpecificRepresentationConfig, setSegmentSpecificRepresentationConfig, getToolGroupIdsWithSegmentation, getAllSegmentationRepresentations, getSegmentationRepresentationByUID, addColorLUT, getColorLUT, getNextColorLUTIndex, removeColorLUT, };
32
+ export { getDefaultSegmentationStateManager, getSegmentation, getSegmentations, addSegmentation, removeSegmentation, getSegmentationRepresentations, addSegmentationRepresentation, removeSegmentationRepresentation, removeSegmentationRepresentations, getToolGroupSpecificConfig, setToolGroupSpecificConfig, getGlobalConfig, setGlobalConfig, getSegmentationRepresentationSpecificConfig, setSegmentationRepresentationSpecificConfig, getSegmentSpecificRepresentationConfig, setSegmentSpecificRepresentationConfig, getToolGroupIdsWithSegmentation, getAllSegmentationRepresentations, getSegmentationRepresentationByUID, getSegmentationIdRepresentations, addColorLUT, getColorLUT, getNextColorLUTIndex, removeColorLUT, findSegmentationRepresentationByUID, };
@@ -3,7 +3,7 @@ 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.removeColorLUT = exports.getNextColorLUTIndex = exports.getColorLUT = exports.addColorLUT = exports.getSegmentationRepresentationByUID = exports.getAllSegmentationRepresentations = exports.getToolGroupIdsWithSegmentation = exports.setSegmentSpecificRepresentationConfig = exports.getSegmentSpecificRepresentationConfig = exports.setSegmentationRepresentationSpecificConfig = exports.getSegmentationRepresentationSpecificConfig = exports.setGlobalConfig = exports.getGlobalConfig = exports.setToolGroupSpecificConfig = exports.getToolGroupSpecificConfig = exports.removeSegmentationRepresentations = exports.removeSegmentationRepresentation = exports.addSegmentationRepresentation = exports.getSegmentationRepresentations = exports.removeSegmentation = exports.addSegmentation = exports.getSegmentations = exports.getSegmentation = exports.getDefaultSegmentationStateManager = void 0;
6
+ exports.findSegmentationRepresentationByUID = exports.removeColorLUT = exports.getNextColorLUTIndex = exports.getColorLUT = exports.addColorLUT = exports.getSegmentationIdRepresentations = exports.getSegmentationRepresentationByUID = exports.getAllSegmentationRepresentations = exports.getToolGroupIdsWithSegmentation = exports.setSegmentSpecificRepresentationConfig = exports.getSegmentSpecificRepresentationConfig = exports.setSegmentationRepresentationSpecificConfig = exports.getSegmentationRepresentationSpecificConfig = exports.setGlobalConfig = exports.getGlobalConfig = exports.setToolGroupSpecificConfig = exports.getToolGroupSpecificConfig = exports.removeSegmentationRepresentations = exports.removeSegmentationRepresentation = exports.addSegmentationRepresentation = exports.getSegmentationRepresentations = exports.removeSegmentation = exports.addSegmentation = exports.getSegmentations = exports.getSegmentation = exports.getDefaultSegmentationStateManager = void 0;
7
7
  const SegmentationStateManager_1 = require("./SegmentationStateManager");
8
8
  const triggerSegmentationEvents_1 = require("./triggerSegmentationEvents");
9
9
  const normalizeSegmentationInput_1 = __importDefault(require("./helpers/normalizeSegmentationInput"));
@@ -41,6 +41,35 @@ function getAllSegmentationRepresentations() {
41
41
  return segmentationStateManager.getAllSegmentationRepresentations();
42
42
  }
43
43
  exports.getAllSegmentationRepresentations = getAllSegmentationRepresentations;
44
+ function getSegmentationIdRepresentations(segmentationId) {
45
+ const allRepresentations = getAllSegmentationRepresentations() || {};
46
+ const foundRepresentations = [];
47
+ for (const toolGroupId in allRepresentations) {
48
+ const toolGroupRepresentations = allRepresentations[toolGroupId];
49
+ const foundRepresentation = toolGroupRepresentations.find((representation) => representation.segmentationId === segmentationId);
50
+ if (foundRepresentation) {
51
+ foundRepresentations.push(foundRepresentation);
52
+ }
53
+ }
54
+ return foundRepresentations;
55
+ }
56
+ exports.getSegmentationIdRepresentations = getSegmentationIdRepresentations;
57
+ function findSegmentationRepresentationByUID(segmentationRepresentationUID) {
58
+ const allToolGroupRepresentations = getAllSegmentationRepresentations() || [];
59
+ const toolGroupIds = Object.keys(allToolGroupRepresentations);
60
+ for (const toolGroupId of toolGroupIds) {
61
+ const toolGroupRepresentations = getAllSegmentationRepresentations()[toolGroupId];
62
+ const foundRepresentation = toolGroupRepresentations.find((representation) => representation.segmentationRepresentationUID ===
63
+ segmentationRepresentationUID);
64
+ if (foundRepresentation) {
65
+ return {
66
+ segmentationRepresentation: foundRepresentation,
67
+ toolGroupId,
68
+ };
69
+ }
70
+ }
71
+ }
72
+ exports.findSegmentationRepresentationByUID = findSegmentationRepresentationByUID;
44
73
  function getToolGroupIdsWithSegmentation(segmentationId) {
45
74
  if (!segmentationId) {
46
75
  throw new Error('getToolGroupIdsWithSegmentation: segmentationId is empty');
@@ -1 +1 @@
1
- {"version":3,"file":"segmentationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentationState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segmentationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentationState.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,8 @@ class ScaleOverlayTool extends AnnotationDisplayTool_1.default {
70
70
  (0, annotationState_1.addAnnotation)(newAnnotation, viewport.element);
71
71
  annotation = newAnnotation;
72
72
  }
73
- else if (this.editData.annotation && this.editData.annotation.data.viewportId == viewport.id) {
73
+ else if (this.editData.annotation &&
74
+ this.editData.annotation.data.viewportId == viewport.id) {
74
75
  this.editData.annotation.data.handles.points =
75
76
  viewportCanvasCornersInWorld;
76
77
  this.editData.annotation.data.viewportId = viewport.id;