@cornerstonejs/tools 2.0.0-beta.20 → 2.0.0-beta.21

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 (485) hide show
  1. package/dist/esm/cursors/SVGCursorDescriptor.d.ts +1 -1
  2. package/dist/esm/cursors/SVGCursorDescriptor.js +7 -0
  3. package/dist/esm/cursors/SVGMouseCursor.d.ts +1 -1
  4. package/dist/esm/drawingSvg/draw.d.ts +2 -1
  5. package/dist/esm/drawingSvg/drawArrow.d.ts +1 -1
  6. package/dist/esm/drawingSvg/drawCircle.d.ts +1 -1
  7. package/dist/esm/drawingSvg/drawEllipse.d.ts +1 -1
  8. package/dist/esm/drawingSvg/drawEllipse.js +1 -0
  9. package/dist/esm/drawingSvg/drawEllipseByCoordinates.d.ts +1 -1
  10. package/dist/esm/drawingSvg/drawHandle.d.ts +1 -1
  11. package/dist/esm/drawingSvg/drawHandles.d.ts +1 -1
  12. package/dist/esm/drawingSvg/drawHeight.d.ts +3 -0
  13. package/dist/esm/drawingSvg/drawHeight.js +42 -0
  14. package/dist/esm/drawingSvg/drawLine.d.ts +1 -1
  15. package/dist/esm/drawingSvg/drawLink.d.ts +1 -1
  16. package/dist/esm/drawingSvg/drawLinkedTextBox.d.ts +1 -1
  17. package/dist/esm/drawingSvg/drawPath.d.ts +1 -1
  18. package/dist/esm/drawingSvg/drawPolyline.d.ts +1 -1
  19. package/dist/esm/drawingSvg/drawRect.d.ts +1 -1
  20. package/dist/esm/drawingSvg/drawRect.js +1 -0
  21. package/dist/esm/drawingSvg/drawRectByCoordinates.d.ts +1 -1
  22. package/dist/esm/drawingSvg/drawRedactionRect.d.ts +3 -1
  23. package/dist/esm/drawingSvg/drawTextBox.d.ts +1 -1
  24. package/dist/esm/drawingSvg/getSvgDrawingHelper.d.ts +1 -1
  25. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
  26. package/dist/esm/drawingSvg/index.d.ts +2 -1
  27. package/dist/esm/drawingSvg/index.js +2 -1
  28. package/dist/esm/enums/ToolBindings.d.ts +3 -1
  29. package/dist/esm/enums/ToolBindings.js +2 -0
  30. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.d.ts +1 -1
  31. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.d.ts +1 -1
  32. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +1 -1
  33. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +1 -1
  34. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +1 -1
  35. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +1 -1
  36. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +1 -1
  37. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.d.ts +2 -1
  38. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +15 -2
  39. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.d.ts +1 -1
  40. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +1 -1
  41. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +3 -4
  42. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.d.ts +1 -1
  43. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +1 -1
  44. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.d.ts +2 -2
  45. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +4 -3
  46. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +3 -3
  47. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +2 -2
  48. package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.d.ts +1 -1
  49. package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.d.ts +1 -1
  50. package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.d.ts +1 -1
  51. package/dist/esm/eventListeners/annotations/annotationCompletedListener.d.ts +1 -1
  52. package/dist/esm/eventListeners/annotations/annotationRemovedListener.d.ts +1 -1
  53. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +3 -3
  54. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +1 -1
  55. package/dist/esm/eventListeners/mouse/getMouseEventPoints.d.ts +1 -1
  56. package/dist/esm/eventListeners/mouse/getMouseEventPoints.js +4 -1
  57. package/dist/esm/eventListeners/mouse/mouseDownListener.js +9 -1
  58. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +6 -6
  59. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts +1 -1
  60. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +3 -3
  61. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts +1 -1
  62. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -2
  63. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +1 -1
  64. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +3 -2
  65. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +1 -1
  66. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +5 -5
  67. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +1 -1
  68. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +4 -2
  69. package/dist/esm/eventListeners/touch/getTouchEventPoints.d.ts +1 -1
  70. package/dist/esm/index.d.ts +2 -2
  71. package/dist/esm/index.js +2 -2
  72. package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.d.ts +20 -0
  73. package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.js +112 -0
  74. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +3 -3
  75. package/dist/esm/stateManagement/annotation/annotationLocking.d.ts +1 -1
  76. package/dist/esm/stateManagement/annotation/annotationState.d.ts +2 -2
  77. package/dist/esm/stateManagement/annotation/annotationVisibility.d.ts +1 -1
  78. package/dist/esm/stateManagement/annotation/config/ToolStyle.d.ts +1 -1
  79. package/dist/esm/stateManagement/annotation/config/getFont.d.ts +2 -2
  80. package/dist/esm/stateManagement/annotation/config/getState.d.ts +1 -1
  81. package/dist/esm/stateManagement/annotation/config/helpers.d.ts +2 -2
  82. package/dist/esm/stateManagement/annotation/helpers/state.d.ts +2 -2
  83. package/dist/esm/stateManagement/annotation/utilities/defineProperties.d.ts +1 -1
  84. package/dist/esm/stateManagement/index.d.ts +3 -3
  85. package/dist/esm/stateManagement/index.js +2 -2
  86. package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.d.ts +3 -3
  87. package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.js +14 -17
  88. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +12 -12
  89. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +27 -19
  90. package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +5 -4
  91. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +12 -5
  92. package/dist/esm/stateManagement/segmentation/addRepresentationData.d.ts +3 -3
  93. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.d.ts +3 -0
  94. package/dist/esm/stateManagement/segmentation/{addRepresentation.js → addSegmentationRepresentation.js} +6 -6
  95. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +3 -0
  96. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +9 -0
  97. package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +1 -1
  98. package/dist/esm/stateManagement/segmentation/config/index.d.ts +2 -2
  99. package/dist/esm/stateManagement/segmentation/config/index.js +2 -2
  100. package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +2 -2
  101. package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +5 -5
  102. package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +5 -5
  103. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +5 -5
  104. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +12 -12
  105. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +3 -7
  106. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +8 -53
  107. package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +1 -1
  108. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.d.ts +2 -0
  109. package/dist/esm/stateManagement/segmentation/helpers/{getRepresentationRenderingConfig.js → getSegmentationRepresentationRenderingConfig.js} +2 -2
  110. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +1 -1
  111. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +1 -1
  112. package/dist/esm/stateManagement/segmentation/index.d.ts +3 -3
  113. package/dist/esm/stateManagement/segmentation/index.js +3 -3
  114. package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +1 -1
  115. package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.d.ts +2 -2
  116. package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +3 -3
  117. package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.d.ts +1 -1
  118. package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.d.ts +2 -2
  119. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +1 -1
  120. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +1 -1
  121. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +12 -21
  122. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +2 -2
  123. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +2 -6
  124. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +2 -2
  125. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +8 -13
  126. package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +1 -1
  127. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +2 -2
  128. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +2 -1
  129. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +2 -2
  130. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +2 -2
  131. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +2 -2
  132. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +2 -2
  133. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +1 -1
  134. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +4 -3
  135. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +2 -2
  136. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +1 -1
  137. package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +2 -0
  138. package/dist/esm/stateManagement/segmentation/{removeRepresentationsFromViewport.js → removeSegmentationRepresentations.js} +9 -6
  139. package/dist/esm/stateManagement/segmentation/segmentIndex.js +2 -2
  140. package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -2
  141. package/dist/esm/stateManagement/segmentation/segmentLocking.js +2 -2
  142. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +16 -16
  143. package/dist/esm/stateManagement/segmentation/segmentationState.js +30 -30
  144. package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +7 -3
  145. package/dist/esm/store/SynchronizerManager/Synchronizer.js +2 -1
  146. package/dist/esm/store/SynchronizerManager/createSynchronizer.d.ts +3 -3
  147. package/dist/esm/store/SynchronizerManager/createSynchronizer.js +1 -1
  148. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.d.ts +1 -1
  149. package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +1 -1
  150. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +1 -1
  151. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +3 -3
  152. package/dist/esm/store/ToolGroupManager/ToolGroup.js +5 -2
  153. package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
  154. package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +1 -0
  155. package/dist/esm/store/ToolGroupManager/getAllToolGroups.d.ts +1 -1
  156. package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
  157. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +1 -1
  158. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +1 -1
  159. package/dist/esm/store/addEnabledElement.d.ts +1 -1
  160. package/dist/esm/store/addEnabledElement.js +1 -1
  161. package/dist/esm/store/addTool.js +0 -3
  162. package/dist/esm/store/filterMoveableAnnotationTools.d.ts +1 -1
  163. package/dist/esm/store/filterToolsWithAnnotationsForElement.d.ts +1 -1
  164. package/dist/esm/store/filterToolsWithMoveableHandles.d.ts +1 -1
  165. package/dist/esm/store/removeEnabledElement.d.ts +1 -1
  166. package/dist/esm/store/removeEnabledElement.js +1 -1
  167. package/dist/esm/store/state.d.ts +4 -3
  168. package/dist/esm/store/state.js +1 -1
  169. package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .d.ts +1 -1
  170. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +2 -2
  171. package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.d.ts +2 -2
  172. package/dist/esm/synchronizers/callbacks/presentationViewSyncCallback.d.ts +1 -1
  173. package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.d.ts +1 -1
  174. package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +5 -2
  175. package/dist/esm/synchronizers/callbacks/zoomPanSyncCallback.d.ts +2 -2
  176. package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.d.ts +1 -1
  177. package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts +1 -1
  178. package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.d.ts +2 -2
  179. package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.js +1 -1
  180. package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.d.ts +1 -1
  181. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +1 -1
  182. package/dist/esm/synchronizers/synchronizers/createZoomPanSynchronizer.d.ts +1 -1
  183. package/dist/esm/tools/AdvancedMagnifyTool.d.ts +4 -6
  184. package/dist/esm/tools/AdvancedMagnifyViewport.js +1 -1
  185. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +3 -2
  186. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +1 -1
  187. package/dist/esm/tools/AnnotationEraserTool.d.ts +1 -1
  188. package/dist/esm/tools/CrosshairsTool.d.ts +5 -5
  189. package/dist/esm/tools/CrosshairsTool.js +4 -3
  190. package/dist/esm/tools/MIPJumpToClickTool.d.ts +1 -2
  191. package/dist/esm/tools/MIPJumpToClickTool.js +2 -3
  192. package/dist/esm/tools/MagnifyTool.d.ts +2 -3
  193. package/dist/esm/tools/OrientationMarkerTool.d.ts +41 -58
  194. package/dist/esm/tools/OrientationMarkerTool.js +8 -7
  195. package/dist/esm/tools/OverlayGridTool.d.ts +2 -4
  196. package/dist/esm/tools/OverlayGridTool.js +1 -1
  197. package/dist/esm/tools/PanTool.d.ts +1 -1
  198. package/dist/esm/tools/PanTool.js +5 -0
  199. package/dist/esm/tools/PlanarRotateTool.d.ts +3 -1
  200. package/dist/esm/tools/PlanarRotateTool.js +18 -4
  201. package/dist/esm/tools/ReferenceCursors.d.ts +2 -5
  202. package/dist/esm/tools/ReferenceLinesTool.d.ts +4 -6
  203. package/dist/esm/tools/ReferenceLinesTool.js +1 -1
  204. package/dist/esm/tools/ScaleOverlayTool.d.ts +7 -9
  205. package/dist/esm/tools/ScaleOverlayTool.js +1 -2
  206. package/dist/esm/tools/SculptorTool/CircleSculptCursor.d.ts +4 -4
  207. package/dist/esm/tools/SculptorTool.d.ts +1 -1
  208. package/dist/esm/tools/SegmentationIntersectionTool.d.ts +2 -2
  209. package/dist/esm/tools/StackScrollTool.d.ts +2 -1
  210. package/dist/esm/tools/StackScrollTool.js +17 -3
  211. package/dist/esm/tools/StackScrollToolMouseWheelTool.d.ts +1 -2
  212. package/dist/esm/tools/StackScrollToolMouseWheelTool.js +1 -2
  213. package/dist/esm/tools/TrackballRotateTool.d.ts +1 -1
  214. package/dist/esm/tools/TrackballRotateTool.js +4 -0
  215. package/dist/esm/tools/VolumeRotateMouseWheelTool.d.ts +2 -3
  216. package/dist/esm/tools/WindowLevelRegionTool.d.ts +3 -3
  217. package/dist/esm/tools/WindowLevelRegionTool.js +1 -3
  218. package/dist/esm/tools/WindowLevelTool.d.ts +1 -1
  219. package/dist/esm/tools/WindowLevelTool.js +12 -7
  220. package/dist/esm/tools/ZoomTool.d.ts +2 -2
  221. package/dist/esm/tools/ZoomTool.js +2 -2
  222. package/dist/esm/tools/annotation/AngleTool.d.ts +5 -7
  223. package/dist/esm/tools/annotation/ArrowAnnotateTool.d.ts +5 -7
  224. package/dist/esm/tools/annotation/BidirectionalTool.d.ts +5 -7
  225. package/dist/esm/tools/annotation/CircleROITool.d.ts +5 -7
  226. package/dist/esm/tools/annotation/CircleROITool.js +8 -5
  227. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +5 -7
  228. package/dist/esm/tools/annotation/DragProbeTool.d.ts +3 -5
  229. package/dist/esm/tools/annotation/DragProbeTool.js +0 -5
  230. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +5 -7
  231. package/dist/esm/tools/annotation/EllipticalROITool.js +8 -3
  232. package/dist/esm/tools/annotation/HeightTool.d.ts +36 -0
  233. package/dist/esm/tools/annotation/HeightTool.js +435 -0
  234. package/dist/esm/tools/annotation/KeyImageTool.d.ts +4 -6
  235. package/dist/esm/tools/annotation/LengthTool.d.ts +5 -7
  236. package/dist/esm/tools/annotation/LengthTool.js +7 -5
  237. package/dist/esm/tools/annotation/LivewireContourTool.d.ts +3 -4
  238. package/dist/esm/tools/annotation/LivewireContourTool.js +2 -1
  239. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +21 -4
  240. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +155 -113
  241. package/dist/esm/tools/annotation/ProbeTool.d.ts +4 -6
  242. package/dist/esm/tools/annotation/ProbeTool.js +14 -29
  243. package/dist/esm/tools/annotation/RectangleROITool.d.ts +5 -5
  244. package/dist/esm/tools/annotation/RectangleROITool.js +7 -3
  245. package/dist/esm/tools/annotation/SplineContourSegmentationTool.d.ts +1 -1
  246. package/dist/esm/tools/annotation/SplineROITool.d.ts +1 -3
  247. package/dist/esm/tools/annotation/SplineROITool.js +2 -2
  248. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.d.ts +5 -7
  249. package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +4 -5
  250. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +1 -1
  251. package/dist/esm/tools/annotation/splines/CardinalSpline.d.ts +1 -1
  252. package/dist/esm/tools/annotation/splines/CubicSpline.d.ts +1 -1
  253. package/dist/esm/tools/annotation/splines/QuadraticSpline.d.ts +1 -1
  254. package/dist/esm/tools/annotation/splines/Spline.d.ts +1 -1
  255. package/dist/esm/tools/base/AnnotationDisplayTool.d.ts +3 -3
  256. package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -9
  257. package/dist/esm/tools/base/AnnotationTool.d.ts +3 -14
  258. package/dist/esm/tools/base/BaseTool.d.ts +5 -5
  259. package/dist/esm/tools/base/BaseTool.js +1 -1
  260. package/dist/esm/tools/base/ContourBaseTool.d.ts +1 -1
  261. package/dist/esm/tools/base/ContourBaseTool.js +3 -3
  262. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +10 -10
  263. package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +1 -1
  264. package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +2 -2
  265. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +2 -1
  266. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +2 -2
  267. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +4 -4
  268. package/dist/esm/tools/displayTools/Contour/contourHandler/utils.d.ts +1 -1
  269. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +2 -2
  270. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +1 -1
  271. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +3 -3
  272. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +1 -1
  273. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +5 -5
  274. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +10 -8
  275. package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.d.ts +2 -2
  276. package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +1 -1
  277. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +2 -2
  278. package/dist/esm/tools/distancePointToContour.d.ts +1 -1
  279. package/dist/esm/tools/index.d.ts +2 -1
  280. package/dist/esm/tools/index.js +2 -1
  281. package/dist/esm/tools/segmentation/BrushTool.js +5 -5
  282. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.d.ts +20 -15
  283. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +199 -67
  284. package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +3 -3
  285. package/dist/esm/tools/segmentation/CircleScissorsTool.js +10 -3
  286. package/dist/esm/tools/segmentation/PaintFillTool.d.ts +1 -1
  287. package/dist/esm/tools/segmentation/PaintFillTool.js +15 -14
  288. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.d.ts +20 -10
  289. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +174 -55
  290. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.d.ts +3 -3
  291. package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +4 -3
  292. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +8 -5
  293. package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +2 -2
  294. package/dist/esm/tools/segmentation/SegmentSelectTool.js +2 -2
  295. package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +3 -2
  296. package/dist/esm/tools/segmentation/SphereScissorsTool.js +12 -4
  297. package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +4 -5
  298. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +3 -1
  299. package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +6 -3
  300. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +1 -1
  301. package/dist/esm/tools/segmentation/strategies/compositions/islandRemoval.js +1 -1
  302. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +2 -2
  303. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +6 -3
  304. package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +1 -1
  305. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  306. package/dist/esm/tools/segmentation/strategies/fillCircle.js +1 -1
  307. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  308. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +10 -7
  309. package/dist/esm/tools/segmentation/strategies/fillSphere.js +1 -1
  310. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.d.ts +1 -1
  311. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +7 -24
  312. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +9 -2
  313. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +3 -3
  314. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +0 -3
  315. package/dist/esm/types/AnnotationGroupSelector.d.ts +1 -1
  316. package/dist/esm/types/AnnotationRenderContext.d.ts +3 -2
  317. package/dist/esm/types/AnnotationStyle.d.ts +2 -2
  318. package/dist/esm/types/AnnotationTypes.d.ts +3 -3
  319. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  320. package/dist/esm/types/CINETypes.d.ts +1 -0
  321. package/dist/esm/types/CalculatorTypes.d.ts +1 -1
  322. package/dist/esm/types/CardinalSplineProps.d.ts +1 -1
  323. package/dist/esm/types/ClosestPoint.d.ts +1 -1
  324. package/dist/esm/types/ContourAnnotation.d.ts +1 -1
  325. package/dist/esm/types/ContourSegmentationAnnotation.d.ts +2 -2
  326. package/dist/esm/types/ControlPointInfo.d.ts +1 -1
  327. package/dist/esm/types/EventTypes.d.ts +13 -12
  328. package/dist/esm/types/FloodFillTypes.d.ts +2 -2
  329. package/dist/esm/types/IAnnotationManager.d.ts +3 -3
  330. package/dist/esm/types/IDistance.d.ts +1 -1
  331. package/dist/esm/types/IPoints.d.ts +2 -2
  332. package/dist/esm/types/ISetToolModeOptions.d.ts +2 -2
  333. package/dist/esm/types/ISpline.d.ts +1 -1
  334. package/dist/esm/types/ISynchronizerEventHandler.d.ts +3 -3
  335. package/dist/esm/types/IToolClassReference.d.ts +3 -3
  336. package/dist/esm/types/IToolGroup.d.ts +8 -8
  337. package/dist/esm/types/ITouchPoints.d.ts +2 -2
  338. package/dist/esm/types/InteractionTypes.d.ts +1 -1
  339. package/dist/esm/types/InternalToolTypes.d.ts +4 -4
  340. package/dist/esm/types/InterpolationTypes.d.ts +3 -3
  341. package/dist/esm/types/JumpToSliceOptions.d.ts +1 -1
  342. package/dist/esm/types/LabelmapToolOperationData.d.ts +3 -2
  343. package/dist/esm/types/PlanarBoundingBox.d.ts +1 -1
  344. package/dist/esm/types/SVGDrawingHelper.d.ts +1 -1
  345. package/dist/esm/types/ScrollOptions.d.ts +1 -1
  346. package/dist/esm/types/SegmentationStateTypes.d.ts +7 -6
  347. package/dist/esm/types/SplineCurveSegment.d.ts +1 -1
  348. package/dist/esm/types/SplineLineSegment.d.ts +1 -1
  349. package/dist/esm/types/ToolAction.d.ts +1 -1
  350. package/dist/esm/types/ToolHandle.d.ts +1 -1
  351. package/dist/esm/types/ToolProps.d.ts +1 -1
  352. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +34 -12
  353. package/dist/esm/types/index.d.ts +2 -2
  354. package/dist/esm/utilities/annotationFrameRange.d.ts +1 -1
  355. package/dist/esm/utilities/annotationHydration.d.ts +3 -2
  356. package/dist/esm/utilities/cine/playClip.d.ts +6 -2
  357. package/dist/esm/utilities/cine/playClip.js +53 -6
  358. package/dist/esm/utilities/cine/state.d.ts +1 -1
  359. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +1 -1
  360. package/dist/esm/utilities/contourSegmentation/areSameSegment.d.ts +1 -1
  361. package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts +2 -2
  362. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +1 -1
  363. package/dist/esm/utilities/contours/AnnotationToPointData.d.ts +1 -1
  364. package/dist/esm/utilities/contours/areCoplanarContours.d.ts +1 -1
  365. package/dist/esm/utilities/contours/findHandlePolylineIndex.d.ts +1 -1
  366. package/dist/esm/utilities/contours/interpolation/createPolylineToolData.d.ts +1 -1
  367. package/dist/esm/utilities/contours/interpolation/getInterpolationData.d.ts +1 -1
  368. package/dist/esm/utilities/contours/interpolation/interpolate.d.ts +1 -1
  369. package/dist/esm/utilities/contours/reverseIfAntiClockwise.d.ts +1 -1
  370. package/dist/esm/utilities/contours/updateContourPolyline.d.ts +1 -1
  371. package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.d.ts +3 -2
  372. package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.js +31 -23
  373. package/dist/esm/utilities/dynamicVolume/getDataInTime.d.ts +1 -1
  374. package/dist/esm/utilities/dynamicVolume/getDataInTime.js +14 -9
  375. package/dist/esm/utilities/getAnnotationNearPoint.d.ts +1 -1
  376. package/dist/esm/utilities/getCalibratedUnits.d.ts +0 -6
  377. package/dist/esm/utilities/getCalibratedUnits.js +13 -4
  378. package/dist/esm/utilities/getPixelValueUnits.d.ts +2 -1
  379. package/dist/esm/utilities/getPixelValueUnits.js +1 -0
  380. package/dist/esm/utilities/getSphereBoundsInfo.d.ts +1 -1
  381. package/dist/esm/utilities/getToolsWithModesForElement.d.ts +1 -1
  382. package/dist/esm/utilities/getVOIMultipliers.d.ts +1 -1
  383. package/dist/esm/utilities/index.d.ts +1 -3
  384. package/dist/esm/utilities/index.js +1 -3
  385. package/dist/esm/utilities/livewire/LiveWirePath.d.ts +1 -1
  386. package/dist/esm/utilities/livewire/LivewireScissors.d.ts +1 -1
  387. package/dist/esm/utilities/math/aabb/distanceToPoint.d.ts +1 -1
  388. package/dist/esm/utilities/math/aabb/distanceToPointSquared.d.ts +1 -1
  389. package/dist/esm/utilities/math/aabb/intersectAABB.d.ts +1 -1
  390. package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +2 -2
  391. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +1 -1
  392. package/dist/esm/utilities/math/basic/Calculator.d.ts +1 -1
  393. package/dist/esm/utilities/math/circle/getCanvasCircleCorners.d.ts +1 -1
  394. package/dist/esm/utilities/math/circle/getCanvasCircleRadius.d.ts +1 -1
  395. package/dist/esm/utilities/math/line/distanceToPointSquared.d.ts +1 -1
  396. package/dist/esm/utilities/math/midPoint.d.ts +1 -1
  397. package/dist/esm/utilities/math/point/mirror.d.ts +1 -1
  398. package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.d.ts +1 -1
  399. package/dist/esm/utilities/math/polyline/combinePolyline.d.ts +1 -1
  400. package/dist/esm/utilities/math/polyline/getAABB.d.ts +1 -1
  401. package/dist/esm/utilities/math/polyline/getLinesIntersection.d.ts +1 -1
  402. package/dist/esm/utilities/math/polyline/getNormal2.d.ts +1 -1
  403. package/dist/esm/utilities/math/polyline/getNormal3.d.ts +1 -1
  404. package/dist/esm/utilities/math/polyline/intersectPolyline.d.ts +1 -1
  405. package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +2 -2
  406. package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +1 -1
  407. package/dist/esm/utilities/orientation/getOrientationStringLPS.d.ts +1 -1
  408. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.d.ts +1 -1
  409. package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.d.ts +3 -0
  410. package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.js +26 -0
  411. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.d.ts +1 -1
  412. package/dist/esm/utilities/planar/index.d.ts +3 -1
  413. package/dist/esm/utilities/planar/index.js +3 -1
  414. package/dist/esm/utilities/planarFreehandROITool/interpolation/algorithms/bspline.d.ts +1 -1
  415. package/dist/esm/utilities/planarFreehandROITool/interpolation/interpolateSegmentPoints.d.ts +1 -1
  416. package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.d.ts +2 -2
  417. package/dist/esm/utilities/planarFreehandROITool/smoothPoints.d.ts +11 -3
  418. package/dist/esm/utilities/polyData/utils.d.ts +1 -1
  419. package/dist/esm/utilities/scroll.d.ts +4 -3
  420. package/dist/esm/utilities/scroll.js +3 -10
  421. package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.d.ts +1 -1
  422. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +2 -11
  423. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -1
  424. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
  425. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +7 -7
  426. package/dist/esm/utilities/segmentation/floodFill.d.ts +1 -1
  427. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +1 -1
  428. package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +8 -5
  429. package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.d.ts +1 -1
  430. package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +7 -4
  431. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +4 -5
  432. package/dist/esm/utilities/segmentation/index.d.ts +2 -2
  433. package/dist/esm/utilities/segmentation/index.js +2 -2
  434. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.d.ts +1 -1
  435. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +1 -1
  436. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +3 -2
  437. package/dist/esm/utilities/segmentation/segmentContourAction.d.ts +1 -1
  438. package/dist/esm/utilities/segmentation/segmentContourAction.js +4 -4
  439. package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.d.ts +2 -2
  440. package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.js +24 -17
  441. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +3 -3
  442. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +21 -12
  443. package/dist/esm/utilities/segmentation/triggerSegmentationRender.d.ts +3 -3
  444. package/dist/esm/utilities/segmentation/triggerSegmentationRender.js +7 -5
  445. package/dist/esm/utilities/segmentation/utilities.d.ts +12 -2
  446. package/dist/esm/utilities/segmentation/utilities.js +5 -6
  447. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +30 -25
  448. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +3 -8
  449. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +2 -3
  450. package/dist/esm/utilities/stackPrefetch/state.d.ts +20 -1
  451. package/dist/esm/utilities/touch/index.d.ts +1 -1
  452. package/dist/esm/utilities/triggerAnnotationRender.d.ts +0 -20
  453. package/dist/esm/utilities/triggerAnnotationRender.js +1 -112
  454. package/dist/esm/utilities/viewport/isViewportPreScaled.d.ts +1 -1
  455. package/dist/esm/utilities/viewport/isViewportPreScaled.js +2 -5
  456. package/dist/esm/utilities/viewport/jumpToSlice.d.ts +1 -1
  457. package/dist/esm/utilities/viewport/jumpToSlice.js +4 -6
  458. package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.d.ts +2 -2
  459. package/dist/esm/utilities/voi/colorbar/ViewportColorbar.d.ts +1 -1
  460. package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +1 -1
  461. package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.d.ts +1 -1
  462. package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.d.ts +1 -1
  463. package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.d.ts +3 -3
  464. package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.d.ts +8 -0
  465. package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.js +4 -10
  466. package/dist/esm/widgets/types/index.d.ts +2 -2
  467. package/dist/esm/workers/polySegConverters.js +65 -32
  468. package/dist/umd/78.index.js +1 -1
  469. package/dist/umd/78.index.js.map +1 -1
  470. package/dist/umd/985.index.js +1 -1
  471. package/dist/umd/985.index.js.map +1 -1
  472. package/dist/umd/index.js +1 -1
  473. package/dist/umd/index.js.map +1 -1
  474. package/package.json +5 -7
  475. package/dist/esm/stateManagement/segmentation/addRepresentation.d.ts +0 -3
  476. package/dist/esm/stateManagement/segmentation/addRepresentations.d.ts +0 -3
  477. package/dist/esm/stateManagement/segmentation/addRepresentations.js +0 -9
  478. package/dist/esm/stateManagement/segmentation/helpers/getRepresentationRenderingConfig.d.ts +0 -2
  479. package/dist/esm/stateManagement/segmentation/removeRepresentationsFromViewport.d.ts +0 -2
  480. package/dist/esm/utilities/pointInShapeCallback.d.ts +0 -18
  481. package/dist/esm/utilities/pointInShapeCallback.js +0 -82
  482. package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +0 -4
  483. package/dist/esm/utilities/pointInSurroundingSphereCallback.js +0 -63
  484. package/dist/esm/utilities/segmentation/triggerSegmentationRenderForViewports.d.ts +0 -3
  485. package/dist/esm/utilities/segmentation/triggerSegmentationRenderForViewports.js +0 -6
