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

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 (249) 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 +2 -1
  31. package/dist/esm/index.js +2 -1
  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 +0 -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 +2 -3
  173. package/dist/esm/tools/annotation/CircleROITool.js +7 -8
  174. package/dist/esm/tools/annotation/CobbAngleTool.js +1 -1
  175. package/dist/esm/tools/annotation/EllipticalROITool.js +5 -6
  176. package/dist/esm/tools/annotation/HeightTool.js +2 -3
  177. package/dist/esm/tools/annotation/KeyImageTool.js +1 -1
  178. package/dist/esm/tools/annotation/LengthTool.js +2 -3
  179. package/dist/esm/tools/annotation/LivewireContourTool.js +3 -2
  180. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
  181. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +7 -7
  182. package/dist/esm/tools/annotation/ProbeTool.js +3 -4
  183. package/dist/esm/tools/annotation/RectangleROITool.js +5 -6
  184. package/dist/esm/tools/annotation/SplineROITool.js +7 -4
  185. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +6 -7
  186. package/dist/esm/tools/annotation/VideoRedactionTool.js +1 -1
  187. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +1 -1
  188. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
  189. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +2 -2
  190. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  191. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +1 -1
  192. package/dist/esm/tools/base/ContourBaseTool.js +2 -2
  193. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +24 -15
  194. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +9 -8
  195. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +3 -3
  196. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +2 -1
  197. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -8
  198. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +19 -25
  199. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +10 -7
  200. package/dist/esm/tools/segmentation/BrushTool.js +10 -8
  201. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +4 -5
  202. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +7 -9
  203. package/dist/esm/tools/segmentation/SegmentSelectTool.js +1 -1
  204. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +4 -4
  205. package/dist/esm/utilities/annotationHydration.js +1 -1
  206. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +1 -1
  207. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +2 -2
  208. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +1 -1
  209. package/dist/esm/utilities/contours/getContourHolesDataWorld.js +1 -1
  210. package/dist/esm/utilities/contours/index.d.ts +1 -2
  211. package/dist/esm/utilities/contours/index.js +1 -2
  212. package/dist/esm/utilities/contours/updateContourPolyline.js +1 -1
  213. package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
  214. package/dist/esm/utilities/index.d.ts +1 -2
  215. package/dist/esm/utilities/index.js +1 -2
  216. package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +3 -3
  217. package/dist/esm/utilities/math/polyline/isClosed.js +2 -2
  218. package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.js +3 -3
  219. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +1 -1
  220. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +1 -1
  221. package/dist/esm/utilities/segmentation/getBrushToolInstances.d.ts +1 -0
  222. package/dist/esm/utilities/segmentation/getBrushToolInstances.js +17 -0
  223. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.d.ts +0 -2
  224. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +3 -22
  225. package/dist/esm/utilities/segmentation/index.d.ts +2 -2
  226. package/dist/esm/utilities/segmentation/index.js +2 -2
  227. package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +1 -4
  228. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +2 -1
  229. package/dist/esm/utilities/segmentation/segmentContourAction.js +5 -5
  230. package/dist/esm/utilities/segmentation/utilities.d.ts +4 -1
  231. package/dist/esm/utilities/segmentation/utilities.js +23 -17
  232. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +2 -2
  233. package/dist/umd/985.index.js.map +1 -1
  234. package/dist/umd/index.js +2 -1
  235. package/dist/umd/index.js.LICENSE.txt +6 -0
  236. package/dist/umd/index.js.map +1 -1
  237. package/package.json +5 -4
  238. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +0 -17
  239. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +0 -50
  240. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.d.ts +0 -2
  241. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationRepresentationRenderingConfig.js +0 -11
  242. package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +0 -76
  243. package/dist/esm/tools/AdvancedMagnifyViewport.js +0 -351
  244. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +0 -38
  245. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +0 -161
  246. package/dist/esm/utilities/contours/interpolation/index.d.ts +0 -2
  247. package/dist/esm/utilities/contours/interpolation/index.js +0 -2
  248. package/dist/esm/utilities/segmentation/triggerSegmentationRender.d.ts +0 -3
  249. package/dist/esm/utilities/segmentation/triggerSegmentationRender.js +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/tools",
