@cornerstonejs/tools 2.0.0-beta.26 → 2.0.0-beta.28

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 (318) hide show
  1. package/dist/esm/eventListeners/index.d.ts +2 -2
  2. package/dist/esm/eventListeners/index.js +2 -2
  3. package/dist/esm/eventListeners/mouse/mouseDownListener.js +8 -0
  4. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +18 -12
  5. package/dist/esm/eventListeners/segmentation/index.d.ts +1 -3
  6. package/dist/esm/eventListeners/segmentation/index.js +1 -3
  7. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +13 -10
  8. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -3
  9. package/dist/esm/index.d.ts +2 -2
  10. package/dist/esm/index.js +2 -2
  11. package/dist/esm/init.js +1 -5
  12. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +2 -0
  13. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +6 -5
  14. package/dist/esm/stateManagement/annotation/annotationState.js +11 -2
  15. package/dist/esm/stateManagement/index.d.ts +1 -4
  16. package/dist/esm/stateManagement/index.js +1 -3
  17. package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +9 -6
  18. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +43 -25
  19. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +207 -162
  20. package/dist/esm/stateManagement/segmentation/SegmentationStyle.d.ts +42 -0
  21. package/dist/esm/stateManagement/segmentation/SegmentationStyle.js +162 -0
  22. package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +4 -5
  23. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +10 -14
  24. package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -2
  25. package/dist/esm/stateManagement/segmentation/addColorLUT.js +15 -1
  26. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.d.ts +15 -0
  27. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.js +49 -0
  28. package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +1 -1
  29. package/dist/esm/stateManagement/segmentation/addSegmentations.js +11 -7
  30. package/dist/esm/stateManagement/segmentation/config/index.d.ts +2 -2
  31. package/dist/esm/stateManagement/segmentation/config/index.js +2 -2
  32. package/dist/esm/stateManagement/segmentation/config/segmentationColor.d.ts +4 -4
  33. package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +24 -24
  34. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +22 -7
  35. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +29 -29
  36. package/dist/esm/stateManagement/segmentation/config/styleHelpers.d.ts +39 -0
  37. package/dist/esm/stateManagement/segmentation/config/styleHelpers.js +48 -0
  38. package/dist/esm/stateManagement/segmentation/getActiveSegmentation.d.ts +2 -0
  39. package/dist/esm/stateManagement/segmentation/{getGlobalConfig.js → getActiveSegmentation.js} +2 -2
  40. package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -1
  41. package/dist/esm/stateManagement/segmentation/getGlobalStyle.d.ts +3 -0
  42. package/dist/esm/stateManagement/segmentation/getGlobalStyle.js +4 -0
  43. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +9 -1
  44. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +10 -2
  45. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +5 -1
  46. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +2 -2
  47. package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +5 -5
  48. package/dist/esm/stateManagement/segmentation/getViewportSegmentations.d.ts +3 -0
  49. package/dist/esm/stateManagement/segmentation/getViewportSegmentations.js +15 -0
  50. package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.d.ts +1 -0
  51. package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.js +31 -0
  52. package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +1 -2
  53. package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +4 -6
  54. package/dist/esm/stateManagement/segmentation/{convertVolumeToStackSegmentation.d.ts → helpers/computeStackLabelmapFromVolume.d.ts} +2 -2
  55. package/dist/esm/stateManagement/segmentation/{convertVolumeToStackSegmentation.js → helpers/computeStackLabelmapFromVolume.js} +8 -5
  56. package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.d.ts +3 -0
  57. package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.js +4 -0
  58. package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.d.ts +1 -0
  59. package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.js +7 -0
  60. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.d.ts +8 -0
  61. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.js +27 -0
  62. package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +2 -1
  63. package/dist/esm/stateManagement/segmentation/helpers/index.js +2 -1
  64. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +4 -6
  65. package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +1 -1
  66. package/dist/esm/stateManagement/segmentation/index.d.ts +14 -7
  67. package/dist/esm/stateManagement/segmentation/index.js +14 -7
  68. package/dist/esm/stateManagement/segmentation/{addRepresentationData.d.ts → internalAddRepresentationData.d.ts} +2 -2
  69. package/dist/esm/stateManagement/segmentation/{addRepresentationData.js → internalAddRepresentationData.js} +5 -2
  70. package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.d.ts +1 -1
  71. package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.js +18 -58
  72. package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +9 -10
  73. package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.js +8 -5
  74. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +9 -2
  75. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +2 -2
  76. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +4 -6
  77. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +1 -1
  78. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +4 -4
  79. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +1 -7
  80. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +1 -3
  81. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +9 -8
  82. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +2 -1
  83. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +3 -9
  84. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +1 -1
  85. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +7 -5
  86. package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +14 -2
  87. package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js +69 -19
  88. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +6 -18
  89. package/dist/esm/stateManagement/segmentation/segmentationState.js +9 -18
  90. package/dist/esm/stateManagement/segmentation/setActiveSegmentation.d.ts +1 -0
  91. package/dist/esm/stateManagement/segmentation/setActiveSegmentation.js +5 -0
  92. package/dist/esm/stateManagement/segmentation/setGlobalStyle.d.ts +3 -0
  93. package/dist/esm/stateManagement/segmentation/setGlobalStyle.js +8 -0
  94. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +5 -1
  95. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +2 -2
  96. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +1 -3
  97. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +1 -3
  98. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -1
  99. package/dist/esm/store/ToolGroupManager/ToolGroup.js +23 -9
  100. package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
  101. package/dist/esm/store/ToolGroupManager/createToolGroup.js +3 -3
  102. package/dist/esm/tools/AdvancedMagnifyTool.js +1 -1
  103. package/dist/esm/tools/CrosshairsTool.js +1 -2
  104. package/dist/esm/tools/MIPJumpToClickTool.js +1 -1
  105. package/dist/esm/tools/ReferenceLinesTool.js +5 -2
  106. package/dist/esm/tools/StackScrollTool.d.ts +4 -0
  107. package/dist/esm/tools/StackScrollTool.js +104 -15
  108. package/dist/esm/tools/WindowLevelTool.js +3 -2
  109. package/dist/esm/tools/annotation/AngleTool.js +1 -1
  110. package/dist/esm/tools/annotation/BidirectionalTool.js +1 -1
  111. package/dist/esm/tools/annotation/CircleROITool.js +1 -1
  112. package/dist/esm/tools/annotation/EllipticalROITool.js +1 -1
  113. package/dist/esm/tools/annotation/HeightTool.js +1 -1
  114. package/dist/esm/tools/annotation/LengthTool.js +1 -1
  115. package/dist/esm/tools/annotation/LivewireContourTool.js +3 -3
  116. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +1 -1
  117. package/dist/esm/tools/annotation/ProbeTool.js +2 -2
  118. package/dist/esm/tools/annotation/RectangleROITool.js +1 -1
  119. package/dist/esm/tools/annotation/SplineROITool.js +2 -3
  120. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +1 -1
  121. package/dist/esm/tools/base/BaseTool.d.ts +1 -2
  122. package/dist/esm/tools/base/BaseTool.js +5 -18
  123. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +28 -25
  124. package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +3 -3
  125. package/dist/esm/tools/displayTools/Contour/contourConfig.js +2 -2
  126. package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +1 -1
  127. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -7
  128. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +26 -57
  129. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.d.ts +1 -1
  130. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +2 -4
  131. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +1 -1
  132. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +39 -10
  133. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +3 -5
  134. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js +3 -16
  135. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -1
  136. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +86 -90
  137. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +1 -1
  138. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +3 -2
  139. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +1 -1
  140. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +3 -3
  141. package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.d.ts +2 -2
  142. package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.js +5 -3
  143. package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +3 -3
  144. package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +2 -2
  145. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +1 -1
  146. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +7 -8
  147. package/dist/esm/tools/index.d.ts +1 -2
  148. package/dist/esm/tools/index.js +1 -2
  149. package/dist/esm/tools/segmentation/BrushTool.d.ts +0 -4
  150. package/dist/esm/tools/segmentation/BrushTool.js +23 -22
  151. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +2 -2
  152. package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +1 -1
  153. package/dist/esm/tools/segmentation/CircleScissorsTool.js +11 -10
  154. package/dist/esm/tools/segmentation/PaintFillTool.js +5 -7
  155. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +2 -2
  156. package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +0 -1
  157. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +9 -10
  158. package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +2 -2
  159. package/dist/esm/tools/segmentation/SegmentSelectTool.js +17 -26
  160. package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +0 -1
  161. package/dist/esm/tools/segmentation/SphereScissorsTool.js +6 -9
  162. package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +2 -0
  163. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +2 -0
  164. package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +1 -2
  165. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +1 -1
  166. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +3 -3
  167. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +4 -4
  168. package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +1 -1
  169. package/dist/esm/tools/segmentation/strategies/fillCircle.js +3 -3
  170. package/dist/esm/tools/segmentation/strategies/fillSphere.js +3 -3
  171. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +21 -6
  172. package/dist/esm/types/AnnotationGroupSelector.js +0 -1
  173. package/dist/esm/types/AnnotationRenderContext.js +0 -1
  174. package/dist/esm/types/AnnotationStyle.js +0 -1
  175. package/dist/esm/types/AnnotationTypes.js +0 -1
  176. package/dist/esm/types/BoundsIJK.js +0 -1
  177. package/dist/esm/types/CINETypes.js +0 -1
  178. package/dist/esm/types/CalculatorTypes.js +0 -1
  179. package/dist/esm/types/CardinalSplineProps.js +0 -1
  180. package/dist/esm/types/ClosestControlPoint.js +0 -1
  181. package/dist/esm/types/ClosestPoint.js +0 -1
  182. package/dist/esm/types/ClosestSplinePoint.js +0 -1
  183. package/dist/esm/types/ContourSegmentationAnnotation.js +0 -1
  184. package/dist/esm/types/ContourTypes.d.ts +1 -2
  185. package/dist/esm/types/ContourTypes.js +0 -1
  186. package/dist/esm/types/ControlPointInfo.js +0 -1
  187. package/dist/esm/types/CursorTypes.js +0 -1
  188. package/dist/esm/types/EventTypes.d.ts +2 -2
  189. package/dist/esm/types/EventTypes.js +0 -1
  190. package/dist/esm/types/FloodFillTypes.js +0 -1
  191. package/dist/esm/types/IAnnotationManager.js +0 -1
  192. package/dist/esm/types/IBaseTool.js +0 -1
  193. package/dist/esm/types/IDistance.js +0 -1
  194. package/dist/esm/types/IPoints.js +0 -1
  195. package/dist/esm/types/ISculptToolShape.js +0 -1
  196. package/dist/esm/types/ISetToolModeOptions.js +0 -1
  197. package/dist/esm/types/ISpline.js +0 -1
  198. package/dist/esm/types/ISynchronizerEventHandler.js +0 -1
  199. package/dist/esm/types/IToolClassReference.js +0 -1
  200. package/dist/esm/types/IToolGroup.js +0 -1
  201. package/dist/esm/types/ITouchPoints.js +0 -1
  202. package/dist/esm/types/InteractionTypes.js +0 -1
  203. package/dist/esm/types/InternalToolTypes.js +0 -1
  204. package/dist/esm/types/InterpolationTypes.js +0 -1
  205. package/dist/esm/types/JumpToSliceOptions.js +0 -1
  206. package/dist/esm/types/LabelmapToolOperationData.d.ts +0 -1
  207. package/dist/esm/types/LabelmapToolOperationData.js +0 -1
  208. package/dist/esm/types/LabelmapTypes.d.ts +3 -7
  209. package/dist/esm/types/LabelmapTypes.js +0 -1
  210. package/dist/esm/types/PlanarBoundingBox.js +0 -1
  211. package/dist/esm/types/PolySeg.d.ts +1 -1
  212. package/dist/esm/types/PolySeg.js +0 -1
  213. package/dist/esm/types/SVGDrawingHelper.js +0 -1
  214. package/dist/esm/types/ScrollOptions.js +0 -1
  215. package/dist/esm/types/SegmentationStateTypes.d.ts +35 -56
  216. package/dist/esm/types/SegmentationStateTypes.js +0 -1
  217. package/dist/esm/types/SplineCurveSegment.js +0 -1
  218. package/dist/esm/types/SplineLineSegment.js +0 -1
  219. package/dist/esm/types/SplineProps.js +0 -1
  220. package/dist/esm/types/SurfaceTypes.d.ts +1 -1
  221. package/dist/esm/types/SurfaceTypes.js +0 -1
  222. package/dist/esm/types/ToolAction.js +0 -1
  223. package/dist/esm/types/ToolHandle.js +0 -1
  224. package/dist/esm/types/ToolProps.js +0 -1
  225. package/dist/esm/types/ToolSpecificAnnotationTypes.js +0 -1
  226. package/dist/esm/types/index.d.ts +2 -2
  227. package/dist/esm/types/index.js +0 -1
  228. package/dist/esm/utilities/cine/playClip.js +1 -1
  229. package/dist/esm/utilities/contours/updateContourPolyline.js +3 -0
  230. package/dist/esm/utilities/index.d.ts +2 -1
  231. package/dist/esm/utilities/index.js +2 -1
  232. package/dist/esm/utilities/math/circle/_types.js +0 -1
  233. package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.js +0 -1
  234. package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +8 -0
  235. package/dist/esm/utilities/pointInSurroundingSphereCallback.js +71 -0
  236. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +2 -2
  237. package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +10 -9
  238. package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +9 -8
  239. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +14 -16
  240. package/dist/esm/utilities/segmentation/index.d.ts +1 -3
  241. package/dist/esm/utilities/segmentation/index.js +1 -3
  242. package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.js +3 -0
  243. package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +1 -1
  244. package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.js +0 -1
  245. package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.js +0 -1
  246. package/dist/esm/utilities/voi/colorbar/types/ColorbarImageRange.js +0 -1
  247. package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.js +0 -1
  248. package/dist/esm/utilities/voi/colorbar/types/ColorbarSize.js +0 -1
  249. package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksProps.js +0 -1
  250. package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksStyle.js +0 -1
  251. package/dist/esm/utilities/voi/colorbar/types/ColorbarVOIRange.js +0 -1
  252. package/dist/esm/utilities/voi/colorbar/types/ViewportColorbarProps.js +0 -1
  253. package/dist/esm/utilities/voi/colorbar/types/index.js +0 -1
  254. package/dist/esm/widgets/types/WidgetProps.js +0 -1
  255. package/dist/esm/widgets/types/WidgetSize.js +0 -1
  256. package/dist/esm/widgets/types/index.js +0 -1
  257. package/dist/esm/workers/polySegConverters.js +4 -3
  258. package/package.json +73 -20
  259. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +0 -3
  260. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +0 -14
  261. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +0 -3
  262. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +0 -8
  263. package/dist/esm/stateManagement/segmentation/addSegmentation.d.ts +0 -2
  264. package/dist/esm/stateManagement/segmentation/addSegmentation.js +0 -11
  265. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.d.ts +0 -2
  266. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.js +0 -10
  267. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +0 -8
  268. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +0 -19
  269. package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +0 -14
  270. package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +0 -54
  271. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +0 -1
  272. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +0 -8
  273. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +0 -1
  274. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +0 -8
  275. package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.d.ts +0 -2
  276. package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.js +0 -5
  277. package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.d.ts +0 -2
  278. package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.js +0 -6
  279. package/dist/esm/stateManagement/segmentation/getGlobalConfig.d.ts +0 -2
  280. package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.d.ts +0 -2
  281. package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.js +0 -5
  282. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.d.ts +0 -2
  283. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.js +0 -5
  284. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.d.ts +0 -7
  285. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.js +0 -6
  286. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.d.ts +0 -2
  287. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.js +0 -12
  288. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.d.ts +0 -2
  289. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.js +0 -5
  290. package/dist/esm/stateManagement/segmentation/removeRepresentation.d.ts +0 -1
  291. package/dist/esm/stateManagement/segmentation/removeRepresentation.js +0 -9
  292. package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.d.ts +0 -1
  293. package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.js +0 -9
  294. package/dist/esm/stateManagement/segmentation/setGlobalConfig.d.ts +0 -2
  295. package/dist/esm/stateManagement/segmentation/setGlobalConfig.js +0 -9
  296. package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.d.ts +0 -2
  297. package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.js +0 -9
  298. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.d.ts +0 -2
  299. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.js +0 -9
  300. package/dist/esm/tools/VolumeRotateMouseWheelTool.d.ts +0 -9
  301. package/dist/esm/tools/VolumeRotateMouseWheelTool.js +0 -52
  302. package/dist/esm/tools/displayTools/Contour/contourHandler/contourConfigCache.d.ts +0 -9
  303. package/dist/esm/tools/displayTools/Contour/contourHandler/contourConfigCache.js +0 -10
  304. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +0 -5
  305. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +0 -13
  306. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +0 -2
  307. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js +0 -11
  308. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.d.ts +0 -2
  309. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.js +0 -10
  310. package/dist/umd/17dd54813d5acc10bf8f.wasm +0 -0
  311. package/dist/umd/78.index.js +0 -3
  312. package/dist/umd/78.index.js.LICENSE.txt +0 -5
  313. package/dist/umd/78.index.js.map +0 -1
  314. package/dist/umd/985.index.js +0 -2
  315. package/dist/umd/985.index.js.map +0 -1
  316. package/dist/umd/index.js +0 -3
  317. package/dist/umd/index.js.LICENSE.txt +0 -6
  318. package/dist/umd/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { cache, getEnabledElement } from '@cornerstonejs/core';