@@ -59,15 +59,15 @@ export default class SegmentationStateManager {
59
59
  removeSegmentation(segmentationId) {
60
60
  this.state.segmentations = this.state.segmentations.filter((segmentation) => segmentation.segmentationId !== segmentationId);
61
61
  }
62
- getRepresentation(segmentationRepresentationUID) {
62
+ getSegmentationRepresentation(segmentationRepresentationUID) {
63
63
  return this.state.representations[segmentationRepresentationUID];
64
64
  }
65
- addRepresentation(segmentationRepresentation) {
65
+ addSegmentationRepresentationState(segmentationRepresentation) {
66
66
  const { segmentationRepresentationUID } = segmentationRepresentation;
67
67
  this.state.representations[segmentationRepresentationUID] =
68
68
  segmentationRepresentation;
69
69
  }
70
- addRepresentationToViewport(viewportId, segmentationRepresentationUID) {
70
+ addSegmentationRepresentationToViewport(viewportId, segmentationRepresentationUID) {
71
71
  const enabledElement = getEnabledElementByViewportId(viewportId);
72
72
  if (!enabledElement) {
73
73
  return;
@@ -75,20 +75,25 @@ export default class SegmentationStateManager {
75
75
  if (!this.state.viewports[viewportId]) {
76
76
  this.state.viewports[viewportId] = {};
77
77
  }
78
- const representation = this.getRepresentation(segmentationRepresentationUID);
78
+ const representation = this.getSegmentationRepresentation(segmentationRepresentationUID);
79
79
  if (representation.type !== SegmentationRepresentations.Labelmap) {
80
- this.setActiveRepresentation(viewportId, segmentationRepresentationUID);
80
+ this.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
81
81
  return;
82
82
  }
83
83
  const volumeViewport = enabledElement.viewport instanceof BaseVolumeViewport;
84
84
  const segmentation = this.getSegmentation(representation.segmentationId);
85
85
  const { representationData } = segmentation;
86
+ const isLabelmap = representationData.LABELMAP;
87
+ if (!isLabelmap) {
88
+ this.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
89
+ return;
90
+ }
86
91
  const isBaseVolumeSegmentation = 'volumeId' in representationData.LABELMAP;
87
92
  if (!volumeViewport) {
88
93
  if (isBaseVolumeSegmentation) {
89
94
  }
90
95
  else {
91
- this.updateSegmentationImageReferences(viewportId, segmentation.segmentationId);
96
+ this.updateLabelmapSegmentationImageReferences(viewportId, segmentation.segmentationId);
92
97
  }
93
98
  }
94
99
  else {
@@ -104,9 +109,9 @@ export default class SegmentationStateManager {
104
109
  else {
105
110
  }
106
111
  }
107
- this.setActiveRepresentation(viewportId, segmentationRepresentationUID);
112
+ this.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
108
113
  }
109
- updateSegmentationImageReferences(viewportId, segmentationId) {
114
+ updateLabelmapSegmentationImageReferences(viewportId, segmentationId) {
110
115
  const segmentation = this.getSegmentation(segmentationId);
111
116
  if (!segmentation) {
112
117
  return;
@@ -115,6 +120,9 @@ export default class SegmentationStateManager {
115
120
  this._stackLabelmapImageIdReferenceMap.set(segmentationId, new Map());
116
121
  }
117
122
  const { representationData } = segmentation;
123
+ if (!representationData.LABELMAP) {
124
+ return;
125
+ }
118
126
  const labelmapImageIds = this.getLabelmapImageIds(representationData);
119
127
  const enabledElement = getEnabledElementByViewportId(viewportId);
120
128
  const stackViewport = enabledElement.viewport;
@@ -147,7 +155,7 @@ export default class SegmentationStateManager {
147
155
  }
148
156
  return labelmapImageIds;
149
157
  }
150
- getLabelmapImageIdsForViewport(viewportId, segmentationId) {
158
+ getCurrentLabelmapImageIdForViewport(viewportId, segmentationId) {
151
159
  const enabledElement = getEnabledElementByViewportId(viewportId);
152
160
  if (!enabledElement) {
153
161
  return;
@@ -160,13 +168,13 @@ export default class SegmentationStateManager {
160
168
  const imageIdReferenceMap = this._stackLabelmapImageIdReferenceMap.get(segmentationId);
161
169
  return imageIdReferenceMap.get(currentImageId);
162
170
  }
163
- getRepresentationsForViewport(viewportId) {
171
+ getSegmentationRepresentations(viewportId) {
164
172
  const viewport = this.state.viewports[viewportId];
165
173
  if (!viewport) {
166
174
  return [];
167
175
  }
168
176
  return Object.keys(viewport).map((segRepUID) => {
169
- return this.getRepresentation(segRepUID);
177
+ return this.getSegmentationRepresentation(segRepUID);
170
178
  });
171
179
  }
172
180
  removeRepresentation(segmentationRepresentationUID) {
@@ -175,7 +183,7 @@ export default class SegmentationStateManager {
175
183
  delete this.state.viewports[viewportId][segmentationRepresentationUID];
176
184
  });
177
185
  }
178
- setActiveRepresentation(viewportId, segmentationRepresentationUID) {
186
+ setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID) {
179
187
  Object.keys(this.state.viewports[viewportId]).forEach((segRepUID) => {
180
188
  this.state.viewports[viewportId][segRepUID].active = false;
181
189
  });
@@ -192,7 +200,7 @@ export default class SegmentationStateManager {
192
200
  this.state.viewports[viewportId][segmentationRepresentationUID].active =
193
201
  true;
194
202
  }
195
- getActiveRepresentation(viewportId) {
203
+ getActiveSegmentationRepresentation(viewportId) {
196
204
  if (!this.state.viewports?.[viewportId]) {
197
205
  return;
198
206
  }
@@ -200,7 +208,7 @@ export default class SegmentationStateManager {
200
208
  if (!activeSegRep) {
201
209
  return;
202
210
  }
203
- return this.getRepresentation(activeSegRep[0]);
211
+ return this.getSegmentationRepresentation(activeSegRep[0]);
204
212
  }
205
213
  getGlobalConfig() {
206
214
  return this.state.globalConfig;
@@ -209,13 +217,13 @@ export default class SegmentationStateManager {
209
217
  this.state.globalConfig = config;
210
218
  }
211
219
  _getRepresentationConfig(segmentationRepresentationUID) {
212
- const segmentationRepresentation = this.getRepresentation(segmentationRepresentationUID);
220
+ const segmentationRepresentation = this.getSegmentationRepresentation(segmentationRepresentationUID);
213
221
  if (!segmentationRepresentation) {
214
222
  return;
215
223
  }
216
224
  return segmentationRepresentation.config;
217
225
  }
218
- getAllSegmentsConfig(segmentationRepresentationUID) {
226
+ getSegmentationRepresentationConfig(segmentationRepresentationUID) {
219
227
  const config = this._getRepresentationConfig(segmentationRepresentationUID);
220
228
  if (!config) {
221
229
  return;
@@ -229,7 +237,7 @@ export default class SegmentationStateManager {
229
237
  }
230
238
  return config.perSegment;
231
239
  }
232
- setAllSegmentsConfig(segmentationRepresentationUID, config) {
240
+ setSegmentationRepresentationConfig(segmentationRepresentationUID, config) {
233
241
  const _config = this._getRepresentationConfig(segmentationRepresentationUID);
234
242
  if (!_config) {
235
243
  return;
@@ -243,11 +251,11 @@ export default class SegmentationStateManager {
243
251
  }
244
252
  _config.perSegment = config;
245
253
  }
246
- getRepresentationVisibility(viewportId, segmentationRepresentationUID) {
254
+ getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID) {
247
255
  const viewport = this.state.viewports[viewportId];
248
256
  return viewport && viewport[segmentationRepresentationUID]?.visible;
249
257
  }
250
- setRepresentationVisibility(viewportId, segmentationRepresentationUID, visible) {
258
+ setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visible) {
251
259
  if (!this.state.viewports[viewportId]) {
252
260
  this.state.viewports[viewportId] = {};
253
261
  }
@@ -1,4 +1,5 @@
1
- import { SegmentationRepresentation } from '../../types/SegmentationStateTypes';
2
- declare function getActiveRepresentation(viewportId: any): SegmentationRepresentation;
3
- declare function setActiveRepresentation(viewportId: any, segmentationRepresentationUID: any, suppressEvent?: boolean): void;
4
- export { getActiveRepresentation, setActiveRepresentation, };
1
+ import type { SegmentationRepresentation, Segmentation } from '../../types/SegmentationStateTypes';
2
+ declare function getActiveSegmentationRepresentation(viewportId: any): SegmentationRepresentation;
3
+ declare function getActiveSegmentation(viewportId: any): Segmentation;
4
+ declare function setActiveSegmentationRepresentation(viewportId: any, segmentationRepresentationUID: any, suppressEvent?: boolean): void;
5
+ export { getActiveSegmentationRepresentation, getActiveSegmentation, setActiveSegmentationRepresentation, };
@@ -1,8 +1,15 @@
1
1
  import * as SegmentationState from './segmentationState';
2
- function getActiveRepresentation(viewportId) {
3
- return SegmentationState.getActiveRepresentation(viewportId);
2
+ function getActiveSegmentationRepresentation(viewportId) {
3
+ return SegmentationState.getActiveSegmentationRepresentation(viewportId);
4
4
  }
5
- function setActiveRepresentation(viewportId, segmentationRepresentationUID, suppressEvent = false) {
6
- SegmentationState.setActiveRepresentation(viewportId, segmentationRepresentationUID, suppressEvent);
5
+ function getActiveSegmentation(viewportId) {
6
+ const activeRepresentation = getActiveSegmentationRepresentation(viewportId);
7
+ if (!activeRepresentation) {
8
+ return null;
9
+ }
10
+ return SegmentationState.getSegmentation(activeRepresentation.segmentationId);
7
11
  }
8
- export { getActiveRepresentation, setActiveRepresentation, };
12
+ function setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID, suppressEvent = false) {
13
+ SegmentationState.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID, suppressEvent);
14
+ }
15
+ export { getActiveSegmentationRepresentation, getActiveSegmentation, setActiveSegmentationRepresentation, };
@@ -1,6 +1,6 @@
1
- import { LabelmapSegmentationData } from '../../types/LabelmapTypes';
2
- import { ContourSegmentationData } from '../../types/ContourTypes';
3
- import { SurfaceSegmentationData } from '../../types/SurfaceTypes';
1
+ import type { LabelmapSegmentationData } from '../../types/LabelmapTypes';
2
+ import type { ContourSegmentationData } from '../../types/ContourTypes';
3
+ import type { SurfaceSegmentationData } from '../../types/SurfaceTypes';
4
4
  import SegmentationRepresentations from '../../enums/SegmentationRepresentations';
5
5
  type SegmentationData = LabelmapSegmentationData | ContourSegmentationData | SurfaceSegmentationData;
6
6
  type AddRepresentationData = {
@@ -0,0 +1,3 @@
1
+ import type { SegmentationRepresentationConfig, RepresentationPublicInput } from '../../types/SegmentationStateTypes';
2
+ declare function addSegmentationRepresentation(viewportId: string, representationInput: RepresentationPublicInput, initialConfig?: SegmentationRepresentationConfig): Promise<string>;
3
+ export { addSegmentationRepresentation };
@@ -1,11 +1,11 @@
1
1
  import { utilities } from '@cornerstonejs/core';
2
2
  import * as SegmentationState from './segmentationState';
3
- import { getRepresentationRenderingConfig } from './helpers/getRepresentationRenderingConfig';
3
+ import { getSegmentationRepresentationRenderingConfig } from './helpers/getSegmentationRepresentationRenderingConfig';
4
4
  import CORNERSTONE_COLOR_LUT from '../../constants/COLOR_LUT';
5
5
  import { triggerAnnotationRenderForViewportIds } from '../../utilities';
6
6
  import { SegmentationRepresentations } from '../../enums';
7
7
  import { triggerSegmentationModified } from './triggerSegmentationEvents';
8
- async function addRepresentation(viewportId, representationInput, initialConfig) {
8
+ async function addSegmentationRepresentation(viewportId, representationInput, initialConfig) {
9
9
  const { segmentationId, options = {} } = representationInput;
10
10
  const segmentationRepresentationUID = representationInput.options?.segmentationRepresentationUID ||
11
11
  utilities.uuidv4();
@@ -15,16 +15,16 @@ async function addRepresentation(viewportId, representationInput, initialConfig)
15
15
  segmentationRepresentationUID,
16
16
  type: representationInput.type,
17
17
  colorLUTIndex: colorLUTIndexToUse,
18
- rendering: getRepresentationRenderingConfig(representationInput),
18
+ rendering: getSegmentationRepresentationRenderingConfig(representationInput),
19
19
  polySeg: options.polySeg,
20
20
  config: {
21
21
  allSegments: {},
22
22
  perSegment: {},
23
23
  },
24
24
  };
25
- SegmentationState.addRepresentationToViewport(viewportId, representation);
25
+ SegmentationState.addSegmentationRepresentation(viewportId, representation);
26
26
  if (initialConfig) {
27
- SegmentationState.setAllSegmentsConfig(segmentationRepresentationUID, initialConfig.representations);
27
+ SegmentationState.setSegmentationRepresentationConfig(segmentationRepresentationUID, initialConfig.representations);
28
28
  }
29
29
  if (representationInput.type === SegmentationRepresentations.Contour) {
30
30
  triggerAnnotationRenderForViewportIds([viewportId]);
@@ -48,4 +48,4 @@ function getColorLUTIndex(options = {}) {
48
48
  }
49
49
  return colorLUTIndexToUse;
50
50
  }
51
- export { addRepresentation };
51
+ export { addSegmentationRepresentation };
@@ -0,0 +1,3 @@
1
+ import type { SegmentationRepresentationConfig, RepresentationPublicInput } from '../../types/SegmentationStateTypes';
2
+ declare function addSegmentationRepresentations(viewportId: string, representationInputArray: RepresentationPublicInput[], segmentationRepresentationConfig?: SegmentationRepresentationConfig): Promise<string[]>;
3
+ export default addSegmentationRepresentations;
@@ -0,0 +1,9 @@
1
+ import { addSegmentationRepresentation } from './addSegmentationRepresentation';
2
+ async function addSegmentationRepresentations(viewportId, representationInputArray, segmentationRepresentationConfig) {
3
+ const promises = representationInputArray.map((representationInput) => {
4
+ return addSegmentationRepresentation(viewportId, representationInput, segmentationRepresentationConfig);
5
+ });
6
+ const segmentationRepresentationUIDs = await Promise.all(promises);
7
+ return segmentationRepresentationUIDs;
8
+ }
9
+ export default addSegmentationRepresentations;
@@ -1,3 +1,3 @@
1
- import { SegmentationPublicInput } from '../../types/SegmentationStateTypes';
1
+ import type { SegmentationPublicInput } from '../../types/SegmentationStateTypes';
2
2
  declare function addSegmentations(segmentationInputArray: SegmentationPublicInput[]): void;
3
3
  export default addSegmentations;
@@ -1,4 +1,4 @@
1
1
  import * as color from './segmentationColor';
2
2
  import * as visibility from './segmentationVisibility';
3
- import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getAllSegmentsConfig, getPerSegmentConfig, getSegmentIndexConfig, setAllSegmentsConfig, setPerSegmentConfig, setSegmentIndexConfig } from './segmentationConfig';
4
- export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getAllSegmentsConfig, getPerSegmentConfig, getSegmentIndexConfig, setAllSegmentsConfig, setPerSegmentConfig, setSegmentIndexConfig, };
3
+ import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig } from './segmentationConfig';
4
+ export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig, };
@@ -1,4 +1,4 @@
1
1
  import * as color from './segmentationColor';
2
2
  import * as visibility from './segmentationVisibility';
3
- import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getAllSegmentsConfig, getPerSegmentConfig, getSegmentIndexConfig, setAllSegmentsConfig, setPerSegmentConfig, setSegmentIndexConfig, } from './segmentationConfig';
4
- export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getAllSegmentsConfig, getPerSegmentConfig, getSegmentIndexConfig, setAllSegmentsConfig, setPerSegmentConfig, setSegmentIndexConfig, };
3
+ import { getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig, } from './segmentationConfig';
4
+ export { color, visibility, getGlobalConfig, getGlobalRepresentationConfig, setGlobalConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, getPerSegmentConfig, getSegmentIndexConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, setSegmentIndexConfig, };
@@ -12,7 +12,7 @@ function addColorLUT(colorLUT, colorLUTIndex) {
12
12
  SegmentationState.addColorLUT(colorLUT, colorLUTIndex);
13
13
  }
14
14
  function setColorLUT(segmentationRepresentationUID, colorLUTIndex) {
15
- const segRepresentation = SegmentationState.getRepresentation(segmentationRepresentationUID);
15
+ const segRepresentation = SegmentationState.getSegmentationRepresentation(segmentationRepresentationUID);
16
16
  if (!segRepresentation) {
17
17
  throw new Error(`setColorLUT: could not find segmentation representation with UID ${segmentationRepresentationUID}`);
18
18
  }
@@ -23,7 +23,7 @@ function setColorLUT(segmentationRepresentationUID, colorLUTIndex) {
23
23
  triggerSegmentationRepresentationModified(segmentationRepresentationUID);
24
24
  }
25
25
  function getSegmentIndexColor(segmentationRepresentationUID, segmentIndex) {
26
- const segmentationRepresentation = SegmentationState.getRepresentation(segmentationRepresentationUID);
26
+ const segmentationRepresentation = SegmentationState.getSegmentationRepresentation(segmentationRepresentationUID);
27
27
  if (!segmentationRepresentation) {
28
28
  throw new Error(`segmentation representation with UID ${segmentationRepresentationUID} does not exist`);
29
29
  }
@@ -1,13 +1,13 @@
1
- import SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
2
- import { RepresentationConfig, SegmentationRepresentationConfig, SegmentRepresentationConfig } from '../../../types/SegmentationStateTypes';
1
+ import type SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
2
+ import type { RepresentationConfig, SegmentationRepresentationConfig, SegmentRepresentationConfig } from '../../../types/SegmentationStateTypes';
3
3
  declare function getGlobalConfig(): SegmentationRepresentationConfig;
4
4
  declare function setGlobalConfig(segmentationConfig: SegmentationRepresentationConfig): void;
5
5
  declare function getGlobalRepresentationConfig(representationType: SegmentationRepresentations): RepresentationConfig['LABELMAP'];
6
6
  declare function setGlobalRepresentationConfig(representationType: SegmentationRepresentations, config: RepresentationConfig['LABELMAP']): void;
7
- declare function getAllSegmentsConfig(segmentationRepresentationUID: string): RepresentationConfig;
8
- declare function setAllSegmentsConfig(segmentationRepresentationUID: string, config: RepresentationConfig): void;
7
+ declare function getSegmentationRepresentationConfig(segmentationRepresentationUID: string): RepresentationConfig;
8
+ declare function setSegmentationRepresentationConfig(segmentationRepresentationUID: string, config: RepresentationConfig): void;
9
9
  declare function setPerSegmentConfig(segmentationRepresentationUID: string, config: SegmentRepresentationConfig): void;
10
10
  declare function getPerSegmentConfig(segmentationRepresentationUID: string): SegmentRepresentationConfig;
11
11
  declare function setSegmentIndexConfig(segmentationRepresentationUID: string, segmentIndex: number, config: RepresentationConfig, suppressEvent?: boolean): void;
12
12
  declare function getSegmentIndexConfig(segmentationRepresentationUID: string, segmentIndex: number): RepresentationConfig;
13
- export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig, getAllSegmentsConfig, setAllSegmentsConfig, setPerSegmentConfig, getPerSegmentConfig, setSegmentIndexConfig, getSegmentIndexConfig, };
13
+ export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, getPerSegmentConfig, setSegmentIndexConfig, getSegmentIndexConfig, };
@@ -23,11 +23,11 @@ function setGlobalRepresentationConfig(representationType, config) {
23
23
  },
24
24
  });
25
25
  }
26
- function getAllSegmentsConfig(segmentationRepresentationUID) {
27
- return SegmentationState.getAllSegmentsConfig(segmentationRepresentationUID);
26
+ function getSegmentationRepresentationConfig(segmentationRepresentationUID) {
27
+ return SegmentationState.getSegmentationRepresentationConfig(segmentationRepresentationUID);
28
28
  }
29
- function setAllSegmentsConfig(segmentationRepresentationUID, config) {
30
- SegmentationState.setAllSegmentsConfig(segmentationRepresentationUID, config);
29
+ function setSegmentationRepresentationConfig(segmentationRepresentationUID, config) {
30
+ SegmentationState.setSegmentationRepresentationConfig(segmentationRepresentationUID, config);
31
31
  }
32
32
  function setPerSegmentConfig(segmentationRepresentationUID, config) {
33
33
  SegmentationState.setPerSegmentConfig(segmentationRepresentationUID, config);
@@ -46,4 +46,4 @@ function getSegmentIndexConfig(segmentationRepresentationUID, segmentIndex) {
46
46
  const perSegment = SegmentationState.getPerSegmentConfig(segmentationRepresentationUID);
47
47
  return perSegment?.[segmentIndex];
48
48
  }
49
- export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig, getAllSegmentsConfig, setAllSegmentsConfig, setPerSegmentConfig, getPerSegmentConfig, setSegmentIndexConfig, getSegmentIndexConfig, };
49
+ export { getGlobalConfig, setGlobalConfig, getGlobalRepresentationConfig, setGlobalRepresentationConfig, getSegmentationRepresentationConfig, setSegmentationRepresentationConfig, setPerSegmentConfig, getPerSegmentConfig, setSegmentIndexConfig, getSegmentIndexConfig, };
@@ -1,7 +1,7 @@
1
- declare function setRepresentationVisibility(viewportId: string, segmentationRepresentationUID: string, visibility: boolean): void;
2
- declare function getRepresentationVisibility(viewportId: string, segmentationRepresentationUID: string): boolean | undefined;
3
- declare function setSegmentsVisibility(viewport: string, segmentationRepresentationUID: string, segmentIndices: number[], visibility: boolean): void;
1
+ declare function setSegmentationRepresentationVisibility(viewportId: string, segmentationRepresentationUID: string, visibility: boolean): void;
2
+ declare function getSegmentationRepresentationVisibility(viewportId: string, segmentationRepresentationUID: string): boolean | undefined;
3
+ declare function setSegmentIndicesVisibility(viewport: string, segmentationRepresentationUID: string, segmentIndices: number[], visibility: boolean): void;
4
4
  declare function setSegmentIndexVisibility(viewportId: string, segmentationRepresentationUID: string, segmentIndex: number, visibility: boolean): void;
5
5
  declare function getSegmentIndexVisibility(viewportId: string, segmentationRepresentationUID: string, segmentIndex: number): boolean;
6
- declare function getSegmentsHidden(viewportId: string, segmentationRepresentationUID: string): Set<number>;
7
- export { setRepresentationVisibility, getRepresentationVisibility, setSegmentsVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getSegmentsHidden, };
6
+ declare function getHiddenSegmentIndices(viewportId: string, segmentationRepresentationUID: string): Set<number>;
7
+ export { setSegmentationRepresentationVisibility, getSegmentationRepresentationVisibility, setSegmentIndicesVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getHiddenSegmentIndices, };
@@ -1,18 +1,18 @@
1
1
  import * as SegmentationState from '../../../stateManagement/segmentation/segmentationState';
2
2
  import { triggerSegmentationRepresentationModified } from '../triggerSegmentationEvents';
3
- function setRepresentationVisibility(viewportId, segmentationRepresentationUID, visibility) {
4
- const representation = SegmentationState.getRepresentation(segmentationRepresentationUID);
3
+ function setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visibility) {
4
+ const representation = SegmentationState.getSegmentationRepresentation(segmentationRepresentationUID);
5
5
  if (!representation) {
6
6
  return;
7
7
  }
8
- SegmentationState.setRepresentationVisibility(viewportId, segmentationRepresentationUID, visibility);
8
+ SegmentationState.setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visibility);
9
9
  triggerSegmentationRepresentationModified(segmentationRepresentationUID);
10
10
  }
11
- function getRepresentationVisibility(viewportId, segmentationRepresentationUID) {
12
- return SegmentationState.getRepresentationVisibility(viewportId, segmentationRepresentationUID);
11
+ function getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID) {
12
+ return SegmentationState.getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID);
13
13
  }
14
- function setSegmentsVisibility(viewport, segmentationRepresentationUID, segmentIndices, visibility) {
15
- const hiddenSegments = getSegmentsHidden(viewport, segmentationRepresentationUID);
14
+ function setSegmentIndicesVisibility(viewport, segmentationRepresentationUID, segmentIndices, visibility) {
15
+ const hiddenSegments = getHiddenSegmentIndices(viewport, segmentationRepresentationUID);
16
16
  segmentIndices.forEach((segmentIndex) => {
17
17
  visibility
18
18
  ? hiddenSegments.delete(segmentIndex)
@@ -21,22 +21,22 @@ function setSegmentsVisibility(viewport, segmentationRepresentationUID, segmentI
21
21
  triggerSegmentationRepresentationModified(segmentationRepresentationUID);
22
22
  }
23
23
  function setSegmentIndexVisibility(viewportId, segmentationRepresentationUID, segmentIndex, visibility) {
24
- const hiddenSegments = getSegmentsHidden(viewportId, segmentationRepresentationUID);
24
+ const hiddenSegments = getHiddenSegmentIndices(viewportId, segmentationRepresentationUID);
25
25
  visibility
26
26
  ? hiddenSegments.delete(segmentIndex)
27
27
  : hiddenSegments.add(segmentIndex);
28
28
  triggerSegmentationRepresentationModified(segmentationRepresentationUID);
29
29
  }
30
30
  function getSegmentIndexVisibility(viewportId, segmentationRepresentationUID, segmentIndex) {
31
- const hiddenSegments = getSegmentsHidden(viewportId, segmentationRepresentationUID);
31
+ const hiddenSegments = getHiddenSegmentIndices(viewportId, segmentationRepresentationUID);
32
32
  return !hiddenSegments.has(segmentIndex);
33
33
  }
34
- function getSegmentsHidden(viewportId, segmentationRepresentationUID) {
35
- const viewportRenderingState = SegmentationState.getRepresentationsRenderingStateForViewport(viewportId);
34
+ function getHiddenSegmentIndices(viewportId, segmentationRepresentationUID) {
35
+ const viewportRenderingState = SegmentationState.getSegmentationRepresentationViewportStates(viewportId);
36
36
  if (!viewportRenderingState) {
37
37
  return new Set();
38
38
  }
39
39
  return (viewportRenderingState[segmentationRepresentationUID]?.segmentsHidden ??
40
40
  new Set());
41
41
  }
42
- export { setRepresentationVisibility, getRepresentationVisibility, setSegmentsVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getSegmentsHidden, };
42
+ export { setSegmentationRepresentationVisibility, getSegmentationRepresentationVisibility, setSegmentIndicesVisibility, setSegmentIndexVisibility, getSegmentIndexVisibility, getHiddenSegmentIndices, };
@@ -1,17 +1,13 @@
1
1
  import { volumeLoader, utilities as csUtils, eventTarget, cache, } from '@cornerstonejs/core';
2
- import { Events } from '../../enums';
2
+ import { Events, SegmentationRepresentations } from '../../enums';
3
+ import addSegmentationRepresentations from './addSegmentationRepresentations';
3
4
  import { triggerSegmentationRender } from '../../utilities/segmentation';
4
5
  import { getSegmentation } from './segmentationState';
5
6
  import { triggerSegmentationDataModified } from './triggerSegmentationEvents';
6
7
  async function computeVolumeSegmentationFromStack({ imageIds, options, }) {
7
8
  const segmentationImageIds = imageIds;
8
- const additionalDetails = {
9
- imageIds,
10
- };
11
9
  const volumeId = options?.volumeId ?? csUtils.uuidv4();
12
- await volumeLoader.createAndCacheVolumeFromImages(volumeId, segmentationImageIds, {
13
- additionalDetails,
14
- });
10
+ await volumeLoader.createAndCacheVolumeFromImages(volumeId, segmentationImageIds);
15
11
  return { volumeId };
16
12
  }
17
13
  async function convertStackToVolumeSegmentation({ segmentationId, options, }) {
@@ -1,35 +1,22 @@
1
- import { cache, eventTarget, getRenderingEngines, } from '@cornerstonejs/core';
1
+ import { cache, eventTarget } from '@cornerstonejs/core';
2
2
  import { Events, SegmentationRepresentations } from '../../enums';
3
- import addRepresentations from './addRepresentations';
3
+ import addSegmentationRepresentations from './addSegmentationRepresentations';
4
4
  import { triggerSegmentationRender } from '../../utilities/segmentation';
5
5
  import { getSegmentation } from './segmentationState';
6
6
  import { triggerSegmentationDataModified } from './triggerSegmentationEvents';
7
7
  export async function computeStackSegmentationFromVolume({ volumeId, }) {
8
8
  const segmentationVolume = cache.getVolume(volumeId);
9
- const hasCachedImages = segmentationVolume.imageCacheOffsetMap.size > 0;
10
- let isAllImagesCached = false;
11
- if (hasCachedImages) {
12
- isAllImagesCached = segmentationVolume.imageIds.every((imageId) => cache.getImage(imageId));
13
- }
14
- const renderingEngine = getRenderingEngines()[0];
15
- const volumeUsedInOtherViewports = renderingEngine
16
- .getVolumeViewports()
17
- .find((vp) => vp.hasVolumeId(volumeId));
18
- segmentationVolume.decache(!volumeUsedInOtherViewports && isAllImagesCached);
19
- const imageIds = _getLabelmapImageIdsForViewportForStackSegmentation(segmentationVolume);
20
- return { imageIds };
9
+ return { imageIds: segmentationVolume.imageIds };
21
10
  }
22
11
  export async function convertVolumeToStackSegmentation({ segmentationId, options, }) {
23
12
  const segmentation = getSegmentation(segmentationId);
24
- const data = segmentation.representationData
13
+ const { volumeId } = segmentation.representationData
25
14
  .LABELMAP;
26
- const { imageIds } = await computeStackSegmentationFromVolume({
27
- volumeId: data.volumeId,
28
- });
15
+ const segmentationVolume = cache.getVolume(volumeId);
29
16
  await updateStackSegmentationState({
30
17
  segmentationId,
31
18
  viewportId: options.viewportId,
32
- imageIds,
19
+ imageIds: segmentationVolume.imageIds,
33
20
  options,
34
21
  });
35
22
  }
@@ -51,44 +38,12 @@ export async function updateStackSegmentationState({ segmentationId, viewportId,
51
38
  imageIds,
52
39
  };
53
40
  }
54
- await addRepresentations(viewportId, [
41
+ await addSegmentationRepresentations(viewportId, [
55
42
  {
56
43
  segmentationId,
57
44
  type: SegmentationRepresentations.Labelmap,
58
45
  },
59
46
  ]);
60
- triggerSegmentationRender();
47
+ triggerSegmentationRender(viewportId);
61
48
  eventTarget.addEventListenerOnce(Events.SEGMENTATION_RENDERED, () => triggerSegmentationDataModified(segmentationId));
62
49
  }
63
- function _getLabelmapImageIdsForViewportForStackSegmentation(segmentationVolume) {
64
- if (segmentationVolume.additionalDetails?.imageIds) {
65
- return segmentationVolume.additionalDetails.imageIds;
66
- }
67
- else if (segmentationVolume.referencedImageIds?.length &&
68
- !segmentationVolume.referencedImageIds[0].startsWith('derived')) {
69
- const segmentationImageIds = segmentationVolume.imageIds;
70
- return [...segmentationImageIds].reverse();
71
- }
72
- else {
73
- const referencedVolumeId = segmentationVolume.referencedVolumeId;
74
- const referencedVolume = cache.getVolume(referencedVolumeId);
75
- if (!referencedVolume) {
76
- throw new Error('Cannot convert volumetric segmentation without referenced volume to stack segmentation yet');
77
- }
78
- if (!referencedVolume?.imageIds?.length) {
79
- throw new Error('Cannot convert volumetric segmentation without imageIds to stack segmentation yet');
80
- }
81
- if (referencedVolume.imageIds?.[0].startsWith('derived')) {
82
- throw new Error(`Cannot convert volume segmentation that is derived from another segmentation
83
- to stack segmentation yet, include the additionalDetails.imageIds
84
- in the volume segmentation in case you need it for the conversion`);
85
- }
86
- const referencedImageIds = referencedVolume.imageIds;
87
- let segmentationImageIdsToUse = segmentationVolume.imageIds;
88
- if (!segmentationImageIdsToUse?.length) {
89
- segmentationImageIdsToUse =
90
- segmentationVolume.convertToImageSlicesAndCache();
91
- }
92
- return [...segmentationImageIdsToUse].reverse();
93
- }
94
- }
@@ -1,4 +1,4 @@
1
- import { Types } from '@cornerstonejs/core';
1
+ import type { Types } from '@cornerstonejs/core';
2
2
  export type SurfacesInfo = {
3
3
  id: string;
4
4
  points: number[];
@@ -0,0 +1,2 @@
1
+ import type { RepresentationPublicInput } from '../../../types';
2
+ export declare function getSegmentationRepresentationRenderingConfig(representationInput: RepresentationPublicInput): {};
@@ -1,6 +1,6 @@
1
1
  import SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
2
- import { getRepresentationRenderingConfig as getLabelmapRenderingConfig } from '../../../tools/displayTools/Labelmap/labelmapDisplay';
3
- export function getRepresentationRenderingConfig(representationInput) {
2
+ import { getSegmentationRepresentationRenderingConfig as getLabelmapRenderingConfig } from '../../../tools/displayTools/Labelmap/labelmapDisplay';
3
+ export function getSegmentationRepresentationRenderingConfig(representationInput) {
4
4
  const { type } = representationInput;
5
5
  if (type === SegmentationRepresentations.Labelmap) {
6
6
  return getLabelmapRenderingConfig();
@@ -1,3 +1,3 @@
1
- import { SegmentationPublicInput, Segmentation } from '../../../types/SegmentationStateTypes';
1
+ import type { SegmentationPublicInput, Segmentation } from '../../../types/SegmentationStateTypes';
2
2
  declare function normalizeSegmentationInput(segmentationInput: SegmentationPublicInput): Segmentation;
3
3
  export default normalizeSegmentationInput;
@@ -1,3 +1,3 @@
1
- import { SegmentationPublicInput } from '../../../types/SegmentationStateTypes';
1
+ import type { SegmentationPublicInput } from '../../../types/SegmentationStateTypes';
2
2
  declare function validateSegmentationInput(segmentationInputArray: SegmentationPublicInput[]): void;
3
3
  export default validateSegmentationInput;
@@ -1,6 +1,6 @@
1
- import removeRepresentationsFromViewport from './removeRepresentationsFromViewport';
1
+ import removeSegmentationRepresentations from './removeSegmentationRepresentations';
2
2
  import addSegmentations from './addSegmentations';
3
- import addRepresentations from './addRepresentations';
3
+ import addSegmentationRepresentations from './addSegmentationRepresentations';
4
4
  import addRepresentationData from './addRepresentationData';
5
5
  import { convertStackToVolumeSegmentation } from './convertStackToVolumeSegmentation';
6
6
  import { convertVolumeToStackSegmentation } from './convertVolumeToStackSegmentation';
@@ -11,4 +11,4 @@ import * as config from './config';
11
11
  import * as segmentIndex from './segmentIndex';
12
12
  import * as triggerSegmentationEvents from './triggerSegmentationEvents';
13
13
  import * as polySegManager from './polySeg';
14
- export { addSegmentations, addRepresentations, removeRepresentationsFromViewport, addRepresentationData, state, activeSegmentation, segmentLocking, config, segmentIndex, triggerSegmentationEvents, convertStackToVolumeSegmentation, convertVolumeToStackSegmentation, polySegManager as polySeg, };
14
+ export { addSegmentations, addSegmentationRepresentations, removeSegmentationRepresentations, addRepresentationData, state, activeSegmentation, segmentLocking, config, segmentIndex, triggerSegmentationEvents, convertStackToVolumeSegmentation, convertVolumeToStackSegmentation, polySegManager as polySeg, };
@@ -1,6 +1,6 @@
1
- import removeRepresentationsFromViewport from './removeRepresentationsFromViewport';
1
+ import removeSegmentationRepresentations from './removeSegmentationRepresentations';
2
2
  import addSegmentations from './addSegmentations';
3
- import addRepresentations from './addRepresentations';
3
+ import addSegmentationRepresentations from './addSegmentationRepresentations';
4
4
  import addRepresentationData from './addRepresentationData';
5
5
  import { convertStackToVolumeSegmentation } from './convertStackToVolumeSegmentation';
6
6
  import { convertVolumeToStackSegmentation } from './convertVolumeToStackSegmentation';
@@ -11,4 +11,4 @@ import * as config from './config';
11
11
  import * as segmentIndex from './segmentIndex';
12
12
  import * as triggerSegmentationEvents from './triggerSegmentationEvents';
13
13
  import * as polySegManager from './polySeg';
14
- export { addSegmentations, addRepresentations, removeRepresentationsFromViewport, addRepresentationData, state, activeSegmentation, segmentLocking, config, segmentIndex, triggerSegmentationEvents, convertStackToVolumeSegmentation, convertVolumeToStackSegmentation, polySegManager as polySeg, };
14
+ export { addSegmentations, addSegmentationRepresentations, removeSegmentationRepresentations, addRepresentationData, state, activeSegmentation, segmentLocking, config, segmentIndex, triggerSegmentationEvents, convertStackToVolumeSegmentation, convertVolumeToStackSegmentation, polySegManager as polySeg, };
@@ -1,4 +1,4 @@
1
- import { PolySegConversionOptions } from '../../../../types';
1
+ import type { PolySegConversionOptions } from '../../../../types';
2
2
  export declare function computeAndAddContourRepresentation(segmentationId: string, options?: PolySegConversionOptions): Promise<{
3
3
  annotationUIDsMap: Map<number, Set<string>>;
4
4
  }>;
@@ -1,5 +1,5 @@
1
- import { PolySegConversionOptions } from '../../../../types';
2
- import { SurfaceClipResult } from '../../helpers/clipAndCacheSurfacesForViewport';
1
+ import type { PolySegConversionOptions } from '../../../../types';
2
+ import type { SurfaceClipResult } from '../../helpers/clipAndCacheSurfacesForViewport';
3
3
  export type RawContourData = Map<number, SurfaceClipResult[]>;
4
4
  export declare function computeContourData(segmentationId: string, options?: PolySegConversionOptions): Promise<{
5
5
  annotationUIDsMap: Map<number, Set<string>>;