3
- "version": "2.0.0-beta.21",
3
+ "version": "2.0.0-beta.22",
4
4
  "description": "Cornerstone3D Tools",
5
5
  "main": "dist/umd/index.js",
6
6
  "types": "dist/esm/index.d.ts",
@@ -25,16 +25,17 @@
25
25
  "build:umd": "cross-env NODE_ENV=production webpack --config .webpack/webpack.prod.js",
26
26
  "build:all": "yarn run build:umd && yarn run build:esm",
27
27
  "build": "yarn run build:all",
28
- "api-check": "api-extractor --debug run",
29
28
  "clean": "rm -rf node_modules/.cache/storybook && shx rm -rf dist",
30
29
  "clean:deep": "yarn run clean && shx rm -rf node_modules",
31
30
  "dev": "tsc --project ./tsconfig.esm.json --watch",
32
31
  "build:update-api": "yarn run build:esm && api-extractor run --local",
32
+ "format-check": "npx eslint ./src --quiet",
33
+ "api-check": "api-extractor --debug run ",
33
34
  "prepublishOnly": "yarn run build",
34
35
  "webpack:watch": "webpack --mode development --progress --watch --config ./.webpack/webpack.dev.js"
35
36
  },
36
37
  "dependencies": {
37
- "@cornerstonejs/core": "^2.0.0-beta.21",
38
+ "@cornerstonejs/core": "^2.0.0-beta.22",
38
39
  "@types/offscreencanvas": "2019.7.3",
39
40
  "comlink": "^4.4.1",
40
41
  "lodash.get": "^4.4.2"
@@ -61,5 +62,5 @@
61
62
  "type": "individual",
62
63
  "url": "https://ohif.org/donate"
63
64
  },
64
- "gitHead": "de2d08d4edbae4ca48831cc44a57737717b10b22"
65
+ "gitHead": "2728527bed3e9fba859b637cb87671da16b79c07"
65
66
  }
