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

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 (258) hide show
  1. package/dist/esm/cursors/elementCursor.d.ts +1 -1
  2. package/dist/esm/cursors/elementCursor.js +1 -1
  3. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
  4. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
  5. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
  6. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +1 -1
  7. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +1 -1
  8. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +1 -1
  9. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js +1 -1
  10. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +1 -1
  11. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +1 -1
  12. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +3 -2
  13. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
  14. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
  15. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +3 -3
  16. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.js +2 -2
  17. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +2 -2
  18. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
  19. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.js +2 -2
  20. package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.js +1 -1
  21. package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.js +1 -1
  22. package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.js +1 -1
  23. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +1 -1
  24. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +21 -20
  25. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +8 -6
  26. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +1 -1
  27. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +1 -1
  28. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +1 -1
  29. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +1 -1
  30. package/dist/esm/index.d.ts +4 -3
  31. package/dist/esm/index.js +4 -3
  32. package/dist/esm/init.js +2 -2
  33. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +0 -2
  34. package/dist/esm/stateManagement/annotation/annotationSelection.js +1 -1
  35. package/dist/esm/stateManagement/annotation/annotationState.d.ts +2 -2
  36. package/dist/esm/stateManagement/annotation/annotationState.js +4 -6
  37. package/dist/esm/stateManagement/annotation/annotationVisibility.js +1 -1
  38. package/dist/esm/stateManagement/annotation/getAnnotation.d.ts +2 -0
  39. package/dist/esm/stateManagement/annotation/getAnnotation.js +6 -0
  40. package/dist/esm/stateManagement/index.d.ts +2 -2
  41. package/dist/esm/stateManagement/index.js +2 -1
  42. package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.d.ts +3 -1
  43. package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +13 -6
  44. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +17 -1
  45. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +46 -4
  46. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +6 -4
  47. package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -0
  48. package/dist/esm/stateManagement/segmentation/addColorLUT.js +5 -0
  49. package/dist/esm/stateManagement/segmentation/addRepresentationData.js +1 -1
  50. package/dist/esm/stateManagement/segmentation/addSegmentation.d.ts +2 -0
  51. package/dist/esm/stateManagement/segmentation/addSegmentation.js +11 -0
  52. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js +29 -8
  53. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.d.ts +2 -0
  54. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.js +10 -0
  55. package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +8 -6
  56. package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +14 -9
  57. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +8 -5
  58. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +0 -8
  59. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +3 -33
  60. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.d.ts +1 -0
  61. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.js +11 -0
  62. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.d.ts +1 -0
  63. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.js +18 -0
  64. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.d.ts +1 -0
  65. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.js +8 -0
  66. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +1 -0
  67. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +8 -0
  68. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +1 -0
  69. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +8 -0
  70. package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.d.ts +1 -0
  71. package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.js +7 -0
  72. package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.d.ts +2 -0
  73. package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.js +5 -0
  74. package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.d.ts +2 -0
  75. package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.js +6 -0
  76. package/dist/esm/stateManagement/segmentation/getColorLUT.d.ts +2 -0
  77. package/dist/esm/stateManagement/segmentation/getColorLUT.js +5 -0
  78. package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -0
  79. package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.js +5 -0
  80. package/dist/esm/stateManagement/segmentation/getGlobalConfig.d.ts +2 -0
  81. package/dist/esm/stateManagement/segmentation/getGlobalConfig.js +5 -0
  82. package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.d.ts +1 -0
  83. package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.js +5 -0
  84. package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.d.ts +2 -0
  85. package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.js +5 -0
  86. package/dist/esm/stateManagement/segmentation/getSegmentation.d.ts +2 -0
  87. package/dist/esm/stateManagement/segmentation/getSegmentation.js +5 -0
  88. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +2 -0
  89. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +5 -0
  90. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.d.ts +2 -0
  91. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.js +5 -0
  92. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.d.ts +7 -0
  93. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.js +6 -0
  94. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +1 -0
  95. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +5 -0
  96. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.d.ts +2 -0
  97. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.js +12 -0
  98. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.d.ts +2 -0
  99. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.js +5 -0
  100. package/dist/esm/stateManagement/segmentation/getSegmentations.d.ts +2 -0
  101. package/dist/esm/stateManagement/segmentation/getSegmentations.js +6 -0
  102. package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.d.ts +1 -0
  103. package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +10 -0
  104. package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +1 -1
  105. package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.d.ts +8 -0
  106. package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +31 -0
  107. package/dist/esm/stateManagement/segmentation/index.d.ts +1 -1
  108. package/dist/esm/stateManagement/segmentation/index.js +1 -1
  109. package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +3 -2
  110. package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js +1 -1
  111. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +1 -1
  112. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +3 -3
  113. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +2 -3
  114. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +2 -1
  115. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +2 -2
  116. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +2 -3
  117. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +3 -2
  118. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +1 -1
  119. package/dist/esm/stateManagement/segmentation/removeColorLUT.d.ts +1 -0
  120. package/dist/esm/stateManagement/segmentation/removeColorLUT.js +5 -0
  121. package/dist/esm/stateManagement/segmentation/removeRepresentation.d.ts +1 -0
  122. package/dist/esm/stateManagement/segmentation/removeRepresentation.js +9 -0
  123. package/dist/esm/stateManagement/segmentation/removeSegmentation.d.ts +1 -0
  124. package/dist/esm/stateManagement/segmentation/removeSegmentation.js +7 -0
  125. package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js +2 -2
  126. package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
  127. package/dist/esm/stateManagement/segmentation/segmentIndex.js +5 -9
  128. package/dist/esm/stateManagement/segmentation/segmentLocking.js +1 -1
  129. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +29 -38
  130. package/dist/esm/stateManagement/segmentation/segmentationState.js +29 -157
  131. package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.d.ts +1 -0
  132. package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.js +9 -0
  133. package/dist/esm/stateManagement/segmentation/setGlobalConfig.d.ts +2 -0
  134. package/dist/esm/stateManagement/segmentation/setGlobalConfig.js +9 -0
  135. package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.d.ts +2 -0
  136. package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.js +9 -0
  137. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.d.ts +2 -0
  138. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.js +9 -0
  139. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +1 -0
  140. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +5 -0
  141. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -5
  142. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +5 -45
  143. package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.d.ts +1 -0
  144. package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.js +5 -0
  145. package/dist/esm/store/SynchronizerManager/createSynchronizer.js +1 -1
  146. package/dist/esm/store/SynchronizerManager/destroy.js +1 -1
  147. package/dist/esm/store/SynchronizerManager/destroySynchronizer.js +1 -1
  148. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js +1 -1
  149. package/dist/esm/store/SynchronizerManager/getSynchronizer.js +1 -1
  150. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +1 -1
  151. package/dist/esm/store/ToolGroupManager/ToolGroup.js +7 -6
  152. package/dist/esm/store/ToolGroupManager/createToolGroup.js +1 -1
  153. package/dist/esm/store/ToolGroupManager/destroy.js +3 -3
  154. package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +1 -2
  155. package/dist/esm/store/ToolGroupManager/getAllToolGroups.js +1 -1
  156. package/dist/esm/store/ToolGroupManager/getToolGroup.js +1 -1
  157. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +1 -1
  158. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +1 -1
  159. package/dist/esm/store/addTool.d.ts +1 -0
  160. package/dist/esm/store/addTool.js +3 -0
  161. package/dist/esm/store/index.d.ts +1 -2
  162. package/dist/esm/store/index.js +1 -2
  163. package/dist/esm/tools/AdvancedMagnifyTool.d.ts +93 -2
  164. package/dist/esm/tools/AdvancedMagnifyTool.js +506 -4
  165. package/dist/esm/tools/AnnotationEraserTool.js +2 -2
  166. package/dist/esm/tools/CrosshairsTool.js +1 -1
  167. package/dist/esm/tools/MagnifyTool.js +1 -1
  168. package/dist/esm/tools/SculptorTool.js +3 -3
  169. package/dist/esm/tools/WindowLevelRegionTool.js +1 -1
  170. package/dist/esm/tools/annotation/AngleTool.js +4 -3
  171. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +1 -1
  172. package/dist/esm/tools/annotation/BidirectionalTool.js +7 -8
  173. package/dist/esm/tools/annotation/CircleROITool.js +15 -16
  174. package/dist/esm/tools/annotation/CobbAngleTool.js +1 -1
  175. package/dist/esm/tools/annotation/DragProbeTool.js +2 -2
  176. package/dist/esm/tools/annotation/EllipticalROITool.js +12 -13
  177. package/dist/esm/tools/annotation/HeightTool.js +5 -6
  178. package/dist/esm/tools/annotation/KeyImageTool.js +1 -1
  179. package/dist/esm/tools/annotation/LengthTool.js +5 -6
  180. package/dist/esm/tools/annotation/LivewireContourTool.js +3 -2
  181. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
  182. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +4 -4
  183. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +20 -20
  184. package/dist/esm/tools/annotation/ProbeTool.js +9 -10
  185. package/dist/esm/tools/annotation/RectangleROITool.js +12 -13
  186. package/dist/esm/tools/annotation/SplineROITool.js +12 -9
  187. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +6 -7
  188. package/dist/esm/tools/annotation/VideoRedactionTool.js +1 -1
  189. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +1 -1
  190. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
  191. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +2 -2
  192. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  193. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +1 -1
  194. package/dist/esm/tools/base/ContourBaseTool.js +2 -2
  195. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +24 -15
  196. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +9 -8
  197. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +3 -3
  198. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +2 -1
  199. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -8
  200. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +19 -25
  201. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +10 -7
  202. package/dist/esm/tools/index.d.ts +1 -3
  203. package/dist/esm/tools/index.js +1 -3
  204. package/dist/esm/tools/segmentation/BrushTool.js +10 -8
  205. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +8 -9
  206. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +11 -13
  207. package/dist/esm/tools/segmentation/SegmentSelectTool.js +1 -1
  208. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +4 -4
  209. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +2 -2
  210. package/dist/esm/utilities/annotationHydration.js +1 -1
  211. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +1 -1
  212. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +2 -2
  213. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +1 -1
  214. package/dist/esm/utilities/contours/getContourHolesDataWorld.js +1 -1
  215. package/dist/esm/utilities/contours/index.d.ts +1 -2
  216. package/dist/esm/utilities/contours/index.js +1 -2
  217. package/dist/esm/utilities/contours/updateContourPolyline.js +1 -1
  218. package/dist/esm/utilities/getCalibratedUnits.d.ts +2 -2
  219. package/dist/esm/utilities/getCalibratedUnits.js +13 -13
  220. package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
  221. package/dist/esm/utilities/index.d.ts +1 -2
  222. package/dist/esm/utilities/index.js +1 -2
  223. package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +3 -3
  224. package/dist/esm/utilities/math/polyline/isClosed.js +2 -2
  225. package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.js +3 -3
  226. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +1 -1
  227. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +1 -1
  228. package/dist/esm/utilities/segmentation/getBrushToolInstances.d.ts +1 -0
  229. package/dist/esm/utilities/segmentation/getBrushToolInstances.js +17 -0
  230. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.d.ts +0 -2
  231. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +3 -22
  232. package/dist/esm/utilities/segmentation/index.d.ts +2 -2
  233. package/dist/esm/utilities/segmentation/index.js +2 -2
  234. package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +1 -4
  235. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +2 -1
  236. package/dist/esm/utilities/segmentation/segmentContourAction.js +5 -5
  237. package/dist/esm/utilities/segmentation/utilities.d.ts +4 -1
  238. package/dist/esm/utilities/segmentation/utilities.js +23 -17
  239. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +2 -2
  240. package/dist/umd/985.index.js.map +1 -1
  241. package/dist/umd/index.js +2 -1
  242. package/dist/umd/index.js.LICENSE.txt +6 -0
  243. package/dist/umd/index.js.map +1 -1
  244. package/package.json +5 -4
  245. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +0 -17
  246. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +0 -50
  247. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.d.ts +0 -2
  248. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.js +0 -11
  249. package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +0 -76
  250. package/dist/esm/tools/AdvancedMagnifyViewport.js +0 -351
  251. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +0 -38
  252. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +0 -161
  253. package/dist/esm/tools/StackScrollToolMouseWheelTool.d.ts +0 -16
  254. package/dist/esm/tools/StackScrollToolMouseWheelTool.js +0 -33
  255. package/dist/esm/utilities/contours/interpolation/index.d.ts +0 -2
  256. package/dist/esm/utilities/contours/interpolation/index.js +0 -2
  257. package/dist/esm/utilities/segmentation/triggerSegmentationRender.d.ts +0 -3
  258. package/dist/esm/utilities/segmentation/triggerSegmentationRender.js +0 -8