1
+ import { BaseVolumeViewport, cache, getEnabledElement, } from '@cornerstonejs/core';
2
2
  import { BaseTool } from '../base';
3
3
  import { fillInsideSphere } from './strategies/fillSphere';
4
4
  import { eraseInsideSphere } from './strategies/eraseSphere';
@@ -8,7 +8,6 @@ import { resetElementCursor, hideElementCursor, } from '../../cursors/elementCur
8
8
  import triggerAnnotationRenderForViewportIds from '../../utilities/triggerAnnotationRenderForViewportIds';
9
9
  import { config as segmentationConfig, segmentLocking, segmentIndex as segmentIndexController, activeSegmentation, } from '../../stateManagement/segmentation';
10
10
  import { getSegmentation } from '../../stateManagement/segmentation/segmentationState';
11
- import { isVolumeSegmentation } from './strategies/utils/stackVolumeCheck';
12
11
  class SphereScissorsTool extends BaseTool {
13
12
  constructor(toolProps = {}, defaultToolProps = {
14
13
  supportedInteractionTypes: ['Mouse', 'Touch'],
@@ -35,14 +34,14 @@ class SphereScissorsTool extends BaseTool {
35
34
  this.isDrawing = true;
36
35
  const camera = viewport.getCamera();
37
36
  const { viewPlaneNormal, viewUp } = camera;
38
- const activeSegmentationRepresentation = activeSegmentation.getActiveSegmentationRepresentation(viewport.id);
37
+ const activeSegmentationRepresentation = activeSegmentation.getActiveSegmentation(viewport.id);
39
38
  if (!activeSegmentationRepresentation) {
40
39
  throw new Error('No active segmentation detected, create one before using scissors tool');
41
40
  }
42
- const { segmentationRepresentationUID, segmentationId } = activeSegmentationRepresentation;
41
+ const { segmentationId } = activeSegmentationRepresentation;
43
42
  const segmentIndex = segmentIndexController.getActiveSegmentIndex(segmentationId);
44
43
  const segmentsLocked = segmentLocking.getLockedSegmentIndices(segmentationId);
45
- const segmentColor = segmentationConfig.color.getSegmentIndexColor(segmentationRepresentationUID, segmentIndex);
44
+ const segmentColor = segmentationConfig.color.getSegmentIndexColor(viewport.id, segmentationId, segmentIndex);
46
45
  this.isDrawing = true;
47
46
  const annotation = {
48
47
  metadata: {
@@ -72,7 +71,6 @@ class SphereScissorsTool extends BaseTool {
72
71
  this.editData = {
73
72
  annotation,
74
73
  centerCanvas: canvasPos,
75
- segmentationRepresentationUID,
76
74
  segmentIndex,
77
75
  segmentationId,
78
76
  segmentsLocked,
@@ -89,7 +87,7 @@ class SphereScissorsTool extends BaseTool {
89
87
  };
90
88
  const { representationData } = getSegmentation(segmentationId);
91
89
  const labelmapData = representationData[SegmentationRepresentations.Labelmap];
92
- if (isVolumeSegmentation(labelmapData, viewport)) {
90
+ if (viewport instanceof BaseVolumeViewport) {
93
91
  const { volumeId } = labelmapData;
94
92
  const segmentation = cache.getVolume(volumeId);
95
93
  this.editData = {
@@ -149,7 +147,7 @@ class SphereScissorsTool extends BaseTool {
149
147
  this._endCallback = (evt) => {
150
148
  const eventDetail = evt.detail;
151
149
  const { element } = eventDetail;
152
- const { annotation, newAnnotation, hasMoved, segmentIndex, segmentationRepresentationUID, segmentsLocked, } = this.editData;
150
+ const { annotation, newAnnotation, hasMoved, segmentIndex, segmentsLocked, } = this.editData;
153
151
  const { data } = annotation;
154
152
  const { viewPlaneNormal, viewUp } = annotation.metadata;
155
153
  if (newAnnotation && !hasMoved) {
@@ -164,7 +162,6 @@ class SphereScissorsTool extends BaseTool {
164
162
  ...this.editData,
165
163
  points: data.handles.points,
166
164
  segmentIndex,
167
- segmentationRepresentationUID,
168
165
  segmentsLocked,
169
166
  viewPlaneNormal,
170
167
  viewUp,
@@ -7,6 +7,8 @@ export type InitializedOperationData = LabelmapToolOperationDataAny & {
7
7
  enabledElement: Types.IEnabledElement;
8
8
  centerIJK?: Types.Point3;
9
9
  centerWorld: Types.Point3;
10
+ isInObject: (point: Types.Point3) => boolean;
11
+ isInObjectBoundsIJK: Types.BoundsIJK;
10
12
  viewport: Types.IViewport;
11
13
  imageVoxelManager: Types.IVoxelManager<number> | Types.IVoxelManager<Types.RGB>;
12
14
  segmentationVoxelManager: Types.IVoxelManager<number>;
@@ -104,6 +104,8 @@ export default class BrushStrategy {
104
104
  previewVoxelManager,
105
105
  viewport,
106
106
  centerWorld: null,
107
+ isInObject: null,
108
+ isInObjectBoundsIJK: null,
107
109
  brushStrategy: this,
108
110
  };
109
111
  this._initialize.forEach((func) => func(initializedData));
@@ -24,8 +24,7 @@ export default {
24
24
  };
25
25
  imageVoxelManager.forEach(callback, {
26
26
  imageData: segmentationImageData,
27
- isInObject: imageVoxelManager.isInObject,
28
- boundsIJK: segmentationVoxelManager.boundsIJK,
27
+ isInObject: operationData.isInObject,
29
28
  });
30
29
  if (!hasSegmentIndex && !hasPreviewIndex) {
31
30
  return;
@@ -11,7 +11,7 @@ export default {
11
11
  operationName === StrategyCallbacks.OnInteractionEnd) {
12
12
  return;
13
13
  }
14
- const { boundsIJK } = segmentationVoxelManager;
14
+ const boundsIJK = segmentationVoxelManager.getBoundsIJK();
15
15
  const { threshold: oldThreshold, dynamicRadius = 0 } = THRESHOLD;
16
16
  const useDelta = oldThreshold ? 0 : dynamicRadius;
17
17
  const nestedBounds = boundsIJK.map((ijk, idx) => {
@@ -29,7 +29,7 @@ export default {
29
29
  return preview;
30
30
  },
31
31
  [StrategyCallbacks.Initialize]: (operationData) => {
32
- const { toolGroupId, segmentIndex, segmentationRepresentationUID, previewSegmentIndex, previewColors, preview, } = operationData;
32
+ const { segmentIndex, previewSegmentIndex, previewColors, preview } = operationData;
33
33
  if (previewColors === undefined) {
34
34
  return;
35
35
  }
@@ -42,12 +42,12 @@ export default {
42
42
  return;
43
43
  }
44
44
  const configColor = previewColors?.[segmentIndex];
45
- const segmentColor = getSegmentIndexColor(segmentationRepresentationUID, segmentIndex);
45
+ const segmentColor = getSegmentIndexColor(operationData.viewport.id, operationData.segmentationId, segmentIndex);
46
46
  if (!configColor && !segmentColor) {
47
47
  return;
48
48
  }
49
49
  const previewColor = configColor || lightenColor(...segmentColor);
50
- setSegmentIndexColor(segmentationRepresentationUID, previewSegmentIndex, previewColor);
50
+ setSegmentIndexColor(operationData.viewport.id, operationData.segmentationId, previewSegmentIndex, previewColor);
51
51
  },
52
52
  [StrategyCallbacks.AcceptPreview]: (operationData) => {
53
53
  const { segmentationVoxelManager, previewVoxelManager: previewVoxelManager, previewSegmentIndex, preview, } = operationData || {};
@@ -1,7 +1,7 @@
1
1
  import StrategyCallbacks from '../../../../enums/StrategyCallbacks';
2
2
  export default {
3
3
  [StrategyCallbacks.Fill]: (operationData) => {
4
- const { segmentsLocked, segmentationImageData, segmentationVoxelManager, previewVoxelManager: previewVoxelManager, imageVoxelManager, brushStrategy, centerIJK, } = operationData;
4
+ const { segmentsLocked, segmentationImageData, segmentationVoxelManager, previewVoxelManager: previewVoxelManager, brushStrategy, centerIJK, } = operationData;
5
5
  const isWithinThreshold = brushStrategy.createIsInThreshold?.(operationData);
6
6
  const { setValue } = brushStrategy;
7
7
  const callback = isWithinThreshold
@@ -13,10 +13,10 @@ export default {
13
13
  setValue(operationData, data);
14
14
  }
15
15
  : (data) => setValue(operationData, data);
16
- imageVoxelManager.forEach(callback, {
16
+ segmentationVoxelManager.forEach(callback, {
17
17
  imageData: segmentationImageData,
18
- isInObject: imageVoxelManager?.isInObject || segmentationVoxelManager.isInObject,
19
- boundsIJK: segmentationVoxelManager.boundsIJK,
18
+ isInObject: operationData.isInObject,
19
+ boundsIJK: operationData.isInObjectBoundsIJK,
20
20
  });
21
21
  previewVoxelManager.addPoint(centerIJK);
22
22
  },
@@ -2,7 +2,7 @@ import StrategyCallbacks from '../../../../enums/StrategyCallbacks';
2
2
  import { triggerEvent, eventTarget } from '@cornerstonejs/core';
3
3
  export default {
4
4
  [StrategyCallbacks.INTERNAL_setValue]: (operationData, { value, index }) => {
5
- const { segmentsLocked, segmentIndex, previewVoxelManager, previewSegmentIndex, segmentationVoxelManager, segmentationId, } = operationData;
5
+ const { segmentsLocked, segmentIndex, previewVoxelManager, previewSegmentIndex, segmentationVoxelManager, } = operationData;
6
6
  const existingValue = segmentationVoxelManager.getAtIndex(index);
7
7
  let changed = false;
8
8
  if (segmentIndex === null) {
@@ -9,7 +9,7 @@ import { pointInSphere } from '../../../utilities/math/sphere';
9
9
  const { transformWorldToIndex, isEqual } = csUtils;
10
10
  const initializeCircle = {
11
11
  [StrategyCallbacks.Initialize]: (operationData) => {
12
- const { points, imageVoxelManager, viewport, segmentationImageData, segmentationVoxelManager, } = operationData;
12
+ const { points, viewport, segmentationImageData, } = operationData;
13
13
  if (!points) {
14
14
  return;
15
15
  }
@@ -28,12 +28,12 @@ const initializeCircle = {
28
28
  return transformWorldToIndex(segmentationImageData, world);
29
29
  });
30
30
  const boundsIJK = getBoundingBoxAroundShapeIJK(circleCornersIJK, segmentationImageData.getDimensions());
31
- segmentationVoxelManager.boundsIJK = boundsIJK;
32
- imageVoxelManager.isInObject = createPointInEllipse({
31
+ operationData.isInObject = createPointInEllipse({
33
32
  topLeftWorld,
34
33
  bottomRightWorld,
35
34
  center,
36
35
  });
36
+ operationData.isInObjectBoundsIJK = boundsIJK;
37
37
  },
38
38
  };
39
39
  function createPointInEllipse(worldInfo) {
@@ -8,7 +8,7 @@ const { transformWorldToIndex } = csUtils;
8
8
  import { getSphereBoundsInfo } from '../../../utilities/getSphereBoundsInfo';
9
9
  const sphereComposition = {
10
10
  [StrategyCallbacks.Initialize]: (operationData) => {
11
- const { points, imageVoxelManager, viewport, segmentationImageData, segmentationVoxelManager, } = operationData;
11
+ const { points, viewport, segmentationImageData } = operationData;
12
12
  if (!points) {
13
13
  return;
14
14
  }
@@ -20,8 +20,8 @@ const sphereComposition = {
20
20
  operationData.centerWorld = center;
21
21
  operationData.centerIJK = transformWorldToIndex(segmentationImageData, center);
22
22
  const { boundsIJK: newBoundsIJK, topLeftWorld, bottomRightWorld, } = getSphereBoundsInfo(points.slice(0, 2), segmentationImageData, viewport);
23
- segmentationVoxelManager.boundsIJK = newBoundsIJK;
24
- segmentationVoxelManager.isInObject = createEllipseInPoint({
23
+ operationData.isInObjectBoundsIJK = newBoundsIJK;
24
+ operationData.isInObject = createEllipseInPoint({
25
25
  topLeftWorld,
26
26
  bottomRightWorld,
27
27
  center,
@@ -1,12 +1,24 @@
1
- import { cache } from '@cornerstonejs/core';
2
- import { isVolumeSegmentation } from './stackVolumeCheck';
1
+ import { BaseVolumeViewport, cache, Enums, eventTarget, } from '@cornerstonejs/core';
3
2
  import { getCurrentLabelmapImageIdForViewport } from '../../../../stateManagement/segmentation/segmentationState';
3
+ import { getSegmentationActor } from '../../../../stateManagement/segmentation/helpers';
4
+ import { SegmentationRepresentations } from '../../../../enums';
4
5
  function getStrategyData({ operationData, viewport }) {
5
6
  let segmentationImageData, segmentationScalarData, imageScalarData;
6
7
  let imageVoxelManager;
7
8
  let segmentationVoxelManager;
8
- if (isVolumeSegmentation(operationData, viewport)) {
9
+ if (viewport instanceof BaseVolumeViewport) {
9
10
  const { volumeId, referencedVolumeId } = operationData;
11
+ if (!volumeId) {
12
+ const event = new CustomEvent(Enums.Events.ERROR_EVENT, {
13
+ detail: {
14
+ type: 'Segmentation',
15
+ message: 'No volume id found for the segmentation',
16
+ },
17
+ cancelable: true,
18
+ });
19
+ eventTarget.dispatchEvent(event);
20
+ return null;
21
+ }
10
22
  const segmentationVolume = cache.getVolume(volumeId);
11
23
  if (!segmentationVolume) {
12
24
  return;
@@ -19,7 +31,7 @@ function getStrategyData({ operationData, viewport }) {
19
31
  ({ imageData: segmentationImageData } = segmentationVolume);
20
32
  }
21
33
  else {
22
- const { segmentationRepresentationUID, segmentationId } = operationData;
34
+ const { segmentationId } = operationData;
23
35
  const labelmapImageId = getCurrentLabelmapImageIdForViewport(viewport.id, segmentationId);
24
36
  if (!labelmapImageId) {
25
37
  return;
@@ -28,12 +40,15 @@ function getStrategyData({ operationData, viewport }) {
28
40
  if (!currentImageId) {
29
41
  return;
30
42
  }
31
- const actor = viewport.getActor(segmentationRepresentationUID);
43
+ const actor = getSegmentationActor(viewport.id, {
44
+ segmentationId,
45
+ type: SegmentationRepresentations.Labelmap,
46
+ });
32
47
  if (!actor) {
33
48
  return;
34
49
  }
35
50
  const currentSegImage = cache.getImage(labelmapImageId);
36
- segmentationImageData = actor.actor.getMapper().getInputData();
51
+ segmentationImageData = actor.getMapper().getInputData();
37
52
  segmentationVoxelManager = currentSegImage.voxelManager;
38
53
  const currentSegmentationImageId = operationData.imageId;
39
54
  const segmentationImage = cache.getImage(currentSegmentationImageId);
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +1,4 @@
1
- export type ContourConfig = {
1
+ export type ContourStyle = {
2
2
  outlineWidthAutoGenerated?: number;
3
3
  outlineWidthActive?: number;
4
4
  outlineWidthInactive?: number;
@@ -14,7 +14,6 @@ export type ContourConfig = {
14
14
  fillAlphaInactive?: number;
15
15
  fillAlphaAutoGenerated?: number;
16
16
  };
17
- export type ContourRenderingConfig = {};
18
17
  export type ContourSegmentationData = {
19
18
  geometryIds?: string[];
20
19
  annotationUIDsMap?: Map<number, Set<string>>;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -113,13 +113,13 @@ type SegmentationRenderedEventDetail = {
113
113
  viewportId: string;
114
114
  };
115
115
  type SegmentationRepresentationModifiedEventDetail = {
116
- segmentationRepresentationUID: string;
116
+ segmentationId: string;
117
117
  };
118
118
  type SegmentationRemovedEventDetail = {
119
119
  segmentationId: string;
120
120
  };
121
121
  type SegmentationRepresentationRemovedEventDetail = {
122
- segmentationRepresentationUID: string;
122
+ segmentationId: string;
123
123
  };
124
124
  type SegmentationModifiedEventDetail = {
125
125
  segmentationId: string;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -9,7 +9,6 @@ type LabelmapToolOperationData = {
9
9
  viewPlaneNormal: number[];
10
10
  viewUp: number[];
11
11
  strategySpecificConfiguration: any;
12
- segmentationRepresentationUID: string;
13
12
  points: Types.Point3[];
14
13
  voxelManager: any;
15
14
  override: {
@@ -1 +0,0 @@
1
- export {};
@@ -1,7 +1,6 @@
1
- import type { vtkColorTransferFunction } from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
2
- import type { vtkPiecewiseFunction } from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
3
- export type LabelmapConfig = {
1
+ export type LabelmapStyle = {
4
2
  renderOutline?: boolean;
3
+ renderOutlineInactive?: boolean;
5
4
  outlineWidthActive?: number;
6
5
  outlineWidthInactive?: number;
7
6
  activeSegmentOutlineWidthDelta?: number;
@@ -12,10 +11,6 @@ export type LabelmapConfig = {
12
11
  outlineOpacity?: number;
13
12
  outlineOpacityInactive?: number;
14
13
  };
15
- export type LabelmapRenderingConfig = {
16
- cfun?: vtkColorTransferFunction;
17
- ofun?: vtkPiecewiseFunction;
18
- };
19
14
  export type LabelmapSegmentationDataVolume = {
20
15
  volumeId: string;
21
16
  referencedVolumeId?: string;
@@ -26,5 +21,6 @@ export type LabelmapSegmentationDataStack = {
26
21
  export type LabelmapSegmentationData = LabelmapSegmentationDataVolume | LabelmapSegmentationDataStack | {
27
22
  volumeId?: string;
28
23
  referencedVolumeId?: string;
24
+ referencedImageIds?: string[];
29
25
  imageIds?: string[];
30
26
  };
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +1,6 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
2
  export type PolySegConversionOptions = {
3
3
  segmentIndices?: number[];
4
- segmentationRepresentationUID?: string;
4
+ segmentationId?: string;
5
5
  viewport?: Types.IStackViewport | Types.IVolumeViewport;
6
6
  };
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +1,10 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
2
  import type * as Enums from '../enums';
3
- import type { ContourConfig, ContourRenderingConfig, ContourSegmentationData } from './ContourTypes';
4
- import type { LabelmapConfig, LabelmapRenderingConfig, LabelmapSegmentationData } from './LabelmapTypes';
5
- import type { SurfaceSegmentationData, SurfaceRenderingConfig } from './SurfaceTypes';
6
- export type SurfaceConfig = {};
7
- export type RepresentationsConfig = {
8
- [Enums.SegmentationRepresentations.Labelmap]?: LabelmapConfig;
9
- [Enums.SegmentationRepresentations.Contour]?: ContourConfig;
10
- [Enums.SegmentationRepresentations.Surface]?: SurfaceConfig;
11
- };
12
- export type RepresentationConfig = LabelmapConfig | ContourConfig | SurfaceConfig;
13
- export type GlobalConfig = {
14
- renderInactiveRepresentations: boolean;
15
- representations: RepresentationsConfig;
16
- };
3
+ import type { ContourSegmentationData } from './ContourTypes';
4
+ import type { LabelmapSegmentationData } from './LabelmapTypes';
5
+ import type { SurfaceSegmentationData } from './SurfaceTypes';
6
+ import type vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
7
+ import type vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
17
8
  export type RepresentationsData = {
18
9
  [Enums.SegmentationRepresentations.Labelmap]?: LabelmapSegmentationData;
19
10
  [Enums.SegmentationRepresentations.Contour]?: ContourSegmentationData;
@@ -22,7 +13,6 @@ export type RepresentationsData = {
22
13
  export type RepresentationData = LabelmapSegmentationData | ContourSegmentationData | SurfaceSegmentationData;
23
14
  export type Segmentation = {
24
15
  segmentationId: string;
25
- type: Enums.SegmentationRepresentations;
26
16
  label: string;
27
17
  activeSegmentIndex: number;
28
18
  segmentsLocked: Set<number>;
@@ -34,45 +24,40 @@ export type Segmentation = {
34
24
  };
35
25
  representationData: RepresentationsData;
36
26
  };
37
- export type BaseSegmentationRepresentation = {
38
- segmentationRepresentationUID: string;
27
+ type BaseRenderingConfig = {
28
+ colorLUTIndex: number;
29
+ };
30
+ export type LabelmapRenderingConfig = BaseRenderingConfig & {
31
+ cfun: vtkColorTransferFunction;
32
+ ofun: vtkPiecewiseFunction;
33
+ };
34
+ export type ContourRenderingConfig = BaseRenderingConfig & {};
35
+ export type SurfaceRenderingConfig = BaseRenderingConfig & {};
36
+ export type RenderingConfig = LabelmapRenderingConfig | ContourRenderingConfig | SurfaceRenderingConfig;
37
+ type BaseSegmentationRepresentation = {
39
38
  segmentationId: string;
40
39
  type: Enums.SegmentationRepresentations;
41
- colorLUTIndex: number;
42
- polySeg?: {
43
- enabled: boolean;
44
- options?: unknown;
45
- };
46
- config: {
47
- allSegments?: RepresentationConfig;
48
- perSegment?: RepresentationConfig;
49
- };
40
+ visible: boolean;
41
+ active: boolean;
42
+ segmentsHidden: Set<number>;
43
+ };
44
+ export type SegmentationRepresentation = BaseSegmentationRepresentation & {
45
+ config: RenderingConfig;
50
46
  };
51
- export type LabelmapRepresentation = BaseSegmentationRepresentation & {
52
- rendering: LabelmapRenderingConfig;
47
+ export type LabelmapRepresentation = SegmentationRepresentation & {
48
+ config: LabelmapRenderingConfig;
53
49
  };
54
- export type ContourRepresentation = BaseSegmentationRepresentation & {
55
- rendering: ContourRenderingConfig;
50
+ export type ContourRepresentation = SegmentationRepresentation & {
51
+ config: ContourRenderingConfig;
56
52
  };
57
- export type SurfaceRepresentation = BaseSegmentationRepresentation & {
58
- rendering: SurfaceRenderingConfig;
53
+ export type SurfaceRepresentation = SegmentationRepresentation & {
54
+ config: SurfaceRenderingConfig;
59
55
  };
60
- export type SegmentationRepresentation = LabelmapRepresentation | ContourRepresentation | SurfaceRepresentation;
61
56
  export type SegmentationState = {
62
57
  colorLUT: Types.ColorLUT[];
63
58
  segmentations: Segmentation[];
64
- globalConfig: GlobalConfig;
65
- representations: {
66
- [key: string]: SegmentationRepresentation;
67
- };
68
- viewports: {
69
- [viewportId: string]: {
70
- [segRepresentationUID: string]: {
71
- visible: boolean;
72
- active: boolean;
73
- segmentsHidden: Set<number>;
74
- };
75
- };
59
+ viewportSegRepresentations: {
60
+ [viewportId: string]: Array<SegmentationRepresentation>;
76
61
  };
77
62
  };
78
63
  export type SegmentationPublicInput = {
@@ -82,17 +67,11 @@ export type SegmentationPublicInput = {
82
67
  data?: RepresentationData;
83
68
  };
84
69
  };
85
- export type RepresentationPublicInputOptions = {
86
- segmentationRepresentationUID?: string;
87
- colorLUTOrIndex?: Types.ColorLUT | number;
88
- polySeg?: {
89
- enabled: boolean;
90
- options?: unknown;
91
- };
92
- };
93
70
  export type RepresentationPublicInput = {
94
71
  segmentationId: string;
95
- type: Enums.SegmentationRepresentations;
96
- options?: RepresentationPublicInputOptions;
97
- config?: RepresentationConfig;
72
+ type?: Enums.SegmentationRepresentations;
73
+ config?: {
74
+ colorLUT?: Types.ColorLUT[];
75
+ };
98
76
  };
77
+ export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +1,4 @@
1
- export type SurfaceRenderingConfig = {};
1
+ export type SurfaceStyle = {};
2
2
  export type SurfaceSegmentationData = {
3
3
  geometryIds: Map<number, string>;
4
4
  };
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};