@cornerstonejs/tools 1.53.0 → 1.54.1

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
@@ -7,15 +7,19 @@ const core_1 = require("@cornerstonejs/core");
7
7
  const base_1 = require("../base");
8
8
  const triggerSegmentationEvents_1 = require("../../stateManagement/segmentation/triggerSegmentationEvents");
9
9
  const triggerAnnotationRenderForViewportIds_1 = __importDefault(require("../../utilities/triggerAnnotationRenderForViewportIds"));
10
- const stackVolumeCheck_1 = require("./strategies/utils/stackVolumeCheck");
11
10
  const activeSegmentation_1 = require("../../stateManagement/segmentation/activeSegmentation");
12
11
  const SegmentationRepresentations_1 = __importDefault(require("../../enums/SegmentationRepresentations"));
13
12
  const segmentIndex_1 = require("../../stateManagement/segmentation/segmentIndex");
13
+ const segmentation_1 = require("../../utilities/segmentation");
14
+ const store_1 = require("../../store");
15
+ const SegmentationRepresentations_2 = __importDefault(require("../../enums/SegmentationRepresentations"));
14
16
  class SegmentSelectTool extends base_1.BaseTool {
15
17
  constructor(toolProps = {}, defaultToolProps = {
16
18
  supportedInteractionTypes: ['Mouse', 'Touch'],
17
19
  configuration: {
18
- hoverTimeout: 750,
20
+ hoverTimeout: 100,
21
+ mode: SegmentSelectTool.SelectMode.Border,
22
+ searchRadius: 6,
19
23
  },
20
24
  }) {
21
25
  super(toolProps, defaultToolProps);
@@ -41,6 +45,9 @@ class SegmentSelectTool extends base_1.BaseTool {
41
45
  this.hoverTimer = null;
42
46
  }
43
47
  _setActiveSegment(evt = {}) {
48
+ if (store_1.state.isInteractingWithTool) {
49
+ return;
50
+ }
44
51
  const { element, currentPoints } = evt.detail;
45
52
  const worldPoint = currentPoints.world;
46
53
  const enabledElement = (0, core_1.getEnabledElement)(element);
@@ -48,58 +55,61 @@ class SegmentSelectTool extends base_1.BaseTool {
48
55
  return;
49
56
  }
50
57
  const { viewport } = enabledElement;
51
- const activeSegmentation = (0, activeSegmentation_1.getActiveSegmentation)(this.toolGroupId);
52
- if (activeSegmentation.type === SegmentationRepresentations_1.default.Labelmap) {
53
- this._setActiveSegmentLabelmap(activeSegmentation, worldPoint, viewport);
58
+ const activeSegmentationReps = (0, activeSegmentation_1.getActiveSegmentationRepresentation)(this.toolGroupId);
59
+ if (!activeSegmentationReps) {
60
+ return;
61
+ }
62
+ const supportedTypes = [
63
+ SegmentationRepresentations_1.default.Labelmap,
64
+ SegmentationRepresentations_1.default.Contour,
65
+ ];
66
+ if (supportedTypes.includes(activeSegmentationReps.type)) {
67
+ this._setActiveSegmentForType(activeSegmentationReps, worldPoint, viewport);
54
68
  }
55
69
  else {
56
- throw Error('non-labelmap segmentation not supported yet');
70
+ console.warn('SegmentSelectTool does not support the current segmentation type.');
57
71
  }
58
72
  }
59
- _setActiveSegmentLabelmap(activeSegmentation, worldPoint, viewport) {
73
+ _setActiveSegmentForType(activeSegmentationReps, worldPoint, viewport) {
60
74
  const imageDataInfo = viewport.getImageData();
61
75
  if (!imageDataInfo) {
62
76
  return;
63
77
  }
64
- const labelmapData = activeSegmentation.representationData.LABELMAP;
78
+ const { segmentationId, type } = activeSegmentationReps;
65
79
  let hoveredSegmentIndex;
66
- if ((0, stackVolumeCheck_1.isVolumeSegmentation)(activeSegmentation.representationData.LABELMAP)) {
67
- const { volumeId } = labelmapData;
68
- const segmentationVolume = core_1.cache.getVolume(volumeId);
69
- if (!segmentationVolume) {
70
- return;
71
- }
72
- hoveredSegmentIndex =
73
- segmentationVolume.imageData.getScalarValueFromWorld(worldPoint);
80
+ if (this.configuration.mode === SegmentSelectTool.SelectMode.Inside) {
81
+ hoveredSegmentIndex = (0, segmentation_1.getSegmentAtWorldPoint)(segmentationId, worldPoint, {
82
+ viewport,
83
+ });
74
84
  }
75
85
  else {
76
- const { imageIdReferenceMap } = labelmapData;
77
- const currentImageId = viewport.getCurrentImageId();
78
- const segmentationImageId = imageIdReferenceMap.get(currentImageId);
79
- const image = core_1.cache.getImage(segmentationImageId);
80
- if (!image) {
81
- return;
82
- }
83
- const activeSegmentationRepresentation = (0, activeSegmentation_1.getActiveSegmentationRepresentation)(this.toolGroupId);
84
- if (!activeSegmentationRepresentation) {
85
- return;
86
+ switch (type) {
87
+ case SegmentationRepresentations_2.default.Labelmap:
88
+ hoveredSegmentIndex = (0, segmentation_1.getSegmentAtLabelmapBorder)(segmentationId, worldPoint, {
89
+ viewport,
90
+ searchRadius: this.configuration.searchRadius,
91
+ });
92
+ break;
93
+ case SegmentationRepresentations_2.default.Contour:
94
+ hoveredSegmentIndex =
95
+ (0, segmentation_1.getHoveredContourSegmentationAnnotation)(segmentationId);
96
+ break;
86
97
  }
87
- const segmentationActor = viewport.getActor(activeSegmentationRepresentation.segmentationRepresentationUID);
88
- const imageData = segmentationActor === null || segmentationActor === void 0 ? void 0 : segmentationActor.actor.getMapper().getInputData();
89
- const indexIJK = core_1.utilities.transformWorldToIndex(imageData, worldPoint);
90
- const flattenedIndex = indexIJK[0] + indexIJK[1] * image.columns;
91
- const scalars = imageData.getPointData().getScalars().getData();
92
- hoveredSegmentIndex = scalars[flattenedIndex];
93
98
  }
94
99
  if (!hoveredSegmentIndex || hoveredSegmentIndex === 0) {
95
100
  return;
96
101
  }
97
- (0, segmentIndex_1.setActiveSegmentIndex)(activeSegmentation.segmentationId, hoveredSegmentIndex);
102
+ (0, segmentIndex_1.setActiveSegmentIndex)(segmentationId, hoveredSegmentIndex);
98
103
  const renderingEngine = viewport.getRenderingEngine();
99
- (0, triggerSegmentationEvents_1.triggerSegmentationModified)(activeSegmentation.segmentationId);
100
- (0, triggerAnnotationRenderForViewportIds_1.default)(renderingEngine, renderingEngine.getViewports().map((v) => v.id));
104
+ const viewportIds = renderingEngine.getViewports().map((v) => v.id);
105
+ (0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
106
+ (0, triggerAnnotationRenderForViewportIds_1.default)(renderingEngine, viewportIds);
101
107
  }
102
108
  }
109
+ SegmentSelectTool.SelectMode = {
110
+ Inside: 'Inside',
111
+ Border: 'Border',
112
+ };
103
113
  SegmentSelectTool.toolName = 'SegmentSelectTool';
104
114
  exports.default = SegmentSelectTool;
105
115
  //# sourceMappingURL=SegmentSelectTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentSelectTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/SegmentSelectTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SegmentSelectTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/SegmentSelectTool.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ class SphereScissorsTool extends base_1.BaseTool {
87
87
  };
88
88
  const { representationData } = (0, segmentationState_1.getSegmentation)(segmentationId);
89
89
  const labelmapData = representationData[enums_1.SegmentationRepresentations.Labelmap];
90
- if ((0, stackVolumeCheck_1.isVolumeSegmentation)(labelmapData)) {
90
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(labelmapData, viewport)) {
91
91
  const { volumeId } = labelmapData;
92
92
  const segmentation = core_1.cache.getVolume(volumeId);
93
93
  this.editData = Object.assign(Object.assign({}, this.editData), { volumeId, referencedVolumeId: segmentation.referencedVolumeId });
@@ -1 +1 @@
1
- {"version":3,"file":"SphereScissorsTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/SphereScissorsTool.ts"],"names":[],"mappings":";;;;;AAAA,8CAA+D;AAG/D,kCAAmC;AAQnC,wDAA2D;AAC3D,0DAA6D;AAC7D,uCAAkE;AAClE,iDAA+D;AAC/D,+DAGqC;AAErC,kIAA0G;AAC1G,qEAK4C;AAE5C,4FAAuF;AAMvF,0EAA2E;AAS3E,MAAM,kBAAmB,SAAQ,eAAQ;IAwBvC,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,UAAU,EAAE;gBACV,WAAW,EAAE,6BAAgB;gBAC7B,YAAY,EAAE,+BAAiB;aAChC;YACD,eAAe,EAAE,aAAa;YAC9B,cAAc,EAAE,aAAa;SAC9B;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAWrC,yBAAoB,GAAG,CAAC,GAAoC,EAAQ,EAAE;YAIpE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAC3B,OAAO;aACR;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;YACrC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;YAEvC,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAErD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAErC,MAAM,gCAAgC,GACpC,iCAAkB,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC;YACtE,IAAI,CAAC,gCAAgC,EAAE;gBACrC,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;aACH;YAED,MAAM,EAAE,6BAA6B,EAAE,cAAc,EAAE,GACrD,gCAAgC,CAAC;YACnC,MAAM,YAAY,GAChB,2BAAsB,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,6BAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAExE,MAAM,YAAY,GAAG,qBAAkB,CAAC,KAAK,CAAC,uBAAuB,CACnE,WAAW,EACX,6BAA6B,EAC7B,YAAY,CACb,CAAC;YAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAGtB,MAAM,UAAU,GAAG;gBACjB,QAAQ,EAAE;oBACR,eAAe,EAAgB,CAAC,GAAG,eAAe,CAAC;oBACnD,MAAM,EAAgB,CAAC,GAAG,MAAM,CAAC;oBACjC,mBAAmB,EAAE,QAAQ,CAAC,sBAAsB,EAAE;oBACtD,iBAAiB,EAAE,EAAE;oBACrB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC5B,YAAY;iBACb;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE;wBACP,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;wBACpE,iBAAiB,EAAE,IAAI;qBACxB;oBACD,WAAW,EAAE,EAAE;oBACf,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC;YAEF,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE1C,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,YAAY,EAAE,SAAS;gBACvB,6BAA6B;gBAC7B,YAAY;gBACZ,cAAc;gBACd,cAAc;gBACd,YAAY;gBACZ,WAAW;gBACX,mBAAmB;gBACnB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;gBACpB,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,KAAK;aACT,CAAC;YAET,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,YAAY,GAChB,kBAAkB,CAAC,mCAA2B,CAAC,QAAQ,CAAC,CAAC;YAE3D,IAAI,IAAA,uCAAoB,EAAC,YAAwC,CAAC,EAAE;gBAClE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAA8C,CAAC;gBACpE,MAAM,YAAY,GAAG,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAE/C,IAAI,CAAC,QAAQ,mCACR,IAAI,CAAC,QAAQ,KAChB,QAAQ,EACR,kBAAkB,EAAE,YAAY,CAAC,kBAAkB,GACpD,CAAC;aACH;iBAAM;gBACL,MAAM,EAAE,mBAAmB,EAAE,GAC3B,YAA6C,CAAC;gBAEhD,IAAI,CAAC,QAAQ,mCACR,IAAI,CAAC,QAAQ,KAChB,mBAAmB,GACpB,CAAC;aACH;YAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5B,IAAA,iCAAiB,EAAC,OAAO,CAAC,CAAC;YAE3B,GAAG,CAAC,cAAc,EAAE,CAAC;YAErB,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,GAAoC,EAAE,EAAE;YACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAChC,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;YACtC,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;YACjD,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACrD,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;YAGnC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAE5C,MAAM,YAAY,GAAiB;gBACjC,YAAY,CAAC,CAAC,CAAC;gBACf,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM;aACzB,CAAC;YACF,MAAM,SAAS,GAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAiB;gBAC/B,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM;gBACxB,YAAY,CAAC,CAAC,CAAC;aAChB,CAAC;YACF,MAAM,WAAW,GAAiB;gBAChC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM;gBACxB,YAAY,CAAC,CAAC,CAAC;aAChB,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG;gBACpB,aAAa,CAAC,YAAY,CAAC;gBAC3B,aAAa,CAAC,SAAS,CAAC;gBACxB,aAAa,CAAC,UAAU,CAAC;gBACzB,aAAa,CAAC,WAAW,CAAC;aAC3B,CAAC;YAEF,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE9B,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,GAAoC,EAAE,EAAE;YACtD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,EACJ,UAAU,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,6BAA6B,EAC7B,cAAc,GACf,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;YAExD,IAAI,aAAa,IAAI,CAAC,QAAQ,EAAE;gBAC9B,OAAO;aACR;YACD,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAEtC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAA,kCAAkB,EAAC,OAAO,CAAC,CAAC;YAE5B,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAElD,MAAM,aAAa,mCACd,IAAI,CAAC,QAAQ,KAChB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAC3B,YAAY;gBACZ,6BAA6B;gBAC7B,cAAc;gBACd,eAAe;gBACf,MAAM,GACP,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC;QAKF,kBAAa,GAAG,CAAC,OAAO,EAAE,EAAE;YAC1B,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAChE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAEhE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9D,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9D,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC,CAAC;QAKF,oBAAe,GAAG,CAAC,OAAO,EAAE,EAAE;YAC5B,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACnE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACnE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAEnE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACnE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC,CAAC;QAUF,qBAAgB,GAAG,CACjB,cAAqC,EACrC,gBAAkC,EACzB,EAAE;YACX,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACpC,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE9C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAC9C,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAGrC,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;YACzC,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YAE/C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG;gBACb,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACrC,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE1E,MAAM,KAAK,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;YAG9D,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE;gBAClC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACpD,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,IAAA,uBAAa,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,MAAsB,EACtB,MAAM,EACN;gBACE,KAAK;aACN,CACF,CAAC;YAEF,YAAY,GAAG,IAAI,CAAC;YAEpB,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;IAvTF,CAAC;CAwTF;AAED,kBAAkB,CAAC,QAAQ,GAAG,eAAe,CAAC;AAC9C,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"SphereScissorsTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/SphereScissorsTool.ts"],"names":[],"mappings":"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"}
@@ -68,13 +68,15 @@ class BrushStrategy {
68
68
  console.warn('No data found for BrushStrategy');
69
69
  return operationData.preview;
70
70
  }
71
- if ((0, stackVolumeCheck_1.isVolumeSegmentation)(operationData)) {
71
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(operationData, viewport)) {
72
72
  const { referencedVolumeId, volumeId } = operationData;
73
- const imageVolume = core_1.cache.getVolume(referencedVolumeId);
74
73
  const segmentation = core_1.cache.getVolume(volumeId);
75
- if (!core_1.utilities.isEqual(segmentation.dimensions, imageVolume.dimensions) ||
76
- !core_1.utilities.isEqual(segmentation.direction, imageVolume.direction)) {
77
- throw new Error('Only source data the same dimensions/size/orientation as the segmentation currently supported.');
74
+ if (referencedVolumeId) {
75
+ const imageVolume = core_1.cache.getVolume(referencedVolumeId);
76
+ if (!core_1.utilities.isEqual(segmentation.dimensions, imageVolume.dimensions) ||
77
+ !core_1.utilities.isEqual(segmentation.direction, imageVolume.direction)) {
78
+ throw new Error('Only source data the same dimensions/size/orientation as the segmentation currently supported.');
79
+ }
78
80
  }
79
81
  }
80
82
  const { imageVoxelManager, segmentationVoxelManager, segmentationImageData, } = data;
@@ -1 +1 @@
1
- {"version":3,"file":"BrushStrategy.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/BrushStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrushStrategy.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/BrushStrategy.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ exports.default = {
20
20
  setValue(operationData, data);
21
21
  }
22
22
  : (data) => setValue(operationData, data);
23
- (0, pointInShapeCallback_1.default)(segmentationImageData, imageVoxelManager.isInObject, callback, segmentationVoxelManager.boundsIJK);
23
+ (0, pointInShapeCallback_1.default)(segmentationImageData, (imageVoxelManager === null || imageVoxelManager === void 0 ? void 0 : imageVoxelManager.isInObject) || segmentationVoxelManager.isInObject, callback, segmentationVoxelManager.boundsIJK);
24
24
  previewVoxelManager.addPoint(centerIJK);
25
25
  },
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"regionFill.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/regionFill.ts"],"names":[],"mappings":";;;;;AACA,sGAA8E;AAC9E,4FAAoE;AAQpE,kBAAe;IACb,CAAC,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAuC,EAAE,EAAE;;QACpE,MAAM,EACJ,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EAAE,wBAAwB,EAClD,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EACb,SAAS,GACV,GAAG,aAAa,CAAC;QAClB,MAAM,iBAAiB,GACrB,MAAA,aAAa,CAAC,mBAAmB,8DAAG,aAAa,CAAC,CAAC;QACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;QAEnC,MAAM,QAAQ,GAAG,iBAAiB;YAChC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;gBAC9B,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;oBAC/D,OAAO;iBACR;gBACD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;YACH,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAE5C,IAAA,8BAAoB,EAClB,qBAAgC,EAChC,iBAAiB,CAAC,UAAU,EAC5B,QAAQ,EACR,wBAAwB,CAAC,SAAS,CACnC,CAAC;QAEF,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"regionFill.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/regionFill.ts"],"names":[],"mappings":";;;;;AACA,sGAA8E;AAC9E,4FAAoE;AAQpE,kBAAe;IACb,CAAC,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAuC,EAAE,EAAE;;QACpE,MAAM,EACJ,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EAAE,wBAAwB,EAClD,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EACb,SAAS,GACV,GAAG,aAAa,CAAC;QAClB,MAAM,iBAAiB,GACrB,MAAA,aAAa,CAAC,mBAAmB,8DAAG,aAAa,CAAC,CAAC;QACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;QAEnC,MAAM,QAAQ,GAAG,iBAAiB;YAChC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;gBAC9B,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;oBAC/D,OAAO;iBACR;gBACD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;YACH,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAE5C,IAAA,8BAAoB,EAClB,qBAAgC,EAChC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,KAAI,wBAAwB,CAAC,UAAU,EACpE,QAAQ,EACR,wBAAwB,CAAC,SAAS,CACnC,CAAC;QAEF,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
@@ -27,11 +27,20 @@ const sphereComposition = {
27
27
  operationData.centerIJK = transformWorldToIndex(segmentationImageData, center);
28
28
  const { boundsIJK: newBoundsIJK, topLeftWorld, bottomRightWorld, } = (0, getSphereBoundsInfo_1.getSphereBoundsInfo)(points.slice(0, 2), segmentationImageData, viewport);
29
29
  segmentationVoxelManager.boundsIJK = newBoundsIJK;
30
- imageVoxelManager.isInObject = (0, fillCircle_1.createEllipseInPoint)({
31
- topLeftWorld,
32
- bottomRightWorld,
33
- center,
34
- });
30
+ if (imageVoxelManager) {
31
+ imageVoxelManager.isInObject = (0, fillCircle_1.createEllipseInPoint)({
32
+ topLeftWorld,
33
+ bottomRightWorld,
34
+ center,
35
+ });
36
+ }
37
+ else {
38
+ segmentationVoxelManager.isInObject = (0, fillCircle_1.createEllipseInPoint)({
39
+ topLeftWorld,
40
+ bottomRightWorld,
41
+ center,
42
+ });
43
+ }
35
44
  },
36
45
  };
37
46
  const SPHERE_STRATEGY = new BrushStrategy_1.default('Sphere', compositions_1.default.regionFill, compositions_1.default.setValue, sphereComposition, compositions_1.default.determineSegmentIndex, compositions_1.default.preview);
@@ -1 +1 @@
1
- {"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":";;;;;;AACA,8CAA2D;AAC3D,yCAAiC;AAEjC,oEAA4C;AAE5C,kEAA0C;AAC1C,yFAAiE;AACjE,6CAAoD;AACpD,MAAM,EAAE,qBAAqB,EAAE,GAAG,gBAAO,CAAC;AAC1C,gFAA6E;AAC7E,MAAM,iBAAiB,GAAG;IACxB,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,aAAuC,EAAE,EAAE;QAC1E,MAAM,EACJ,MAAM,EACN,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EAAE,wBAAwB,GACnD,GAAG,aAAa,CAAC;QAGlB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,MAAM,MAAM,GAAG,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,gBAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,gBAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9C,aAAa,CAAC,WAAW,GAAG,MAAsB,CAAC;QACnD,aAAa,CAAC,SAAS,GAAG,qBAAqB,CAC7C,qBAAqB,EACrB,MAAsB,CACvB,CAAC;QAEF,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,YAAY,EACZ,gBAAgB,GACjB,GAAG,IAAA,yCAAmB,EACrB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAiC,EAClD,qBAAqB,EACrB,QAAQ,CACT,CAAC;QAEF,wBAAwB,CAAC,SAAS,GAAG,YAAY,CAAC;QAElD,iBAAiB,CAAC,UAAU,GAAG,IAAA,iCAAoB,EAAC;YAClD,YAAY;YACZ,gBAAgB;YAChB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACa,CAAC;AAEjB,MAAM,eAAe,GAAG,IAAI,uBAAa,CACvC,QAAQ,EACR,sBAAY,CAAC,UAAU,EACvB,sBAAY,CAAC,QAAQ,EACrB,iBAAiB,EACjB,sBAAY,CAAC,qBAAqB,EAClC,sBAAY,CAAC,OAAO,CACrB,CAAC;AAqCgD,0CAAe;AA7BjE,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;AA6BjD,4CAAgB;AA3BzB,MAAM,yBAAyB,GAAG,IAAI,uBAAa,CACjD,iBAAiB,EACjB,GAAG,eAAe,CAAC,YAAY,EAC/B,sBAAY,CAAC,gBAAgB,EAC7B,sBAAY,CAAC,SAAS,EACtB,sBAAY,CAAC,aAAa,CAC3B,CAAC;AASF,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC;AAY9C,sDAAqB;AAJhD,SAAgB,iBAAiB;IAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzD,CAAC;AAFD,8CAEC"}
1
+ {"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":";;;;;;AACA,8CAA2D;AAC3D,yCAAiC;AAEjC,oEAA4C;AAE5C,kEAA0C;AAC1C,yFAAiE;AACjE,6CAAoD;AACpD,MAAM,EAAE,qBAAqB,EAAE,GAAG,gBAAO,CAAC;AAC1C,gFAA6E;AAC7E,MAAM,iBAAiB,GAAG;IACxB,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,aAAuC,EAAE,EAAE;QAC1E,MAAM,EACJ,MAAM,EACN,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EAAE,wBAAwB,GACnD,GAAG,aAAa,CAAC;QAGlB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,MAAM,MAAM,GAAG,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,gBAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,gBAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9C,aAAa,CAAC,WAAW,GAAG,MAAsB,CAAC;QACnD,aAAa,CAAC,SAAS,GAAG,qBAAqB,CAC7C,qBAAqB,EACrB,MAAsB,CACvB,CAAC;QAEF,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,YAAY,EACZ,gBAAgB,GACjB,GAAG,IAAA,yCAAmB,EACrB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAiC,EAClD,qBAAqB,EACrB,QAAQ,CACT,CAAC;QAEF,wBAAwB,CAAC,SAAS,GAAG,YAAY,CAAC;QAElD,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,CAAC,UAAU,GAAG,IAAA,iCAAoB,EAAC;gBAClD,YAAY;gBACZ,gBAAgB;gBAChB,MAAM;aACP,CAAC,CAAC;SACJ;aAAM;YACL,wBAAwB,CAAC,UAAU,GAAG,IAAA,iCAAoB,EAAC;gBACzD,YAAY;gBACZ,gBAAgB;gBAChB,MAAM;aACP,CAAC,CAAC;SACJ;IACH,CAAC;CACa,CAAC;AAEjB,MAAM,eAAe,GAAG,IAAI,uBAAa,CACvC,QAAQ,EACR,sBAAY,CAAC,UAAU,EACvB,sBAAY,CAAC,QAAQ,EACrB,iBAAiB,EACjB,sBAAY,CAAC,qBAAqB,EAClC,sBAAY,CAAC,OAAO,CACrB,CAAC;AAqCgD,0CAAe;AA7BjE,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;AA6BjD,4CAAgB;AA3BzB,MAAM,yBAAyB,GAAG,IAAI,uBAAa,CACjD,iBAAiB,EACjB,GAAG,eAAe,CAAC,YAAY,EAC/B,sBAAY,CAAC,gBAAgB,EAC7B,sBAAY,CAAC,SAAS,EACtB,sBAAY,CAAC,aAAa,CAC3B,CAAC;AASF,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC;AAY9C,sDAAqB;AAJhD,SAAgB,iBAAiB;IAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzD,CAAC;AAFD,8CAEC"}
@@ -6,18 +6,22 @@ const stackVolumeCheck_1 = require("./stackVolumeCheck");
6
6
  const { VoxelManager } = core_1.utilities;
7
7
  function getStrategyData({ operationData, viewport }) {
8
8
  let segmentationImageData, segmentationScalarData, imageScalarData;
9
- let dimensions;
10
- if ((0, stackVolumeCheck_1.isVolumeSegmentation)(operationData)) {
9
+ let imageDimensions;
10
+ let segmentationDimensions;
11
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(operationData, viewport)) {
11
12
  const { volumeId, referencedVolumeId } = operationData;
12
13
  const segmentationVolume = core_1.cache.getVolume(volumeId);
13
- const imageVolume = core_1.cache.getVolume(referencedVolumeId);
14
- if (!segmentationVolume || !imageVolume) {
14
+ if (!segmentationVolume) {
15
15
  return;
16
16
  }
17
+ if (referencedVolumeId) {
18
+ const imageVolume = core_1.cache.getVolume(referencedVolumeId);
19
+ imageScalarData = imageVolume.getScalarData();
20
+ imageDimensions = imageVolume.dimensions;
21
+ }
17
22
  ({ imageData: segmentationImageData } = segmentationVolume);
18
23
  segmentationScalarData = segmentationVolume.getScalarData();
19
- imageScalarData = imageVolume.getScalarData();
20
- dimensions = imageVolume.dimensions;
24
+ segmentationDimensions = segmentationVolume.dimensions;
21
25
  }
22
26
  else {
23
27
  const { imageIdReferenceMap, segmentationRepresentationUID } = operationData;
@@ -35,14 +39,22 @@ function getStrategyData({ operationData, viewport }) {
35
39
  segmentationScalarData = segmentationImage.getPixelData();
36
40
  const image = core_1.cache.getImage(currentImageId);
37
41
  imageScalarData = image.getPixelData();
38
- dimensions = [image.columns, image.rows, 1];
42
+ imageDimensions = [image.columns, image.rows, 1];
43
+ segmentationDimensions = [
44
+ segmentationImage.columns,
45
+ segmentationImage.rows,
46
+ 1,
47
+ ];
39
48
  }
49
+ const segmentationVoxelManager = VoxelManager.createVolumeVoxelManager(segmentationDimensions, segmentationScalarData);
50
+ const imageVoxelManager = imageDimensions &&
51
+ VoxelManager.createVolumeVoxelManager(imageDimensions, imageScalarData);
40
52
  return {
41
53
  segmentationImageData,
42
54
  segmentationScalarData,
43
- segmentationVoxelManager: VoxelManager.createVolumeVoxelManager(dimensions, segmentationScalarData),
55
+ segmentationVoxelManager,
44
56
  imageScalarData,
45
- imageVoxelManager: VoxelManager.createVolumeVoxelManager(dimensions, imageScalarData),
57
+ imageVoxelManager,
46
58
  };
47
59
  }
48
60
  exports.getStrategyData = getStrategyData;
@@ -1 +1 @@
1
- {"version":3,"file":"getStrategyData.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/getStrategyData.ts"],"names":[],"mappings":";;;AAAA,8CAAuD;AAEvD,yDAA0D;AAG1D,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAS,CAAC;AAEnC,SAAS,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClD,IAAI,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,CAAC;IACnE,IAAI,UAAwB,CAAC;IAC7B,IAAI,IAAA,uCAAoB,EAAC,aAAa,CAAC,EAAE;QACvC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;QAEvD,MAAM,kBAAkB,GAAG,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,YAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,CAAC,kBAAkB,IAAI,CAAC,WAAW,EAAE;YACvC,OAAO;SACR;QAED,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAAC,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC5D,eAAe,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;QAC9C,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;KACrC;SAAM;QACL,MAAM,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,GAC1D,aAA+C,CAAC;QAElD,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QAKD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC/D,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QAC/D,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,iBAAiB,GAAG,YAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACrE,sBAAsB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAE1D,MAAM,KAAK,GAAG,YAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAK7C,eAAe,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KAC7C;IAED,OAAO;QACL,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB,EAAE,YAAY,CAAC,wBAAwB,CAC7D,UAAU,EACV,sBAAsB,CACvB;QACD,eAAe;QACf,iBAAiB,EAAE,YAAY,CAAC,wBAAwB,CACtD,UAAU,EACV,eAAe,CAChB;KACF,CAAC;AACJ,CAAC;AAEQ,0CAAe"}
1
+ {"version":3,"file":"getStrategyData.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/getStrategyData.ts"],"names":[],"mappings":";;;AAAA,8CAAuD;AAEvD,yDAA0D;AAG1D,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAS,CAAC;AAEnC,SAAS,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClD,IAAI,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,CAAC;IACnE,IAAI,eAA6B,CAAC;IAClC,IAAI,sBAAoC,CAAC;IACzC,IAAI,IAAA,uCAAoB,EAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;QACjD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;QAEvD,MAAM,kBAAkB,GAAG,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO;SACR;QAID,IAAI,kBAAkB,EAAE;YACtB,MAAM,WAAW,GAAG,YAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACxD,eAAe,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;YAC9C,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC;SAC1C;QAED,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAAC,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,UAAU,CAAC;KACxD;SAAM;QACL,MAAM,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,GAC1D,aAA+C,CAAC;QAElD,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QAKD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC/D,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QAC/D,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,iBAAiB,GAAG,YAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACrE,sBAAsB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAE1D,MAAM,KAAK,GAAG,YAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAK7C,eAAe,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,eAAe,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,sBAAsB,GAAG;YACvB,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,IAAI;YACtB,CAAC;SACF,CAAC;KACH;IAED,MAAM,wBAAwB,GAAG,YAAY,CAAC,wBAAwB,CACpE,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;IAEF,MAAM,iBAAiB,GACrB,eAAe;QACf,YAAY,CAAC,wBAAwB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE1E,OAAO;QACL,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,eAAe;QACf,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAEQ,0CAAe"}
@@ -1,5 +1,5 @@
1
- import { LabelmapSegmentationData, LabelmapSegmentationDataStack, LabelmapSegmentationDataVolume } from '../../../../types/LabelmapTypes';
2
- import { LabelmapToolOperationData, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume } from '../../../../types';
3
- declare function isStackSegmentation(operationData: LabelmapToolOperationData | LabelmapSegmentationData): operationData is LabelmapToolOperationDataStack | LabelmapSegmentationDataStack;
4
- declare function isVolumeSegmentation(operationData: LabelmapToolOperationData | LabelmapSegmentationData): operationData is LabelmapToolOperationDataVolume | LabelmapSegmentationDataVolume;
5
- export { isStackSegmentation, isVolumeSegmentation };
1
+ import { LabelmapSegmentationData, LabelmapSegmentationDataVolume } from '../../../../types/LabelmapTypes';
2
+ import { LabelmapToolOperationData, LabelmapToolOperationDataVolume } from '../../../../types';
3
+ import { Types } from '@cornerstonejs/core';
4
+ declare function isVolumeSegmentation(operationData: LabelmapToolOperationData | LabelmapSegmentationData, viewport?: Types.IViewport): operationData is LabelmapToolOperationDataVolume | LabelmapSegmentationDataVolume;
5
+ export { isVolumeSegmentation };
@@ -1,13 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isVolumeSegmentation = exports.isStackSegmentation = void 0;
4
- function isStackSegmentation(operationData) {
5
- return (operationData.imageIdReferenceMap !==
6
- undefined);
7
- }
8
- exports.isStackSegmentation = isStackSegmentation;
9
- function isVolumeSegmentation(operationData) {
10
- return ((operationData === null || operationData === void 0 ? void 0 : operationData.volumeId) !== undefined);
3
+ exports.isVolumeSegmentation = void 0;
4
+ const core_1 = require("@cornerstonejs/core");
5
+ function isVolumeSegmentation(operationData, viewport) {
6
+ const { imageIdReferenceMap } = operationData;
7
+ const { volumeId } = operationData;
8
+ if (volumeId && !imageIdReferenceMap) {
9
+ return true;
10
+ }
11
+ if (imageIdReferenceMap && !volumeId) {
12
+ return false;
13
+ }
14
+ if (volumeId && imageIdReferenceMap && !viewport) {
15
+ throw new Error('isVolumeSegmentation: viewport is required when both volumeId and imageIdReferenceMap are provided');
16
+ }
17
+ return viewport instanceof core_1.VolumeViewport;
11
18
  }
12
19
  exports.isVolumeSegmentation = isVolumeSegmentation;
13
20
  //# sourceMappingURL=stackVolumeCheck.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stackVolumeCheck.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/stackVolumeCheck.ts"],"names":[],"mappings":";;;AAWA,SAAS,mBAAmB,CAC1B,aAAmE;IAInE,OAAO,CACJ,aAAgD,CAAC,mBAAmB;QACrE,SAAS,CACV,CAAC;AACJ,CAAC;AAYQ,kDAAmB;AAV5B,SAAS,oBAAoB,CAC3B,aAAmE;IAInE,OAAO,CACL,CAAC,aAAiD,aAAjD,aAAa,uBAAb,aAAa,CAAsC,QAAQ,MAAK,SAAS,CAC3E,CAAC;AACJ,CAAC;AAE6B,oDAAoB"}
1
+ {"version":3,"file":"stackVolumeCheck.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/stackVolumeCheck.ts"],"names":[],"mappings":";;;AASA,8CAA4D;AAE5D,SAAS,oBAAoB,CAC3B,aAAmE,EACnE,QAA0B;IAI1B,MAAM,EAAE,mBAAmB,EAAE,GAC3B,aAA+C,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAgD,CAAC;IAEtE,IAAI,QAAQ,IAAI,CAAC,mBAAmB,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,IAAI,mBAAmB,IAAI,CAAC,QAAQ,EAAE;QACpC,OAAO,KAAK,CAAC;KACd;IAED,IAAI,QAAQ,IAAI,mBAAmB,IAAI,CAAC,QAAQ,EAAE;QAChD,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;KACH;IAGD,OAAO,QAAQ,YAAY,qBAAc,CAAC;AAC5C,CAAC;AAEQ,oDAAoB"}
@@ -6,7 +6,6 @@ export declare type ContourSegmentationAnnotationData = {
6
6
  segmentation: {
7
7
  segmentationId: string;
8
8
  segmentIndex: number;
9
- segmentationRepresentationUID: string;
10
9
  };
11
10
  contour: {
12
11
  originalPolyline?: Types.Point3[];
@@ -23,4 +23,8 @@ export declare type LabelmapSegmentationDataVolume = {
23
23
  export declare type LabelmapSegmentationDataStack = {
24
24
  imageIdReferenceMap: Map<string, string>;
25
25
  };
26
- export declare type LabelmapSegmentationData = LabelmapSegmentationDataVolume | LabelmapSegmentationDataStack;
26
+ export declare type LabelmapSegmentationData = LabelmapSegmentationDataVolume | LabelmapSegmentationDataStack | {
27
+ volumeId?: string;
28
+ referencedVolumeId?: string;
29
+ imageIdReferenceMap?: Map<string, string>;
30
+ };
@@ -0,0 +1,6 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ export declare type PolySegConversionOptions = {
3
+ segmentIndices?: number[];
4
+ segmentationRepresentationUID?: string;
5
+ viewport?: Types.IViewport;
6
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PolySeg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolySeg.js","sourceRoot":"","sources":["../../../src/types/PolySeg.ts"],"names":[],"mappings":""}
@@ -41,6 +41,10 @@ export declare type ToolGroupSpecificRepresentationState = {
41
41
  active: boolean;
42
42
  segmentsHidden: Set<number>;
43
43
  colorLUTIndex: number;
44
+ polySeg?: {
45
+ enabled: boolean;
46
+ options?: any;
47
+ };
44
48
  };
45
49
  export declare type ToolGroupSpecificLabelmapRepresentation = ToolGroupSpecificRepresentationState & {
46
50
  config: LabelmapRenderingConfig;
@@ -80,7 +84,13 @@ export declare type SegmentationPublicInput = {
80
84
  export declare type RepresentationPublicInput = {
81
85
  segmentationId: string;
82
86
  type: Enums.SegmentationRepresentations;
83
- options?: {
84
- colorLUTOrIndex?: Types.ColorLUT | number;
87
+ options?: RepresentationPublicInputOptions;
88
+ };
89
+ export declare type RepresentationPublicInputOptions = {
90
+ segmentationRepresentationUID?: string;
91
+ colorLUTOrIndex?: Types.ColorLUT | number;
92
+ polySeg?: {
93
+ enabled: boolean;
94
+ options?: any;
85
95
  };
86
96
  };
@@ -1,4 +1,4 @@
1
1
  export declare type SurfaceRenderingConfig = {};
2
2
  export declare type SurfaceSegmentationData = {
3
- geometryId: string;
3
+ geometryIds: Map<number, string>;
4
4
  };
@@ -44,4 +44,5 @@ import type { SplineCurveSegment } from './SplineCurveSegment';
44
44
  import type { SplineLineSegment } from './SplineLineSegment';
45
45
  import type { SplineProps } from './SplineProps';
46
46
  import type { BidirectionalData } from '../utilities/segmentation/createBidirectionalToolData';
47
- export type { Annotation, Annotations, ContourAnnotationData, ContourAnnotation, ContourSegmentationAnnotationData, ContourSegmentationAnnotation, BidirectionalData, CanvasCoordinates, IAnnotationManager, InterpolationViewportData, ImageInterpolationData, GroupSpecificAnnotations, AnnotationState, AnnotationStyle, ToolSpecificAnnotationTypes, JumpToSliceOptions, AnnotationGroupSelector, AnnotationRenderContext, PlanarBoundingBox, ToolProps, PublicToolProps, ToolConfiguration, EventTypes, IPoints, ITouchPoints, IDistance, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, ToolAction, IToolGroup, IToolClassReference, ISynchronizerEventHandler, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificContourRepresentation, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, LabelmapTypes, SVGCursorDescriptor, SVGPoint, ScrollOptions, CINETypes, BoundsIJK, SVGDrawingHelper, FloodFillResult, FloodFillGetter, FloodFillOptions, ContourSegmentationData, Statistics, LabelmapToolOperationData, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume, CardinalSplineProps, ClosestControlPoint, ClosestPoint, ClosestSplinePoint, ControlPointInfo, ISpline, SplineCurveSegment, SplineLineSegment, SplineProps, };
47
+ import type { PolySegConversionOptions } from './PolySeg';
48
+ export type { Annotation, Annotations, ContourAnnotationData, ContourAnnotation, ContourSegmentationAnnotationData, ContourSegmentationAnnotation, BidirectionalData, CanvasCoordinates, IAnnotationManager, InterpolationViewportData, ImageInterpolationData, GroupSpecificAnnotations, AnnotationState, AnnotationStyle, ToolSpecificAnnotationTypes, JumpToSliceOptions, AnnotationGroupSelector, AnnotationRenderContext, PlanarBoundingBox, ToolProps, PublicToolProps, ToolConfiguration, EventTypes, IPoints, ITouchPoints, IDistance, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, ToolAction, IToolGroup, IToolClassReference, ISynchronizerEventHandler, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificContourRepresentation, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, LabelmapTypes, SVGCursorDescriptor, SVGPoint, ScrollOptions, CINETypes, BoundsIJK, SVGDrawingHelper, FloodFillResult, FloodFillGetter, FloodFillOptions, ContourSegmentationData, Statistics, LabelmapToolOperationData, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume, CardinalSplineProps, ClosestControlPoint, ClosestPoint, ClosestSplinePoint, ControlPointInfo, ISpline, SplineCurveSegment, SplineLineSegment, SplineProps, PolySegConversionOptions, };
@@ -4,7 +4,7 @@ exports.getBoundingBoxAroundShapeWorld = exports.getBoundingBoxAroundShapeIJK =
4
4
  const core_1 = require("@cornerstonejs/core");
5
5
  const { EPSILON } = core_1.CONSTANTS;
6
6
  function calculateBoundingBox(points, dimensions, isWorld = false) {
7
- var _a;
7
+ var _a, _b, _c;
8
8
  let xMin = Infinity;
9
9
  let xMax = isWorld ? -Infinity : 0;
10
10
  let yMin = Infinity;
@@ -12,17 +12,17 @@ function calculateBoundingBox(points, dimensions, isWorld = false) {
12
12
  let zMin = Infinity;
13
13
  let zMax = isWorld ? -Infinity : 0;
14
14
  const is3D = ((_a = points[0]) === null || _a === void 0 ? void 0 : _a.length) === 3;
15
- points.forEach((p) => {
16
- var _a, _b;
15
+ for (let i = 0; i < points.length; i++) {
16
+ const p = points[i];
17
17
  xMin = Math.min(p[0], xMin);
18
18
  xMax = Math.max(p[0], xMax);
19
19
  yMin = Math.min(p[1], yMin);
20
20
  yMax = Math.max(p[1], yMax);
21
21
  if (is3D) {
22
- zMin = Math.min((_a = p[2]) !== null && _a !== void 0 ? _a : zMin, zMin);
23
- zMax = Math.max((_b = p[2]) !== null && _b !== void 0 ? _b : zMax, zMax);
22
+ zMin = Math.min((_b = p[2]) !== null && _b !== void 0 ? _b : zMin, zMin);
23
+ zMax = Math.max((_c = p[2]) !== null && _c !== void 0 ? _c : zMax, zMax);
24
24
  }
25
- });
25
+ }
26
26
  if (dimensions) {
27
27
  xMin = Math.max(isWorld ? dimensions[0] + EPSILON : 0, xMin);
28
28
  xMax = Math.min(isWorld ? dimensions[0] - EPSILON : dimensions[0] - 1, xMax);
@@ -1 +1 @@
1
- {"version":3,"file":"getBoundingBoxAroundShape.js","sourceRoot":"","sources":["../../../../src/utilities/boundingBox/getBoundingBoxAroundShape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getBoundingBoxAroundShape.js","sourceRoot":"","sources":["../../../../src/utilities/boundingBox/getBoundingBoxAroundShape.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ContourSegmentationAnnotation } from '../../types';
2
+ export declare function addContourSegmentationAnnotation(annotation: ContourSegmentationAnnotation): void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addContourSegmentationAnnotation = void 0;
4
+ const segmentationState_1 = require("../../stateManagement/segmentation/segmentationState");
5
+ function addContourSegmentationAnnotation(annotation) {
6
+ if (!annotation.data.segmentation) {
7
+ throw new Error('addContourSegmentationAnnotation: annotation does not have a segmentation data');
8
+ }
9
+ const { segmentationId, segmentIndex } = annotation.data.segmentation;
10
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
11
+ const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
12
+ let annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
13
+ if (!annotationsUIDsSet) {
14
+ annotationsUIDsSet = new Set();
15
+ annotationUIDsMap.set(segmentIndex, annotationsUIDsSet);
16
+ }
17
+ annotationsUIDsSet.add(annotation.annotationUID);
18
+ }
19
+ exports.addContourSegmentationAnnotation = addContourSegmentationAnnotation;
20
+ //# sourceMappingURL=addContourSegmentationAnnotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../../src/utilities/contourSegmentation/addContourSegmentationAnnotation.ts"],"names":[],"mappings":";;;AAAA,4FAAuF;AAOvF,SAAgB,gCAAgC,CAC9C,UAAyC;IAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;KACH;IAED,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;IACtE,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAEtE,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,CAAC,kBAAkB,EAAE;QACvB,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;KACzD;IAED,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACnD,CAAC;AArBD,4EAqBC"}