@@ -1,157 +1,29 @@
1
- import { defaultSegmentationStateManager } from './SegmentationStateManager';
2
- import { triggerSegmentationModified, triggerSegmentationRemoved, triggerSegmentationRepresentationModified, triggerSegmentationRepresentationRemoved, } from './triggerSegmentationEvents';
3
- import normalizeSegmentationInput from './helpers/normalizeSegmentationInput';
4
- function getDefaultSegmentationStateManager() {
5
- return defaultSegmentationStateManager;
6
- }
7
- function getSegmentation(segmentationId) {
8
- const segmentationStateManager = getDefaultSegmentationStateManager();
9
- return segmentationStateManager.getSegmentation(segmentationId);
10
- }
11
- function getSegmentations() {
12
- const segmentationStateManager = getDefaultSegmentationStateManager();
13
- const state = segmentationStateManager.getState();
14
- return state.segmentations;
15
- }
16
- function addSegmentation(segmentationInput, suppressEvents) {
17
- const segmentationStateManager = getDefaultSegmentationStateManager();
18
- const segmentation = normalizeSegmentationInput(segmentationInput);
19
- segmentationStateManager.addSegmentation(segmentation);
20
- if (!suppressEvents) {
21
- triggerSegmentationModified(segmentation.segmentationId);
22
- }
23
- }
24
- function getAllSegmentationRepresentations() {
25
- const segmentationStateManager = getDefaultSegmentationStateManager();
26
- const state = segmentationStateManager.getState();
27
- return Object.values(state.representations);
28
- }
29
- function getSegmentationRepresentation(segmentationRepresentationUID) {
30
- const segmentationStateManager = getDefaultSegmentationStateManager();
31
- return segmentationStateManager.getSegmentationRepresentation(segmentationRepresentationUID);
32
- }
33
- function getSegmentationRepresentationsForSegmentation(segmentationId) {
34
- const allRepresentations = getAllSegmentationRepresentations();
35
- return allRepresentations.filter((representation) => representation.segmentationId === segmentationId);
36
- }
37
- function getSegmentationRepresentationConfig(segmentationRepresentationUID) {
38
- const segmentationStateManager = getDefaultSegmentationStateManager();
39
- return segmentationStateManager.getSegmentationRepresentationConfig(segmentationRepresentationUID);
40
- }
41
- function setSegmentationRepresentationConfig(segmentationRepresentationUID, config, suppressEvents) {
42
- const segmentationStateManager = getDefaultSegmentationStateManager();
43
- segmentationStateManager.setSegmentationRepresentationConfig(segmentationRepresentationUID, config);
44
- if (!suppressEvents) {
45
- triggerSegmentationRepresentationModified(segmentationRepresentationUID);
46
- }
47
- }
48
- function getPerSegmentConfig(segmentationRepresentationUID) {
49
- const segmentationStateManager = getDefaultSegmentationStateManager();
50
- return segmentationStateManager.getPerSegmentConfig(segmentationRepresentationUID);
51
- }
52
- function setPerSegmentConfig(segmentationRepresentationUID, config, suppressEvents) {
53
- const segmentationStateManager = getDefaultSegmentationStateManager();
54
- segmentationStateManager.setPerSegmentConfig(segmentationRepresentationUID, config);
55
- if (!suppressEvents) {
56
- triggerSegmentationRepresentationModified(segmentationRepresentationUID);
57
- }
58
- }
59
- function getViewportIdsWithSegmentation(segmentationId) {
60
- const segmentationStateManager = getDefaultSegmentationStateManager();
61
- const state = segmentationStateManager.getState();
62
- const viewports = state.viewports;
63
- return Object.keys(viewports).filter((viewportId) => {
64
- const viewport = viewports[viewportId];
65
- return Object.keys(viewport).some((segRepUID) => state.representations[segRepUID].segmentationId === segmentationId);
66
- });
67
- }
68
- function getSegmentationRepresentations(viewportId) {
69
- const viewportRenderingState = getSegmentationRepresentationViewportStates(viewportId);
70
- if (!viewportRenderingState) {
71
- return [];
72
- }
73
- const segRepUIDs = Object.keys(viewportRenderingState);
74
- return segRepUIDs
75
- .map((segRepUID) => getSegmentationRepresentation(segRepUID))
76
- .filter(Boolean);
77
- }
78
- function getSegmentationRepresentationViewportStates(viewportId) {
79
- const segmentationStateManager = getDefaultSegmentationStateManager();
80
- const state = segmentationStateManager.getState();
81
- return state.viewports?.[viewportId] || {};
82
- }
83
- function addSegmentationRepresentation(viewportId, segmentationRepresentation, suppressEvents) {
84
- const segmentationStateManager = getDefaultSegmentationStateManager();
85
- segmentationStateManager.addSegmentationRepresentationState(segmentationRepresentation);
86
- segmentationStateManager.addSegmentationRepresentationToViewport(viewportId, segmentationRepresentation.segmentationRepresentationUID);
87
- if (!suppressEvents) {
88
- triggerSegmentationRepresentationModified(segmentationRepresentation.segmentationRepresentationUID);
89
- }
90
- }
91
- function getGlobalConfig() {
92
- const segmentationStateManager = getDefaultSegmentationStateManager();
93
- return segmentationStateManager.getGlobalConfig();
94
- }
95
- function setGlobalConfig(config, suppressEvents) {
96
- const segmentationStateManager = getDefaultSegmentationStateManager();
97
- segmentationStateManager.setGlobalConfig(config);
98
- if (!suppressEvents) {
99
- triggerSegmentationModified();
100
- }
101
- }
102
- function removeSegmentation(segmentationId) {
103
- const segmentationStateManager = getDefaultSegmentationStateManager();
104
- segmentationStateManager.removeSegmentation(segmentationId);
105
- triggerSegmentationRemoved(segmentationId);
106
- }
107
- function removeRepresentation(segmentationRepresentationUID, suppressEvents) {
108
- const segmentationStateManager = getDefaultSegmentationStateManager();
109
- segmentationStateManager.removeRepresentation(segmentationRepresentationUID);
110
- if (!suppressEvents) {
111
- triggerSegmentationRepresentationRemoved(segmentationRepresentationUID);
112
- }
113
- }
114
- function removeColorLUT(colorLUTIndex) {
115
- const segmentationStateManager = getDefaultSegmentationStateManager();
116
- segmentationStateManager.removeColorLUT(colorLUTIndex);
117
- }
118
- function getColorLUT(index) {
119
- const segmentationStateManager = getDefaultSegmentationStateManager();
120
- return segmentationStateManager.getColorLUT(index);
121
- }
122
- function getNextColorLUTIndex() {
123
- const segmentationStateManager = getDefaultSegmentationStateManager();
124
- return segmentationStateManager.getNextColorLUTIndex();
125
- }
126
- function addColorLUT(colorLUT, index) {
127
- const segmentationStateManager = getDefaultSegmentationStateManager();
128
- segmentationStateManager.addColorLUT(colorLUT, index);
129
- }
130
- function getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID) {
131
- const segmentationStateManager = getDefaultSegmentationStateManager();
132
- return segmentationStateManager.getSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID);
133
- }
134
- function setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visible) {
135
- const segmentationStateManager = getDefaultSegmentationStateManager();
136
- segmentationStateManager.setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visible);
137
- }
138
- function getActiveSegmentationRepresentation(viewportId) {
139
- const segmentationStateManager = getDefaultSegmentationStateManager();
140
- return segmentationStateManager.getActiveSegmentationRepresentation(viewportId);
141
- }
142
- function setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID, suppressEvents) {
143
- const segmentationStateManager = getDefaultSegmentationStateManager();
144
- segmentationStateManager.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
145
- if (!suppressEvents) {
146
- triggerSegmentationRepresentationModified(segmentationRepresentationUID);
147
- }
148
- }
149
- function getCurrentLabelmapImageIdForViewport(viewportId, segmentationId) {
150
- const segmentationStateManager = getDefaultSegmentationStateManager();
151
- return segmentationStateManager.getCurrentLabelmapImageIdForViewport(viewportId, segmentationId);
152
- }
153
- function updateLabelmapSegmentationImageReferences(viewportId, segmentationId) {
154
- const segmentationStateManager = getDefaultSegmentationStateManager();
155
- segmentationStateManager.updateLabelmapSegmentationImageReferences(viewportId, segmentationId);
156
- }
157
- export { getDefaultSegmentationStateManager, getSegmentation, getSegmentations, addSegmentation, removeSegmentation, getAllSegmentationRepresentations, getSegmentationRepresentation, removeRepresentation, getGlobalConfig, setGlobalConfig, getSegmentationRepresentationConfig, setSegmentationRepresentationConfig, getPerSegmentConfig, setPerSegmentConfig, getSegmentationRepresentations, addSegmentationRepresentation, getSegmentationRepresentationViewportStates, addColorLUT, getColorLUT, getNextColorLUTIndex, removeColorLUT, getSegmentationRepresentationsForSegmentation, getSegmentationRepresentationVisibility, setSegmentationRepresentationVisibility, getViewportIdsWithSegmentation, getActiveSegmentationRepresentation, setActiveSegmentationRepresentation, getCurrentLabelmapImageIdForViewport, updateLabelmapSegmentationImageReferences, };
1
+ import { getSegmentation } from './getSegmentation';
2
+ import { getSegmentations } from './getSegmentations';
3
+ import { addSegmentation } from './addSegmentation';
4
+ import { removeSegmentation } from './removeSegmentation';
5
+ import { getAllSegmentationRepresentations } from './getAllSegmentationRepresentations';
6
+ import { getSegmentationRepresentation } from './getSegmentationRepresentation';
7
+ import { removeRepresentation } from './removeRepresentation';
8
+ import { getGlobalConfig } from './getGlobalConfig';
9
+ import { setGlobalConfig } from './setGlobalConfig';
10
+ import { getSegmentationRepresentationConfig } from './getSegmentationRepresentationConfig';
11
+ import { setSegmentationRepresentationConfig } from './setSegmentationRepresentationConfig';
12
+ import { getPerSegmentConfig } from './getPerSegmentConfig';
13
+ import { setPerSegmentConfig } from './setPerSegmentConfig';
14
+ import { getSegmentationRepresentations } from './getSegmentationRepresentations';
15
+ import { addSegmentationRepresentation } from './addSegmentationRepresentation';
16
+ import { getSegmentationRepresentationViewportStates } from './getSegmentationRepresentationViewportStates';
17
+ import { addColorLUT } from './addColorLUT';
18
+ import { getColorLUT } from './getColorLUT';
19
+ import { getNextColorLUTIndex } from './getNextColorLUTIndex';
20
+ import { removeColorLUT } from './removeColorLUT';
21
+ import { getSegmentationRepresentationsForSegmentation } from './getSegmentationRepresentationsForSegmentation';
22
+ import { getSegmentationRepresentationVisibility } from './getSegmentationRepresentationVisibility';
23
+ import { setSegmentationRepresentationVisibility } from './setSegmentationRepresentationVisibility';
24
+ import { getViewportIdsWithSegmentation } from './getViewportIdsWithSegmentation';
25
+ import { getActiveSegmentationRepresentation } from './getActiveSegmentationRepresentation';
26
+ import { setActiveSegmentationRepresentation } from './setActiveSegmentationRepresentation';
27
+ import { getCurrentLabelmapImageIdForViewport } from './getCurrentLabelmapImageIdForViewport';
28
+ import { updateLabelmapSegmentationImageReferences } from './updateLabelmapSegmentationImageReferences';
29
+ export { getSegmentation, getSegmentations, addSegmentation, removeSegmentation, getAllSegmentationRepresentations, getSegmentationRepresentation, removeRepresentation, getGlobalConfig, setGlobalConfig, getSegmentationRepresentationConfig, setSegmentationRepresentationConfig, getPerSegmentConfig, setPerSegmentConfig, getSegmentationRepresentations, addSegmentationRepresentation, getSegmentationRepresentationViewportStates, addColorLUT, getColorLUT, getNextColorLUTIndex, removeColorLUT, getSegmentationRepresentationsForSegmentation, getSegmentationRepresentationVisibility, setSegmentationRepresentationVisibility, getViewportIdsWithSegmentation, getActiveSegmentationRepresentation, setActiveSegmentationRepresentation, getCurrentLabelmapImageIdForViewport, updateLabelmapSegmentationImageReferences, };
@@ -0,0 +1 @@
1
+ export declare function setActiveSegmentationRepresentation(viewportId: string, segmentationRepresentationUID: string, suppressEvents?: boolean): void;
@@ -0,0 +1,9 @@
1
+ import { defaultSegmentationStateManager } from './SegmentationStateManager';
2
+ import { triggerSegmentationRepresentationModified } from './triggerSegmentationEvents';
3
+ export function setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID, suppressEvents) {
4
+ const segmentationStateManager = defaultSegmentationStateManager;
5
+ segmentationStateManager.setActiveSegmentationRepresentation(viewportId, segmentationRepresentationUID);
6
+ if (!suppressEvents) {
7
+ triggerSegmentationRepresentationModified(segmentationRepresentationUID);
8
+ }
9
+ }
@@ -0,0 +1,2 @@
1
+ import type { SegmentationRepresentationConfig } from '../../types';
2
+ export declare function setGlobalConfig(config: SegmentationRepresentationConfig, suppressEvents?: boolean): void;
@@ -0,0 +1,9 @@
1
+ import { defaultSegmentationStateManager } from './SegmentationStateManager';
2
+ import { triggerSegmentationModified } from './triggerSegmentationEvents';
3
+ export function setGlobalConfig(config, suppressEvents) {
4
+ const segmentationStateManager = defaultSegmentationStateManager;
5
+ segmentationStateManager.setGlobalConfig(config);
6
+ if (!suppressEvents) {
7
+ triggerSegmentationModified();
8
+ }
9
+ }
@@ -0,0 +1,2 @@
1
+ import type { SegmentRepresentationConfig } from '../../types/SegmentationStateTypes';
2
+ export declare function setPerSegmentConfig(segmentationRepresentationUID: string, config: SegmentRepresentationConfig, suppressEvents?: boolean): void;
@@ -0,0 +1,9 @@
1
+ import { defaultSegmentationStateManager } from './SegmentationStateManager';
2
+ import { triggerSegmentationRepresentationModified } from './triggerSegmentationEvents';
3
+ export function setPerSegmentConfig(segmentationRepresentationUID, config, suppressEvents) {
4
+ const segmentationStateManager = defaultSegmentationStateManager;
5
+ segmentationStateManager.setPerSegmentConfig(segmentationRepresentationUID, config);
6
+ if (!suppressEvents) {
7
+ triggerSegmentationRepresentationModified(segmentationRepresentationUID);
8
+ }
9
+ }
@@ -0,0 +1,2 @@
1
+ import type { RepresentationConfig } from '../../types';
2
+ export declare function setSegmentationRepresentationConfig(segmentationRepresentationUID: string, config: RepresentationConfig, suppressEvents?: boolean): void;
@@ -0,0 +1,9 @@
1
+ import { defaultSegmentationStateManager } from './SegmentationStateManager';
2
+ import { triggerSegmentationRepresentationModified } from './triggerSegmentationEvents';
3
+ export function setSegmentationRepresentationConfig(segmentationRepresentationUID, config, suppressEvents) {
4
+ const segmentationStateManager = defaultSegmentationStateManager;
5
+ segmentationStateManager.setSegmentationRepresentationConfig(segmentationRepresentationUID, config);
6
+ if (!suppressEvents) {
7
+ triggerSegmentationRepresentationModified(segmentationRepresentationUID);
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ export declare function setSegmentationRepresentationVisibility(viewportId: string, segmentationRepresentationUID: string, visible: boolean): void;
@@ -0,0 +1,5 @@
1
+ import { defaultSegmentationStateManager } from './SegmentationStateManager';
2
+ export function setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visible) {
3
+ const segmentationStateManager = defaultSegmentationStateManager;
4
+ segmentationStateManager.setSegmentationRepresentationVisibility(viewportId, segmentationRepresentationUID, visible);
5
+ }
@@ -1,6 +1,6 @@
1
- declare function triggerSegmentationRemoved(segmentationId: string): void;
2
- declare function triggerSegmentationRepresentationRemoved(segmentationRepresentationUID: string): void;
3
- declare function triggerSegmentationRepresentationModified(segmentationRepresentationUID: string): void;
4
- declare function triggerSegmentationModified(segmentationId?: string): void;
5
- declare function triggerSegmentationDataModified(segmentationId: string, modifiedSlicesToUse?: number[]): void;
1
+ import { triggerSegmentationRepresentationModified } from './events/triggerSegmentationRepresentationModified';
2
+ import { triggerSegmentationRepresentationRemoved } from './events/triggerSegmentationRepresentationRemoved';
3
+ import { triggerSegmentationDataModified } from './events/triggerSegmentationDataModified';
4
+ import { triggerSegmentationModified } from './events/triggerSegmentationModified';
5
+ import { triggerSegmentationRemoved } from './events/triggerSegmentationRemoved';
6
6
  export { triggerSegmentationRepresentationModified, triggerSegmentationRepresentationRemoved, triggerSegmentationDataModified, triggerSegmentationModified, triggerSegmentationRemoved, };
@@ -1,46 +1,6 @@
1
- import { triggerEvent, eventTarget } from '@cornerstonejs/core';
2
- import { Events } from '../../enums';
3
- import { getSegmentations } from '../../stateManagement/segmentation/segmentationState';
4
- import { setSegmentationDirty } from '../../utilities/segmentation/getUniqueSegmentIndices';
5
- function triggerSegmentationRemoved(segmentationId) {
6
- const eventDetail = {
7
- segmentationId,
8
- };
9
- triggerEvent(eventTarget, Events.SEGMENTATION_REMOVED, eventDetail);
10
- }
11
- function triggerSegmentationRepresentationRemoved(segmentationRepresentationUID) {
12
- const eventDetail = {
13
- segmentationRepresentationUID,
14
- };
15
- triggerEvent(eventTarget, Events.SEGMENTATION_REPRESENTATION_REMOVED, eventDetail);
16
- }
17
- function triggerSegmentationRepresentationModified(segmentationRepresentationUID) {
18
- const eventDetail = {
19
- segmentationRepresentationUID,
20
- };
21
- triggerEvent(eventTarget, Events.SEGMENTATION_REPRESENTATION_MODIFIED, eventDetail);
22
- }
23
- function triggerSegmentationModified(segmentationId) {
24
- let segmentationIds;
25
- if (segmentationId) {
26
- segmentationIds = [segmentationId];
27
- }
28
- else {
29
- segmentationIds = getSegmentations().map(({ segmentationId }) => segmentationId);
30
- }
31
- segmentationIds.forEach((segmentationId) => {
32
- const eventDetail = {
33
- segmentationId,
34
- };
35
- triggerEvent(eventTarget, Events.SEGMENTATION_MODIFIED, eventDetail);
36
- });
37
- }
38
- function triggerSegmentationDataModified(segmentationId, modifiedSlicesToUse) {
39
- const eventDetail = {
40
- segmentationId,
41
- modifiedSlicesToUse,
42
- };
43
- setSegmentationDirty(segmentationId);
44
- triggerEvent(eventTarget, Events.SEGMENTATION_DATA_MODIFIED, eventDetail);
45
- }
1
+ import { triggerSegmentationRepresentationModified } from './events/triggerSegmentationRepresentationModified';
2
+ import { triggerSegmentationRepresentationRemoved } from './events/triggerSegmentationRepresentationRemoved';
3
+ import { triggerSegmentationDataModified } from './events/triggerSegmentationDataModified';
4
+ import { triggerSegmentationModified } from './events/triggerSegmentationModified';
5
+ import { triggerSegmentationRemoved } from './events/triggerSegmentationRemoved';
46
6
  export { triggerSegmentationRepresentationModified, triggerSegmentationRepresentationRemoved, triggerSegmentationDataModified, triggerSegmentationModified, triggerSegmentationRemoved, };
@@ -0,0 +1 @@
1
+ export declare function updateLabelmapSegmentationImageReferences(viewportId: string, segmentationId: string): void;
@@ -0,0 +1,5 @@
1
+ import { defaultSegmentationStateManager } from './SegmentationStateManager';
2
+ export function updateLabelmapSegmentationImageReferences(viewportId, segmentationId) {
3
+ const segmentationStateManager = defaultSegmentationStateManager;
4
+ segmentationStateManager.updateLabelmapSegmentationImageReferences(viewportId, segmentationId);
5
+ }
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  import Synchronizer, {} from './Synchronizer';
3
3
  function createSynchronizer(synchronizerId, eventName, eventHandler, options) {
4
4
  const synchronizerWithSameIdExists = state.synchronizers.some((sync) => sync.id === synchronizerId);
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  function destroy() {
3
3
  while (state.synchronizers.length > 0) {
4
4
  const synchronizer = state.synchronizers.pop();
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  function destroySynchronizer(synchronizerId) {
3
3
  const synchronizerIndex = state.synchronizers.findIndex((sync) => sync.id === synchronizerId);
4
4
  if (synchronizerIndex > -1) {
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  function getAllSynchronizers() {
3
3
  return state.synchronizers;
4
4
  }
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  function getSynchronizer(synchronizerId) {
3
3
  return state.synchronizers.find((s) => s.id === synchronizerId);
4
4
  }
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  function getSynchronizersForViewport(viewportId, renderingEngineId) {
3
3
  const synchronizersFilteredByIds = [];
4
4
  if (!renderingEngineId && !viewportId) {
@@ -1,10 +1,10 @@
1
- import { MouseBindings, ToolModes } from '../../enums';
1
+ import { MouseBindings, ToolModes, Events } from '../../enums';
2
2
  import get from 'lodash.get';
3
3
  import { triggerEvent, eventTarget, getRenderingEngine, getRenderingEngines, getEnabledElementByIds, Settings, } from '@cornerstonejs/core';
4
- import { Events } from '../../enums';
5
- import { ToolGroupManager, state } from '../index';
4
+ import { state } from '../state';
6
5
  import { MouseCursor, SVGMouseCursor } from '../../cursors';
7
6
  import { initElementCursor } from '../../cursors/elementCursor';
7
+ import getToolGroup from './getToolGroup';
8
8
  const { Active, Passive, Enabled, Disabled } = ToolModes;
9
9
  const PRIMARY_BINDINGS = [{ mouseButton: MouseBindings.Primary }];
10
10
  export default class ToolGroup {
@@ -395,12 +395,13 @@ export default class ToolGroup {
395
395
  return this.currentActivePrimaryToolName;
396
396
  }
397
397
  clone(newToolGroupId, fnToolFilter = null) {
398
- let toolGroup = ToolGroupManager.getToolGroup(newToolGroupId);
398
+ let toolGroup = getToolGroup(newToolGroupId);
399
399
  if (toolGroup) {
400
- console.warn(`ToolGroup ${newToolGroupId} already exists`);
400
+ console.debug(`ToolGroup ${newToolGroupId} already exists`);
401
401
  return toolGroup;
402
402
  }
403
- toolGroup = ToolGroupManager.createToolGroup(newToolGroupId);
403
+ toolGroup = new ToolGroup(newToolGroupId);
404
+ state.toolGroups.push(toolGroup);
404
405
  fnToolFilter = fnToolFilter ?? (() => true);
405
406
  Object.keys(this._toolInstances)
406
407
  .filter(fnToolFilter)
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  import ToolGroup from './ToolGroup';
3
3
  function createToolGroup(toolGroupId) {
4
4
  const toolGroupWithIdExists = state.toolGroups.some((tg) => tg.id === toolGroupId);
@@ -1,10 +1,10 @@
1
- import { state as csToolsState } from '../index';
1
+ import { state } from '../state';
2
2
  import destroyToolGroup from './destroyToolGroup';
3
3
  function destroy() {
4
- const toolGroups = [...csToolsState.toolGroups];
4
+ const toolGroups = [...state.toolGroups];
5
5
  for (const toolGroup of toolGroups) {
6
6
  destroyToolGroup(toolGroup.id);
7
7
  }
8
- csToolsState.toolGroups = [];
8
+ state.toolGroups = [];
9
9
  }
10
10
  export default destroy;
@@ -1,5 +1,4 @@
1
- import { state } from '../index';
2
- import { removeSegmentationRepresentations } from '../../stateManagement/segmentation';
1
+ import { state } from '../state';
3
2
  function destroyToolGroup(toolGroupId) {
4
3
  const toolGroupIndex = state.toolGroups.findIndex((tg) => tg.id === toolGroupId);
5
4
  if (toolGroupIndex > -1) {
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  function getAllToolGroups() {
3
3
  return state.toolGroups;
4
4
  }
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  function getToolGroup(toolGroupId) {
3
3
  return state.toolGroups.find((s) => s.id === toolGroupId);
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import { getRenderingEngines } from '@cornerstonejs/core';
2
- import { state } from '../index';
2
+ import { state } from '../state';
3
3
  function getToolGroupForViewport(viewportId, renderingEngineId) {
4
4
  if (!renderingEngineId) {
5
5
  renderingEngineId = getRenderingEngines().find((re) => re.getViewports().find((vp) => vp.id === viewportId))?.id;
@@ -1,4 +1,4 @@
1
- import { state } from '../index';
1
+ import { state } from '../state';
2
2
  import { ToolModes } from '../../enums';
3
3
  const MODES = [ToolModes.Active, ToolModes.Passive, ToolModes.Enabled];
4
4
  function getToolGroupsWithToolName(toolName) {
@@ -1,4 +1,5 @@
1
1
  export declare function addTool(ToolClass: any): void;
2
2
  export declare function hasTool(ToolClass: any): boolean;
3
+ export declare function hasToolByName(toolName: string): boolean;
3
4
  export declare function removeTool(ToolClass: any): void;
4
5
  export default addTool;
@@ -13,6 +13,9 @@ export function hasTool(ToolClass) {
13
13
  const toolName = ToolClass.toolName;
14
14
  return !!(toolName && state.tools[toolName]);
15
15
  }
16
+ export function hasToolByName(toolName) {
17
+ return !!(toolName && state.tools[toolName]);
18
+ }
16
19
  export function removeTool(ToolClass) {
17
20
  const toolName = ToolClass.toolName;
18
21
  if (!toolName) {
@@ -4,7 +4,6 @@ import removeEnabledElement from './removeEnabledElement';
4
4
  import cancelActiveManipulations from './cancelActiveManipulations';
5
5
  import Synchronizer from './SynchronizerManager/Synchronizer';
6
6
  import svgNodeCache from './svgNodeCache';
7
- import state from './state';
8
7
  import * as ToolGroupManager from './ToolGroupManager';
9
8
  import * as SynchronizerManager from './SynchronizerManager';
10
- export { state, addTool, hasTool, removeTool, addEnabledElement, removeEnabledElement, cancelActiveManipulations, svgNodeCache, ToolGroupManager, SynchronizerManager, Synchronizer, };
9
+ export { addTool, hasTool, removeTool, addEnabledElement, removeEnabledElement, cancelActiveManipulations, svgNodeCache, ToolGroupManager, SynchronizerManager, Synchronizer, };
@@ -4,7 +4,6 @@ import removeEnabledElement from './removeEnabledElement';
4
4
  import cancelActiveManipulations from './cancelActiveManipulations';
5
5
  import Synchronizer from './SynchronizerManager/Synchronizer';
6
6
  import svgNodeCache from './svgNodeCache';
7
- import state from './state';
8
7
  import * as ToolGroupManager from './ToolGroupManager';
9
8
  import * as SynchronizerManager from './SynchronizerManager';
10
- export { state, addTool, hasTool, removeTool, addEnabledElement, removeEnabledElement, cancelActiveManipulations, svgNodeCache, ToolGroupManager, SynchronizerManager, Synchronizer, };
9
+ export { addTool, hasTool, removeTool, addEnabledElement, removeEnabledElement, cancelActiveManipulations, svgNodeCache, ToolGroupManager, SynchronizerManager, Synchronizer, };
@@ -2,14 +2,48 @@ import { AnnotationTool } from './base';
2
2
  import type { Types } from '@cornerstonejs/core';
3
3
  import type { EventTypes, ToolHandle, PublicToolProps, ToolProps, SVGDrawingHelper, Annotation } from '../types';
4
4
  import type { AdvancedMagnifyAnnotation } from '../types/ToolSpecificAnnotationTypes';
5
- import AdvancedMagnifyViewportManager from './AdvancedMagnifyViewportManager';
5
+ export type AutoPanCallbackData = {
6
+ points: {
7
+ currentPosition: {
8
+ canvas: Types.Point2;
9
+ world: Types.Point3;
10
+ };
11
+ newPosition: {
12
+ canvas: Types.Point2;
13
+ world: Types.Point3;
14
+ };
15
+ };
16
+ delta: {
17
+ canvas: Types.Point2;
18
+ world: Types.Point3;
19
+ };
20
+ };
21
+ export type AutoPanCallback = (data: AutoPanCallbackData) => void;
6
22
  declare enum AdvancedMagnifyToolActions {
7
23
  ShowZoomFactorsList = "showZoomFactorsList"
8
24
  }
25
+ export type MagnifyViewportInfo = {
26
+ magnifyViewportId?: string;
27
+ sourceEnabledElement: Types.IEnabledElement;
28
+ position: Types.Point2;
29
+ radius: number;
30
+ zoomFactor: number;
31
+ autoPan: {
32
+ enabled: boolean;
33
+ padding: number;
34
+ callback: AutoPanCallback;
35
+ };
36
+ };
37
+ interface MagnifyViewportManager {
38
+ createViewport(annotation: AdvancedMagnifyAnnotation, viewportInfo: MagnifyViewportInfo): AdvancedMagnifyViewport;
39
+ getViewport(magnifyViewportId: string): AdvancedMagnifyViewport;
40
+ destroyViewport(magnifyViewportId: string): void;
41
+ dispose(): void;
42
+ }
9
43
  declare class AdvancedMagnifyTool extends AnnotationTool {
10
44
  static toolName: any;
11
45
  static Actions: typeof AdvancedMagnifyToolActions;
12
- magnifyViewportManager: AdvancedMagnifyViewportManager;
46
+ magnifyViewportManager: MagnifyViewportManager;
13
47
  editData: {
14
48
  annotation: Annotation;
15
49
  viewportIdsToRender: Array<string>;
@@ -36,4 +70,61 @@ declare class AdvancedMagnifyTool extends AnnotationTool {
36
70
  private _getZoomFactorsListDropdown;
37
71
  private _getCanvasHandlePoints;
38
72
  }
73
+ declare class AdvancedMagnifyViewport {
74
+ private _viewportId;
75
+ private _sourceEnabledElement;
76
+ private _enabledElement;
77
+ private _sourceToolGroup;
78
+ private _magnifyToolGroup;
79
+ private _isViewportReady;
80
+ private _radius;
81
+ private _resized;
82
+ private _resizeViewportAsync;
83
+ private _canAutoPan;
84
+ private _autoPan;
85
+ position: Types.Point2;
86
+ zoomFactor: number;
87
+ visible: boolean;
88
+ constructor({ magnifyViewportId, sourceEnabledElement, radius, position, zoomFactor, autoPan, }: {
89
+ magnifyViewportId?: string;
90
+ sourceEnabledElement: Types.IEnabledElement;
91
+ radius?: number;
92
+ position?: Types.Point2;
93
+ zoomFactor: number;
94
+ autoPan: {
95
+ enabled: boolean;
96
+ padding: number;
97
+ callback: AutoPanCallback;
98
+ };
99
+ });
100
+ get sourceEnabledElement(): Types.IEnabledElement;
101
+ get viewportId(): string;
102
+ get radius(): number;
103
+ set radius(radius: number);
104
+ update(): void;
105
+ dispose(): void;
106
+ private _handleToolModeChanged;
107
+ private _inheritBorderRadius;
108
+ private _createViewportNode;
109
+ private _convertZoomFactorToParallelScale;
110
+ private _isStackViewport;
111
+ private _isVolumeViewport;
112
+ private _cloneToolGroups;
113
+ private _cloneStack;
114
+ private _cloneVolumes;
115
+ private _cloneViewport;
116
+ private _cancelMouseEventCallback;
117
+ private _browserMouseUpCallback;
118
+ private _browserMouseDownCallback;
119
+ private _mouseDragCallback;
120
+ private _addBrowserEventListeners;
121
+ private _removeBrowserEventListeners;
122
+ private _addEventListeners;
123
+ private _removeEventListeners;
124
+ private _initialize;
125
+ private _syncViewportsCameras;
126
+ private _syncStackViewports;
127
+ private _syncViewports;
128
+ private _resizeViewport;
129
+ }
39
130
  export { AdvancedMagnifyTool as default };