@@ -1,17 +0,0 @@
1
- declare function computeVolumeSegmentationFromStack({ imageIds, options, }: {
2
- imageIds: string[];
3
- options?: {
4
- volumeId?: string;
5
- };
6
- }): Promise<{
7
- volumeId: string;
8
- }>;
9
- declare function convertStackToVolumeSegmentation({ segmentationId, options, }: {
10
- segmentationId: string;
11
- options?: {
12
- viewportId: string;
13
- volumeId?: string;
14
- removeOriginal?: boolean;
15
- };
16
- }): Promise<void>;
17
- export { convertStackToVolumeSegmentation, computeVolumeSegmentationFromStack };
@@ -1,50 +0,0 @@
1
- import { volumeLoader, utilities as csUtils, eventTarget, cache, } from '@cornerstonejs/core';
2
- import { Events, SegmentationRepresentations } from '../../enums';
3
- import addSegmentationRepresentations from './addSegmentationRepresentations';
4
- import { triggerSegmentationRender } from '../../utilities/segmentation';
5
- import { getSegmentation } from './segmentationState';
6
- import { triggerSegmentationDataModified } from './triggerSegmentationEvents';
7
- async function computeVolumeSegmentationFromStack({ imageIds, options, }) {
8
- const segmentationImageIds = imageIds;
9
- const volumeId = options?.volumeId ?? csUtils.uuidv4();
10
- await volumeLoader.createAndCacheVolumeFromImages(volumeId, segmentationImageIds);
11
- return { volumeId };
12
- }
13
- async function convertStackToVolumeSegmentation({ segmentationId, options, }) {
14
- const segmentation = getSegmentation(segmentationId);
15
- const data = segmentation.representationData
16
- .LABELMAP;
17
- const { volumeId } = await computeVolumeSegmentationFromStack({
18
- imageIds: data.imageIds,
19
- options,
20
- });
21
- await updateSegmentationState({
22
- segmentationId,
23
- viewportId: options.viewportId,
24
- options,
25
- volumeId,
26
- });
27
- }
28
- async function updateSegmentationState({ segmentationId, viewportId, volumeId, options, }) {
29
- const segmentation = getSegmentation(segmentationId);
30
- if (options?.removeOriginal) {
31
- const data = segmentation.representationData
32
- .LABELMAP;
33
- const { imageIds } = data;
34
- imageIds.forEach((imageId) => {
35
- cache.removeImageLoadObject(imageId);
36
- });
37
- segmentation.representationData.LABELMAP = {
38
- volumeId,
39
- };
40
- }
41
- else {
42
- segmentation.representationData.LABELMAP = {
43
- ...segmentation.representationData.LABELMAP,
44
- volumeId,
45
- };
46
- }
47
- triggerSegmentationRender(viewportId);
48
- eventTarget.addEventListenerOnce(Events.SEGMENTATION_RENDERED, () => triggerSegmentationDataModified(segmentationId));
49
- }
50
- export { convertStackToVolumeSegmentation, computeVolumeSegmentationFromStack };
@@ -1,2 +0,0 @@
1
- import type { RepresentationPublicInput } from '../../../types';
2
- export declare function getSegmentationRepresentationRenderingConfig(representationInput: RepresentationPublicInput): {};
@@ -1,11 +0,0 @@
1
- import SegmentationRepresentations from '../../../enums/SegmentationRepresentations';
2
- import { getSegmentationRepresentationRenderingConfig as getLabelmapRenderingConfig } from '../../../tools/displayTools/Labelmap/labelmapDisplay';
3
- export function getSegmentationRepresentationRenderingConfig(representationInput) {
4
- const { type } = representationInput;
5
- if (type === SegmentationRepresentations.Labelmap) {
6
- return getLabelmapRenderingConfig();
7
- }
8
- else {
9
- return {};
10
- }
11
- }
@@ -1,76 +0,0 @@
1
- import type { Types } from '@cornerstonejs/core';
2
- export type AutoPanCallbackData = {
3
- points: {
4
- currentPosition: {
5
- canvas: Types.Point2;
6
- world: Types.Point3;
7
- };
8
- newPosition: {
9
- canvas: Types.Point2;
10
- world: Types.Point3;
11
- };
12
- };
13
- delta: {
14
- canvas: Types.Point2;
15
- world: Types.Point3;
16
- };
17
- };
18
- export type AutoPanCallback = (data: AutoPanCallbackData) => void;
19
- declare class AdvancedMagnifyViewport {
20
- private _viewportId;
21
- private _sourceEnabledElement;
22
- private _enabledElement;
23
- private _sourceToolGroup;
24
- private _magnifyToolGroup;
25
- private _isViewportReady;
26
- private _radius;
27
- private _resized;
28
- private _resizeViewportAsync;
29
- private _canAutoPan;
30
- private _autoPan;
31
- position: Types.Point2;
32
- zoomFactor: number;
33
- visible: boolean;
34
- constructor({ magnifyViewportId, sourceEnabledElement, radius, position, zoomFactor, autoPan, }: {
35
- magnifyViewportId?: string;
36
- sourceEnabledElement: Types.IEnabledElement;
37
- radius?: number;
38
- position?: Types.Point2;
39
- zoomFactor: number;
40
- autoPan: {
41
- enabled: boolean;
42
- padding: number;
43
- callback: AutoPanCallback;
44
- };
45
- });
46
- get sourceEnabledElement(): Types.IEnabledElement;
47
- get viewportId(): string;
48
- get radius(): number;
49
- set radius(radius: number);
50
- update(): void;
51
- dispose(): void;
52
- private _handleToolModeChanged;
53
- private _inheritBorderRadius;
54
- private _createViewportNode;
55
- private _convertZoomFactorToParallelScale;
56
- private _isStackViewport;
57
- private _isVolumeViewport;
58
- private _cloneToolGroups;
59
- private _cloneStack;
60
- private _cloneVolumes;
61
- private _cloneViewport;
62
- private _cancelMouseEventCallback;
63
- private _browserMouseUpCallback;
64
- private _browserMouseDownCallback;
65
- private _mouseDragCallback;
66
- private _addBrowserEventListeners;
67
- private _removeBrowserEventListeners;
68
- private _addEventListeners;
69
- private _removeEventListeners;
70
- private _initialize;
71
- private _syncViewportsCameras;
72
- private _syncStackViewports;
73
- private _syncViewports;
74
- private _resizeViewport;
75
- }
76
- export { AdvancedMagnifyViewport as default, AdvancedMagnifyViewport };
@@ -1,351 +0,0 @@
1
- import { vec2, vec3 } from 'gl-matrix';
2
- import { getEnabledElement, eventTarget, utilities as csUtils, } from '@cornerstonejs/core';
3
- import { SegmentationRepresentations, ToolModes, Events as cstEvents, } from '../enums';
4
- import { ToolGroupManager, state } from '../store';
5
- import { debounce } from '../utilities';
6
- import { segmentation } from '..';
7
- import { AnnotationTool, AdvancedMagnifyTool } from './';
8
- import { distanceToPoint } from '../utilities/math/point';
9
- const MAGNIFY_CLASSNAME = 'advancedMagnifyTool';
10
- const MAGNIFY_VIEWPORT_INITIAL_RADIUS = 125;
11
- const isSegmentation = (actor) => actor.uid !== actor.referencedId;
12
- class AdvancedMagnifyViewport {
13
- constructor({ magnifyViewportId, sourceEnabledElement, radius = MAGNIFY_VIEWPORT_INITIAL_RADIUS, position = [0, 0], zoomFactor, autoPan, }) {
14
- this._enabledElement = null;
15
- this._sourceToolGroup = null;
16
- this._magnifyToolGroup = null;
17
- this._isViewportReady = false;
18
- this._radius = 0;
19
- this._resized = false;
20
- this._canAutoPan = false;
21
- this._viewportId = magnifyViewportId ?? csUtils.uuidv4();
22
- this._sourceEnabledElement = sourceEnabledElement;
23
- this._autoPan = autoPan;
24
- this.radius = radius;
25
- this.position = position;
26
- this.zoomFactor = zoomFactor;
27
- this.visible = true;
28
- this._browserMouseDownCallback = this._browserMouseDownCallback.bind(this);
29
- this._browserMouseUpCallback = this._browserMouseUpCallback.bind(this);
30
- this._handleToolModeChanged = this._handleToolModeChanged.bind(this);
31
- this._mouseDragCallback = this._mouseDragCallback.bind(this);
32
- this._resizeViewportAsync = (debounce(this._resizeViewport.bind(this), 1));
33
- this._initialize();
34
- }
35
- get sourceEnabledElement() {
36
- return this._sourceEnabledElement;
37
- }
38
- get viewportId() {
39
- return this._viewportId;
40
- }
41
- get radius() {
42
- return this._radius;
43
- }
44
- set radius(radius) {
45
- if (Math.abs(this._radius - radius) > 0.00001) {
46
- this._radius = radius;
47
- this._resized = true;
48
- }
49
- }
50
- update() {
51
- const { radius, position, visible } = this;
52
- const { viewport } = this._enabledElement;
53
- const { element } = viewport;
54
- const size = 2 * radius;
55
- const [x, y] = position;
56
- if (this._resized) {
57
- this._resizeViewportAsync();
58
- this._resized = false;
59
- }
60
- Object.assign(element.style, {
61
- display: visible ? 'block' : 'hidden',
62
- width: `${size}px`,
63
- height: `${size}px`,
64
- left: `${-radius}px`,
65
- top: `${-radius}px`,
66
- transform: `translate(${x}px, ${y}px)`,
67
- });
68
- if (this._isViewportReady) {
69
- this._syncViewports();
70
- viewport.render();
71
- }
72
- }
73
- dispose() {
74
- const { viewport } = this._enabledElement;
75
- const { element } = viewport;
76
- const renderingEngine = viewport.getRenderingEngine();
77
- this._removeEventListeners(element);
78
- renderingEngine.disableElement(viewport.id);
79
- if (element.parentNode) {
80
- element.parentNode.removeChild(element);
81
- }
82
- }
83
- _handleToolModeChanged(evt) {
84
- const { _magnifyToolGroup: magnifyToolGroup } = this;
85
- const { toolGroupId, toolName, mode, toolBindingsOptions } = evt.detail;
86
- if (this._sourceToolGroup?.id !== toolGroupId) {
87
- return;
88
- }
89
- switch (mode) {
90
- case ToolModes.Active:
91
- magnifyToolGroup.setToolActive(toolName, toolBindingsOptions);
92
- break;
93
- case ToolModes.Passive:
94
- magnifyToolGroup.setToolPassive(toolName);
95
- break;
96
- case ToolModes.Enabled:
97
- magnifyToolGroup.setToolEnabled(toolName);
98
- break;
99
- case ToolModes.Disabled:
100
- magnifyToolGroup.setToolDisabled(toolName);
101
- break;
102
- default:
103
- throw new Error(`Unknow tool mode (${mode})`);
104
- }
105
- }
106
- _inheritBorderRadius(magnifyElement) {
107
- const viewport = magnifyElement.querySelector('.viewport-element');
108
- const canvas = magnifyElement.querySelector('.cornerstone-canvas');
109
- viewport.style.borderRadius = 'inherit';
110
- canvas.style.borderRadius = 'inherit';
111
- }
112
- _createViewportNode() {
113
- const magnifyElement = document.createElement('div');
114
- const { radius } = this;
115
- const size = radius * 2;
116
- magnifyElement.classList.add(MAGNIFY_CLASSNAME);
117
- Object.assign(magnifyElement.style, {
118
- display: 'block',
119
- width: `${size}px`,
120
- height: `${size}px`,
121
- position: 'absolute',
122
- overflow: 'hidden',
123
- borderRadius: '50%',
124
- boxSizing: 'border-box',
125
- left: `${-radius}px`,
126
- top: `${-radius}px`,
127
- transform: `translate(-1000px, -1000px)`,
128
- });
129
- return magnifyElement;
130
- }
131
- _convertZoomFactorToParallelScale(viewport, magnifyViewport, zoomFactor) {
132
- const { parallelScale } = viewport.getCamera();
133
- const canvasRatio = magnifyViewport.canvas.offsetWidth / viewport.canvas.offsetWidth;
134
- return parallelScale * (1 / zoomFactor) * canvasRatio;
135
- }
136
- _isStackViewport(viewport) {
137
- return 'setStack' in viewport;
138
- }
139
- _isVolumeViewport(viewport) {
140
- return 'addVolumes' in viewport;
141
- }
142
- _cloneToolGroups(sourceViewport, magnifyViewport) {
143
- const sourceActors = sourceViewport.getActors();
144
- const magnifyToolGroupId = `${magnifyViewport.id}-toolGroup`;
145
- const sourceToolGroup = ToolGroupManager.getToolGroupForViewport(sourceViewport.id, sourceViewport.renderingEngineId);
146
- const magnifyToolGroup = sourceToolGroup.clone(magnifyToolGroupId, (toolName) => {
147
- const toolInstance = sourceToolGroup.getToolInstance(toolName);
148
- const isAnnotationTool = toolInstance instanceof AnnotationTool &&
149
- !(toolInstance instanceof AdvancedMagnifyTool);
150
- return isAnnotationTool;
151
- });
152
- magnifyToolGroup.addViewport(magnifyViewport.id, magnifyViewport.renderingEngineId);
153
- sourceActors.filter(isSegmentation).forEach((actor) => {
154
- segmentation.addSegmentationRepresentations(this.viewportId, [
155
- {
156
- segmentationId: actor.referencedId,
157
- type: SegmentationRepresentations.Labelmap,
158
- },
159
- ]);
160
- });
161
- return { sourceToolGroup, magnifyToolGroup };
162
- }
163
- _cloneStack(sourceViewport, magnifyViewport) {
164
- const imageIds = sourceViewport.getImageIds();
165
- magnifyViewport.setStack(imageIds).then(() => {
166
- this._isViewportReady = true;
167
- this.update();
168
- });
169
- }
170
- _cloneVolumes(sourceViewport, magnifyViewport) {
171
- const actors = sourceViewport.getActors();
172
- const volumeInputArray = actors
173
- .filter((actor) => !isSegmentation(actor))
174
- .map((actor) => ({ volumeId: actor.uid }));
175
- magnifyViewport.setVolumes(volumeInputArray).then(() => {
176
- this._isViewportReady = true;
177
- this.update();
178
- });
179
- return magnifyViewport;
180
- }
181
- _cloneViewport(sourceViewport, magnifyElement) {
182
- const { viewportId: magnifyViewportId } = this;
183
- const renderingEngine = sourceViewport.getRenderingEngine();
184
- const { options: sourceViewportOptions } = sourceViewport;
185
- const viewportInput = {
186
- element: magnifyElement,
187
- viewportId: magnifyViewportId,
188
- type: sourceViewport.type,
189
- defaultOptions: { ...sourceViewportOptions },
190
- };
191
- renderingEngine.enableElement(viewportInput);
192
- const magnifyViewport = (renderingEngine.getViewport(magnifyViewportId));
193
- if (this._isStackViewport(sourceViewport)) {
194
- this._cloneStack(sourceViewport, magnifyViewport);
195
- }
196
- else if (this._isVolumeViewport(sourceViewport)) {
197
- this._cloneVolumes(sourceViewport, magnifyViewport);
198
- }
199
- this._inheritBorderRadius(magnifyElement);
200
- const toolGroups = this._cloneToolGroups(sourceViewport, magnifyViewport);
201
- this._sourceToolGroup = toolGroups.sourceToolGroup;
202
- this._magnifyToolGroup = toolGroups.magnifyToolGroup;
203
- }
204
- _cancelMouseEventCallback(evt) {
205
- evt.stopPropagation();
206
- evt.preventDefault();
207
- }
208
- _browserMouseUpCallback(evt) {
209
- const { element } = this._enabledElement.viewport;
210
- document.removeEventListener('mouseup', this._browserMouseUpCallback);
211
- element.addEventListener('mouseup', this._cancelMouseEventCallback);
212
- element.addEventListener('mousemove', this._cancelMouseEventCallback);
213
- }
214
- _browserMouseDownCallback(evt) {
215
- const { element } = this._enabledElement.viewport;
216
- this._canAutoPan = !!evt.target?.closest('.advancedMagnifyTool');
217
- document.addEventListener('mouseup', this._browserMouseUpCallback);
218
- element.removeEventListener('mouseup', this._cancelMouseEventCallback);
219
- element.removeEventListener('mousemove', this._cancelMouseEventCallback);
220
- }
221
- _mouseDragCallback(evt) {
222
- if (!state.isInteractingWithTool) {
223
- return;
224
- }
225
- const { _autoPan: autoPan } = this;
226
- if (!autoPan.enabled || !this._canAutoPan) {
227
- return;
228
- }
229
- const { currentPoints } = evt.detail;
230
- const { viewport } = this._enabledElement;
231
- const { canvasToWorld } = viewport;
232
- const { canvas: canvasCurrent } = currentPoints;
233
- const { radius: magnifyRadius } = this;
234
- const canvasCenter = [magnifyRadius, magnifyRadius];
235
- const dist = distanceToPoint(canvasCenter, canvasCurrent);
236
- const maxDist = magnifyRadius - autoPan.padding;
237
- if (dist <= maxDist) {
238
- return;
239
- }
240
- const panDist = dist - maxDist;
241
- const canvasDeltaPos = vec2.sub(vec2.create(), canvasCurrent, canvasCenter);
242
- vec2.normalize(canvasDeltaPos, canvasDeltaPos);
243
- vec2.scale(canvasDeltaPos, canvasDeltaPos, panDist);
244
- const newCanvasPosition = vec2.add(vec2.create(), this.position, canvasDeltaPos);
245
- const currentWorldPos = canvasToWorld(this.position);
246
- const newWorldPos = canvasToWorld(newCanvasPosition);
247
- const worldDeltaPos = vec3.sub(vec3.create(), newWorldPos, currentWorldPos);
248
- const autoPanCallbackData = {
249
- points: {
250
- currentPosition: {
251
- canvas: this.position,
252
- world: currentWorldPos,
253
- },
254
- newPosition: {
255
- canvas: newCanvasPosition,
256
- world: newWorldPos,
257
- },
258
- },
259
- delta: {
260
- canvas: canvasDeltaPos,
261
- world: worldDeltaPos,
262
- },
263
- };
264
- autoPan.callback(autoPanCallbackData);
265
- }
266
- _addBrowserEventListeners(element) {
267
- document.addEventListener('mousedown', this._browserMouseDownCallback, true);
268
- element.addEventListener('mousedown', this._cancelMouseEventCallback);
269
- element.addEventListener('mouseup', this._cancelMouseEventCallback);
270
- element.addEventListener('mousemove', this._cancelMouseEventCallback);
271
- element.addEventListener('dblclick', this._cancelMouseEventCallback);
272
- }
273
- _removeBrowserEventListeners(element) {
274
- document.removeEventListener('mousedown', this._browserMouseDownCallback, true);
275
- document.removeEventListener('mouseup', this._browserMouseUpCallback);
276
- element.removeEventListener('mousedown', this._cancelMouseEventCallback);
277
- element.removeEventListener('mouseup', this._cancelMouseEventCallback);
278
- element.removeEventListener('mousemove', this._cancelMouseEventCallback);
279
- element.removeEventListener('dblclick', this._cancelMouseEventCallback);
280
- }
281
- _addEventListeners(element) {
282
- eventTarget.addEventListener(cstEvents.TOOL_MODE_CHANGED, this._handleToolModeChanged);
283
- element.addEventListener(cstEvents.MOUSE_MOVE, this._mouseDragCallback);
284
- element.addEventListener(cstEvents.MOUSE_DRAG, this._mouseDragCallback);
285
- this._addBrowserEventListeners(element);
286
- }
287
- _removeEventListeners(element) {
288
- eventTarget.removeEventListener(cstEvents.TOOL_MODE_CHANGED, this._handleToolModeChanged);
289
- element.addEventListener(cstEvents.MOUSE_MOVE, this._mouseDragCallback);
290
- element.addEventListener(cstEvents.MOUSE_DRAG, this._mouseDragCallback);
291
- this._removeBrowserEventListeners(element);
292
- }
293
- _initialize() {
294
- const { _sourceEnabledElement: sourceEnabledElement } = this;
295
- const { viewport: sourceViewport } = sourceEnabledElement;
296
- const { canvas: sourceCanvas } = sourceViewport;
297
- const magnifyElement = this._createViewportNode();
298
- sourceCanvas.parentNode.appendChild(magnifyElement);
299
- this._addEventListeners(magnifyElement);
300
- this._cloneViewport(sourceViewport, magnifyElement);
301
- this._enabledElement = getEnabledElement(magnifyElement);
302
- }
303
- _syncViewportsCameras(sourceViewport, magnifyViewport) {
304
- const worldPos = sourceViewport.canvasToWorld(this.position);
305
- const parallelScale = this._convertZoomFactorToParallelScale(sourceViewport, magnifyViewport, this.zoomFactor);
306
- const { focalPoint, position, viewPlaneNormal } = magnifyViewport.getCamera();
307
- const distance = Math.sqrt(Math.pow(focalPoint[0] - position[0], 2) +
308
- Math.pow(focalPoint[1] - position[1], 2) +
309
- Math.pow(focalPoint[2] - position[2], 2));
310
- const updatedFocalPoint = [
311
- worldPos[0],
312
- worldPos[1],
313
- worldPos[2],
314
- ];
315
- const updatedPosition = [
316
- updatedFocalPoint[0] + distance * viewPlaneNormal[0],
317
- updatedFocalPoint[1] + distance * viewPlaneNormal[1],
318
- updatedFocalPoint[2] + distance * viewPlaneNormal[2],
319
- ];
320
- magnifyViewport.setCamera({
321
- parallelScale,
322
- focalPoint: updatedFocalPoint,
323
- position: updatedPosition,
324
- });
325
- }
326
- _syncStackViewports(sourceViewport, magnifyViewport) {
327
- magnifyViewport.setImageIdIndex(sourceViewport.getCurrentImageIdIndex());
328
- }
329
- _syncViewports() {
330
- const { viewport: sourceViewport } = this._sourceEnabledElement;
331
- const { viewport: magnifyViewport } = this._enabledElement;
332
- const sourceProperties = sourceViewport.getProperties();
333
- const imageData = magnifyViewport.getImageData();
334
- if (!imageData) {
335
- return;
336
- }
337
- magnifyViewport.setProperties(sourceProperties);
338
- this._syncViewportsCameras(sourceViewport, magnifyViewport);
339
- if (this._isStackViewport(sourceViewport)) {
340
- this._syncStackViewports(sourceViewport, magnifyViewport);
341
- }
342
- this._syncViewportsCameras(sourceViewport, magnifyViewport);
343
- magnifyViewport.render();
344
- }
345
- _resizeViewport() {
346
- const { viewport } = this._enabledElement;
347
- const renderingEngine = viewport.getRenderingEngine();
348
- renderingEngine.resize();
349
- }
350
- }
351
- export { AdvancedMagnifyViewport as default, AdvancedMagnifyViewport };
@@ -1,38 +0,0 @@
1
- import type { Types } from '@cornerstonejs/core';
2
- import type { AutoPanCallback } from './AdvancedMagnifyViewport';
3
- import { AdvancedMagnifyViewport } from './AdvancedMagnifyViewport';
4
- import type { AdvancedMagnifyAnnotation } from '../types/ToolSpecificAnnotationTypes';
5
- export type MagnifyViewportInfo = {
6
- magnifyViewportId?: string;
7
- sourceEnabledElement: Types.IEnabledElement;
8
- position: Types.Point2;
9
- radius: number;
10
- zoomFactor: number;
11
- autoPan: {
12
- enabled: boolean;
13
- padding: number;
14
- callback: AutoPanCallback;
15
- };
16
- };
17
- declare class AdvancedMagnifyViewportManager {
18
- private static _singleton;
19
- private _magnifyViewportsMap;
20
- constructor();
21
- static getInstance(): AdvancedMagnifyViewportManager;
22
- createViewport: (annotation: AdvancedMagnifyAnnotation, viewportInfo: MagnifyViewportInfo) => AdvancedMagnifyViewport;
23
- getViewport(magnifyViewportId: string): AdvancedMagnifyViewport;
24
- dispose(): void;
25
- destroyViewport(magnifyViewportId: string): void;
26
- private _destroyViewports;
27
- private _annotationRemovedCallback;
28
- private _getMagnifyViewportsMapEntriesBySourceViewportId;
29
- private _newStackImageCallback;
30
- private _newVolumeImageCallback;
31
- private _reset;
32
- private _addEventListeners;
33
- private _removeEventListeners;
34
- private _addSourceElementEventListener;
35
- private _removeSourceElementEventListener;
36
- private _initialize;
37
- }
38
- export { AdvancedMagnifyViewportManager as default, AdvancedMagnifyViewportManager, };