@cornerstonejs/tools 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1417) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/cursors/ImageMouseCursor.d.ts +9 -0
  4. package/dist/cjs/cursors/ImageMouseCursor.js +29 -0
  5. package/dist/cjs/cursors/ImageMouseCursor.js.map +1 -0
  6. package/dist/cjs/cursors/MouseCursor.d.ts +12 -0
  7. package/dist/cjs/cursors/MouseCursor.js +93 -0
  8. package/dist/cjs/cursors/MouseCursor.js.map +1 -0
  9. package/dist/cjs/cursors/SVGCursorDescriptor.d.ts +8 -0
  10. package/dist/cjs/cursors/SVGCursorDescriptor.js +404 -0
  11. package/dist/cjs/cursors/SVGCursorDescriptor.js.map +1 -0
  12. package/dist/cjs/cursors/SVGMouseCursor.d.ts +6 -0
  13. package/dist/cjs/cursors/SVGMouseCursor.js +78 -0
  14. package/dist/cjs/cursors/SVGMouseCursor.js.map +1 -0
  15. package/dist/cjs/cursors/elementCursor.d.ts +6 -0
  16. package/dist/cjs/cursors/elementCursor.js +43 -0
  17. package/dist/cjs/cursors/elementCursor.js.map +1 -0
  18. package/dist/cjs/cursors/index.d.ts +8 -0
  19. package/dist/cjs/cursors/index.js +40 -0
  20. package/dist/cjs/cursors/index.js.map +1 -0
  21. package/dist/cjs/cursors/setCursorForElement.d.ts +2 -0
  22. package/dist/cjs/cursors/setCursorForElement.js +21 -0
  23. package/dist/cjs/cursors/setCursorForElement.js.map +1 -0
  24. package/dist/cjs/drawingSvg/_getHash.d.ts +2 -0
  25. package/dist/cjs/drawingSvg/_getHash.js +7 -0
  26. package/dist/cjs/drawingSvg/_getHash.js.map +1 -0
  27. package/dist/cjs/drawingSvg/_setAttributesIfNecessary.d.ts +2 -0
  28. package/dist/cjs/drawingSvg/_setAttributesIfNecessary.js +18 -0
  29. package/dist/cjs/drawingSvg/_setAttributesIfNecessary.js.map +1 -0
  30. package/dist/cjs/drawingSvg/_setNewAttributesIfValid.d.ts +2 -0
  31. package/dist/cjs/drawingSvg/_setNewAttributesIfValid.js +14 -0
  32. package/dist/cjs/drawingSvg/_setNewAttributesIfValid.js.map +1 -0
  33. package/dist/cjs/drawingSvg/clearByToolType.d.ts +2 -0
  34. package/dist/cjs/drawingSvg/clearByToolType.js +19 -0
  35. package/dist/cjs/drawingSvg/clearByToolType.js.map +1 -0
  36. package/dist/cjs/drawingSvg/draw.d.ts +2 -0
  37. package/dist/cjs/drawingSvg/draw.js +13 -0
  38. package/dist/cjs/drawingSvg/draw.js.map +1 -0
  39. package/dist/cjs/drawingSvg/drawCircle.d.ts +3 -0
  40. package/dist/cjs/drawingSvg/drawCircle.js +39 -0
  41. package/dist/cjs/drawingSvg/drawCircle.js.map +1 -0
  42. package/dist/cjs/drawingSvg/drawEllipse.d.ts +3 -0
  43. package/dist/cjs/drawingSvg/drawEllipse.js +48 -0
  44. package/dist/cjs/drawingSvg/drawEllipse.js.map +1 -0
  45. package/dist/cjs/drawingSvg/drawHandles.d.ts +3 -0
  46. package/dist/cjs/drawingSvg/drawHandles.js +66 -0
  47. package/dist/cjs/drawingSvg/drawHandles.js.map +1 -0
  48. package/dist/cjs/drawingSvg/drawLine.d.ts +2 -0
  49. package/dist/cjs/drawingSvg/drawLine.js +43 -0
  50. package/dist/cjs/drawingSvg/drawLine.js.map +1 -0
  51. package/dist/cjs/drawingSvg/drawLink.d.ts +4 -0
  52. package/dist/cjs/drawingSvg/drawLink.js +32 -0
  53. package/dist/cjs/drawingSvg/drawLink.js.map +1 -0
  54. package/dist/cjs/drawingSvg/drawLinkedTextBox.d.ts +3 -0
  55. package/dist/cjs/drawingSvg/drawLinkedTextBox.js +21 -0
  56. package/dist/cjs/drawingSvg/drawLinkedTextBox.js.map +1 -0
  57. package/dist/cjs/drawingSvg/drawRect.d.ts +2 -0
  58. package/dist/cjs/drawingSvg/drawRect.js +44 -0
  59. package/dist/cjs/drawingSvg/drawRect.js.map +1 -0
  60. package/dist/cjs/drawingSvg/drawTextBox.d.ts +3 -0
  61. package/dist/cjs/drawingSvg/drawTextBox.js +117 -0
  62. package/dist/cjs/drawingSvg/drawTextBox.js.map +1 -0
  63. package/dist/cjs/drawingSvg/getSvgDrawingHelper.d.ts +11 -0
  64. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +68 -0
  65. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -0
  66. package/dist/cjs/drawingSvg/index.d.ts +20 -0
  67. package/dist/cjs/drawingSvg/index.js +33 -0
  68. package/dist/cjs/drawingSvg/index.js.map +1 -0
  69. package/dist/cjs/enums/AnnotationStyleStates.d.ts +7 -0
  70. package/dist/cjs/enums/AnnotationStyleStates.js +11 -0
  71. package/dist/cjs/enums/AnnotationStyleStates.js.map +1 -0
  72. package/dist/cjs/enums/Events.d.ts +23 -0
  73. package/dist/cjs/enums/Events.js +27 -0
  74. package/dist/cjs/enums/Events.js.map +1 -0
  75. package/dist/cjs/enums/SegmentationRepresentations.d.ts +4 -0
  76. package/dist/cjs/enums/SegmentationRepresentations.js +8 -0
  77. package/dist/cjs/enums/SegmentationRepresentations.js.map +1 -0
  78. package/dist/cjs/enums/ToolBindings.d.ts +17 -0
  79. package/dist/cjs/enums/ToolBindings.js +24 -0
  80. package/dist/cjs/enums/ToolBindings.js.map +1 -0
  81. package/dist/cjs/enums/ToolModes.d.ts +7 -0
  82. package/dist/cjs/enums/ToolModes.js +11 -0
  83. package/dist/cjs/enums/ToolModes.js.map +1 -0
  84. package/dist/cjs/enums/index.d.ts +7 -0
  85. package/dist/cjs/enums/index.js +18 -0
  86. package/dist/cjs/enums/index.js.map +1 -0
  87. package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.d.ts +5 -0
  88. package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js +24 -0
  89. package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -0
  90. package/dist/cjs/eventDispatchers/cameraModifiedEventDispatcher.d.ts +5 -0
  91. package/dist/cjs/eventDispatchers/cameraModifiedEventDispatcher.js +32 -0
  92. package/dist/cjs/eventDispatchers/cameraModifiedEventDispatcher.js.map +1 -0
  93. package/dist/cjs/eventDispatchers/imageRenderedEventDispatcher.d.ts +5 -0
  94. package/dist/cjs/eventDispatchers/imageRenderedEventDispatcher.js +21 -0
  95. package/dist/cjs/eventDispatchers/imageRenderedEventDispatcher.js.map +1 -0
  96. package/dist/cjs/eventDispatchers/imageSpacingCalibratedEventDispatcher.d.ts +5 -0
  97. package/dist/cjs/eventDispatchers/imageSpacingCalibratedEventDispatcher.js +32 -0
  98. package/dist/cjs/eventDispatchers/imageSpacingCalibratedEventDispatcher.js.map +1 -0
  99. package/dist/cjs/eventDispatchers/index.d.ts +6 -0
  100. package/dist/cjs/eventDispatchers/index.js +17 -0
  101. package/dist/cjs/eventDispatchers/index.js.map +1 -0
  102. package/dist/cjs/eventDispatchers/keyboardEventHandlers/index.d.ts +3 -0
  103. package/dist/cjs/eventDispatchers/keyboardEventHandlers/index.js +11 -0
  104. package/dist/cjs/eventDispatchers/keyboardEventHandlers/index.js.map +1 -0
  105. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.d.ts +2 -0
  106. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js +21 -0
  107. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -0
  108. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.d.ts +2 -0
  109. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js +23 -0
  110. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -0
  111. package/dist/cjs/eventDispatchers/keyboardToolEventDispatcher.d.ts +5 -0
  112. package/dist/cjs/eventDispatchers/keyboardToolEventDispatcher.js +21 -0
  113. package/dist/cjs/eventDispatchers/keyboardToolEventDispatcher.js.map +1 -0
  114. package/dist/cjs/eventDispatchers/mouseEventHandlers/index.d.ts +9 -0
  115. package/dist/cjs/eventDispatchers/mouseEventHandlers/index.js +23 -0
  116. package/dist/cjs/eventDispatchers/mouseEventHandlers/index.js.map +1 -0
  117. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseClick.d.ts +2 -0
  118. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseClick.js +9 -0
  119. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseClick.js.map +1 -0
  120. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDoubleClick.d.ts +2 -0
  121. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDoubleClick.js +9 -0
  122. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDoubleClick.js.map +1 -0
  123. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +2 -0
  124. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js +83 -0
  125. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -0
  126. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +2 -0
  127. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +26 -0
  128. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownActivate.js.map +1 -0
  129. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +2 -0
  130. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDrag.js +20 -0
  131. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDrag.js.map +1 -0
  132. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +2 -0
  133. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseMove.js +35 -0
  134. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseMove.js.map +1 -0
  135. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseUp.d.ts +2 -0
  136. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseUp.js +9 -0
  137. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseUp.js.map +1 -0
  138. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseWheel.d.ts +2 -0
  139. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseWheel.js +9 -0
  140. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseWheel.js.map +1 -0
  141. package/dist/cjs/eventDispatchers/mouseToolEventDispatcher.d.ts +5 -0
  142. package/dist/cjs/eventDispatchers/mouseToolEventDispatcher.js +33 -0
  143. package/dist/cjs/eventDispatchers/mouseToolEventDispatcher.js.map +1 -0
  144. package/dist/cjs/eventDispatchers/shared/customCallbackHandler.d.ts +1 -0
  145. package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js +36 -0
  146. package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js.map +1 -0
  147. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.d.ts +2 -0
  148. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +29 -0
  149. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -0
  150. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +2 -0
  151. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +29 -0
  152. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -0
  153. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +5 -0
  154. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +27 -0
  155. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -0
  156. package/dist/cjs/eventListeners/annotations/annotationModifiedListener.d.ts +2 -0
  157. package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js +14 -0
  158. package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js.map +1 -0
  159. package/dist/cjs/eventListeners/annotations/annotationSelectionListener.d.ts +2 -0
  160. package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js +18 -0
  161. package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js.map +1 -0
  162. package/dist/cjs/eventListeners/annotations/index.d.ts +3 -0
  163. package/dist/cjs/eventListeners/annotations/index.js +11 -0
  164. package/dist/cjs/eventListeners/annotations/index.js.map +1 -0
  165. package/dist/cjs/eventListeners/index.d.ts +6 -0
  166. package/dist/cjs/eventListeners/index.js +19 -0
  167. package/dist/cjs/eventListeners/index.js.map +1 -0
  168. package/dist/cjs/eventListeners/keyboard/index.d.ts +9 -0
  169. package/dist/cjs/eventListeners/keyboard/index.js +35 -0
  170. package/dist/cjs/eventListeners/keyboard/index.js.map +1 -0
  171. package/dist/cjs/eventListeners/keyboard/keyDownListener.d.ts +4 -0
  172. package/dist/cjs/eventListeners/keyboard/keyDownListener.js +66 -0
  173. package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -0
  174. package/dist/cjs/eventListeners/mouse/getMouseEventPoints.d.ts +2 -0
  175. package/dist/cjs/eventListeners/mouse/getMouseEventPoints.js +32 -0
  176. package/dist/cjs/eventListeners/mouse/getMouseEventPoints.js.map +1 -0
  177. package/dist/cjs/eventListeners/mouse/index.d.ts +7 -0
  178. package/dist/cjs/eventListeners/mouse/index.js +24 -0
  179. package/dist/cjs/eventListeners/mouse/index.js.map +1 -0
  180. package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.d.ts +2 -0
  181. package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js +34 -0
  182. package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -0
  183. package/dist/cjs/eventListeners/mouse/mouseDownListener.d.ts +3 -0
  184. package/dist/cjs/eventListeners/mouse/mouseDownListener.js +166 -0
  185. package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -0
  186. package/dist/cjs/eventListeners/mouse/mouseMoveListener.d.ts +2 -0
  187. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +27 -0
  188. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -0
  189. package/dist/cjs/eventListeners/segmentation/index.d.ts +3 -0
  190. package/dist/cjs/eventListeners/segmentation/index.js +11 -0
  191. package/dist/cjs/eventListeners/segmentation/index.js.map +1 -0
  192. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts +3 -0
  193. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +62 -0
  194. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -0
  195. package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.d.ts +3 -0
  196. package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js +12 -0
  197. package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -0
  198. package/dist/cjs/eventListeners/wheel/index.d.ts +7 -0
  199. package/dist/cjs/eventListeners/wheel/index.js +18 -0
  200. package/dist/cjs/eventListeners/wheel/index.js.map +1 -0
  201. package/dist/cjs/eventListeners/wheel/normalizeWheel.d.ts +6 -0
  202. package/dist/cjs/eventListeners/wheel/normalizeWheel.js +52 -0
  203. package/dist/cjs/eventListeners/wheel/normalizeWheel.js.map +1 -0
  204. package/dist/cjs/eventListeners/wheel/wheelListener.d.ts +2 -0
  205. package/dist/cjs/eventListeners/wheel/wheelListener.js +40 -0
  206. package/dist/cjs/eventListeners/wheel/wheelListener.js.map +1 -0
  207. package/dist/cjs/index.d.ts +19 -0
  208. package/dist/cjs/index.js +78 -0
  209. package/dist/cjs/index.js.map +1 -0
  210. package/dist/cjs/init.d.ts +3 -0
  211. package/dist/cjs/init.js +74 -0
  212. package/dist/cjs/init.js.map +1 -0
  213. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +23 -0
  214. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +157 -0
  215. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -0
  216. package/dist/cjs/stateManagement/annotation/annotationLocking.d.ts +8 -0
  217. package/dist/cjs/stateManagement/annotation/annotationLocking.js +96 -0
  218. package/dist/cjs/stateManagement/annotation/annotationLocking.js.map +1 -0
  219. package/dist/cjs/stateManagement/annotation/annotationSelection.d.ts +8 -0
  220. package/dist/cjs/stateManagement/annotation/annotationSelection.js +83 -0
  221. package/dist/cjs/stateManagement/annotation/annotationSelection.js.map +1 -0
  222. package/dist/cjs/stateManagement/annotation/annotationState.d.ts +9 -0
  223. package/dist/cjs/stateManagement/annotation/annotationState.js +62 -0
  224. package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -0
  225. package/dist/cjs/stateManagement/annotation/config/annotationStyle.d.ts +5 -0
  226. package/dist/cjs/stateManagement/annotation/config/annotationStyle.js +74 -0
  227. package/dist/cjs/stateManagement/annotation/config/annotationStyle.js.map +1 -0
  228. package/dist/cjs/stateManagement/annotation/config/getFont.d.ts +4 -0
  229. package/dist/cjs/stateManagement/annotation/config/getFont.js +12 -0
  230. package/dist/cjs/stateManagement/annotation/config/getFont.js.map +1 -0
  231. package/dist/cjs/stateManagement/annotation/config/getState.d.ts +4 -0
  232. package/dist/cjs/stateManagement/annotation/config/getState.js +18 -0
  233. package/dist/cjs/stateManagement/annotation/config/getState.js.map +1 -0
  234. package/dist/cjs/stateManagement/annotation/config/getStyle.d.ts +2 -0
  235. package/dist/cjs/stateManagement/annotation/config/getStyle.js +22 -0
  236. package/dist/cjs/stateManagement/annotation/config/getStyle.js.map +1 -0
  237. package/dist/cjs/stateManagement/annotation/config/index.d.ts +7 -0
  238. package/dist/cjs/stateManagement/annotation/config/index.js +19 -0
  239. package/dist/cjs/stateManagement/annotation/config/index.js.map +1 -0
  240. package/dist/cjs/stateManagement/annotation/config/setAnnotationStyle.d.ts +2 -0
  241. package/dist/cjs/stateManagement/annotation/config/setAnnotationStyle.js +17 -0
  242. package/dist/cjs/stateManagement/annotation/config/setAnnotationStyle.js.map +1 -0
  243. package/dist/cjs/stateManagement/annotation/config/setGlobalStyle.d.ts +1 -0
  244. package/dist/cjs/stateManagement/annotation/config/setGlobalStyle.js +8 -0
  245. package/dist/cjs/stateManagement/annotation/config/setGlobalStyle.js.map +1 -0
  246. package/dist/cjs/stateManagement/annotation/config/setToolStyle.d.ts +1 -0
  247. package/dist/cjs/stateManagement/annotation/config/setToolStyle.js +17 -0
  248. package/dist/cjs/stateManagement/annotation/config/setToolStyle.js.map +1 -0
  249. package/dist/cjs/stateManagement/annotation/index.d.ts +5 -0
  250. package/dist/cjs/stateManagement/annotation/index.js +31 -0
  251. package/dist/cjs/stateManagement/annotation/index.js.map +1 -0
  252. package/dist/cjs/stateManagement/index.d.ts +16 -0
  253. package/dist/cjs/stateManagement/index.js +49 -0
  254. package/dist/cjs/stateManagement/index.js.map +1 -0
  255. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +29 -0
  256. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +198 -0
  257. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -0
  258. package/dist/cjs/stateManagement/segmentation/activeSegmentation.d.ts +12 -0
  259. package/dist/cjs/stateManagement/segmentation/activeSegmentation.js +26 -0
  260. package/dist/cjs/stateManagement/segmentation/activeSegmentation.js.map +1 -0
  261. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +3 -0
  262. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js +59 -0
  263. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -0
  264. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +14 -0
  265. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js +47 -0
  266. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -0
  267. package/dist/cjs/stateManagement/segmentation/helpers/COLOR_LUT.d.ts +2 -0
  268. package/dist/cjs/stateManagement/segmentation/helpers/COLOR_LUT.js +261 -0
  269. package/dist/cjs/stateManagement/segmentation/helpers/COLOR_LUT.js.map +1 -0
  270. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.d.ts +3 -0
  271. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +14 -0
  272. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -0
  273. package/dist/cjs/stateManagement/segmentation/helpers/index.d.ts +4 -0
  274. package/dist/cjs/stateManagement/segmentation/helpers/index.js +13 -0
  275. package/dist/cjs/stateManagement/segmentation/helpers/index.js.map +1 -0
  276. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.d.ts +3 -0
  277. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +43 -0
  278. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -0
  279. package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.d.ts +3 -0
  280. package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js +23 -0
  281. package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js.map +1 -0
  282. package/dist/cjs/stateManagement/segmentation/index.d.ts +12 -0
  283. package/dist/cjs/stateManagement/segmentation/index.js +48 -0
  284. package/dist/cjs/stateManagement/segmentation/index.js.map +1 -0
  285. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +2 -0
  286. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +37 -0
  287. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -0
  288. package/dist/cjs/stateManagement/segmentation/segmentIndex.d.ts +12 -0
  289. package/dist/cjs/stateManagement/segmentation/segmentIndex.js +53 -0
  290. package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -0
  291. package/dist/cjs/stateManagement/segmentation/segmentLocking.d.ts +14 -0
  292. package/dist/cjs/stateManagement/segmentation/segmentLocking.js +75 -0
  293. package/dist/cjs/stateManagement/segmentation/segmentLocking.js.map +1 -0
  294. package/dist/cjs/stateManagement/segmentation/segmentationColor.d.ts +10 -0
  295. package/dist/cjs/stateManagement/segmentation/segmentationColor.js +47 -0
  296. package/dist/cjs/stateManagement/segmentation/segmentationColor.js.map +1 -0
  297. package/dist/cjs/stateManagement/segmentation/segmentationConfig.d.ts +26 -0
  298. package/dist/cjs/stateManagement/segmentation/segmentationConfig.js +88 -0
  299. package/dist/cjs/stateManagement/segmentation/segmentationConfig.js.map +1 -0
  300. package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +20 -0
  301. package/dist/cjs/stateManagement/segmentation/segmentationState.js +149 -0
  302. package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -0
  303. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.d.ts +8 -0
  304. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js +29 -0
  305. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js.map +1 -0
  306. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.d.ts +4 -0
  307. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js +43 -0
  308. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -0
  309. package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +30 -0
  310. package/dist/cjs/store/SynchronizerManager/Synchronizer.js +159 -0
  311. package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -0
  312. package/dist/cjs/store/SynchronizerManager/createSynchronizer.d.ts +3 -0
  313. package/dist/cjs/store/SynchronizerManager/createSynchronizer.js +18 -0
  314. package/dist/cjs/store/SynchronizerManager/createSynchronizer.js.map +1 -0
  315. package/dist/cjs/store/SynchronizerManager/destroy.d.ts +2 -0
  316. package/dist/cjs/store/SynchronizerManager/destroy.js +11 -0
  317. package/dist/cjs/store/SynchronizerManager/destroy.js.map +1 -0
  318. package/dist/cjs/store/SynchronizerManager/destroySynchronizerById.d.ts +2 -0
  319. package/dist/cjs/store/SynchronizerManager/destroySynchronizerById.js +13 -0
  320. package/dist/cjs/store/SynchronizerManager/destroySynchronizerById.js.map +1 -0
  321. package/dist/cjs/store/SynchronizerManager/getAllSynchronizers.d.ts +3 -0
  322. package/dist/cjs/store/SynchronizerManager/getAllSynchronizers.js +8 -0
  323. package/dist/cjs/store/SynchronizerManager/getAllSynchronizers.js.map +1 -0
  324. package/dist/cjs/store/SynchronizerManager/getSynchronizerById.d.ts +3 -0
  325. package/dist/cjs/store/SynchronizerManager/getSynchronizerById.js +8 -0
  326. package/dist/cjs/store/SynchronizerManager/getSynchronizerById.js.map +1 -0
  327. package/dist/cjs/store/SynchronizerManager/getSynchronizers.d.ts +3 -0
  328. package/dist/cjs/store/SynchronizerManager/getSynchronizers.js +20 -0
  329. package/dist/cjs/store/SynchronizerManager/getSynchronizers.js.map +1 -0
  330. package/dist/cjs/store/SynchronizerManager/index.d.ts +7 -0
  331. package/dist/cjs/store/SynchronizerManager/index.js +19 -0
  332. package/dist/cjs/store/SynchronizerManager/index.js.map +1 -0
  333. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +22 -0
  334. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +196 -0
  335. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -0
  336. package/dist/cjs/store/ToolGroupManager/createToolGroup.d.ts +3 -0
  337. package/dist/cjs/store/ToolGroupManager/createToolGroup.js +19 -0
  338. package/dist/cjs/store/ToolGroupManager/createToolGroup.js.map +1 -0
  339. package/dist/cjs/store/ToolGroupManager/destroy.d.ts +2 -0
  340. package/dist/cjs/store/ToolGroupManager/destroy.js +16 -0
  341. package/dist/cjs/store/ToolGroupManager/destroy.js.map +1 -0
  342. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +2 -0
  343. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js +13 -0
  344. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +1 -0
  345. package/dist/cjs/store/ToolGroupManager/getAllToolGroups.d.ts +3 -0
  346. package/dist/cjs/store/ToolGroupManager/getAllToolGroups.js +8 -0
  347. package/dist/cjs/store/ToolGroupManager/getAllToolGroups.js.map +1 -0
  348. package/dist/cjs/store/ToolGroupManager/getToolGroup.d.ts +3 -0
  349. package/dist/cjs/store/ToolGroupManager/getToolGroup.js +17 -0
  350. package/dist/cjs/store/ToolGroupManager/getToolGroup.js.map +1 -0
  351. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +3 -0
  352. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js +8 -0
  353. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +1 -0
  354. package/dist/cjs/store/ToolGroupManager/index.d.ts +16 -0
  355. package/dist/cjs/store/ToolGroupManager/index.js +27 -0
  356. package/dist/cjs/store/ToolGroupManager/index.js.map +1 -0
  357. package/dist/cjs/store/addEnabledElement.d.ts +2 -0
  358. package/dist/cjs/store/addEnabledElement.js +73 -0
  359. package/dist/cjs/store/addEnabledElement.js.map +1 -0
  360. package/dist/cjs/store/addTool.d.ts +3 -0
  361. package/dist/cjs/store/addTool.js +33 -0
  362. package/dist/cjs/store/addTool.js.map +1 -0
  363. package/dist/cjs/store/cancelActiveManipulations.d.ts +1 -0
  364. package/dist/cjs/store/cancelActiveManipulations.js +23 -0
  365. package/dist/cjs/store/cancelActiveManipulations.js.map +1 -0
  366. package/dist/cjs/store/filterMoveableAnnotationTools.d.ts +3 -0
  367. package/dist/cjs/store/filterMoveableAnnotationTools.js +24 -0
  368. package/dist/cjs/store/filterMoveableAnnotationTools.js.map +1 -0
  369. package/dist/cjs/store/filterToolsWithAnnotationsForElement.d.ts +3 -0
  370. package/dist/cjs/store/filterToolsWithAnnotationsForElement.js +26 -0
  371. package/dist/cjs/store/filterToolsWithAnnotationsForElement.js.map +1 -0
  372. package/dist/cjs/store/filterToolsWithMoveableHandles.d.ts +3 -0
  373. package/dist/cjs/store/filterToolsWithMoveableHandles.js +25 -0
  374. package/dist/cjs/store/filterToolsWithMoveableHandles.js.map +1 -0
  375. package/dist/cjs/store/index.d.ts +10 -0
  376. package/dist/cjs/store/index.js +45 -0
  377. package/dist/cjs/store/index.js.map +1 -0
  378. package/dist/cjs/store/removeEnabledElement.d.ts +3 -0
  379. package/dist/cjs/store/removeEnabledElement.js +78 -0
  380. package/dist/cjs/store/removeEnabledElement.js.map +1 -0
  381. package/dist/cjs/store/state.d.ts +19 -0
  382. package/dist/cjs/store/state.js +55 -0
  383. package/dist/cjs/store/state.js.map +1 -0
  384. package/dist/cjs/store/svgNodeCache.d.ts +3 -0
  385. package/dist/cjs/store/svgNodeCache.js +10 -0
  386. package/dist/cjs/store/svgNodeCache.js.map +1 -0
  387. package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.d.ts +2 -0
  388. package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js +19 -0
  389. package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js.map +1 -0
  390. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.d.ts +2 -0
  391. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +32 -0
  392. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -0
  393. package/dist/cjs/synchronizers/index.d.ts +3 -0
  394. package/dist/cjs/synchronizers/index.js +11 -0
  395. package/dist/cjs/synchronizers/index.js.map +1 -0
  396. package/dist/cjs/synchronizers/synchronizers/createCameraPositionSynchronizer.d.ts +2 -0
  397. package/dist/cjs/synchronizers/synchronizers/createCameraPositionSynchronizer.js +15 -0
  398. package/dist/cjs/synchronizers/synchronizers/createCameraPositionSynchronizer.js.map +1 -0
  399. package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.d.ts +2 -0
  400. package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.js +14 -0
  401. package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.js.map +1 -0
  402. package/dist/cjs/synchronizers/synchronizers/index.d.ts +3 -0
  403. package/dist/cjs/synchronizers/synchronizers/index.js +11 -0
  404. package/dist/cjs/synchronizers/synchronizers/index.js.map +1 -0
  405. package/dist/cjs/tools/CrosshairsTool.d.ts +63 -0
  406. package/dist/cjs/tools/CrosshairsTool.js +1280 -0
  407. package/dist/cjs/tools/CrosshairsTool.js.map +1 -0
  408. package/dist/cjs/tools/MIPJumpToClickTool.d.ts +8 -0
  409. package/dist/cjs/tools/MIPJumpToClickTool.js +49 -0
  410. package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -0
  411. package/dist/cjs/tools/PanTool.d.ts +9 -0
  412. package/dist/cjs/tools/PanTool.js +38 -0
  413. package/dist/cjs/tools/PanTool.js.map +1 -0
  414. package/dist/cjs/tools/StackScrollTool.d.ts +9 -0
  415. package/dist/cjs/tools/StackScrollTool.js +28 -0
  416. package/dist/cjs/tools/StackScrollTool.js.map +1 -0
  417. package/dist/cjs/tools/StackScrollToolMouseWheelTool.d.ts +11 -0
  418. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +21 -0
  419. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -0
  420. package/dist/cjs/tools/VolumeRotateMouseWheelTool.d.ts +9 -0
  421. package/dist/cjs/tools/VolumeRotateMouseWheelTool.js +55 -0
  422. package/dist/cjs/tools/VolumeRotateMouseWheelTool.js.map +1 -0
  423. package/dist/cjs/tools/WindowLevelTool.d.ts +31 -0
  424. package/dist/cjs/tools/WindowLevelTool.js +138 -0
  425. package/dist/cjs/tools/WindowLevelTool.js.map +1 -0
  426. package/dist/cjs/tools/ZoomTool.d.ts +11 -0
  427. package/dist/cjs/tools/ZoomTool.js +66 -0
  428. package/dist/cjs/tools/ZoomTool.js.map +1 -0
  429. package/dist/cjs/tools/annotation/BidirectionalTool.d.ts +67 -0
  430. package/dist/cjs/tools/annotation/BidirectionalTool.js +681 -0
  431. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -0
  432. package/dist/cjs/tools/annotation/EllipticalRoiTool.d.ts +71 -0
  433. package/dist/cjs/tools/annotation/EllipticalRoiTool.js +633 -0
  434. package/dist/cjs/tools/annotation/EllipticalRoiTool.js.map +1 -0
  435. package/dist/cjs/tools/annotation/LengthTool.d.ts +61 -0
  436. package/dist/cjs/tools/annotation/LengthTool.js +397 -0
  437. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -0
  438. package/dist/cjs/tools/annotation/ProbeTool.d.ts +49 -0
  439. package/dist/cjs/tools/annotation/ProbeTool.js +337 -0
  440. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -0
  441. package/dist/cjs/tools/annotation/RectangleRoiTool.d.ts +72 -0
  442. package/dist/cjs/tools/annotation/RectangleRoiTool.js +538 -0
  443. package/dist/cjs/tools/annotation/RectangleRoiTool.js.map +1 -0
  444. package/dist/cjs/tools/base/AnnotationTool.d.ts +21 -0
  445. package/dist/cjs/tools/base/AnnotationTool.js +149 -0
  446. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -0
  447. package/dist/cjs/tools/base/BaseTool.d.ts +34 -0
  448. package/dist/cjs/tools/base/BaseTool.js +77 -0
  449. package/dist/cjs/tools/base/BaseTool.js.map +1 -0
  450. package/dist/cjs/tools/base/index.d.ts +3 -0
  451. package/dist/cjs/tools/base/index.js +11 -0
  452. package/dist/cjs/tools/base/index.js.map +1 -0
  453. package/dist/cjs/tools/displayTools/Labelmap/LabelmapConfig.d.ts +13 -0
  454. package/dist/cjs/tools/displayTools/Labelmap/LabelmapConfig.js +28 -0
  455. package/dist/cjs/tools/displayTools/Labelmap/LabelmapConfig.js.map +1 -0
  456. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +11 -0
  457. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js +184 -0
  458. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -0
  459. package/dist/cjs/tools/displayTools/Labelmap/index.d.ts +3 -0
  460. package/dist/cjs/tools/displayTools/Labelmap/index.js +11 -0
  461. package/dist/cjs/tools/displayTools/Labelmap/index.js.map +1 -0
  462. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +11 -0
  463. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +80 -0
  464. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -0
  465. package/dist/cjs/tools/index.d.ts +21 -0
  466. package/dist/cjs/tools/index.js +48 -0
  467. package/dist/cjs/tools/index.js.map +1 -0
  468. package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +29 -0
  469. package/dist/cjs/tools/segmentation/CircleScissorsTool.js +198 -0
  470. package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -0
  471. package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +82 -0
  472. package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js +240 -0
  473. package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -0
  474. package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.d.ts +65 -0
  475. package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js +150 -0
  476. package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -0
  477. package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +29 -0
  478. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +209 -0
  479. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -0
  480. package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +30 -0
  481. package/dist/cjs/tools/segmentation/SphereScissorsTool.js +199 -0
  482. package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -0
  483. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +13 -0
  484. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +39 -0
  485. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -0
  486. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +15 -0
  487. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +57 -0
  488. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -0
  489. package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +14 -0
  490. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +50 -0
  491. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -0
  492. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +15 -0
  493. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +27 -0
  494. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -0
  495. package/dist/cjs/tools/segmentation/strategies/index.d.ts +3 -0
  496. package/dist/cjs/tools/segmentation/strategies/index.js +10 -0
  497. package/dist/cjs/tools/segmentation/strategies/index.js.map +1 -0
  498. package/dist/cjs/types/AnnotationTypes.d.ts +43 -0
  499. package/dist/cjs/types/AnnotationTypes.js +3 -0
  500. package/dist/cjs/types/AnnotationTypes.js.map +1 -0
  501. package/dist/cjs/types/CursorTypes.d.ts +11 -0
  502. package/dist/cjs/types/CursorTypes.js +3 -0
  503. package/dist/cjs/types/CursorTypes.js.map +1 -0
  504. package/dist/cjs/types/EventTypes.d.ts +140 -0
  505. package/dist/cjs/types/EventTypes.js +3 -0
  506. package/dist/cjs/types/EventTypes.js.map +1 -0
  507. package/dist/cjs/types/IPoints.d.ts +8 -0
  508. package/dist/cjs/types/IPoints.js +3 -0
  509. package/dist/cjs/types/IPoints.js.map +1 -0
  510. package/dist/cjs/types/ISetToolModeOptions.d.ts +15 -0
  511. package/dist/cjs/types/ISetToolModeOptions.js +3 -0
  512. package/dist/cjs/types/ISetToolModeOptions.js.map +1 -0
  513. package/dist/cjs/types/IToolGroup.d.ts +42 -0
  514. package/dist/cjs/types/IToolGroup.js +3 -0
  515. package/dist/cjs/types/IToolGroup.js.map +1 -0
  516. package/dist/cjs/types/InteractionTypes.d.ts +2 -0
  517. package/dist/cjs/types/InteractionTypes.js +3 -0
  518. package/dist/cjs/types/InteractionTypes.js.map +1 -0
  519. package/dist/cjs/types/InternalToolTypes.d.ts +15 -0
  520. package/dist/cjs/types/InternalToolTypes.js +3 -0
  521. package/dist/cjs/types/InternalToolTypes.js.map +1 -0
  522. package/dist/cjs/types/PlanarBoundingBox.d.ts +7 -0
  523. package/dist/cjs/types/PlanarBoundingBox.js +3 -0
  524. package/dist/cjs/types/PlanarBoundingBox.js.map +1 -0
  525. package/dist/cjs/types/SegmentationRepresentationTypes.d.ts +11 -0
  526. package/dist/cjs/types/SegmentationRepresentationTypes.js +3 -0
  527. package/dist/cjs/types/SegmentationRepresentationTypes.js.map +1 -0
  528. package/dist/cjs/types/SegmentationStateTypes.d.ts +51 -0
  529. package/dist/cjs/types/SegmentationStateTypes.js +3 -0
  530. package/dist/cjs/types/SegmentationStateTypes.js.map +1 -0
  531. package/dist/cjs/types/ToolHandle.d.ts +15 -0
  532. package/dist/cjs/types/ToolHandle.js +3 -0
  533. package/dist/cjs/types/ToolHandle.js.map +1 -0
  534. package/dist/cjs/types/ToolProps.d.ts +9 -0
  535. package/dist/cjs/types/ToolProps.js +3 -0
  536. package/dist/cjs/types/ToolProps.js.map +1 -0
  537. package/dist/cjs/types/index.d.ts +14 -0
  538. package/dist/cjs/types/index.js +3 -0
  539. package/dist/cjs/types/index.js.map +1 -0
  540. package/dist/cjs/utilities/calibrateImageSpacing.d.ts +2 -0
  541. package/dist/cjs/utilities/calibrateImageSpacing.js +22 -0
  542. package/dist/cjs/utilities/calibrateImageSpacing.js.map +1 -0
  543. package/dist/cjs/utilities/clip.d.ts +3 -0
  544. package/dist/cjs/utilities/clip.js +14 -0
  545. package/dist/cjs/utilities/clip.js.map +1 -0
  546. package/dist/cjs/utilities/debounce.d.ts +6 -0
  547. package/dist/cjs/utilities/debounce.js +119 -0
  548. package/dist/cjs/utilities/debounce.js.map +1 -0
  549. package/dist/cjs/utilities/deepMerge.d.ts +2 -0
  550. package/dist/cjs/utilities/deepMerge.js +63 -0
  551. package/dist/cjs/utilities/deepMerge.js.map +1 -0
  552. package/dist/cjs/utilities/drawing/getTextBoxCoordsCanvas.d.ts +2 -0
  553. package/dist/cjs/utilities/drawing/getTextBoxCoordsCanvas.js +28 -0
  554. package/dist/cjs/utilities/drawing/getTextBoxCoordsCanvas.js.map +1 -0
  555. package/dist/cjs/utilities/drawing/index.d.ts +6 -0
  556. package/dist/cjs/utilities/drawing/index.js +10 -0
  557. package/dist/cjs/utilities/drawing/index.js.map +1 -0
  558. package/dist/cjs/utilities/getAnnotationNearPoint.d.ts +5 -0
  559. package/dist/cjs/utilities/getAnnotationNearPoint.js +47 -0
  560. package/dist/cjs/utilities/getAnnotationNearPoint.js.map +1 -0
  561. package/dist/cjs/utilities/getToolsWithModesForElement.d.ts +4 -0
  562. package/dist/cjs/utilities/getToolsWithModesForElement.js +28 -0
  563. package/dist/cjs/utilities/getToolsWithModesForElement.js.map +1 -0
  564. package/dist/cjs/utilities/index.d.ts +39 -0
  565. package/dist/cjs/utilities/index.js +81 -0
  566. package/dist/cjs/utilities/index.js.map +1 -0
  567. package/dist/cjs/utilities/isObject.d.ts +2 -0
  568. package/dist/cjs/utilities/isObject.js +8 -0
  569. package/dist/cjs/utilities/isObject.js.map +1 -0
  570. package/dist/cjs/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +9 -0
  571. package/dist/cjs/utilities/math/ellipse/getCanvasEllipseCorners.js +10 -0
  572. package/dist/cjs/utilities/math/ellipse/getCanvasEllipseCorners.js.map +1 -0
  573. package/dist/cjs/utilities/math/ellipse/index.d.ts +8 -0
  574. package/dist/cjs/utilities/math/ellipse/index.js +12 -0
  575. package/dist/cjs/utilities/math/ellipse/index.js.map +1 -0
  576. package/dist/cjs/utilities/math/ellipse/pointInEllipse.d.ts +9 -0
  577. package/dist/cjs/utilities/math/ellipse/pointInEllipse.js +20 -0
  578. package/dist/cjs/utilities/math/ellipse/pointInEllipse.js.map +1 -0
  579. package/dist/cjs/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +9 -0
  580. package/dist/cjs/utilities/math/ellipse/pointInEllipsoidWithConstraint.js +6 -0
  581. package/dist/cjs/utilities/math/ellipse/pointInEllipsoidWithConstraint.js.map +1 -0
  582. package/dist/cjs/utilities/math/index.d.ts +24 -0
  583. package/dist/cjs/utilities/math/index.js +16 -0
  584. package/dist/cjs/utilities/math/index.js.map +1 -0
  585. package/dist/cjs/utilities/math/line/distanceToPoint.d.ts +2 -0
  586. package/dist/cjs/utilities/math/line/distanceToPoint.js +14 -0
  587. package/dist/cjs/utilities/math/line/distanceToPoint.js.map +1 -0
  588. package/dist/cjs/utilities/math/line/distanceToPointSquared.d.ts +2 -0
  589. package/dist/cjs/utilities/math/line/distanceToPointSquared.js +27 -0
  590. package/dist/cjs/utilities/math/line/distanceToPointSquared.js.map +1 -0
  591. package/dist/cjs/utilities/math/line/index.d.ts +9 -0
  592. package/dist/cjs/utilities/math/line/index.js +15 -0
  593. package/dist/cjs/utilities/math/line/index.js.map +1 -0
  594. package/dist/cjs/utilities/math/line/intersectLine.d.ts +2 -0
  595. package/dist/cjs/utilities/math/line/intersectLine.js +45 -0
  596. package/dist/cjs/utilities/math/line/intersectLine.js.map +1 -0
  597. package/dist/cjs/utilities/math/rectangle/distanceToPoint.d.ts +2 -0
  598. package/dist/cjs/utilities/math/rectangle/distanceToPoint.js +41 -0
  599. package/dist/cjs/utilities/math/rectangle/distanceToPoint.js.map +1 -0
  600. package/dist/cjs/utilities/math/rectangle/index.d.ts +5 -0
  601. package/dist/cjs/utilities/math/rectangle/index.js +11 -0
  602. package/dist/cjs/utilities/math/rectangle/index.js.map +1 -0
  603. package/dist/cjs/utilities/math/sphere/index.d.ts +2 -0
  604. package/dist/cjs/utilities/math/sphere/index.js +9 -0
  605. package/dist/cjs/utilities/math/sphere/index.js.map +1 -0
  606. package/dist/cjs/utilities/math/sphere/pointInSphere.d.ts +8 -0
  607. package/dist/cjs/utilities/math/sphere/pointInSphere.js +10 -0
  608. package/dist/cjs/utilities/math/sphere/pointInSphere.js.map +1 -0
  609. package/dist/cjs/utilities/math/vec2/findClosestPoint.d.ts +2 -0
  610. package/dist/cjs/utilities/math/vec2/findClosestPoint.js +21 -0
  611. package/dist/cjs/utilities/math/vec2/findClosestPoint.js.map +1 -0
  612. package/dist/cjs/utilities/math/vec2/index.d.ts +7 -0
  613. package/dist/cjs/utilities/math/vec2/index.js +9 -0
  614. package/dist/cjs/utilities/math/vec2/index.js.map +1 -0
  615. package/dist/cjs/utilities/math/vec2/liangBarksyClip.d.ts +1 -0
  616. package/dist/cjs/utilities/math/vec2/liangBarksyClip.js +67 -0
  617. package/dist/cjs/utilities/math/vec2/liangBarksyClip.js.map +1 -0
  618. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.d.ts +3 -0
  619. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js +27 -0
  620. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js.map +1 -0
  621. package/dist/cjs/utilities/planar/filterAnnotationsWithinSlice.d.ts +3 -0
  622. package/dist/cjs/utilities/planar/filterAnnotationsWithinSlice.js +30 -0
  623. package/dist/cjs/utilities/planar/filterAnnotationsWithinSlice.js.map +1 -0
  624. package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +2 -0
  625. package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js +45 -0
  626. package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -0
  627. package/dist/cjs/utilities/planar/getWorldWidthAndHeightFromCorners.d.ts +5 -0
  628. package/dist/cjs/utilities/planar/getWorldWidthAndHeightFromCorners.js +23 -0
  629. package/dist/cjs/utilities/planar/getWorldWidthAndHeightFromCorners.js.map +1 -0
  630. package/dist/cjs/utilities/planar/getWorldWidthAndHeightFromTwoPoints.d.ts +5 -0
  631. package/dist/cjs/utilities/planar/getWorldWidthAndHeightFromTwoPoints.js +23 -0
  632. package/dist/cjs/utilities/planar/getWorldWidthAndHeightFromTwoPoints.js.map +1 -0
  633. package/dist/cjs/utilities/planar/index.d.ts +12 -0
  634. package/dist/cjs/utilities/planar/index.js +21 -0
  635. package/dist/cjs/utilities/planar/index.js.map +1 -0
  636. package/dist/cjs/utilities/pointInShapeCallback.d.ts +12 -0
  637. package/dist/cjs/utilities/pointInShapeCallback.js +74 -0
  638. package/dist/cjs/utilities/pointInShapeCallback.js.map +1 -0
  639. package/dist/cjs/utilities/pointInSurroundingSphereCallback.d.ts +4 -0
  640. package/dist/cjs/utilities/pointInSurroundingSphereCallback.js +40 -0
  641. package/dist/cjs/utilities/pointInSurroundingSphereCallback.js.map +1 -0
  642. package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.d.ts +3 -0
  643. package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js +37 -0
  644. package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -0
  645. package/dist/cjs/utilities/segmentation/getBoundingBoxUtils.d.ts +4 -0
  646. package/dist/cjs/utilities/segmentation/getBoundingBoxUtils.js +51 -0
  647. package/dist/cjs/utilities/segmentation/getBoundingBoxUtils.js.map +1 -0
  648. package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.d.ts +1 -0
  649. package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.js +17 -0
  650. package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.js.map +1 -0
  651. package/dist/cjs/utilities/segmentation/index.d.ts +17 -0
  652. package/dist/cjs/utilities/segmentation/index.js +29 -0
  653. package/dist/cjs/utilities/segmentation/index.js.map +1 -0
  654. package/dist/cjs/utilities/segmentation/isValidRepresentationConfig.d.ts +2 -0
  655. package/dist/cjs/utilities/segmentation/isValidRepresentationConfig.js +17 -0
  656. package/dist/cjs/utilities/segmentation/isValidRepresentationConfig.js.map +1 -0
  657. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +24 -0
  658. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +86 -0
  659. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -0
  660. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +11 -0
  661. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js +111 -0
  662. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -0
  663. package/dist/cjs/utilities/stackScrollTool/getSliceRange.d.ts +6 -0
  664. package/dist/cjs/utilities/stackScrollTool/getSliceRange.js +32 -0
  665. package/dist/cjs/utilities/stackScrollTool/getSliceRange.js.map +1 -0
  666. package/dist/cjs/utilities/stackScrollTool/index.d.ts +10 -0
  667. package/dist/cjs/utilities/stackScrollTool/index.js +18 -0
  668. package/dist/cjs/utilities/stackScrollTool/index.js.map +1 -0
  669. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.d.ts +2 -0
  670. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js +47 -0
  671. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js.map +1 -0
  672. package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.d.ts +5 -0
  673. package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.js +41 -0
  674. package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.js.map +1 -0
  675. package/dist/cjs/utilities/throttle.d.ts +5 -0
  676. package/dist/cjs/utilities/throttle.js +25 -0
  677. package/dist/cjs/utilities/throttle.js.map +1 -0
  678. package/dist/cjs/utilities/transformPhysicalToIndex.d.ts +1 -0
  679. package/dist/cjs/utilities/transformPhysicalToIndex.js +9 -0
  680. package/dist/cjs/utilities/transformPhysicalToIndex.js.map +1 -0
  681. package/dist/cjs/utilities/triggerAnnotationRender.d.ts +21 -0
  682. package/dist/cjs/utilities/triggerAnnotationRender.js +112 -0
  683. package/dist/cjs/utilities/triggerAnnotationRender.js.map +1 -0
  684. package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +3 -0
  685. package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.js +19 -0
  686. package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.js.map +1 -0
  687. package/dist/cjs/utilities/triggerSegmentationRender.d.ts +17 -0
  688. package/dist/cjs/utilities/triggerSegmentationRender.js +96 -0
  689. package/dist/cjs/utilities/triggerSegmentationRender.js.map +1 -0
  690. package/dist/cjs/utilities/viewport/jumpToWorld.d.ts +2 -0
  691. package/dist/cjs/utilities/viewport/jumpToWorld.js +36 -0
  692. package/dist/cjs/utilities/viewport/jumpToWorld.js.map +1 -0
  693. package/dist/cjs/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.d.ts +2 -0
  694. package/dist/cjs/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js +15 -0
  695. package/dist/cjs/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js.map +1 -0
  696. package/dist/cjs/utilities/viewportFilters/filterViewportsWithSameOrientation.d.ts +2 -0
  697. package/dist/cjs/utilities/viewportFilters/filterViewportsWithSameOrientation.js +14 -0
  698. package/dist/cjs/utilities/viewportFilters/filterViewportsWithSameOrientation.js.map +1 -0
  699. package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.d.ts +2 -0
  700. package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js +29 -0
  701. package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -0
  702. package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +1 -0
  703. package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.js +24 -0
  704. package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +1 -0
  705. package/dist/cjs/utilities/viewportFilters/index.d.ts +10 -0
  706. package/dist/cjs/utilities/viewportFilters/index.js +18 -0
  707. package/dist/cjs/utilities/viewportFilters/index.js.map +1 -0
  708. package/dist/esm/cursors/ImageMouseCursor.d.ts +9 -0
  709. package/dist/esm/cursors/ImageMouseCursor.js +23 -0
  710. package/dist/esm/cursors/ImageMouseCursor.js.map +1 -0
  711. package/dist/esm/cursors/MouseCursor.d.ts +12 -0
  712. package/dist/esm/cursors/MouseCursor.js +89 -0
  713. package/dist/esm/cursors/MouseCursor.js.map +1 -0
  714. package/dist/esm/cursors/SVGCursorDescriptor.d.ts +8 -0
  715. package/dist/esm/cursors/SVGCursorDescriptor.js +399 -0
  716. package/dist/esm/cursors/SVGCursorDescriptor.js.map +1 -0
  717. package/dist/esm/cursors/SVGMouseCursor.d.ts +6 -0
  718. package/dist/esm/cursors/SVGMouseCursor.js +72 -0
  719. package/dist/esm/cursors/SVGMouseCursor.js.map +1 -0
  720. package/dist/esm/cursors/elementCursor.d.ts +6 -0
  721. package/dist/esm/cursors/elementCursor.js +37 -0
  722. package/dist/esm/cursors/elementCursor.js.map +1 -0
  723. package/dist/esm/cursors/index.d.ts +8 -0
  724. package/dist/esm/cursors/index.js +9 -0
  725. package/dist/esm/cursors/index.js.map +1 -0
  726. package/dist/esm/cursors/setCursorForElement.d.ts +2 -0
  727. package/dist/esm/cursors/setCursorForElement.js +16 -0
  728. package/dist/esm/cursors/setCursorForElement.js.map +1 -0
  729. package/dist/esm/drawingSvg/_getHash.d.ts +2 -0
  730. package/dist/esm/drawingSvg/_getHash.js +5 -0
  731. package/dist/esm/drawingSvg/_getHash.js.map +1 -0
  732. package/dist/esm/drawingSvg/_setAttributesIfNecessary.d.ts +2 -0
  733. package/dist/esm/drawingSvg/_setAttributesIfNecessary.js +14 -0
  734. package/dist/esm/drawingSvg/_setAttributesIfNecessary.js.map +1 -0
  735. package/dist/esm/drawingSvg/_setNewAttributesIfValid.d.ts +2 -0
  736. package/dist/esm/drawingSvg/_setNewAttributesIfValid.js +10 -0
  737. package/dist/esm/drawingSvg/_setNewAttributesIfValid.js.map +1 -0
  738. package/dist/esm/drawingSvg/clearByToolType.d.ts +2 -0
  739. package/dist/esm/drawingSvg/clearByToolType.js +14 -0
  740. package/dist/esm/drawingSvg/clearByToolType.js.map +1 -0
  741. package/dist/esm/drawingSvg/draw.d.ts +2 -0
  742. package/dist/esm/drawingSvg/draw.js +8 -0
  743. package/dist/esm/drawingSvg/draw.js.map +1 -0
  744. package/dist/esm/drawingSvg/drawCircle.d.ts +3 -0
  745. package/dist/esm/drawingSvg/drawCircle.js +34 -0
  746. package/dist/esm/drawingSvg/drawCircle.js.map +1 -0
  747. package/dist/esm/drawingSvg/drawEllipse.d.ts +3 -0
  748. package/dist/esm/drawingSvg/drawEllipse.js +43 -0
  749. package/dist/esm/drawingSvg/drawEllipse.js.map +1 -0
  750. package/dist/esm/drawingSvg/drawHandles.d.ts +3 -0
  751. package/dist/esm/drawingSvg/drawHandles.js +61 -0
  752. package/dist/esm/drawingSvg/drawHandles.js.map +1 -0
  753. package/dist/esm/drawingSvg/drawLine.d.ts +2 -0
  754. package/dist/esm/drawingSvg/drawLine.js +37 -0
  755. package/dist/esm/drawingSvg/drawLine.js.map +1 -0
  756. package/dist/esm/drawingSvg/drawLink.d.ts +4 -0
  757. package/dist/esm/drawingSvg/drawLink.js +27 -0
  758. package/dist/esm/drawingSvg/drawLink.js.map +1 -0
  759. package/dist/esm/drawingSvg/drawLinkedTextBox.d.ts +3 -0
  760. package/dist/esm/drawingSvg/drawLinkedTextBox.js +16 -0
  761. package/dist/esm/drawingSvg/drawLinkedTextBox.js.map +1 -0
  762. package/dist/esm/drawingSvg/drawRect.d.ts +2 -0
  763. package/dist/esm/drawingSvg/drawRect.js +38 -0
  764. package/dist/esm/drawingSvg/drawRect.js.map +1 -0
  765. package/dist/esm/drawingSvg/drawTextBox.d.ts +3 -0
  766. package/dist/esm/drawingSvg/drawTextBox.js +112 -0
  767. package/dist/esm/drawingSvg/drawTextBox.js.map +1 -0
  768. package/dist/esm/drawingSvg/getSvgDrawingHelper.d.ts +11 -0
  769. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +66 -0
  770. package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -0
  771. package/dist/esm/drawingSvg/index.d.ts +20 -0
  772. package/dist/esm/drawingSvg/index.js +20 -0
  773. package/dist/esm/drawingSvg/index.js.map +1 -0
  774. package/dist/esm/enums/AnnotationStyleStates.d.ts +7 -0
  775. package/dist/esm/enums/AnnotationStyleStates.js +9 -0
  776. package/dist/esm/enums/AnnotationStyleStates.js.map +1 -0
  777. package/dist/esm/enums/Events.d.ts +23 -0
  778. package/dist/esm/enums/Events.js +25 -0
  779. package/dist/esm/enums/Events.js.map +1 -0
  780. package/dist/esm/enums/SegmentationRepresentations.d.ts +4 -0
  781. package/dist/esm/enums/SegmentationRepresentations.js +6 -0
  782. package/dist/esm/enums/SegmentationRepresentations.js.map +1 -0
  783. package/dist/esm/enums/ToolBindings.d.ts +17 -0
  784. package/dist/esm/enums/ToolBindings.js +20 -0
  785. package/dist/esm/enums/ToolBindings.js.map +1 -0
  786. package/dist/esm/enums/ToolModes.d.ts +7 -0
  787. package/dist/esm/enums/ToolModes.js +9 -0
  788. package/dist/esm/enums/ToolModes.js.map +1 -0
  789. package/dist/esm/enums/index.d.ts +7 -0
  790. package/dist/esm/enums/index.js +7 -0
  791. package/dist/esm/enums/index.js.map +1 -0
  792. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.d.ts +5 -0
  793. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js +19 -0
  794. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -0
  795. package/dist/esm/eventDispatchers/cameraModifiedEventDispatcher.d.ts +5 -0
  796. package/dist/esm/eventDispatchers/cameraModifiedEventDispatcher.js +27 -0
  797. package/dist/esm/eventDispatchers/cameraModifiedEventDispatcher.js.map +1 -0
  798. package/dist/esm/eventDispatchers/imageRenderedEventDispatcher.d.ts +5 -0
  799. package/dist/esm/eventDispatchers/imageRenderedEventDispatcher.js +16 -0
  800. package/dist/esm/eventDispatchers/imageRenderedEventDispatcher.js.map +1 -0
  801. package/dist/esm/eventDispatchers/imageSpacingCalibratedEventDispatcher.d.ts +5 -0
  802. package/dist/esm/eventDispatchers/imageSpacingCalibratedEventDispatcher.js +27 -0
  803. package/dist/esm/eventDispatchers/imageSpacingCalibratedEventDispatcher.js.map +1 -0
  804. package/dist/esm/eventDispatchers/index.d.ts +6 -0
  805. package/dist/esm/eventDispatchers/index.js +7 -0
  806. package/dist/esm/eventDispatchers/index.js.map +1 -0
  807. package/dist/esm/eventDispatchers/keyboardEventHandlers/index.d.ts +3 -0
  808. package/dist/esm/eventDispatchers/keyboardEventHandlers/index.js +4 -0
  809. package/dist/esm/eventDispatchers/keyboardEventHandlers/index.js.map +1 -0
  810. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.d.ts +2 -0
  811. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +15 -0
  812. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -0
  813. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.d.ts +2 -0
  814. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +17 -0
  815. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -0
  816. package/dist/esm/eventDispatchers/keyboardToolEventDispatcher.d.ts +5 -0
  817. package/dist/esm/eventDispatchers/keyboardToolEventDispatcher.js +16 -0
  818. package/dist/esm/eventDispatchers/keyboardToolEventDispatcher.js.map +1 -0
  819. package/dist/esm/eventDispatchers/mouseEventHandlers/index.d.ts +9 -0
  820. package/dist/esm/eventDispatchers/mouseEventHandlers/index.js +10 -0
  821. package/dist/esm/eventDispatchers/mouseEventHandlers/index.js.map +1 -0
  822. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseClick.d.ts +2 -0
  823. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseClick.js +4 -0
  824. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseClick.js.map +1 -0
  825. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDoubleClick.d.ts +2 -0
  826. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDoubleClick.js +4 -0
  827. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDoubleClick.js.map +1 -0
  828. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +2 -0
  829. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +77 -0
  830. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -0
  831. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +2 -0
  832. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +20 -0
  833. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js.map +1 -0
  834. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +2 -0
  835. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js +14 -0
  836. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js.map +1 -0
  837. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +2 -0
  838. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +29 -0
  839. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js.map +1 -0
  840. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseUp.d.ts +2 -0
  841. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseUp.js +4 -0
  842. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseUp.js.map +1 -0
  843. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.d.ts +2 -0
  844. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +4 -0
  845. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js.map +1 -0
  846. package/dist/esm/eventDispatchers/mouseToolEventDispatcher.d.ts +5 -0
  847. package/dist/esm/eventDispatchers/mouseToolEventDispatcher.js +28 -0
  848. package/dist/esm/eventDispatchers/mouseToolEventDispatcher.js.map +1 -0
  849. package/dist/esm/eventDispatchers/shared/customCallbackHandler.d.ts +1 -0
  850. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +30 -0
  851. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js.map +1 -0
  852. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.d.ts +2 -0
  853. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +26 -0
  854. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -0
  855. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +2 -0
  856. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +26 -0
  857. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -0
  858. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +5 -0
  859. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +24 -0
  860. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -0
  861. package/dist/esm/eventListeners/annotations/annotationModifiedListener.d.ts +2 -0
  862. package/dist/esm/eventListeners/annotations/annotationModifiedListener.js +9 -0
  863. package/dist/esm/eventListeners/annotations/annotationModifiedListener.js.map +1 -0
  864. package/dist/esm/eventListeners/annotations/annotationSelectionListener.d.ts +2 -0
  865. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +16 -0
  866. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js.map +1 -0
  867. package/dist/esm/eventListeners/annotations/index.d.ts +3 -0
  868. package/dist/esm/eventListeners/annotations/index.js +4 -0
  869. package/dist/esm/eventListeners/annotations/index.js.map +1 -0
  870. package/dist/esm/eventListeners/index.d.ts +6 -0
  871. package/dist/esm/eventListeners/index.js +7 -0
  872. package/dist/esm/eventListeners/index.js.map +1 -0
  873. package/dist/esm/eventListeners/keyboard/index.d.ts +9 -0
  874. package/dist/esm/eventListeners/keyboard/index.js +14 -0
  875. package/dist/esm/eventListeners/keyboard/index.js.map +1 -0
  876. package/dist/esm/eventListeners/keyboard/keyDownListener.d.ts +4 -0
  877. package/dist/esm/eventListeners/keyboard/keyDownListener.js +58 -0
  878. package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -0
  879. package/dist/esm/eventListeners/mouse/getMouseEventPoints.d.ts +2 -0
  880. package/dist/esm/eventListeners/mouse/getMouseEventPoints.js +29 -0
  881. package/dist/esm/eventListeners/mouse/getMouseEventPoints.js.map +1 -0
  882. package/dist/esm/eventListeners/mouse/index.d.ts +7 -0
  883. package/dist/esm/eventListeners/mouse/index.js +19 -0
  884. package/dist/esm/eventListeners/mouse/index.js.map +1 -0
  885. package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.d.ts +2 -0
  886. package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js +29 -0
  887. package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -0
  888. package/dist/esm/eventListeners/mouse/mouseDownListener.d.ts +3 -0
  889. package/dist/esm/eventListeners/mouse/mouseDownListener.js +159 -0
  890. package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -0
  891. package/dist/esm/eventListeners/mouse/mouseMoveListener.d.ts +2 -0
  892. package/dist/esm/eventListeners/mouse/mouseMoveListener.js +22 -0
  893. package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -0
  894. package/dist/esm/eventListeners/segmentation/index.d.ts +3 -0
  895. package/dist/esm/eventListeners/segmentation/index.js +4 -0
  896. package/dist/esm/eventListeners/segmentation/index.js.map +1 -0
  897. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts +3 -0
  898. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +38 -0
  899. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -0
  900. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.d.ts +3 -0
  901. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js +7 -0
  902. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -0
  903. package/dist/esm/eventListeners/wheel/index.d.ts +7 -0
  904. package/dist/esm/eventListeners/wheel/index.js +13 -0
  905. package/dist/esm/eventListeners/wheel/index.js.map +1 -0
  906. package/dist/esm/eventListeners/wheel/normalizeWheel.d.ts +6 -0
  907. package/dist/esm/eventListeners/wheel/normalizeWheel.js +49 -0
  908. package/dist/esm/eventListeners/wheel/normalizeWheel.js.map +1 -0
  909. package/dist/esm/eventListeners/wheel/wheelListener.d.ts +2 -0
  910. package/dist/esm/eventListeners/wheel/wheelListener.js +35 -0
  911. package/dist/esm/eventListeners/wheel/wheelListener.js.map +1 -0
  912. package/dist/esm/index.d.ts +19 -0
  913. package/dist/esm/index.js +20 -0
  914. package/dist/esm/index.js.map +1 -0
  915. package/dist/esm/init.d.ts +3 -0
  916. package/dist/esm/init.js +66 -0
  917. package/dist/esm/init.js.map +1 -0
  918. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +23 -0
  919. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +150 -0
  920. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -0
  921. package/dist/esm/stateManagement/annotation/annotationLocking.d.ts +8 -0
  922. package/dist/esm/stateManagement/annotation/annotationLocking.js +88 -0
  923. package/dist/esm/stateManagement/annotation/annotationLocking.js.map +1 -0
  924. package/dist/esm/stateManagement/annotation/annotationSelection.d.ts +8 -0
  925. package/dist/esm/stateManagement/annotation/annotationSelection.js +75 -0
  926. package/dist/esm/stateManagement/annotation/annotationSelection.js.map +1 -0
  927. package/dist/esm/stateManagement/annotation/annotationState.d.ts +9 -0
  928. package/dist/esm/stateManagement/annotation/annotationState.js +54 -0
  929. package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -0
  930. package/dist/esm/stateManagement/annotation/config/annotationStyle.d.ts +5 -0
  931. package/dist/esm/stateManagement/annotation/config/annotationStyle.js +70 -0
  932. package/dist/esm/stateManagement/annotation/config/annotationStyle.js.map +1 -0
  933. package/dist/esm/stateManagement/annotation/config/getFont.d.ts +4 -0
  934. package/dist/esm/stateManagement/annotation/config/getFont.js +10 -0
  935. package/dist/esm/stateManagement/annotation/config/getFont.js.map +1 -0
  936. package/dist/esm/stateManagement/annotation/config/getState.d.ts +4 -0
  937. package/dist/esm/stateManagement/annotation/config/getState.js +16 -0
  938. package/dist/esm/stateManagement/annotation/config/getState.js.map +1 -0
  939. package/dist/esm/stateManagement/annotation/config/getStyle.d.ts +2 -0
  940. package/dist/esm/stateManagement/annotation/config/getStyle.js +16 -0
  941. package/dist/esm/stateManagement/annotation/config/getStyle.js.map +1 -0
  942. package/dist/esm/stateManagement/annotation/config/index.d.ts +7 -0
  943. package/dist/esm/stateManagement/annotation/config/index.js +8 -0
  944. package/dist/esm/stateManagement/annotation/config/index.js.map +1 -0
  945. package/dist/esm/stateManagement/annotation/config/setAnnotationStyle.d.ts +2 -0
  946. package/dist/esm/stateManagement/annotation/config/setAnnotationStyle.js +12 -0
  947. package/dist/esm/stateManagement/annotation/config/setAnnotationStyle.js.map +1 -0
  948. package/dist/esm/stateManagement/annotation/config/setGlobalStyle.d.ts +1 -0
  949. package/dist/esm/stateManagement/annotation/config/setGlobalStyle.js +5 -0
  950. package/dist/esm/stateManagement/annotation/config/setGlobalStyle.js.map +1 -0
  951. package/dist/esm/stateManagement/annotation/config/setToolStyle.d.ts +1 -0
  952. package/dist/esm/stateManagement/annotation/config/setToolStyle.js +11 -0
  953. package/dist/esm/stateManagement/annotation/config/setToolStyle.js.map +1 -0
  954. package/dist/esm/stateManagement/annotation/index.d.ts +5 -0
  955. package/dist/esm/stateManagement/annotation/index.js +6 -0
  956. package/dist/esm/stateManagement/annotation/index.js.map +1 -0
  957. package/dist/esm/stateManagement/index.d.ts +16 -0
  958. package/dist/esm/stateManagement/index.js +10 -0
  959. package/dist/esm/stateManagement/index.js.map +1 -0
  960. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +29 -0
  961. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +196 -0
  962. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -0
  963. package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +12 -0
  964. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +22 -0
  965. package/dist/esm/stateManagement/segmentation/activeSegmentation.js.map +1 -0
  966. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +3 -0
  967. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js +40 -0
  968. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -0
  969. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +14 -0
  970. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js +33 -0
  971. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -0
  972. package/dist/esm/stateManagement/segmentation/helpers/COLOR_LUT.d.ts +2 -0
  973. package/dist/esm/stateManagement/segmentation/helpers/COLOR_LUT.js +259 -0
  974. package/dist/esm/stateManagement/segmentation/helpers/COLOR_LUT.js.map +1 -0
  975. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.d.ts +3 -0
  976. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +12 -0
  977. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -0
  978. package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +4 -0
  979. package/dist/esm/stateManagement/segmentation/helpers/index.js +5 -0
  980. package/dist/esm/stateManagement/segmentation/helpers/index.js.map +1 -0
  981. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.d.ts +3 -0
  982. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +27 -0
  983. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -0
  984. package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.d.ts +3 -0
  985. package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js +18 -0
  986. package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js.map +1 -0
  987. package/dist/esm/stateManagement/segmentation/index.d.ts +12 -0
  988. package/dist/esm/stateManagement/segmentation/index.js +13 -0
  989. package/dist/esm/stateManagement/segmentation/index.js.map +1 -0
  990. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +2 -0
  991. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +32 -0
  992. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -0
  993. package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +12 -0
  994. package/dist/esm/stateManagement/segmentation/segmentIndex.js +47 -0
  995. package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -0
  996. package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +14 -0
  997. package/dist/esm/stateManagement/segmentation/segmentLocking.js +68 -0
  998. package/dist/esm/stateManagement/segmentation/segmentLocking.js.map +1 -0
  999. package/dist/esm/stateManagement/segmentation/segmentationColor.d.ts +10 -0
  1000. package/dist/esm/stateManagement/segmentation/segmentationColor.js +24 -0
  1001. package/dist/esm/stateManagement/segmentation/segmentationColor.js.map +1 -0
  1002. package/dist/esm/stateManagement/segmentation/segmentationConfig.d.ts +26 -0
  1003. package/dist/esm/stateManagement/segmentation/segmentationConfig.js +75 -0
  1004. package/dist/esm/stateManagement/segmentation/segmentationConfig.js.map +1 -0
  1005. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +20 -0
  1006. package/dist/esm/stateManagement/segmentation/segmentationState.js +135 -0
  1007. package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -0
  1008. package/dist/esm/stateManagement/segmentation/segmentationVisibility.d.ts +8 -0
  1009. package/dist/esm/stateManagement/segmentation/segmentationVisibility.js +25 -0
  1010. package/dist/esm/stateManagement/segmentation/segmentationVisibility.js.map +1 -0
  1011. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +4 -0
  1012. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +38 -0
  1013. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -0
  1014. package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +30 -0
  1015. package/dist/esm/store/SynchronizerManager/Synchronizer.js +157 -0
  1016. package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -0
  1017. package/dist/esm/store/SynchronizerManager/createSynchronizer.d.ts +3 -0
  1018. package/dist/esm/store/SynchronizerManager/createSynchronizer.js +13 -0
  1019. package/dist/esm/store/SynchronizerManager/createSynchronizer.js.map +1 -0
  1020. package/dist/esm/store/SynchronizerManager/destroy.d.ts +2 -0
  1021. package/dist/esm/store/SynchronizerManager/destroy.js +9 -0
  1022. package/dist/esm/store/SynchronizerManager/destroy.js.map +1 -0
  1023. package/dist/esm/store/SynchronizerManager/destroySynchronizerById.d.ts +2 -0
  1024. package/dist/esm/store/SynchronizerManager/destroySynchronizerById.js +11 -0
  1025. package/dist/esm/store/SynchronizerManager/destroySynchronizerById.js.map +1 -0
  1026. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.d.ts +3 -0
  1027. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js +6 -0
  1028. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js.map +1 -0
  1029. package/dist/esm/store/SynchronizerManager/getSynchronizerById.d.ts +3 -0
  1030. package/dist/esm/store/SynchronizerManager/getSynchronizerById.js +6 -0
  1031. package/dist/esm/store/SynchronizerManager/getSynchronizerById.js.map +1 -0
  1032. package/dist/esm/store/SynchronizerManager/getSynchronizers.d.ts +3 -0
  1033. package/dist/esm/store/SynchronizerManager/getSynchronizers.js +18 -0
  1034. package/dist/esm/store/SynchronizerManager/getSynchronizers.js.map +1 -0
  1035. package/dist/esm/store/SynchronizerManager/index.d.ts +7 -0
  1036. package/dist/esm/store/SynchronizerManager/index.js +8 -0
  1037. package/dist/esm/store/SynchronizerManager/index.js.map +1 -0
  1038. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +22 -0
  1039. package/dist/esm/store/ToolGroupManager/ToolGroup.js +192 -0
  1040. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -0
  1041. package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +3 -0
  1042. package/dist/esm/store/ToolGroupManager/createToolGroup.js +14 -0
  1043. package/dist/esm/store/ToolGroupManager/createToolGroup.js.map +1 -0
  1044. package/dist/esm/store/ToolGroupManager/destroy.d.ts +2 -0
  1045. package/dist/esm/store/ToolGroupManager/destroy.js +11 -0
  1046. package/dist/esm/store/ToolGroupManager/destroy.js.map +1 -0
  1047. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +2 -0
  1048. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js +11 -0
  1049. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +1 -0
  1050. package/dist/esm/store/ToolGroupManager/getAllToolGroups.d.ts +3 -0
  1051. package/dist/esm/store/ToolGroupManager/getAllToolGroups.js +6 -0
  1052. package/dist/esm/store/ToolGroupManager/getAllToolGroups.js.map +1 -0
  1053. package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +3 -0
  1054. package/dist/esm/store/ToolGroupManager/getToolGroup.js +15 -0
  1055. package/dist/esm/store/ToolGroupManager/getToolGroup.js.map +1 -0
  1056. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +3 -0
  1057. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js +6 -0
  1058. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +1 -0
  1059. package/dist/esm/store/ToolGroupManager/index.d.ts +16 -0
  1060. package/dist/esm/store/ToolGroupManager/index.js +16 -0
  1061. package/dist/esm/store/ToolGroupManager/index.js.map +1 -0
  1062. package/dist/esm/store/addEnabledElement.d.ts +2 -0
  1063. package/dist/esm/store/addEnabledElement.js +70 -0
  1064. package/dist/esm/store/addEnabledElement.js.map +1 -0
  1065. package/dist/esm/store/addTool.d.ts +3 -0
  1066. package/dist/esm/store/addTool.js +28 -0
  1067. package/dist/esm/store/addTool.js.map +1 -0
  1068. package/dist/esm/store/cancelActiveManipulations.d.ts +1 -0
  1069. package/dist/esm/store/cancelActiveManipulations.js +17 -0
  1070. package/dist/esm/store/cancelActiveManipulations.js.map +1 -0
  1071. package/dist/esm/store/filterMoveableAnnotationTools.d.ts +3 -0
  1072. package/dist/esm/store/filterMoveableAnnotationTools.js +21 -0
  1073. package/dist/esm/store/filterMoveableAnnotationTools.js.map +1 -0
  1074. package/dist/esm/store/filterToolsWithAnnotationsForElement.d.ts +3 -0
  1075. package/dist/esm/store/filterToolsWithAnnotationsForElement.js +23 -0
  1076. package/dist/esm/store/filterToolsWithAnnotationsForElement.js.map +1 -0
  1077. package/dist/esm/store/filterToolsWithMoveableHandles.d.ts +3 -0
  1078. package/dist/esm/store/filterToolsWithMoveableHandles.js +22 -0
  1079. package/dist/esm/store/filterToolsWithMoveableHandles.js.map +1 -0
  1080. package/dist/esm/store/index.d.ts +10 -0
  1081. package/dist/esm/store/index.js +11 -0
  1082. package/dist/esm/store/index.js.map +1 -0
  1083. package/dist/esm/store/removeEnabledElement.d.ts +3 -0
  1084. package/dist/esm/store/removeEnabledElement.js +73 -0
  1085. package/dist/esm/store/removeEnabledElement.js.map +1 -0
  1086. package/dist/esm/store/state.d.ts +19 -0
  1087. package/dist/esm/store/state.js +28 -0
  1088. package/dist/esm/store/state.js.map +1 -0
  1089. package/dist/esm/store/svgNodeCache.d.ts +3 -0
  1090. package/dist/esm/store/svgNodeCache.js +6 -0
  1091. package/dist/esm/store/svgNodeCache.js.map +1 -0
  1092. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +2 -0
  1093. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js +16 -0
  1094. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js.map +1 -0
  1095. package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +2 -0
  1096. package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +29 -0
  1097. package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -0
  1098. package/dist/esm/synchronizers/index.d.ts +3 -0
  1099. package/dist/esm/synchronizers/index.js +4 -0
  1100. package/dist/esm/synchronizers/index.js.map +1 -0
  1101. package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.d.ts +2 -0
  1102. package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.js +9 -0
  1103. package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.js.map +1 -0
  1104. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +2 -0
  1105. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.js +8 -0
  1106. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.js.map +1 -0
  1107. package/dist/esm/synchronizers/synchronizers/index.d.ts +3 -0
  1108. package/dist/esm/synchronizers/synchronizers/index.js +4 -0
  1109. package/dist/esm/synchronizers/synchronizers/index.js.map +1 -0
  1110. package/dist/esm/tools/CrosshairsTool.d.ts +63 -0
  1111. package/dist/esm/tools/CrosshairsTool.js +1273 -0
  1112. package/dist/esm/tools/CrosshairsTool.js.map +1 -0
  1113. package/dist/esm/tools/MIPJumpToClickTool.d.ts +8 -0
  1114. package/dist/esm/tools/MIPJumpToClickTool.js +43 -0
  1115. package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -0
  1116. package/dist/esm/tools/PanTool.d.ts +9 -0
  1117. package/dist/esm/tools/PanTool.js +35 -0
  1118. package/dist/esm/tools/PanTool.js.map +1 -0
  1119. package/dist/esm/tools/StackScrollTool.d.ts +9 -0
  1120. package/dist/esm/tools/StackScrollTool.js +25 -0
  1121. package/dist/esm/tools/StackScrollTool.js.map +1 -0
  1122. package/dist/esm/tools/StackScrollToolMouseWheelTool.d.ts +11 -0
  1123. package/dist/esm/tools/StackScrollToolMouseWheelTool.js +18 -0
  1124. package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -0
  1125. package/dist/esm/tools/VolumeRotateMouseWheelTool.d.ts +9 -0
  1126. package/dist/esm/tools/VolumeRotateMouseWheelTool.js +52 -0
  1127. package/dist/esm/tools/VolumeRotateMouseWheelTool.js.map +1 -0
  1128. package/dist/esm/tools/WindowLevelTool.d.ts +31 -0
  1129. package/dist/esm/tools/WindowLevelTool.js +135 -0
  1130. package/dist/esm/tools/WindowLevelTool.js.map +1 -0
  1131. package/dist/esm/tools/ZoomTool.d.ts +11 -0
  1132. package/dist/esm/tools/ZoomTool.js +63 -0
  1133. package/dist/esm/tools/ZoomTool.js.map +1 -0
  1134. package/dist/esm/tools/annotation/BidirectionalTool.d.ts +67 -0
  1135. package/dist/esm/tools/annotation/BidirectionalTool.js +675 -0
  1136. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -0
  1137. package/dist/esm/tools/annotation/EllipticalRoiTool.d.ts +71 -0
  1138. package/dist/esm/tools/annotation/EllipticalRoiTool.js +627 -0
  1139. package/dist/esm/tools/annotation/EllipticalRoiTool.js.map +1 -0
  1140. package/dist/esm/tools/annotation/LengthTool.d.ts +61 -0
  1141. package/dist/esm/tools/annotation/LengthTool.js +392 -0
  1142. package/dist/esm/tools/annotation/LengthTool.js.map +1 -0
  1143. package/dist/esm/tools/annotation/ProbeTool.d.ts +49 -0
  1144. package/dist/esm/tools/annotation/ProbeTool.js +335 -0
  1145. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -0
  1146. package/dist/esm/tools/annotation/RectangleRoiTool.d.ts +72 -0
  1147. package/dist/esm/tools/annotation/RectangleRoiTool.js +532 -0
  1148. package/dist/esm/tools/annotation/RectangleRoiTool.js.map +1 -0
  1149. package/dist/esm/tools/base/AnnotationTool.d.ts +21 -0
  1150. package/dist/esm/tools/base/AnnotationTool.js +144 -0
  1151. package/dist/esm/tools/base/AnnotationTool.js.map +1 -0
  1152. package/dist/esm/tools/base/BaseTool.d.ts +34 -0
  1153. package/dist/esm/tools/base/BaseTool.js +72 -0
  1154. package/dist/esm/tools/base/BaseTool.js.map +1 -0
  1155. package/dist/esm/tools/base/index.d.ts +3 -0
  1156. package/dist/esm/tools/base/index.js +4 -0
  1157. package/dist/esm/tools/base/index.js.map +1 -0
  1158. package/dist/esm/tools/displayTools/Labelmap/LabelmapConfig.d.ts +13 -0
  1159. package/dist/esm/tools/displayTools/Labelmap/LabelmapConfig.js +25 -0
  1160. package/dist/esm/tools/displayTools/Labelmap/LabelmapConfig.js.map +1 -0
  1161. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +11 -0
  1162. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js +149 -0
  1163. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -0
  1164. package/dist/esm/tools/displayTools/Labelmap/index.d.ts +3 -0
  1165. package/dist/esm/tools/displayTools/Labelmap/index.js +4 -0
  1166. package/dist/esm/tools/displayTools/Labelmap/index.js.map +1 -0
  1167. package/dist/esm/tools/displayTools/SegmentationDisplayTool.d.ts +11 -0
  1168. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +74 -0
  1169. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -0
  1170. package/dist/esm/tools/index.d.ts +21 -0
  1171. package/dist/esm/tools/index.js +22 -0
  1172. package/dist/esm/tools/index.js.map +1 -0
  1173. package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +29 -0
  1174. package/dist/esm/tools/segmentation/CircleScissorsTool.js +192 -0
  1175. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -0
  1176. package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +82 -0
  1177. package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js +234 -0
  1178. package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -0
  1179. package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.d.ts +65 -0
  1180. package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js +144 -0
  1181. package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -0
  1182. package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +29 -0
  1183. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +203 -0
  1184. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -0
  1185. package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +30 -0
  1186. package/dist/esm/tools/segmentation/SphereScissorsTool.js +193 -0
  1187. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -0
  1188. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +13 -0
  1189. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +31 -0
  1190. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -0
  1191. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +15 -0
  1192. package/dist/esm/tools/segmentation/strategies/fillCircle.js +49 -0
  1193. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -0
  1194. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +14 -0
  1195. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +42 -0
  1196. package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -0
  1197. package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +15 -0
  1198. package/dist/esm/tools/segmentation/strategies/fillSphere.js +22 -0
  1199. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -0
  1200. package/dist/esm/tools/segmentation/strategies/index.d.ts +3 -0
  1201. package/dist/esm/tools/segmentation/strategies/index.js +4 -0
  1202. package/dist/esm/tools/segmentation/strategies/index.js.map +1 -0
  1203. package/dist/esm/tsdoc-metadata.json +11 -0
  1204. package/dist/esm/types/AnnotationTypes.d.ts +43 -0
  1205. package/dist/esm/types/AnnotationTypes.js +2 -0
  1206. package/dist/esm/types/AnnotationTypes.js.map +1 -0
  1207. package/dist/esm/types/CursorTypes.d.ts +11 -0
  1208. package/dist/esm/types/CursorTypes.js +2 -0
  1209. package/dist/esm/types/CursorTypes.js.map +1 -0
  1210. package/dist/esm/types/EventTypes.d.ts +140 -0
  1211. package/dist/esm/types/EventTypes.js +2 -0
  1212. package/dist/esm/types/EventTypes.js.map +1 -0
  1213. package/dist/esm/types/IPoints.d.ts +8 -0
  1214. package/dist/esm/types/IPoints.js +2 -0
  1215. package/dist/esm/types/IPoints.js.map +1 -0
  1216. package/dist/esm/types/ISetToolModeOptions.d.ts +15 -0
  1217. package/dist/esm/types/ISetToolModeOptions.js +2 -0
  1218. package/dist/esm/types/ISetToolModeOptions.js.map +1 -0
  1219. package/dist/esm/types/IToolGroup.d.ts +42 -0
  1220. package/dist/esm/types/IToolGroup.js +2 -0
  1221. package/dist/esm/types/IToolGroup.js.map +1 -0
  1222. package/dist/esm/types/InteractionTypes.d.ts +2 -0
  1223. package/dist/esm/types/InteractionTypes.js +2 -0
  1224. package/dist/esm/types/InteractionTypes.js.map +1 -0
  1225. package/dist/esm/types/InternalToolTypes.d.ts +15 -0
  1226. package/dist/esm/types/InternalToolTypes.js +2 -0
  1227. package/dist/esm/types/InternalToolTypes.js.map +1 -0
  1228. package/dist/esm/types/PlanarBoundingBox.d.ts +7 -0
  1229. package/dist/esm/types/PlanarBoundingBox.js +2 -0
  1230. package/dist/esm/types/PlanarBoundingBox.js.map +1 -0
  1231. package/dist/esm/types/SegmentationRepresentationTypes.d.ts +11 -0
  1232. package/dist/esm/types/SegmentationRepresentationTypes.js +2 -0
  1233. package/dist/esm/types/SegmentationRepresentationTypes.js.map +1 -0
  1234. package/dist/esm/types/SegmentationStateTypes.d.ts +51 -0
  1235. package/dist/esm/types/SegmentationStateTypes.js +2 -0
  1236. package/dist/esm/types/SegmentationStateTypes.js.map +1 -0
  1237. package/dist/esm/types/ToolHandle.d.ts +15 -0
  1238. package/dist/esm/types/ToolHandle.js +2 -0
  1239. package/dist/esm/types/ToolHandle.js.map +1 -0
  1240. package/dist/esm/types/ToolProps.d.ts +9 -0
  1241. package/dist/esm/types/ToolProps.js +2 -0
  1242. package/dist/esm/types/ToolProps.js.map +1 -0
  1243. package/dist/esm/types/index.d.ts +14 -0
  1244. package/dist/esm/types/index.js +2 -0
  1245. package/dist/esm/types/index.js.map +1 -0
  1246. package/dist/esm/utilities/calibrateImageSpacing.d.ts +2 -0
  1247. package/dist/esm/utilities/calibrateImageSpacing.js +19 -0
  1248. package/dist/esm/utilities/calibrateImageSpacing.js.map +1 -0
  1249. package/dist/esm/utilities/clip.d.ts +3 -0
  1250. package/dist/esm/utilities/clip.js +9 -0
  1251. package/dist/esm/utilities/clip.js.map +1 -0
  1252. package/dist/esm/utilities/debounce.d.ts +6 -0
  1253. package/dist/esm/utilities/debounce.js +114 -0
  1254. package/dist/esm/utilities/debounce.js.map +1 -0
  1255. package/dist/esm/utilities/deepMerge.d.ts +2 -0
  1256. package/dist/esm/utilities/deepMerge.js +61 -0
  1257. package/dist/esm/utilities/deepMerge.js.map +1 -0
  1258. package/dist/esm/utilities/drawing/getTextBoxCoordsCanvas.d.ts +2 -0
  1259. package/dist/esm/utilities/drawing/getTextBoxCoordsCanvas.js +25 -0
  1260. package/dist/esm/utilities/drawing/getTextBoxCoordsCanvas.js.map +1 -0
  1261. package/dist/esm/utilities/drawing/index.d.ts +6 -0
  1262. package/dist/esm/utilities/drawing/index.js +4 -0
  1263. package/dist/esm/utilities/drawing/index.js.map +1 -0
  1264. package/dist/esm/utilities/getAnnotationNearPoint.d.ts +5 -0
  1265. package/dist/esm/utilities/getAnnotationNearPoint.js +40 -0
  1266. package/dist/esm/utilities/getAnnotationNearPoint.js.map +1 -0
  1267. package/dist/esm/utilities/getToolsWithModesForElement.d.ts +4 -0
  1268. package/dist/esm/utilities/getToolsWithModesForElement.js +25 -0
  1269. package/dist/esm/utilities/getToolsWithModesForElement.js.map +1 -0
  1270. package/dist/esm/utilities/index.d.ts +39 -0
  1271. package/dist/esm/utilities/index.js +39 -0
  1272. package/dist/esm/utilities/index.js.map +1 -0
  1273. package/dist/esm/utilities/isObject.d.ts +2 -0
  1274. package/dist/esm/utilities/isObject.js +6 -0
  1275. package/dist/esm/utilities/isObject.js.map +1 -0
  1276. package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +9 -0
  1277. package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.js +7 -0
  1278. package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.js.map +1 -0
  1279. package/dist/esm/utilities/math/ellipse/index.d.ts +8 -0
  1280. package/dist/esm/utilities/math/ellipse/index.js +5 -0
  1281. package/dist/esm/utilities/math/ellipse/index.js.map +1 -0
  1282. package/dist/esm/utilities/math/ellipse/pointInEllipse.d.ts +9 -0
  1283. package/dist/esm/utilities/math/ellipse/pointInEllipse.js +17 -0
  1284. package/dist/esm/utilities/math/ellipse/pointInEllipse.js.map +1 -0
  1285. package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +9 -0
  1286. package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.js +3 -0
  1287. package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.js.map +1 -0
  1288. package/dist/esm/utilities/math/index.d.ts +24 -0
  1289. package/dist/esm/utilities/math/index.js +7 -0
  1290. package/dist/esm/utilities/math/index.js.map +1 -0
  1291. package/dist/esm/utilities/math/line/distanceToPoint.d.ts +2 -0
  1292. package/dist/esm/utilities/math/line/distanceToPoint.js +8 -0
  1293. package/dist/esm/utilities/math/line/distanceToPoint.js.map +1 -0
  1294. package/dist/esm/utilities/math/line/distanceToPointSquared.d.ts +2 -0
  1295. package/dist/esm/utilities/math/line/distanceToPointSquared.js +24 -0
  1296. package/dist/esm/utilities/math/line/distanceToPointSquared.js.map +1 -0
  1297. package/dist/esm/utilities/math/line/index.d.ts +9 -0
  1298. package/dist/esm/utilities/math/line/index.js +10 -0
  1299. package/dist/esm/utilities/math/line/index.js.map +1 -0
  1300. package/dist/esm/utilities/math/line/intersectLine.d.ts +2 -0
  1301. package/dist/esm/utilities/math/line/intersectLine.js +42 -0
  1302. package/dist/esm/utilities/math/line/intersectLine.js.map +1 -0
  1303. package/dist/esm/utilities/math/rectangle/distanceToPoint.d.ts +2 -0
  1304. package/dist/esm/utilities/math/rectangle/distanceToPoint.js +35 -0
  1305. package/dist/esm/utilities/math/rectangle/distanceToPoint.js.map +1 -0
  1306. package/dist/esm/utilities/math/rectangle/index.d.ts +5 -0
  1307. package/dist/esm/utilities/math/rectangle/index.js +6 -0
  1308. package/dist/esm/utilities/math/rectangle/index.js.map +1 -0
  1309. package/dist/esm/utilities/math/sphere/index.d.ts +2 -0
  1310. package/dist/esm/utilities/math/sphere/index.js +3 -0
  1311. package/dist/esm/utilities/math/sphere/index.js.map +1 -0
  1312. package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +8 -0
  1313. package/dist/esm/utilities/math/sphere/pointInSphere.js +7 -0
  1314. package/dist/esm/utilities/math/sphere/pointInSphere.js.map +1 -0
  1315. package/dist/esm/utilities/math/vec2/findClosestPoint.d.ts +2 -0
  1316. package/dist/esm/utilities/math/vec2/findClosestPoint.js +18 -0
  1317. package/dist/esm/utilities/math/vec2/findClosestPoint.js.map +1 -0
  1318. package/dist/esm/utilities/math/vec2/index.d.ts +7 -0
  1319. package/dist/esm/utilities/math/vec2/index.js +4 -0
  1320. package/dist/esm/utilities/math/vec2/index.js.map +1 -0
  1321. package/dist/esm/utilities/math/vec2/liangBarksyClip.d.ts +1 -0
  1322. package/dist/esm/utilities/math/vec2/liangBarksyClip.js +64 -0
  1323. package/dist/esm/utilities/math/vec2/liangBarksyClip.js.map +1 -0
  1324. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.d.ts +3 -0
  1325. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js +21 -0
  1326. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js.map +1 -0
  1327. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.d.ts +3 -0
  1328. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.js +27 -0
  1329. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.js.map +1 -0
  1330. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +2 -0
  1331. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js +39 -0
  1332. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -0
  1333. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromCorners.d.ts +5 -0
  1334. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromCorners.js +20 -0
  1335. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromCorners.js.map +1 -0
  1336. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromTwoPoints.d.ts +5 -0
  1337. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromTwoPoints.js +20 -0
  1338. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromTwoPoints.js.map +1 -0
  1339. package/dist/esm/utilities/planar/index.d.ts +12 -0
  1340. package/dist/esm/utilities/planar/index.js +12 -0
  1341. package/dist/esm/utilities/planar/index.js.map +1 -0
  1342. package/dist/esm/utilities/pointInShapeCallback.d.ts +12 -0
  1343. package/dist/esm/utilities/pointInShapeCallback.js +71 -0
  1344. package/dist/esm/utilities/pointInShapeCallback.js.map +1 -0
  1345. package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +4 -0
  1346. package/dist/esm/utilities/pointInSurroundingSphereCallback.js +34 -0
  1347. package/dist/esm/utilities/pointInSurroundingSphereCallback.js.map +1 -0
  1348. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +3 -0
  1349. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +35 -0
  1350. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -0
  1351. package/dist/esm/utilities/segmentation/getBoundingBoxUtils.d.ts +4 -0
  1352. package/dist/esm/utilities/segmentation/getBoundingBoxUtils.js +47 -0
  1353. package/dist/esm/utilities/segmentation/getBoundingBoxUtils.js.map +1 -0
  1354. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +1 -0
  1355. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js +11 -0
  1356. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js.map +1 -0
  1357. package/dist/esm/utilities/segmentation/index.d.ts +17 -0
  1358. package/dist/esm/utilities/segmentation/index.js +17 -0
  1359. package/dist/esm/utilities/segmentation/index.js.map +1 -0
  1360. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.d.ts +2 -0
  1361. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.js +11 -0
  1362. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.js.map +1 -0
  1363. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +24 -0
  1364. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +59 -0
  1365. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -0
  1366. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +11 -0
  1367. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js +86 -0
  1368. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -0
  1369. package/dist/esm/utilities/stackScrollTool/getSliceRange.d.ts +6 -0
  1370. package/dist/esm/utilities/stackScrollTool/getSliceRange.js +26 -0
  1371. package/dist/esm/utilities/stackScrollTool/getSliceRange.js.map +1 -0
  1372. package/dist/esm/utilities/stackScrollTool/index.d.ts +10 -0
  1373. package/dist/esm/utilities/stackScrollTool/index.js +10 -0
  1374. package/dist/esm/utilities/stackScrollTool/index.js.map +1 -0
  1375. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.d.ts +2 -0
  1376. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js +41 -0
  1377. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js.map +1 -0
  1378. package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.d.ts +5 -0
  1379. package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.js +38 -0
  1380. package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.js.map +1 -0
  1381. package/dist/esm/utilities/throttle.d.ts +5 -0
  1382. package/dist/esm/utilities/throttle.js +20 -0
  1383. package/dist/esm/utilities/throttle.js.map +1 -0
  1384. package/dist/esm/utilities/transformPhysicalToIndex.d.ts +1 -0
  1385. package/dist/esm/utilities/transformPhysicalToIndex.js +6 -0
  1386. package/dist/esm/utilities/transformPhysicalToIndex.js.map +1 -0
  1387. package/dist/esm/utilities/triggerAnnotationRender.d.ts +21 -0
  1388. package/dist/esm/utilities/triggerAnnotationRender.js +105 -0
  1389. package/dist/esm/utilities/triggerAnnotationRender.js.map +1 -0
  1390. package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +3 -0
  1391. package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js +12 -0
  1392. package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js.map +1 -0
  1393. package/dist/esm/utilities/triggerSegmentationRender.d.ts +17 -0
  1394. package/dist/esm/utilities/triggerSegmentationRender.js +91 -0
  1395. package/dist/esm/utilities/triggerSegmentationRender.js.map +1 -0
  1396. package/dist/esm/utilities/viewport/jumpToWorld.d.ts +2 -0
  1397. package/dist/esm/utilities/viewport/jumpToWorld.js +33 -0
  1398. package/dist/esm/utilities/viewport/jumpToWorld.js.map +1 -0
  1399. package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.d.ts +2 -0
  1400. package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js +12 -0
  1401. package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js.map +1 -0
  1402. package/dist/esm/utilities/viewportFilters/filterViewportsWithSameOrientation.d.ts +2 -0
  1403. package/dist/esm/utilities/viewportFilters/filterViewportsWithSameOrientation.js +10 -0
  1404. package/dist/esm/utilities/viewportFilters/filterViewportsWithSameOrientation.js.map +1 -0
  1405. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.d.ts +2 -0
  1406. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +26 -0
  1407. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -0
  1408. package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +1 -0
  1409. package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.js +18 -0
  1410. package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +1 -0
  1411. package/dist/esm/utilities/viewportFilters/index.d.ts +10 -0
  1412. package/dist/esm/utilities/viewportFilters/index.js +10 -0
  1413. package/dist/esm/utilities/viewportFilters/index.js.map +1 -0
  1414. package/dist/tools.d.ts +3997 -0
  1415. package/dist/umd/index.js +2 -0
  1416. package/dist/umd/index.js.map +1 -0
  1417. package/package.json +46 -0
@@ -0,0 +1,3997 @@
1
+ import type { mat4 } from 'gl-matrix';
2
+ import type { vtkColorTransferFunction } from 'vtk.js/Sources/Rendering/Core/ColorTransferFunction';
3
+ import type { vtkImageData } from 'vtk.js/Sources/Common/DataModel/ImageData';
4
+ import type { vtkPiecewiseFunction } from 'vtk.js/Sources/Common/DataModel/PiecewiseFunction';
5
+ import type { vtkVolume } from 'vtk.js/Sources/Rendering/Core/Volume';
6
+
7
+ declare namespace activeSegmentation {
8
+ export {
9
+ getActiveSegmentationInfo,
10
+ setActiveSegmentation,
11
+ _default_3 as default
12
+ }
13
+ }
14
+
15
+ /**
16
+ * Cornerstone Actor Entry including actor uid, actual volumeActor, and
17
+ * slabThickness for the actor. Note: actor (and actorEntry) are not
18
+ * the same as volumeActor which is vtkVolume. ActorEntry is the object that
19
+ * is retrieved from viewport when calling viewport.getActor(s)
20
+ */
21
+ declare type ActorEntry = {
22
+ uid: string
23
+ volumeActor: VolumeActor
24
+ slabThickness?: number
25
+ }
26
+
27
+ declare function addAnnotation(element: HTMLElement, annotation: Annotation): void;
28
+
29
+ declare function addColorLUT(colorLut: ColorLUT, index: number): void;
30
+
31
+ declare function addColorLUT_2(colorLUT: ColorLUT, colorLUTIndex: number): void;
32
+
33
+ declare function addGlobalSegmentationData(segmentationData: GlobalSegmentationData, suppressEvents?: boolean): void;
34
+
35
+ declare function addSegmentationData(toolGroupUID: string, segmentationData: ToolGroupSpecificSegmentationData, suppressEvents?: boolean): void;
36
+
37
+ declare function addSegmentationsForToolGroup(toolGroupUID: string, segmentationDataArray: SegmentationDataInput[], toolGroupSpecificConfig?: SegmentationConfig): Promise<void>;
38
+
39
+ export declare function addTool(ToolClass: any): void;
40
+
41
+ declare type Annotation = {
42
+ annotationUID?: string;
43
+ highlighted?: boolean;
44
+ isLocked?: boolean;
45
+ invalidated?: boolean;
46
+ metadata: {
47
+ cameraPosition?: Types_2.Point3;
48
+ cameraFocalPoint?: Types_2.Point3;
49
+ viewPlaneNormal?: Types_2.Point3;
50
+ viewUp?: Types_2.Point3;
51
+ FrameOfReferenceUID: string;
52
+ toolName: string;
53
+ referencedImageId?: string;
54
+ volumeUID?: string;
55
+ };
56
+ data: {
57
+ handles?: {
58
+ points?: Types_2.Point3[];
59
+ activeHandleIndex?: number | null;
60
+ textBox?: {
61
+ hasMoved: boolean;
62
+ worldPosition: Types_2.Point3;
63
+ worldBoundingBox: {
64
+ topLeft: Types_2.Point3;
65
+ topRight: Types_2.Point3;
66
+ bottomLeft: Types_2.Point3;
67
+ bottomRight: Types_2.Point3;
68
+ };
69
+ };
70
+ [key: string]: any;
71
+ };
72
+ cachedStats?: unknown;
73
+ };
74
+ };
75
+
76
+ declare namespace annotation {
77
+ export {
78
+ config,
79
+ locking,
80
+ selection,
81
+ state
82
+ }
83
+ }
84
+ export { annotation }
85
+
86
+ declare type AnnotationAddedEventDetail = {
87
+ viewportUID: string;
88
+ renderingEngineUID: string;
89
+ annotation: Annotation;
90
+ };
91
+
92
+ declare type AnnotationAddedEventType = Types_2.CustomEventType<AnnotationAddedEventDetail>;
93
+
94
+ declare type AnnotationForThresholding = {
95
+ metadata: {
96
+ enabledElement: Types_2.IEnabledElement;
97
+ };
98
+ data: {
99
+ handles: {
100
+ points: Types_2.Point3[];
101
+ };
102
+ cachedStats: {
103
+ projectionPoints: Types_2.Point3[][];
104
+ };
105
+ };
106
+ };
107
+
108
+ declare type AnnotationHandle = Types_2.Point3;
109
+
110
+ declare type AnnotationLockChangeEventDetail = {
111
+ added: Array<Annotation>;
112
+ removed: Array<Annotation>;
113
+ locked: Array<Annotation>;
114
+ };
115
+
116
+ declare type AnnotationLockChangeEventType = Types_2.CustomEventType<AnnotationLockChangeEventDetail>;
117
+
118
+ declare type AnnotationModifiedEventDetail = {
119
+ viewportUID: string;
120
+ renderingEngineUID: string;
121
+ annotation: Annotation;
122
+ };
123
+
124
+ declare type AnnotationModifiedEventType = Types_2.CustomEventType<AnnotationModifiedEventDetail>;
125
+
126
+ declare type AnnotationRemovedEventDetail = {
127
+ viewportUID: string;
128
+ renderingEngineUID: string;
129
+ annotation: Annotation;
130
+ };
131
+
132
+ declare type AnnotationRemovedEventType = Types_2.CustomEventType<AnnotationRemovedEventDetail>;
133
+
134
+ declare type AnnotationRenderedEventDetail = {
135
+ element: HTMLElement;
136
+ viewportUID: string;
137
+ renderingEngineUID: string;
138
+ };
139
+
140
+ declare type AnnotationRenderedEventType = Types_2.CustomEventType<AnnotationRenderedEventDetail>;
141
+
142
+ declare type Annotations = Array<Annotation>;
143
+
144
+ declare type AnnotationSelectionChangeEventDetail = {
145
+ added: Array<Annotation>;
146
+ removed: Array<Annotation>;
147
+ selection: Array<Annotation>;
148
+ };
149
+
150
+ declare type AnnotationSelectionChangeEventType = Types_2.CustomEventType<AnnotationSelectionChangeEventDetail>;
151
+
152
+ declare type AnnotationState = {
153
+ [key: string]: FrameOfReferenceSpecificAnnotations;
154
+ };
155
+
156
+ declare enum AnnotationStyleStates {
157
+ Default = "",
158
+ Highlighted = "Highlighted",
159
+ Selected = "Selected",
160
+ Locked = "Locked"
161
+ }
162
+
163
+ export declare abstract class AnnotationTool extends BaseTool {
164
+ static toolName: string;
165
+ abstract addNewAnnotation(evt: EventTypes_2.MouseDownActivateEventType, interactionType: InteractionTypes): Annotation;
166
+ abstract renderAnnotation(enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any): any;
167
+ abstract cancel(element: HTMLElement): any;
168
+ abstract handleSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: Annotation, handle: ToolHandle, interactionType: InteractionTypes): void;
169
+ abstract toolSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: Annotation, interactionType: InteractionTypes): void;
170
+ abstract isPointNearTool(element: HTMLElement, annotation: Annotation, canvasCoords: Types_2.Point2, proximity: number, interactionType: string): boolean;
171
+ filterInteractableAnnotationsForElement(element: HTMLElement, annotations: Annotations): Annotations | undefined;
172
+ mouseMoveCallback: (evt: EventTypes_2.MouseMoveEventType, filteredAnnotations: Annotations) => boolean;
173
+ onImageSpacingCalibrated: (evt: Types_2.EventTypes.ImageSpacingCalibratedEvent) => void;
174
+ getHandleNearImagePoint(element: HTMLElement, annotation: Annotation, canvasCoords: Types_2.Point2, proximity: number): ToolHandle | undefined;
175
+ getStyle(settings: Settings, property: string, annotation?: Annotation): unknown;
176
+ getLinkedTextBoxStyle(settings: Settings, annotation?: Annotation): Record<string, unknown>;
177
+ private _imagePointNearToolOrHandle;
178
+ }
179
+
180
+ export declare abstract class BaseTool implements IBaseTool {
181
+ static toolName: string;
182
+ supportedInteractionTypes: InteractionTypes[];
183
+ configuration: Record<string, any>;
184
+ toolGroupUID: string;
185
+ mode: ToolModes;
186
+ constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps);
187
+ getToolName(): string;
188
+ applyActiveStrategy(enabledElement: Types_2.IEnabledElement, operationData: unknown): any;
189
+ setConfiguration(newConfiguration: Record<string, any>): void;
190
+ setActiveStrategy(strategyName: string): void;
191
+ private getTargetVolumeUID;
192
+ protected getTargetUIDViewportAndImage(targetUID: string, renderingEngine: Types_2.IRenderingEngine): {
193
+ viewport: Types_2.IViewport;
194
+ image: Types_2.IImageData;
195
+ };
196
+ protected getTargetUID(viewport: Types_2.IViewport): string | undefined;
197
+ }
198
+
199
+ declare interface BidirectionalAnnotation extends Annotation {
200
+ data: {
201
+ handles: {
202
+ points: Types_2.Point3[];
203
+ activeHandleIndex: number | null;
204
+ textBox: {
205
+ hasMoved: boolean;
206
+ worldPosition: Types_2.Point3;
207
+ worldBoundingBox: {
208
+ topLeft: Types_2.Point3;
209
+ topRight: Types_2.Point3;
210
+ bottomLeft: Types_2.Point3;
211
+ bottomRight: Types_2.Point3;
212
+ };
213
+ };
214
+ };
215
+ label: string;
216
+ cachedStats: {
217
+ [targetUID: string]: {
218
+ length: number;
219
+ width: number;
220
+ };
221
+ };
222
+ };
223
+ }
224
+
225
+ export declare class BidirectionalTool extends AnnotationTool {
226
+ static toolName: string;
227
+ touchDragCallback: any;
228
+ mouseDragCallback: any;
229
+ _throttledCalculateCachedStats: any;
230
+ editData: {
231
+ annotation: any;
232
+ viewportUIDsToRender: string[];
233
+ handleIndex?: number;
234
+ movingTextBox: boolean;
235
+ newAnnotation?: boolean;
236
+ hasMoved?: boolean;
237
+ } | null;
238
+ isDrawing: boolean;
239
+ isHandleOutsideImage: boolean;
240
+ preventHandleOutsideImage: boolean;
241
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
242
+ addNewAnnotation(evt: EventTypes_2.MouseDownActivateEventType): BidirectionalAnnotation;
243
+ isPointNearTool: (element: HTMLElement, annotation: BidirectionalAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
244
+ toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: BidirectionalAnnotation, interactionType: InteractionTypes) => void;
245
+ handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: BidirectionalAnnotation, handle: ToolHandle, interactionType?: string) => void;
246
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
247
+ _mouseDragDrawCallback: (evt: MouseMoveEventType | MouseDragEventType) => void;
248
+ _mouseDragModifyCallback: (evt: MouseDragEventType) => void;
249
+ _mouseDragModifyHandle: (evt: any) => void;
250
+ cancel: (element: HTMLElement) => any;
251
+ _activateDraw: (element: any) => void;
252
+ _deactivateDraw: (element: any) => void;
253
+ _activateModify: (element: any) => void;
254
+ _deactivateModify: (element: any) => void;
255
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
256
+ _movingLongAxisWouldPutItThroughShortAxis: (proposedFirstLineSegment: any, secondLineSegment: any) => boolean;
257
+ _getTextLines: (data: any, targetUID: any) => string[];
258
+ _calculateLength(pos1: any, pos2: any): number;
259
+ _calculateCachedStats: (annotation: any, renderingEngine: any, enabledElement: any) => any;
260
+ _isInsideVolume: (index1: any, index2: any, index3: any, index4: any, dimensions: any) => boolean;
261
+ }
262
+
263
+ declare type BoundsIJK = [Types_2.Point2, Types_2.Point2, Types_2.Point2];
264
+
265
+ declare function calibrateImageSpacing(imageId: string, renderingEngine: Types_2.IRenderingEngine, rowPixelSpacing: number, columnPixelSpacing: number): void;
266
+
267
+ /**
268
+ * CameraModified Event type
269
+ */
270
+ declare type CameraModifiedEvent = CustomEvent_2<CameraModifiedEventDetail>
271
+
272
+ /**
273
+ * CAMERA_MODIFIED Event's data
274
+ */
275
+ declare type CameraModifiedEventDetail = {
276
+ /** Previous camera properties */
277
+ previousCamera: ICamera
278
+ /** Current camera properties */
279
+ camera: ICamera
280
+ /** Viewport HTML element in the DOM */
281
+ element: HTMLElement
282
+ /** Viewport Unique ID in the renderingEngine */
283
+ viewportUID: string
284
+ /** Unique ID for the renderingEngine */
285
+ renderingEngineUID: string
286
+ }
287
+
288
+ export declare function cancelActiveManipulations(element: HTMLElement): string | undefined;
289
+
290
+ declare type canvasCoordinates = [
291
+ Types_2.Point2,
292
+ Types_2.Point2,
293
+ Types_2.Point2,
294
+ Types_2.Point2
295
+ ];
296
+
297
+ declare function checkAndDefineIsLockedProperty(annotation: Annotation): void;
298
+
299
+ export declare class CircleScissorsTool extends BaseTool {
300
+ static toolName: string;
301
+ editData: {
302
+ annotation: any;
303
+ segmentation: any;
304
+ segmentIndex: number;
305
+ segmentationDataUID: string;
306
+ segmentsLocked: number[];
307
+ segmentColor: [number, number, number, number];
308
+ viewportUIDsToRender: string[];
309
+ handleIndex?: number;
310
+ movingTextBox: boolean;
311
+ newAnnotation?: boolean;
312
+ hasMoved?: boolean;
313
+ centerCanvas?: Array<number>;
314
+ } | null;
315
+ isDrawing: boolean;
316
+ isHandleOutsideImage: boolean;
317
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
318
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => void;
319
+ _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType) => void;
320
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
321
+ _activateDraw: (element: any) => void;
322
+ _deactivateDraw: (element: any) => void;
323
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
324
+ }
325
+
326
+ declare function clip(a: any, b: any, box: any, da?: any, db?: any): 0 | 1;
327
+
328
+ declare type Color = [number, number, number, number];
329
+
330
+ declare type ColorLUT = Array<Color>;
331
+
332
+ declare namespace config {
333
+ export {
334
+ getState,
335
+ getStyle,
336
+ getFont,
337
+ setAnnotationStyle,
338
+ setGlobalStyle,
339
+ setToolStyle
340
+ }
341
+ }
342
+
343
+ declare interface CPUFallbackColormap {
344
+ /** Get id of colormap */
345
+ getId: () => string
346
+ getColorSchemeName: () => string
347
+ setColorSchemeName: (name: string) => void
348
+ getNumberOfColors: () => number
349
+ setNumberOfColors: (numColors: number) => void
350
+ getColor: (index: number) => Point4
351
+ getColorRepeating: (index: number) => Point4
352
+ setColor: (index: number, rgba: Point4) => void
353
+ addColor: (rgba: Point4) => void
354
+ insertColor: (index: number, rgba: Point4) => void
355
+ removeColor: (index: number) => void
356
+ clearColors: () => void
357
+ buildLookupTable: (lut: CPUFallbackLookupTable) => void
358
+ createLookupTable: () => CPUFallbackLookupTable
359
+ isValidIndex: (index: number) => boolean
360
+ }
361
+
362
+ declare type CPUFallbackColormapData = {
363
+ name: string;
364
+ numOfColors?: number;
365
+ colors?: Point4[];
366
+ segmentedData?: unknown;
367
+ numColors?: number;
368
+ gamma?: number;
369
+ };
370
+
371
+ declare type CPUFallbackColormapsData = {
372
+ [key: string]: CPUFallbackColormapData;
373
+ };
374
+
375
+ declare interface CPUFallbackEnabledElement {
376
+ scale?: number
377
+ pan?: Point2
378
+ zoom?: number
379
+ rotation?: number
380
+ image?: IImage
381
+ canvas?: HTMLCanvasElement
382
+ viewport?: CPUFallbackViewport
383
+ colormap?: CPUFallbackColormap
384
+ options?: {
385
+ [key: string]: unknown
386
+ colormap?: CPUFallbackColormap
387
+ }
388
+ renderingTools?: CPUFallbackRenderingTools
389
+ transform?: CPUFallbackTransform
390
+ invalid?: boolean
391
+ needsRedraw?: boolean
392
+ metadata?: {
393
+ direction?: Float32Array
394
+ /** Last index is always 1 for CPU */
395
+ dimensions?: Point3
396
+ /** Last spacing is always EPSILON for CPU */
397
+ spacing?: Point3
398
+ origin?: Point3
399
+ imagePlaneModule?: {
400
+ frameOfReferenceUID: string
401
+ rows: number
402
+ columns: number
403
+ imageOrientationPatient: number[]
404
+ rowCosines: Point3
405
+ columnCosines: Point3
406
+ imagePositionPatient: number[]
407
+ sliceThickness?: number
408
+ sliceLocation?: number
409
+ pixelSpacing: Point2
410
+ rowPixelSpacing: number
411
+ columnPixelSpacing: number
412
+ }
413
+ imagePixelModule?: {
414
+ samplesPerPixel: number
415
+ photometricInterpretation: string
416
+ rows: number
417
+ columns: number
418
+ bitsAllocated: number
419
+ bitsStored: number
420
+ highBit: number
421
+ pixelRepresentation: number
422
+ planarConfiguration?: number
423
+ pixelAspectRatio?: number
424
+ smallestPixelValue?: number
425
+ largestPixelValue?: number
426
+ redPaletteColorLookupTableDescriptor?: number[]
427
+ greenPaletteColorLookupTableDescriptor?: number[]
428
+ bluePaletteColorLookupTableDescriptor?: number[]
429
+ redPaletteColorLookupTableData: number[]
430
+ greenPaletteColorLookupTableData: number[]
431
+ bluePaletteColorLookupTableData: number[]
432
+ }
433
+ }
434
+ }
435
+
436
+ declare interface CPUFallbackLookupTable {
437
+ setNumberOfTableValues: (number: number) => void;
438
+ setRamp: (ramp: string) => void;
439
+ setTableRange: (start: number, end: number) => void;
440
+ setHueRange: (start: number, end: number) => void;
441
+ setSaturationRange: (start: number, end: number) => void;
442
+ setValueRange: (start: number, end: number) => void;
443
+ setRange: (start: number, end: number) => void;
444
+ setAlphaRange: (start: number, end: number) => void;
445
+ getColor: (scalar: number) => Point4;
446
+ build: (force: boolean) => void;
447
+ setTableValue(index: number, rgba: Point4);
448
+ }
449
+
450
+ declare type CPUFallbackLUT = {
451
+ lut: number[];
452
+ };
453
+
454
+ declare type CPUFallbackRenderingTools = {
455
+ renderCanvas?: HTMLCanvasElement;
456
+ lastRenderedIsColor?: boolean;
457
+ lastRenderedImageId?: string;
458
+ lastRenderedViewport?: {
459
+ windowWidth: number | number[];
460
+ windowCenter: number | number[];
461
+ invert: boolean;
462
+ rotation: number;
463
+ hflip: boolean;
464
+ vflip: boolean;
465
+ modalityLUT: CPUFallbackLUT;
466
+ voiLUT: CPUFallbackLUT;
467
+ colormap: unknown;
468
+ };
469
+ renderCanvasContext?: {
470
+ putImageData: (
471
+ renderCanvasData: unknown,
472
+ dx: number,
473
+ dy: number
474
+ ) => unknown;
475
+ };
476
+ colormapId?: string;
477
+ colorLut?: CPUFallbackLookupTable;
478
+ renderCanvasData?: {
479
+ data: Uint8ClampedArray;
480
+ };
481
+ };
482
+
483
+ declare interface CPUFallbackTransform {
484
+ reset: () => void;
485
+ clone: () => CPUFallbackTransform;
486
+ multiply: (matrix: TransformMatrix2D) => void;
487
+ getMatrix: () => TransformMatrix2D;
488
+ invert: () => void;
489
+ rotate: (rad: number) => void;
490
+ translate: (x: number, y: number) => void;
491
+ scale: (sx: number, sy: number) => void;
492
+ transformPoint: (point: Point2) => Point2;
493
+ }
494
+
495
+ declare type CPUFallbackViewport = {
496
+ scale?: number;
497
+ translation?: {
498
+ x: number;
499
+ y: number;
500
+ };
501
+ voi?: {
502
+ windowWidth: number;
503
+ windowCenter: number;
504
+ };
505
+ invert?: boolean;
506
+ pixelReplication?: boolean;
507
+ rotation?: number;
508
+ hflip?: boolean;
509
+ vflip?: boolean;
510
+ modalityLUT?: CPUFallbackLUT;
511
+ voiLUT?: CPUFallbackLUT;
512
+ colormap?: CPUFallbackColormap;
513
+ displayedArea?: CPUFallbackViewportDisplayedArea;
514
+ modality?: string;
515
+ };
516
+
517
+ declare type CPUFallbackViewportDisplayedArea = {
518
+ tlhc: {
519
+ x: number;
520
+ y: number;
521
+ };
522
+ brhc: {
523
+ x: number;
524
+ y: number;
525
+ };
526
+ rowPixelSpacing: number;
527
+ columnPixelSpacing: number;
528
+ presentationSizeMode: string;
529
+ };
530
+
531
+ declare type CPUIImageData = {
532
+ dimensions: Point3
533
+ direction: Float32Array
534
+ spacing: Point3
535
+ origin: Point3
536
+ imageData: CPUImageData
537
+ metadata: { Modality: string }
538
+ scalarData: number[]
539
+ scaling: Scaling
540
+ }
541
+
542
+ declare type CPUImageData = {
543
+ worldToIndex?: (point: Point3) => Point3
544
+ indexToWorld?: (point: Point3) => Point3
545
+ getWorldToIndex?: () => Point3
546
+ getIndexToWorld?: () => Point3
547
+ /** Last spacing is always EPSILON */
548
+ getSpacing?: () => Point3
549
+ getDirection?: () => Float32Array
550
+ getScalarData?: () => number[]
551
+ /** Last index is always 1 */
552
+ getDimensions?: () => Point3
553
+ }
554
+
555
+ declare function createCameraPositionSynchronizer(synchronizerName: string): Synchronizer;
556
+
557
+ declare function createMergedLabelmapForIndex(labelmaps: Array<Types_2.IImageVolume>, segmentIndex?: number, uid?: string): Types_2.IImageVolume;
558
+
559
+ declare function createNewSegmentationForToolGroup(toolGroupUID: string, options?: {
560
+ volumeUID?: string;
561
+ scalarData?: Float32Array | Uint8Array;
562
+ targetBuffer?: {
563
+ type: 'Float32Array' | 'Uint8Array';
564
+ };
565
+ metadata?: any;
566
+ dimensions?: Types_2.Point3;
567
+ spacing?: Types_2.Point3;
568
+ origin?: Types_2.Point3;
569
+ direction?: Float32Array;
570
+ }): Promise<string>;
571
+
572
+ declare function createSynchronizer(synchronizerId: string, eventName: string, eventHandler: ISynchronizerEventHandler): Synchronizer;
573
+
574
+ declare function createToolGroup(toolGroupUID: string): IToolGroup | undefined;
575
+
576
+ declare function createVOISynchronizer(synchronizerName: string): Synchronizer;
577
+
578
+ declare interface CrosshairsAnnotation extends Annotation {
579
+ data: {
580
+ handles: {
581
+ rotationPoints: any[];
582
+ slabThicknessPoints: any[];
583
+ activeOperation: number | null;
584
+ toolCenter: Types_2.Point3;
585
+ };
586
+ activeViewportUIDs: string[];
587
+ viewportUID: string;
588
+ };
589
+ }
590
+
591
+ export declare class CrosshairsTool extends AnnotationTool {
592
+ static toolName: string;
593
+ toolCenter: Types_2.Point3;
594
+ _getReferenceLineColor?: (viewportUID: string) => string;
595
+ _getReferenceLineControllable?: (viewportUID: string) => boolean;
596
+ _getReferenceLineDraggableRotatable?: (viewportUID: string) => boolean;
597
+ _getReferenceLineSlabThicknessControlsOn?: (viewportUID: string) => boolean;
598
+ editData: {
599
+ annotation: any;
600
+ } | null;
601
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
602
+ initializeViewport: ({ renderingEngineUID, viewportUID, }: Types_2.IViewportUID) => {
603
+ normal: Types_2.Point3;
604
+ point: Types_2.Point3;
605
+ };
606
+ init: (viewports: ViewportInputs) => void;
607
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType, interactionType: string) => CrosshairsAnnotation;
608
+ cancel: () => void;
609
+ getHandleNearImagePoint(element: HTMLElement, annotation: Annotation, canvasCoords: Types_2.Point2, proximity: number): ToolHandle | undefined;
610
+ handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: Annotation, handle: ToolHandle, interactionType?: string) => void;
611
+ isPointNearTool: (element: HTMLElement, annotation: CrosshairsAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
612
+ toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: Annotation, interactionType: InteractionTypes) => void;
613
+ onCameraModified: (evt: any) => void;
614
+ mouseMoveCallback: (evt: EventTypes_2.MouseMoveEventType, filteredToolAnnotations: Annotations) => boolean;
615
+ filterInteractableAnnotationsForElement: (element: any, annotations: any) => any;
616
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
617
+ _autoPanViewportIfNecessary(viewportUID: string, renderingEngine: Types_2.IRenderingEngine): void;
618
+ _areViewportUIDArraysEqual: (viewportUIDArrayOne: any, viewportUIDArrayTwo: any) => boolean;
619
+ _getAnnotationsForViewportsWithDifferentCameras: (enabledElement: any, annotations: any) => any;
620
+ _filterLinkedViewportWithSameOrientationAndScene: (enabledElement: any, annotations: any) => any;
621
+ _filterAnnotationsByUniqueViewportOrientations: (enabledElement: any, annotations: any) => any[];
622
+ _checkIfViewportsRenderingSameScene: (viewport: any, otherViewport: any) => boolean;
623
+ _jump: (enabledElement: any, jumpWorld: any) => boolean;
624
+ _activateModify: (element: any) => void;
625
+ _deactivateModify: (element: any) => void;
626
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
627
+ _mouseDragCallback: (evt: MouseDragEventType) => void;
628
+ _isClockWise(a: any, b: any, c: any): boolean;
629
+ _applyDeltaShiftToSelectedViewportCameras(renderingEngine: any, viewportsAnnotationsToUpdate: any, delta: any): void;
630
+ _applyDeltaShiftToViewportCamera(renderingEngine: Types_2.IRenderingEngine, annotation: any, delta: any): void;
631
+ _pointNearReferenceLine: (annotation: any, canvasCoords: any, proximity: any, lineViewport: any) => boolean;
632
+ _getRotationHandleNearImagePoint(viewport: any, annotation: any, canvasCoords: any, proximity: any): any;
633
+ _getSlabThicknessHandleNearImagePoint(viewport: any, annotation: any, canvasCoords: any, proximity: any): any;
634
+ _pointNearTool(element: any, annotation: any, canvasCoords: any, proximity: any): boolean;
635
+ }
636
+
637
+ declare const CursorNames: string[];
638
+
639
+ declare namespace cursors {
640
+ export {
641
+ MouseCursor,
642
+ ImageMouseCursor,
643
+ SVGMouseCursor,
644
+ elementCursor,
645
+ registerCursor,
646
+ CursorNames,
647
+ setCursorForElement
648
+ }
649
+ }
650
+ export { cursors }
651
+
652
+ declare interface CustomEvent_2<T = any> extends Event {
653
+ /**
654
+ * Returns any custom data event was created with. Typically used for synthetic events.
655
+ */
656
+ readonly detail: T
657
+ initCustomEvent(
658
+ typeArg: string,
659
+ canBubbleArg: boolean,
660
+ cancelableArg: boolean,
661
+ detailArg: T
662
+ ): void
663
+ }
664
+
665
+ declare function debounce(func: Function, wait?: number, options?: {
666
+ leading?: boolean;
667
+ maxWait?: number;
668
+ trailing?: boolean;
669
+ }): Function;
670
+
671
+ declare function deepmerge(target?: {}, source?: {}, optionsArgument?: any): any;
672
+
673
+ declare const _default: {
674
+ createToolGroup: typeof createToolGroup;
675
+ destroy: typeof destroy_3;
676
+ destroyToolGroupByToolGroupUID: typeof destroyToolGroupByToolGroupUID;
677
+ getToolGroupByToolGroupUID: typeof getToolGroupByToolGroupUID;
678
+ getToolGroup: typeof getToolGroup;
679
+ getAllToolGroups: typeof getAllToolGroups;
680
+ };
681
+
682
+ declare const _default_10: {
683
+ findClosestPoint: typeof findClosestPoint;
684
+ liangBarksyClip: typeof clip;
685
+ };
686
+
687
+ declare const _default_11: {
688
+ pointInEllipse: typeof pointInEllipse;
689
+ getCanvasEllipseCorners: typeof getCanvasEllipseCorners;
690
+ };
691
+
692
+ declare const _default_12: {
693
+ filterAnnotationsWithinSlice: typeof filterAnnotationsWithinSlice;
694
+ getWorldWidthAndHeightFromCorners: typeof getWorldWidthAndHeightFromCorners;
695
+ filterAnnotationsForDisplay: typeof filterAnnotationsForDisplay;
696
+ getPointInLineOfSightWithCriteria: typeof getPointInLineOfSightWithCriteria;
697
+ };
698
+
699
+ declare const _default_13: {
700
+ filterViewportsWithToolEnabled: typeof filterViewportsWithToolEnabled;
701
+ filterViewportsWithFrameOfReferenceUID: typeof filterViewportsWithFrameOfReferenceUID;
702
+ getViewportUIDsWithToolToRender: typeof getViewportUIDsWithToolToRender;
703
+ };
704
+
705
+ declare const _default_14: {
706
+ snapFocalPointToSlice: typeof snapFocalPointToSlice;
707
+ getSliceRange: typeof getSliceRange;
708
+ scrollThroughStack: typeof scrollThroughStack;
709
+ };
710
+
711
+ declare const _default_15: {
712
+ getTextBoxCoordsCanvas: typeof getTextBoxCoordsCanvas;
713
+ };
714
+
715
+ declare const _default_16: {
716
+ getBoundingBoxAroundShape: typeof getBoundingBoxAroundShape;
717
+ extend2DBoundingBoxInViewAxis: typeof extend2DBoundingBoxInViewAxis;
718
+ thresholdVolumeByRange: typeof thresholdVolumeByRange;
719
+ thresholdVolumeByRoiStats: typeof thresholdVolumeByRoiStats;
720
+ createMergedLabelmapForIndex: typeof createMergedLabelmapForIndex;
721
+ isValidRepresentationConfig: typeof isValidRepresentationConfig;
722
+ getDefaultRepresentationConfig: typeof getDefaultRepresentationConfig;
723
+ };
724
+
725
+ declare const _default_17: {
726
+ math: typeof math;
727
+ planar: typeof planar;
728
+ viewportFilters: typeof viewportFilters;
729
+ stackScrollTool: typeof stackScrollTool;
730
+ drawing: typeof drawing_2;
731
+ debounce: typeof debounce;
732
+ deepMerge: (target?: {}, source?: {}, optionsArgument?: any) => any;
733
+ throttle: typeof throttle;
734
+ isObject: typeof isObject;
735
+ triggerEvent: typeof triggerEvent;
736
+ calibrateImageSpacing: typeof calibrateImageSpacing;
737
+ transformPhysicalToIndex: typeof transformPhysicalToIndex;
738
+ segmentation: typeof segmentation_2;
739
+ triggerAnnotationRenderForViewportUIDs: typeof triggerAnnotationRenderForViewportUIDs;
740
+ pointInShapeCallback: typeof pointInShapeCallback;
741
+ pointInSurroundingSphereCallback: typeof pointInSurroundingSphereCallback;
742
+ getAnnotationNearPoint: typeof getAnnotationNearPoint;
743
+ getAnnotationNearPointOnEnabledElement: typeof getAnnotationNearPointOnEnabledElement;
744
+ };
745
+
746
+ declare const _default_2: {
747
+ draw: typeof draw;
748
+ drawCircle: typeof drawCircle;
749
+ drawEllipse: typeof drawEllipse;
750
+ drawHandles: typeof drawHandles;
751
+ drawLine: typeof drawLine;
752
+ drawLinkedTextBox: typeof drawLinkedTextBox;
753
+ drawRect: typeof drawRect;
754
+ drawTextBox: typeof drawTextBox;
755
+ };
756
+
757
+ declare const _default_3: {
758
+ getActiveSegmentationInfo: typeof getActiveSegmentationInfo;
759
+ setActiveSegmentation: typeof setActiveSegmentation;
760
+ };
761
+
762
+ declare const _default_4: {
763
+ getSegmentIndexLocked: typeof getSegmentIndexLocked;
764
+ setSegmentIndexLocked: typeof setSegmentIndexLocked;
765
+ getSegmentIndexLockedForSegmentation: typeof getSegmentIndexLockedForSegmentation;
766
+ setSegmentIndexLockedForSegmentation: typeof setSegmentIndexLockedForSegmentation;
767
+ getSegmentsLockedForSegmentation: typeof getSegmentsLockedForSegmentation;
768
+ };
769
+
770
+ declare const _default_5: {
771
+ getColorForSegmentIndex: typeof getColorForSegmentIndex;
772
+ addColorLUT: typeof addColorLUT_2;
773
+ };
774
+
775
+ declare const _default_6: {
776
+ getGlobalSegmentationConfig: typeof getGlobalSegmentationConfig_2;
777
+ setGlobalSegmentationConfig: typeof setGlobalSegmentationConfig_2;
778
+ getGlobalRepresentationConfig: typeof getGlobalRepresentationConfig;
779
+ setGlobalRepresentationConfig: typeof setGlobalRepresentationConfig;
780
+ updateGlobalSegmentationConfig: typeof updateGlobalSegmentationConfig;
781
+ updateGlobalRepresentationConfig: typeof updateGlobalRepresentationConfig;
782
+ getSegmentationConfig: typeof getSegmentationConfig_2;
783
+ setSegmentationConfig: typeof setSegmentationConfig_2;
784
+ setRepresentationConfig: typeof setRepresentationConfig;
785
+ getRepresentationConfig: typeof getRepresentationConfig;
786
+ };
787
+
788
+ declare const _default_7: {
789
+ setSegmentationVisibility: typeof setSegmentationVisibility;
790
+ getSegmentationVisibility: typeof getSegmentationVisibility;
791
+ };
792
+
793
+ declare const _default_8: {
794
+ getActiveSegmentIndex: typeof getActiveSegmentIndex;
795
+ setActiveSegmentIndex: typeof setActiveSegmentIndex;
796
+ getActiveSegmentIndexForSegmentation: typeof getActiveSegmentIndexForSegmentation;
797
+ setActiveSegmentIndexForSegmentation: typeof setActiveSegmentIndexForSegmentation;
798
+ };
799
+
800
+ declare const _default_9: {
801
+ vec2: {
802
+ findClosestPoint: findClosestPoint;
803
+ liangBarksyClip: clip;
804
+ };
805
+ ellipse: {
806
+ pointInEllipse: pointInEllipse;
807
+ getCanvasEllipseCorners: getCanvasEllipseCorners;
808
+ };
809
+ lineSegment: {
810
+ distanceToPoint: distanceToPoint;
811
+ distanceToPointSquared: distanceToPointSquared;
812
+ intersectLine: intersectLine;
813
+ };
814
+ rectangle: {
815
+ distanceToPoint: distanceToPoint_2;
816
+ };
817
+ };
818
+
819
+ export declare function destroy(): void;
820
+
821
+ declare function destroy_2(): void;
822
+
823
+ declare function destroy_3(): void;
824
+
825
+ declare function destroySynchronizerById(synchronizerId: string): void;
826
+
827
+ declare function destroyToolGroupByToolGroupUID(toolGroupUID: string): void;
828
+
829
+ declare function distanceToPoint(lineStart: Types_2.Point2, lineEnd: Types_2.Point2, point: Types_2.Point2): number;
830
+
831
+ declare function distanceToPoint_2(rect: number[], point: Types_2.Point2): number;
832
+
833
+ declare function distanceToPointSquared(lineStart: Types_2.Point2, lineEnd: Types_2.Point2, point: Types_2.Point2): number;
834
+
835
+ declare function draw(element: HTMLElement, fn: (svgDrawingElement: any) => any): void;
836
+
837
+ declare function drawCircle(svgDrawingHelper: any, toolName: string, annotationUID: string, circleUID: string, center: Types_2.Point2, radius: number, options?: {}): void;
838
+
839
+ declare function drawEllipse(svgDrawingHelper: any, toolName: string, annotationUID: string, ellipseUID: string, corner1: Types_2.Point2, corner2: Types_2.Point2, options?: {}): void;
840
+
841
+ declare function drawHandles(svgDrawingHelper: any, toolName: string, annotationUID: string, handleGroupUID: string, handlePoints: Array<Types_2.Point2>, options?: {}): void;
842
+
843
+ declare namespace drawing {
844
+ export {
845
+ draw,
846
+ drawCircle,
847
+ drawEllipse,
848
+ drawHandles,
849
+ drawLine,
850
+ drawLinkedTextBox,
851
+ drawRect,
852
+ drawTextBox,
853
+ _default_2 as default
854
+ }
855
+ }
856
+ export { drawing }
857
+
858
+ declare namespace drawing_2 {
859
+ export {
860
+ getTextBoxCoordsCanvas,
861
+ _default_15 as default
862
+ }
863
+ }
864
+
865
+ declare function drawLine(svgDrawingHelper: any, toolName: string, annotationUID: string, lineUID: string, start: Types_2.Point2, end: Types_2.Point2, options?: {}): void;
866
+
867
+ declare function drawLinkedTextBox(svgDrawingHelper: Record<string, unknown>, toolName: string, annotationUID: string, textBoxUID: string, textLines: Array<string>, textBoxPosition: Types_2.Point2, annotationAnchorPoints: Array<Types_2.Point2>, textBox: unknown, options?: {}): SVGRect;
868
+
869
+ declare function drawRect(svgDrawingHelper: any, toolName: string, annotationUID: string, rectangleUID: string, start: Types_2.Point2, end: Types_2.Point2, options?: {}): void;
870
+
871
+ declare function drawTextBox(svgDrawingHelper: Record<string, unknown>, toolName: string, annotationUID: string, textUID: string, textLines: Array<string>, position: Types_2.Point2, options?: {}): SVGRect;
872
+
873
+ declare namespace elementCursor {
874
+ export {
875
+ initElementCursor,
876
+ resetElementCursor,
877
+ hideElementCursor,
878
+ _setElementCursor as setElementCursor
879
+ }
880
+ }
881
+
882
+ /**
883
+ * ELEMENT_DISABLED Event type
884
+ */
885
+ declare type ElementDisabledEvent = CustomEvent_2<ElementDisabledEventDetail>
886
+
887
+ /**
888
+ * ELEMENT_DISABLED Event's data
889
+ */
890
+ declare type ElementDisabledEventDetail = {
891
+ /** Viewport HTML element in the DOM */
892
+ element: HTMLElement
893
+ /** Viewport Unique ID in the renderingEngine */
894
+ viewportUID: string
895
+ /** Unique ID for the renderingEngine */
896
+ renderingEngineUID: string
897
+ }
898
+
899
+ /**
900
+ * ELEMENT_ENABLED Event type
901
+ */
902
+ declare type ElementEnabledEvent = CustomEvent_2<ElementEnabledEventDetail>
903
+
904
+ /**
905
+ * ELEMENT_Enabled Event's data
906
+ */
907
+ declare type ElementEnabledEventDetail = {
908
+ /** Viewport HTML element in the DOM */
909
+ element: HTMLElement
910
+ /** Viewport Unique ID in the renderingEngine */
911
+ viewportUID: string
912
+ /** Unique ID for the renderingEngine */
913
+ renderingEngineUID: string
914
+ }
915
+
916
+ declare type Ellipse = {
917
+ center: Types_2.Point3;
918
+ xRadius: number;
919
+ yRadius: number;
920
+ zRadius: number;
921
+ };
922
+
923
+ declare interface EllipticalRoiAnnotation extends Annotation {
924
+ data: {
925
+ handles: {
926
+ points: [Types_2.Point3, Types_2.Point3, Types_2.Point3, Types_2.Point3];
927
+ activeHandleIndex: number | null;
928
+ textBox?: {
929
+ hasMoved: boolean;
930
+ worldPosition: Types_2.Point3;
931
+ worldBoundingBox: {
932
+ topLeft: Types_2.Point3;
933
+ topRight: Types_2.Point3;
934
+ bottomLeft: Types_2.Point3;
935
+ bottomRight: Types_2.Point3;
936
+ };
937
+ };
938
+ };
939
+ label: string;
940
+ cachedStats?: {
941
+ [targetUID: string]: {
942
+ Modality: string;
943
+ area: number;
944
+ max: number;
945
+ mean: number;
946
+ stdDev: number;
947
+ };
948
+ };
949
+ };
950
+ }
951
+
952
+ export declare class EllipticalRoiTool extends AnnotationTool {
953
+ static toolName: string;
954
+ touchDragCallback: any;
955
+ mouseDragCallback: any;
956
+ _throttledCalculateCachedStats: any;
957
+ editData: {
958
+ annotation: any;
959
+ viewportUIDsToRender: Array<string>;
960
+ handleIndex?: number;
961
+ movingTextBox?: boolean;
962
+ centerCanvas?: Array<number>;
963
+ canvasWidth?: number;
964
+ canvasHeight?: number;
965
+ originalHandleCanvas?: Array<number>;
966
+ newAnnotation?: boolean;
967
+ hasMoved?: boolean;
968
+ } | null;
969
+ isDrawing: boolean;
970
+ isHandleOutsideImage: boolean;
971
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
972
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => EllipticalRoiAnnotation;
973
+ isPointNearTool: (element: HTMLElement, annotation: EllipticalRoiAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
974
+ toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: EllipticalRoiAnnotation, interactionType: InteractionTypes) => void;
975
+ handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: EllipticalRoiAnnotation, handle: ToolHandle, interactionType?: string) => void;
976
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
977
+ _mouseDragDrawCallback: (evt: MouseMoveEventType | MouseDragEventType) => void;
978
+ _mouseDragModifyCallback: (evt: MouseDragEventType) => void;
979
+ _dragHandle: (evt: any) => void;
980
+ cancel: (element: HTMLElement) => any;
981
+ _activateModify: (element: any) => void;
982
+ _deactivateModify: (element: any) => void;
983
+ _activateDraw: (element: any) => void;
984
+ _deactivateDraw: (element: any) => void;
985
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
986
+ _getTextLines: (data: any, targetUID: any) => any[];
987
+ _calculateCachedStats: (annotation: any, viewport: any, renderingEngine: any, enabledElement: any) => any;
988
+ _isInsideVolume: (index1: any, index2: any, dimensions: any) => boolean;
989
+ _pointInEllipseCanvas(ellipse: any, location: Types_2.Point2): boolean;
990
+ }
991
+
992
+ export declare const Enums: {
993
+ MouseBindings: typeof MouseBindings;
994
+ KeyboardBindings: typeof KeyboardBindings;
995
+ ToolModes: typeof ToolModes;
996
+ Events: typeof Events;
997
+ SegmentationRepresentations: typeof SegmentationRepresentations;
998
+ };
999
+
1000
+ declare enum Events {
1001
+ ANNOTATION_ADDED = "CORNERSTONE_TOOLS_ANNOTATION_ADDED",
1002
+ ANNOTATION_MODIFIED = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED",
1003
+ ANNOTATION_REMOVED = "CORNERSTONE_TOOLS_ANNOTATION_REMOVED",
1004
+ ANNOTATION_SELECTION_CHANGE = "CORNERSTONE_TOOLS_ANNOTATION_SELECTION_CHANGE",
1005
+ ANNOTATION_LOCK_CHANGE = "CORNERSTONE_TOOLS_ANNOTATION_LOCK_CHANGE",
1006
+ ANNOTATION_RENDERED = "CORNERSTONE_TOOLS_ANNOTATION_RENDERED",
1007
+ SEGMENTATION_RENDERED = "CORNERSTONE_TOOLS_SEGMENTATION_RENDERED",
1008
+ SEGMENTATION_STATE_MODIFIED = "CORNERSTONE_TOOLS_SEGMENTATION_STATE_MODIFIED",
1009
+ SEGMENTATION_GLOBAL_STATE_MODIFIED = "CORNERSTONE_TOOLS_SEGMENTATION_GLOBAL_STATE_MODIFIED",
1010
+ SEGMENTATION_DATA_MODIFIED = "CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED",
1011
+ KEY_DOWN = "CORNERSTONE_TOOLS_KEY_DOWN",
1012
+ KEY_UP = "CORNERSTONE_TOOLS_KEY_UP",
1013
+ MOUSE_DOWN = "CORNERSTONE_TOOLS_MOUSE_DOWN",
1014
+ MOUSE_UP = "CORNERSTONE_TOOLS_MOUSE_UP",
1015
+ MOUSE_DOWN_ACTIVATE = "CORNERSTONE_TOOLS_MOUSE_DOWN_ACTIVATE",
1016
+ MOUSE_DRAG = "CORNERSTONE_TOOLS_MOUSE_DRAG",
1017
+ MOUSE_MOVE = "CORNERSTONE_TOOLS_MOUSE_MOVE",
1018
+ MOUSE_CLICK = "CORNERSTONE_TOOLS_MOUSE_CLICK",
1019
+ MOUSE_DOUBLE_CLICK = "CORNERSTONE_TOOLS_MOUSE_DOUBLE_CLICK",
1020
+ MOUSE_WHEEL = "CORNERSTONE_TOOLS_MOUSE_WHEEL"
1021
+ }
1022
+
1023
+ declare namespace EventTypes {
1024
+ export {
1025
+ CameraModifiedEventDetail,
1026
+ CameraModifiedEvent,
1027
+ VoiModifiedEvent,
1028
+ VoiModifiedEventDetail,
1029
+ ElementDisabledEvent,
1030
+ ElementDisabledEventDetail,
1031
+ ElementEnabledEvent,
1032
+ ElementEnabledEventDetail,
1033
+ ImageRenderedEventDetail,
1034
+ ImageRenderedEvent,
1035
+ ImageVolumeModifiedEvent,
1036
+ ImageVolumeModifiedEventDetail,
1037
+ ImageLoadedEvent,
1038
+ ImageLoadedEventDetail,
1039
+ ImageLoadedFailedEventDetail,
1040
+ ImageLoadedFailedEvent,
1041
+ VolumeLoadedEvent,
1042
+ VolumeLoadedEventDetail,
1043
+ VolumeLoadedFailedEvent,
1044
+ VolumeLoadedFailedEventDetail,
1045
+ ImageCacheImageAddedEvent,
1046
+ ImageCacheImageAddedEventDetail,
1047
+ ImageCacheImageRemovedEvent,
1048
+ ImageCacheImageRemovedEventDetail,
1049
+ VolumeCacheVolumeAddedEvent,
1050
+ VolumeCacheVolumeAddedEventDetail,
1051
+ VolumeCacheVolumeRemovedEvent,
1052
+ VolumeCacheVolumeRemovedEventDetail,
1053
+ StackNewImageEvent,
1054
+ StackNewImageEventDetail,
1055
+ ImageSpacingCalibratedEvent,
1056
+ ImageSpacingCalibratedEventDetail,
1057
+ ImageLoadProgressEvent,
1058
+ ImageLoadProgressEventDetail
1059
+ }
1060
+ }
1061
+
1062
+ declare namespace EventTypes_2 {
1063
+ export {
1064
+ NormalizedMouseEventDetail,
1065
+ NormalizedMouseEventType,
1066
+ AnnotationAddedEventDetail,
1067
+ AnnotationAddedEventType,
1068
+ AnnotationModifiedEventDetail,
1069
+ AnnotationModifiedEventType,
1070
+ AnnotationRemovedEventDetail,
1071
+ AnnotationRemovedEventType,
1072
+ AnnotationSelectionChangeEventDetail,
1073
+ AnnotationSelectionChangeEventType,
1074
+ AnnotationRenderedEventDetail,
1075
+ AnnotationRenderedEventType,
1076
+ AnnotationLockChangeEventDetail,
1077
+ AnnotationLockChangeEventType,
1078
+ SegmentationDataModifiedEventType,
1079
+ SegmentationStateModifiedEventDetail,
1080
+ SegmentationStateModifiedEventType,
1081
+ SegmentationDataModifiedEventDetail,
1082
+ SegmentationRenderedEventType,
1083
+ SegmentationRenderedEventDetail,
1084
+ SegmentationGlobalStateModifiedEventType,
1085
+ SegmentationGlobalStateModifiedEventDetail,
1086
+ KeyDownEventDetail,
1087
+ KeyDownEventType,
1088
+ KeyUpEventDetail,
1089
+ KeyUpEventType,
1090
+ MouseDownEventDetail,
1091
+ MouseDownEventType,
1092
+ MouseDownActivateEventDetail,
1093
+ MouseDownActivateEventType,
1094
+ MouseDragEventDetail,
1095
+ MouseDragEventType,
1096
+ MouseUpEventDetail,
1097
+ MouseUpEventType,
1098
+ MouseClickEventDetail,
1099
+ MouseClickEventType,
1100
+ MouseMoveEventDetail,
1101
+ MouseMoveEventType,
1102
+ MouseDoubleClickEventDetail,
1103
+ MouseDoubleClickEventType,
1104
+ MouseWheelEventDetail,
1105
+ MouseWheelEventType
1106
+ }
1107
+ }
1108
+
1109
+ declare function extend2DBoundingBoxInViewAxis(boundsIJK: [Types_2.Point2, Types_2.Point2, Types_2.Point2], numSlicesToProject: number): [Types_2.Point2, Types_2.Point2, Types_2.Point2];
1110
+
1111
+ declare function filterAnnotationsForDisplay(viewport: Types_2.IViewport, annotations: Annotations): Annotations;
1112
+
1113
+ declare function filterAnnotationsWithinSlice(annotations: Annotations, camera: Types_2.ICamera, spacingInNormalDirection: number): Annotations;
1114
+
1115
+ declare interface FilterInterface {
1116
+ FrameOfReferenceUID?: string;
1117
+ toolName?: string;
1118
+ }
1119
+
1120
+ declare function filterViewportsWithFrameOfReferenceUID(viewports: Array<Types_2.IStackViewport | Types_2.IVolumeViewport>, FrameOfReferenceUID: string): Array<Types_2.IStackViewport | Types_2.IVolumeViewport>;
1121
+
1122
+ declare function filterViewportsWithToolEnabled(viewports: Array<Types_2.IStackViewport | Types_2.IVolumeViewport>, toolName: string): Array<Types_2.IStackViewport | Types_2.IVolumeViewport>;
1123
+
1124
+ declare function findClosestPoint(sourcePoints: Array<Types_2.Point2>, targetPoint: Types_2.Point2): Types_2.Point2;
1125
+
1126
+ /**
1127
+ * Flip direction which can be horizontal or vertical.
1128
+ */
1129
+ declare type FlipDirection = {
1130
+ flipHorizontal?: boolean
1131
+ flipVertical?: boolean
1132
+ }
1133
+
1134
+ declare class FrameOfReferenceSpecificAnnotationManager {
1135
+ private annotations;
1136
+ readonly uid: string;
1137
+ constructor(uid?: string);
1138
+ _imageVolumeModifiedHandler: (evt: Types_2.EventTypes.ImageVolumeModifiedEvent) => void;
1139
+ getFramesOfReference: () => Array<string>;
1140
+ getFrameOfReferenceAnnotations: (FrameOfReferenceUID: string) => FrameOfReferenceSpecificAnnotations;
1141
+ get: (FrameOfReferenceUID: string, toolName: string) => Annotations | undefined;
1142
+ getAnnotation: (annotationUID: string, filter?: FilterInterface) => Annotation | undefined;
1143
+ addAnnotation: (annotation: Annotation) => void;
1144
+ removeAnnotation: (annotationUID: string, filter?: FilterInterface) => void;
1145
+ saveAnnotations: (FrameOfReferenceUID?: string, toolName?: string) => AnnotationState | FrameOfReferenceSpecificAnnotations | Annotations;
1146
+ restoreAnnotations: (state: AnnotationState | FrameOfReferenceSpecificAnnotations | Annotations, FrameOfReferenceUID?: string, toolName?: string) => void;
1147
+ private _getToolSpecificAnnotationsAndIndex;
1148
+ }
1149
+
1150
+ declare type FrameOfReferenceSpecificAnnotations = {
1151
+ [key: string]: Annotations;
1152
+ };
1153
+
1154
+ declare function getActiveSegmentationData(toolGroupUID: string): ToolGroupSpecificSegmentationData | undefined;
1155
+
1156
+ declare function getActiveSegmentationInfo(toolGroupUID: string): {
1157
+ volumeUID: string;
1158
+ segmentationDataUID: string;
1159
+ activeSegmentIndex: number;
1160
+ };
1161
+
1162
+ declare function getActiveSegmentIndex(toolGroupUID: string): number | undefined;
1163
+
1164
+ declare function getActiveSegmentIndexForSegmentation(segmentationUID: string): number | undefined;
1165
+
1166
+ declare function getAllSynchronizers(): Array<Synchronizer>;
1167
+
1168
+ declare function getAllToolGroups(): Array<IToolGroup>;
1169
+
1170
+ declare function getAnnotation(annotationUID: string, element?: HTMLElement): Annotation;
1171
+
1172
+ declare function getAnnotationNearPoint(element: HTMLElement, canvasPoint: Types_2.Point2, proximity?: number): Annotation | null;
1173
+
1174
+ declare function getAnnotationNearPointOnEnabledElement(enabledElement: Types_2.IEnabledElement, point: Types_2.Point2, proximity: number): Annotation | null;
1175
+
1176
+ declare function getAnnotations(element: HTMLElement, toolName: string): Annotations;
1177
+
1178
+ declare function getAnnotationSelected(annotationUID: string): Annotation;
1179
+
1180
+ declare function getAnnotationsLocked(): Array<Annotation>;
1181
+
1182
+ declare function getAnnotationsLockedCount(): number;
1183
+
1184
+ declare function getAnnotationsSelected(): Array<Annotation>;
1185
+
1186
+ declare function getAnnotationsSelectedByToolName(toolName: string): Array<Annotation>;
1187
+
1188
+ declare function getAnnotationsSelectedCount(): number;
1189
+
1190
+ declare function getBoundingBoxAroundShape(vertices: Types_2.Point3[], dimensions?: Types_2.Point3): [Types_2.Point2, Types_2.Point2, Types_2.Point2];
1191
+
1192
+ declare function getCanvasEllipseCorners(ellipseCanvasPoints: canvasCoordinates): Array<Types_2.Point2>;
1193
+
1194
+ declare function getColorForSegmentIndex(toolGroupUID: string, segmentationDataUID: string, segmentIndex: number): Color;
1195
+
1196
+ declare function getColorLut(index: number): ColorLUT | undefined;
1197
+
1198
+ declare function getDefaultAnnotationManager(): FrameOfReferenceSpecificAnnotationManager;
1199
+
1200
+ declare function getDefaultRepresentationConfig(representationType: string): LabelmapConfig;
1201
+
1202
+ declare function getDefaultSegmentationStateManager(): SegmentationStateManager;
1203
+
1204
+ declare function getFont(settings?: Settings, state?: AnnotationStyleStates, mode?: ToolModes): string;
1205
+
1206
+ declare function getGlobalRepresentationConfig(representationType: SegmentationRepresentations): RepresentationConfig;
1207
+
1208
+ declare function getGlobalSegmentationConfig(): SegmentationConfig;
1209
+
1210
+ declare function getGlobalSegmentationConfig_2(): SegmentationConfig;
1211
+
1212
+ declare function getGlobalSegmentationDataByUID(segmentationUID: string): GlobalSegmentationData;
1213
+
1214
+ declare function getGlobalSegmentationState(): GlobalSegmentationState | [];
1215
+
1216
+ declare function getPointInLineOfSightWithCriteria(viewport: Types_2.IVolumeViewport, worldPos: Types_2.Point3, targetVolumeUID: string, criteriaFunction: (intensity: number, point: Types_2.Point3) => Types_2.Point3, stepSize?: number): Types_2.Point3;
1217
+
1218
+ declare function getRepresentationConfig(toolGroupUID: string, representationType: SegmentationRepresentations): RepresentationConfig;
1219
+
1220
+ declare function getSegmentationConfig(toolGroupUID: string): SegmentationConfig;
1221
+
1222
+ declare function getSegmentationConfig_2(toolGroupUID: string): SegmentationConfig;
1223
+
1224
+ declare function getSegmentationDataByUID(toolGroupUID: string, segmentationDataUID: string): ToolGroupSpecificSegmentationData | undefined;
1225
+
1226
+ declare function getSegmentationState(toolGroupUID: string): ToolGroupSpecificSegmentationState | [];
1227
+
1228
+ declare function getSegmentationVisibility(toolGroupUID: string, segmentationDataUID: string): boolean | undefined;
1229
+
1230
+ declare function getSegmentIndexLocked(toolGroupUID: string, segmentIndex: number): boolean;
1231
+
1232
+ declare function getSegmentIndexLockedForSegmentation(segmentationUID: string, segmentIndex: number): boolean;
1233
+
1234
+ declare function getSegmentsLockedForSegmentation(segmentationUID: string): number[] | [];
1235
+
1236
+ declare function getSliceRange(volumeActor: Types_2.VolumeActor, viewPlaneNormal: Types_2.Point3, focalPoint: Types_2.Point3): {
1237
+ min: number;
1238
+ max: number;
1239
+ current: number;
1240
+ };
1241
+
1242
+ declare function getState(annotation?: Annotation): AnnotationStyleStates;
1243
+
1244
+ declare function getStyle(toolName?: string, annotation?: Record<string, unknown>): Settings;
1245
+
1246
+ declare function getSynchronizerById(synchronizerId: string): Synchronizer | void;
1247
+
1248
+ declare function getSynchronizers(renderingEngineUID: string, viewportUID: string): Array<Synchronizer>;
1249
+
1250
+ declare function getTextBoxCoordsCanvas(annotationCanvasPoints: Array<Types_2.Point2>): Types_2.Point2;
1251
+
1252
+ declare function getToolGroup(viewportUID: string, renderingEngineUID: string): IToolGroup | undefined;
1253
+
1254
+ declare function getToolGroupByToolGroupUID(toolGroupUID: string): IToolGroup | undefined;
1255
+
1256
+ declare function getToolGroups(): string[];
1257
+
1258
+ declare function getToolGroupsWithSegmentation(segmentationUID: string): string[];
1259
+
1260
+ declare function getViewportSpecificAnnotationManager(element?: Types_2.IEnabledElement | HTMLElement): FrameOfReferenceSpecificAnnotationManager;
1261
+
1262
+ declare function getViewportUIDsWithToolToRender(element: HTMLElement, toolName: string, requireSameOrientation?: boolean): string[];
1263
+
1264
+ declare function getWorldWidthAndHeightFromCorners(viewPlaneNormal: Types_2.Point3, viewUp: Types_2.Point3, topLeftWorld: Types_2.Point3, bottomRightWorld: Types_2.Point3): {
1265
+ worldWidth: number;
1266
+ worldHeight: number;
1267
+ };
1268
+
1269
+ declare type GlobalSegmentationData = {
1270
+ volumeUID: string;
1271
+ label: string;
1272
+ referenceVolumeUID?: string;
1273
+ referenceImageId?: string;
1274
+ activeSegmentIndex: number;
1275
+ segmentsLocked: Set<number>;
1276
+ cachedStats: {
1277
+ [key: string]: number;
1278
+ };
1279
+ };
1280
+
1281
+ declare type GlobalSegmentationState = GlobalSegmentationData[];
1282
+
1283
+ declare type GlobalSegmentationStateWithConfig = {
1284
+ segmentations: GlobalSegmentationState;
1285
+ config: SegmentationConfig;
1286
+ };
1287
+
1288
+ declare function hideElementCursor(element: HTMLElement): void;
1289
+
1290
+ declare interface IBaseTool {
1291
+ toolGroupUID: string;
1292
+ supportedInteractionTypes: InteractionTypes[];
1293
+ mode: ToolModes;
1294
+ configuration: {
1295
+ preventHandleOutsideImage?: boolean;
1296
+ strategies?: Record<string, any>;
1297
+ defaultStrategy?: string;
1298
+ activeStrategy?: string;
1299
+ strategyOptions?: Record<string, unknown>;
1300
+ };
1301
+ }
1302
+
1303
+ declare interface ICache {
1304
+ /** Set the maximum cache size */
1305
+ setMaxCacheSize: (maxCacheSize: number) => void
1306
+ /** Get the maximum cache size */
1307
+ getMaxCacheSize: () => number
1308
+ /** Get the current cache size */
1309
+ getCacheSize: () => number
1310
+ /** Stores the imageLoad Object inside the cache */
1311
+ putImageLoadObject: (
1312
+ imageId: string,
1313
+ imageLoadObject: IImageLoadObject
1314
+ ) => Promise<any>
1315
+ /** Retrieves the imageLoad Object from the cache */
1316
+ getImageLoadObject: (imageId: string) => IImageLoadObject | void
1317
+ /** Stores the volumeLoad Object inside the cache */
1318
+ putVolumeLoadObject: (
1319
+ volumeId: string,
1320
+ volumeLoadObject: IVolumeLoadObject
1321
+ ) => Promise<any>
1322
+ /** Retrieves the volumeLoad Object from the cache */
1323
+ getVolumeLoadObject: (volumeId: string) => IVolumeLoadObject | void
1324
+ /** Purge cache both image and volume */
1325
+ purgeCache: () => void
1326
+ }
1327
+
1328
+ declare interface ICachedImage {
1329
+ image?: IImage
1330
+ imageId: string
1331
+ imageLoadObject: IImageLoadObject
1332
+ loaded: boolean
1333
+ sharedCacheKey?: string
1334
+ timeStamp: number
1335
+ sizeInBytes: number
1336
+ }
1337
+
1338
+ declare interface ICachedVolume {
1339
+ volume?: IImageVolume
1340
+ volumeId: string
1341
+ volumeLoadObject: IVolumeLoadObject
1342
+ loaded: boolean
1343
+ timeStamp: number
1344
+ sizeInBytes: number
1345
+ }
1346
+
1347
+ /**
1348
+ * Camera Interface. See {@link https://kitware.github.io/vtk-examples/site/VTKBook/03Chapter3/#35-cameras} if you
1349
+ * want to know more about the camera.
1350
+ */
1351
+ declare interface ICamera {
1352
+ /** Camera Clipping range*/
1353
+ clippingRange?: Point2
1354
+ /** Camera Focal point */
1355
+ focalPoint?: Point3
1356
+ /** Camera Parallel Projection flag - whether camera is using parallel projection */
1357
+ parallelProjection?: boolean
1358
+ /** Camera parallel scale - used for parallel projection zoom, smaller values zoom in */
1359
+ parallelScale?: number
1360
+ /** Camera position */
1361
+ position?: Point3
1362
+ /** Camera view angle - 90 degrees is orthographic */
1363
+ viewAngle?: number
1364
+ /** Camera viewPlaneNormal - negative of the direction the camera is pointing or directionOfProjection*/
1365
+ viewPlaneNormal?: Point3
1366
+ /** Camera viewUp - the direction of viewUP in camera */
1367
+ viewUp?: Point3
1368
+ /** Camera Slab Thickness */
1369
+ slabThickness?: number
1370
+ }
1371
+
1372
+ /**
1373
+ * Cornerstone Enabled Element interface
1374
+ */
1375
+ declare interface IEnabledElement {
1376
+ /** Cornerstone Viewport instance - can be Stack or Volume Viewport as of now */
1377
+ viewport: IStackViewport | IVolumeViewport
1378
+ /** Cornerstone Rendering Engine instance */
1379
+ renderingEngine: IRenderingEngine
1380
+ /** Unique ID of the viewport in the renderingEngine */
1381
+ viewportUID: string
1382
+ /** Unique ID of the renderingEngine */
1383
+ renderingEngineUID: string
1384
+ /** FrameOfReference the enabledElement is rendering inside */
1385
+ FrameOfReferenceUID: string
1386
+ }
1387
+
1388
+ /**
1389
+ * Cornerstone Image interface, it is used for both CPU and GPU rendering
1390
+ */
1391
+ declare interface IImage {
1392
+ /** Image Id */
1393
+ imageId: string
1394
+ sharedCacheKey?: string
1395
+ /** minimum pixel value of the image */
1396
+ minPixelValue: number
1397
+ /* maximum pixel value of the image */
1398
+ maxPixelValue: number
1399
+ /** slope from metadata for scaling */
1400
+ slope: number
1401
+ /** intercept from metadata for scaling */
1402
+ intercept: number
1403
+ /** windowCenter from metadata */
1404
+ windowCenter: number[] | number
1405
+ /** windowWidth from metadata */
1406
+ windowWidth: number[] | number
1407
+ /** function that returns the pixelData as an array */
1408
+ getPixelData: () => Array<number>
1409
+ getCanvas: () => HTMLCanvasElement
1410
+ /** image number of rows */
1411
+ rows: number
1412
+ /** image number of columns */
1413
+ columns: number
1414
+ /** image height */
1415
+ height: number
1416
+ /** image width */
1417
+ width: number
1418
+ /** is image a color image */
1419
+ color: boolean
1420
+ /** is image rgb and alpha */
1421
+ rgba: boolean
1422
+ /** number of components in the image */
1423
+ numComps: number
1424
+ /** CPU: custom render method for the image */
1425
+ render?: (
1426
+ enabledElement: CPUFallbackEnabledElement,
1427
+ invalidated: boolean
1428
+ ) => unknown
1429
+ /** column pixel spacing */
1430
+ columnPixelSpacing: number
1431
+ /** row pixel spacing */
1432
+ rowPixelSpacing: number
1433
+ /** slice thickness */
1434
+ sliceThickness?: number
1435
+ /** whether image pixels are inverted in color */
1436
+ invert: boolean
1437
+ /** image size in number of bytes */
1438
+ sizeInBytes: number
1439
+ /** CPU: custom modality LUT for image */
1440
+ modalityLUT?: CPUFallbackLUT
1441
+ /** CPU: custom VOI LUT for image */
1442
+ voiLUT?: CPUFallbackLUT
1443
+ /** CPU: custom color map for image */
1444
+ colormap?: CPUFallbackColormap
1445
+ /** image scaling metadata - including PT suv values */
1446
+ scaling?: {
1447
+ PET?: {
1448
+ // @TODO: Do these values exist?
1449
+ SUVlbmFactor?: number
1450
+ SUVbsaFactor?: number
1451
+ // accessed in ProbeTool
1452
+ suvbwToSuvlbm?: number
1453
+ suvbwToSuvbsa?: number
1454
+ }
1455
+ }
1456
+ /** CPU: image statistics for rendering */
1457
+ stats?: {
1458
+ lastStoredPixelDataToCanvasImageDataTime?: number
1459
+ lastGetPixelDataTime?: number
1460
+ lastPutImageDataTime?: number
1461
+ lastLutGenerateTime?: number
1462
+ lastRenderedViewport?: unknown
1463
+ lastRenderTime?: number
1464
+ }
1465
+ /** CPU: image cached LUT */
1466
+ cachedLut?: {
1467
+ windowWidth?: number | number[]
1468
+ windowCenter?: number | number[]
1469
+ invert?: boolean
1470
+ lutArray?: Uint8ClampedArray
1471
+ modalityLUT?: unknown
1472
+ voiLUT?: CPUFallbackLUT
1473
+ }
1474
+ }
1475
+
1476
+ /**
1477
+ * IImageData of an image, which stores actual scalarData and metaData about the image.
1478
+ * IImageData is different from vtkImageData.
1479
+ */
1480
+ declare interface IImageData {
1481
+ /** image dimensions */
1482
+ dimensions: Point3
1483
+ /** image direction */
1484
+ direction: Float32Array
1485
+ /** image spacing */
1486
+ spacing: Point3
1487
+ /** image origin */
1488
+ origin: Point3
1489
+ /** image scalarData which stores the array of pixelData */
1490
+ scalarData: Float32Array
1491
+ /** vtkImageData object */
1492
+ imageData: vtkImageData
1493
+ /** image metadata - currently only modality */
1494
+ metadata: { Modality: string }
1495
+ /** image scaling for scaling pixelArray */
1496
+ scaling?: Scaling
1497
+ }
1498
+
1499
+ /**
1500
+ * ImageLoadObject interface which any imageLoader should return
1501
+ */
1502
+ declare interface IImageLoadObject {
1503
+ /** promise that resolves to an image */
1504
+ promise: Promise<IImage>
1505
+ /** optional cancel function for loading*/
1506
+ cancel?: () => void
1507
+ /** optional decache function */
1508
+ decache?: () => void
1509
+ }
1510
+
1511
+ /**
1512
+ * Cornerstone ImageVolume interface. Todo: we should define new IVolume class
1513
+ * with appropriate typings for the other types of volume that don't have images (nrrd, nifti)
1514
+ */
1515
+ declare interface IImageVolume {
1516
+ /** unique identifier of the volume in the cache */
1517
+ readonly uid: string
1518
+ /** volume dimensions */
1519
+ dimensions: Point3
1520
+ /** volume direction */
1521
+ direction: Float32Array
1522
+ /** volume metadata */
1523
+ metadata: Metadata
1524
+ /** volume origin - set to the imagePositionPatient of the last image in the volume */
1525
+ origin: Point3
1526
+ /** volume scalar data */
1527
+ scalarData: any
1528
+ /** volume scaling metadata */
1529
+ scaling?: {
1530
+ PET?: {
1531
+ SUVlbmFactor?: number
1532
+ SUVbsaFactor?: number
1533
+ suvbwToSuvlbm?: number
1534
+ suvbwToSuvbsa?: number
1535
+ }
1536
+ }
1537
+ /** volume size in bytes */
1538
+ sizeInBytes?: number
1539
+ /** volume spacing */
1540
+ spacing: Point3
1541
+ /** number of voxels in the volume */
1542
+ numVoxels: number
1543
+ /** volume image data as vtkImageData */
1544
+ imageData?: vtkImageData
1545
+ /** openGL texture for the volume */
1546
+ vtkOpenGLTexture: any
1547
+ /** loading status object for the volume containing loaded/loading statuses */
1548
+ loadStatus?: Record<string, any>
1549
+ /** imageIds of the volume (if it is built of separate imageIds) */
1550
+ imageIds?: Array<string>
1551
+ /** volume referenceVolumeUID (if it is derived from another volume) */
1552
+ referenceVolumeUID?: string // if volume is derived from another volume
1553
+ /** method to convert the volume data in the volume cache, to separate images in the image cache */
1554
+ convertToCornerstoneImage?: (
1555
+ imageId: string,
1556
+ imageIdIndex: number
1557
+ ) => IImageLoadObject
1558
+ }
1559
+
1560
+ /**
1561
+ * IMAGE_CACHE_IMAGE_ADDED Event type
1562
+ */
1563
+ declare type ImageCacheImageAddedEvent =
1564
+ CustomEvent_2<ImageCacheImageAddedEventDetail>
1565
+
1566
+ /**
1567
+ * IMAGE_CACHE_IMAGE_ADDED Event's data
1568
+ */
1569
+ declare type ImageCacheImageAddedEventDetail = {
1570
+ /** the added image */
1571
+ image: ICachedImage
1572
+ }
1573
+
1574
+ /**
1575
+ * IMAGE_CACHE_IMAGE_REMOVED Event type
1576
+ */
1577
+ declare type ImageCacheImageRemovedEvent =
1578
+ CustomEvent_2<ImageCacheImageRemovedEventDetail>
1579
+
1580
+ /**
1581
+ * IMAGE_CACHE_IMAGE_REMOVED Event's data
1582
+ */
1583
+ declare type ImageCacheImageRemovedEventDetail = {
1584
+ /** the removed image id */
1585
+ imageId: string
1586
+ }
1587
+
1588
+ /**
1589
+ * IMAGE_LOADED Event type
1590
+ */
1591
+ declare type ImageLoadedEvent = CustomEvent_2<ImageLoadedEventDetail>
1592
+
1593
+ /**
1594
+ * IMAGE_LOADED Event's data
1595
+ */
1596
+ declare type ImageLoadedEventDetail = {
1597
+ /** the loaded image */
1598
+ image: IImage
1599
+ }
1600
+
1601
+ /**
1602
+ * IMAGE_LOADED_FAILED Event type
1603
+ */
1604
+ declare type ImageLoadedFailedEvent = CustomEvent_2<ImageLoadedFailedEventDetail>
1605
+
1606
+ /**
1607
+ * IMAGE_LOADED_FAILED Event's data
1608
+ */
1609
+ declare type ImageLoadedFailedEventDetail = {
1610
+ /** the imageId for the image */
1611
+ imageId: string
1612
+ error: unknown
1613
+ }
1614
+
1615
+ /**
1616
+ * Any imageLoader function should implement a loading given the imageId
1617
+ * and returns a mandatory promise which will resolve to the loaded image object.
1618
+ * Additional `cancelFn` and `decache` can be implemented.
1619
+ */
1620
+ declare type ImageLoaderFn = (
1621
+ imageId: string,
1622
+ options?: Record<string, any>
1623
+ ) => {
1624
+ /** Promise that resolves to the image object */
1625
+ promise: Promise<Record<string, any>>
1626
+ cancelFn?: () => void | undefined
1627
+ decache?: () => void | undefined
1628
+ }
1629
+
1630
+ /**
1631
+ * IMAGE_LOAD_PROGRESS
1632
+ */
1633
+ declare type ImageLoadProgressEvent = CustomEvent_2<ImageLoadProgressEventDetail>
1634
+
1635
+ /**
1636
+ * IMAGE_LOAD_PROGRESS Event's data. Note this is only for one image load and NOT volume load.
1637
+ */
1638
+ declare type ImageLoadProgressEventDetail = {
1639
+ /** url we are loading from */
1640
+ url: string
1641
+ /** loading image image id */
1642
+ imageId: string
1643
+ /** the bytes browser receive */
1644
+ loaded: number
1645
+ /** the total bytes settled by the header */
1646
+ total: number
1647
+ /** loaded divided by total * 100 - shows the percentage of the image loaded */
1648
+ percent: number
1649
+ }
1650
+
1651
+ declare class ImageMouseCursor extends MouseCursor {
1652
+ private url;
1653
+ private x;
1654
+ private y;
1655
+ constructor(url: string, x?: number, y?: number, name?: string | undefined, fallback?: MouseCursor | undefined);
1656
+ getStyleProperty(): string;
1657
+ static getUniqueInstanceName(prefix: string): string;
1658
+ }
1659
+
1660
+ /**
1661
+ * IMAGE_RENDERED Event type
1662
+ */
1663
+ declare type ImageRenderedEvent = CustomEvent_2<ElementEnabledEventDetail>
1664
+
1665
+ /**
1666
+ * IMAGE_RENDERED Event's data
1667
+ */
1668
+ declare type ImageRenderedEventDetail = {
1669
+ /** Viewport HTML element in the DOM */
1670
+ element: HTMLElement
1671
+ /** Viewport Unique ID in the renderingEngine */
1672
+ viewportUID: string
1673
+ /** Unique ID for the renderingEngine */
1674
+ renderingEngineUID: string
1675
+ /** Whether to suppress the event */
1676
+ suppressEvents?: boolean
1677
+ }
1678
+
1679
+ /**
1680
+ * IMAGE_SPACING_CALIBRATED
1681
+ */
1682
+ declare type ImageSpacingCalibratedEvent =
1683
+ CustomEvent_2<ImageSpacingCalibratedEventDetail>
1684
+
1685
+ /**
1686
+ * IMAGE_SPACING_CALIBRATED Event's data
1687
+ */
1688
+ declare type ImageSpacingCalibratedEventDetail = {
1689
+ element: HTMLElement
1690
+ viewportUID: string
1691
+ renderingEngineUID: string
1692
+ imageId: string
1693
+ rowScale: number
1694
+ columnScale: number
1695
+ imageData: vtkImageData
1696
+ worldToIndex: mat4
1697
+ }
1698
+
1699
+ /** The base class for volume data. It includes the volume metadata
1700
+ * and the volume data along with the loading status.
1701
+ */
1702
+ declare class ImageVolume implements IImageVolume {
1703
+ /** Read-only unique identifier for the volume */
1704
+ readonly uid: string
1705
+ /** Dimensions of the volume */
1706
+ dimensions: Point3
1707
+ /** volume direction in world space */
1708
+ direction: Float32Array
1709
+ /** volume metadata */
1710
+ metadata: Metadata
1711
+ /** volume origin, Note this is an opinionated origin for the volume */
1712
+ origin: Point3
1713
+ /** volume scalar data */
1714
+ scalarData: Float32Array | Uint8Array
1715
+ /** volume scaling parameters if it contains scaled data */
1716
+ scaling?: {
1717
+ PET?: {
1718
+ // @TODO: Do these values exist?
1719
+ SUVlbmFactor?: number
1720
+ SUVbsaFactor?: number
1721
+ // accessed in ProbeTool
1722
+ suvbwToSuvlbm?: number
1723
+ suvbwToSuvbsa?: number
1724
+ }
1725
+ }
1726
+ /** volume size in bytes */
1727
+ sizeInBytes?: number // Seems weird to pass this in? Why not grab it from scalarData.byteLength
1728
+ /** volume spacing in 3d world space */
1729
+ spacing: Point3
1730
+ /** volume number of voxels */
1731
+ numVoxels: number
1732
+ /** volume image data */
1733
+ imageData?: any
1734
+ /** open gl texture for the volume */
1735
+ vtkOpenGLTexture: any // No good way of referencing vtk classes as they aren't classes.
1736
+ /** load status object for the volume */
1737
+ loadStatus?: Record<string, any>
1738
+ /** optional image ids for the volume if it is made of separated images */
1739
+ imageIds?: Array<string>
1740
+ /** optional reference volume uid if the volume is derived from another volume */
1741
+ referenceVolumeUID?: string
1742
+
1743
+ constructor(props: IVolume) {
1744
+ this.uid = props.uid
1745
+ this.metadata = props.metadata
1746
+ this.dimensions = props.dimensions
1747
+ this.spacing = props.spacing
1748
+ this.origin = props.origin
1749
+ this.direction = props.direction
1750
+ this.imageData = props.imageData
1751
+ this.scalarData = props.scalarData
1752
+ this.sizeInBytes = props.sizeInBytes
1753
+ this.vtkOpenGLTexture = vtkStreamingOpenGLTexture.newInstance()
1754
+ this.numVoxels =
1755
+ this.dimensions[0] * this.dimensions[1] * this.dimensions[2]
1756
+
1757
+ if (props.scaling) {
1758
+ this.scaling = props.scaling
1759
+ }
1760
+
1761
+ if (props.referenceVolumeUID) {
1762
+ this.referenceVolumeUID = props.referenceVolumeUID
1763
+ }
1764
+ }
1765
+ }
1766
+
1767
+ /**
1768
+ * IMAGE_VOLUME_MODIFIED Event type
1769
+ */
1770
+ declare type ImageVolumeModifiedEvent = CustomEvent_2<ImageVolumeModifiedEventDetail>
1771
+
1772
+ /**
1773
+ * IMAGE_VOLUME_MODIFIED Event's data
1774
+ */
1775
+ declare type ImageVolumeModifiedEventDetail = {
1776
+ /** the modified volume */
1777
+ imageVolume: IImageVolume
1778
+ /** FrameOfReferenceUID where the volume belongs to */
1779
+ FrameOfReferenceUID: string
1780
+ }
1781
+
1782
+ export declare function init(defaultConfiguration?: {}): void;
1783
+
1784
+ declare function initElementCursor(element: HTMLElement, cursor: MouseCursor | null): void;
1785
+
1786
+ declare type InteractionTypes = 'Mouse';
1787
+
1788
+ /**
1789
+ * Interpolation types for image rendering
1790
+ */
1791
+ declare enum InterpolationType {
1792
+ /** nearest neighbor interpolation */
1793
+ NEAREST,
1794
+ /** linear interpolation - Default */
1795
+ LINEAR,
1796
+ /** */
1797
+ FAST_LINEAR,
1798
+ }
1799
+
1800
+ declare function intersectLine(line1Start: Types_2.Point2, line1End: Types_2.Point2, line2Start: Types_2.Point2, line2End: Types_2.Point2): number[];
1801
+
1802
+ declare type IPoints = {
1803
+ page: Types_2.Point2;
1804
+ client: Types_2.Point2;
1805
+ canvas: Types_2.Point2;
1806
+ world: Types_2.Point3;
1807
+ };
1808
+
1809
+ /**
1810
+ * Register image loader interface
1811
+ */
1812
+ declare interface IRegisterImageLoader {
1813
+ registerImageLoader: (scheme: string, imageLoader: ImageLoaderFn) => void
1814
+ }
1815
+
1816
+ declare interface IRenderingEngine {
1817
+ uid: string
1818
+ hasBeenDestroyed: boolean
1819
+ offscreenMultiRenderWindow: any
1820
+ offScreenCanvasContainer: any
1821
+ setViewports(viewports: Array<PublicViewportInput>): void
1822
+ resize(): void
1823
+ getViewport(uid: string): IStackViewport | IVolumeViewport
1824
+ getViewports(): Array<IStackViewport | IVolumeViewport>
1825
+ render(): void
1826
+ renderViewports(viewportUIDs: Array<string>): void
1827
+ renderViewport(viewportUID: string): void
1828
+ renderFrameOfReference(FrameOfReferenceUID: string): void
1829
+ fillCanvasWithBackgroundColor(
1830
+ canvas: HTMLCanvasElement,
1831
+ backgroundColor: [number, number, number]
1832
+ ): void
1833
+ enableElement(viewportInputEntry: PublicViewportInput): void
1834
+ disableElement(viewportUID: string): void
1835
+ getStackViewports(): Array<IStackViewport>
1836
+ getVolumeViewports(): Array<IVolumeViewport>
1837
+ destroy(): void
1838
+ _debugRender(): void
1839
+ }
1840
+
1841
+ declare function isAnnotationLocked(annotation: Annotation): boolean;
1842
+
1843
+ declare function isAnnotationSelected(annotation: Annotation): boolean;
1844
+
1845
+ declare function isObject(value: any): boolean;
1846
+
1847
+ /**
1848
+ * Interface for Stack Viewport
1849
+ */
1850
+ declare interface IStackViewport extends IViewport {
1851
+ modality: string
1852
+ /** Scaling parameters */
1853
+ scaling: Scaling
1854
+ /**
1855
+ * Resizes the viewport - only used in CPU fallback for StackViewport. The
1856
+ * GPU resizing happens inside the RenderingEngine.
1857
+ */
1858
+ resize: () => void
1859
+ /**
1860
+ * Returns the frame of reference UID, if the image doesn't have imagePlaneModule
1861
+ * metadata, it returns undefined, otherwise, frameOfReferenceUID is returned.
1862
+ */
1863
+ getFrameOfReferenceUID: () => string
1864
+ /**
1865
+ * Sets the properties for the viewport on the default actor. Properties include
1866
+ * setting the VOI, inverting the colors and setting the interpolation type, rotation
1867
+ * and flipHorizontal/Vertical.
1868
+ */
1869
+ setProperties({
1870
+ voiRange,
1871
+ invert,
1872
+ interpolationType,
1873
+ rotation,
1874
+ flipHorizontal,
1875
+ flipVertical,
1876
+ }: StackViewportProperties): void
1877
+ /**
1878
+ * Retrieve the viewport properties
1879
+ */
1880
+ getProperties: () => StackViewportProperties
1881
+ /**
1882
+ * canvasToWorld Returns the world coordinates of the given `canvasPos`
1883
+ * projected onto the plane defined by the `Viewport`'s camera.
1884
+ */
1885
+ canvasToWorld: (canvasPos: Point2) => Point3
1886
+ /**
1887
+ * Returns the canvas coordinates of the given `worldPos`
1888
+ * projected onto the `Viewport`'s `canvas`.
1889
+ */
1890
+ worldToCanvas: (worldPos: Point3) => Point2
1891
+ /**
1892
+ * Returns the index of the imageId being renderer
1893
+ */
1894
+ getCurrentImageIdIndex: () => number
1895
+ /**
1896
+ * Returns the list of image Ids for the current viewport
1897
+ */
1898
+ getImageIds: () => string[]
1899
+ /**
1900
+ * Returns the currently rendered imageId
1901
+ */
1902
+ getCurrentImageId: () => string
1903
+ /**
1904
+ * Custom rendering pipeline for the rendering for the CPU fallback
1905
+ */
1906
+ customRenderViewportToCanvas: () => {
1907
+ canvas: HTMLCanvasElement
1908
+ element: HTMLElement
1909
+ viewportUID: string
1910
+ renderingEngineUID: string
1911
+ }
1912
+ /**
1913
+ * Returns the image and its properties that is being shown inside the
1914
+ * stack viewport. It returns, the image dimensions, image direction,
1915
+ * image scalar data, vtkImageData object, metadata, and scaling (e.g., PET suvbw)
1916
+ */
1917
+ getImageData(): IImageData | CPUIImageData
1918
+ /**
1919
+ * Reset the viewport properties to the default values
1920
+ */
1921
+ resetProperties(): void
1922
+ /**
1923
+ * If the user has selected CPU rendering, return the CPU camera, otherwise
1924
+ * return the default camera
1925
+ */
1926
+ getCamera(): ICamera
1927
+ /**
1928
+ * Set the camera based on the provided camera object.
1929
+ */
1930
+ setCamera(cameraInterface: ICamera): void
1931
+ /**
1932
+ * Sets the imageIds to be visualized inside the stack viewport. It accepts
1933
+ * list of imageIds, the index of the first imageId to be viewed. It is a
1934
+ * asynchronous function that returns a promise resolving to imageId being
1935
+ * displayed in the stack viewport.
1936
+ */
1937
+ setStack(
1938
+ imageIds: Array<string>,
1939
+ currentImageIdIndex?: number
1940
+ ): Promise<string>
1941
+ /**
1942
+ * Centers Pan and resets the zoom for stack viewport.
1943
+ */
1944
+ resetCamera(resetPanZoomForViewPlane?: boolean): boolean
1945
+ /**
1946
+ * Loads the image based on the provided imageIdIndex. It is an Async function which
1947
+ * returns a promise that resolves to the imageId.
1948
+ */
1949
+ setImageIdIndex(imageIdIndex: number): Promise<string>
1950
+ /**
1951
+ * Calibrates the image with new metadata that has been added for imageId. To calibrate
1952
+ * a viewport, you should add your calibration data manually to
1953
+ * calibratedPixelSpacingMetadataProvider and call viewport.calibrateSpacing
1954
+ * for it get applied.
1955
+ */
1956
+ calibrateSpacing(imageId: string): void
1957
+ /**
1958
+ * If the renderer is CPU based, throw an error. Otherwise, returns the `vtkRenderer` responsible for rendering the `Viewport`.
1959
+ */
1960
+ getRenderer(): any
1961
+ /**
1962
+ * Sets the colormap for the current viewport.
1963
+ * @param colormap - The colormap data to use.
1964
+ */
1965
+ setColormap(colormap: CPUFallbackColormapData): void
1966
+ /**
1967
+ * It sets the colormap to the default colormap.
1968
+ */
1969
+ unsetColormap(): void
1970
+ }
1971
+
1972
+ /**
1973
+ * Cornerstone StreamingImageVolume which extends ImageVolume
1974
+ */
1975
+ declare interface IStreamingImageVolume extends ImageVolume {
1976
+ /** method to load all the loading requests */
1977
+ clearLoadCallbacks(): void
1978
+ /** method to convert the volume data in the volume cache, to separate images in the image cache */
1979
+ convertToCornerstoneImage(imageId: string, imageIdIndex: number): any
1980
+ /** method to decache the volume from cache */
1981
+ decache(completelyRemove: boolean): void
1982
+ }
1983
+
1984
+ declare interface IStreamingVolumeProperties {
1985
+ /** imageIds of the volume */
1986
+ imageIds: Array<string>
1987
+ /** loading status object for the volume containing loaded/loading statuses */
1988
+ loadStatus: {
1989
+ loaded: boolean
1990
+ loading: boolean
1991
+ cachedFrames: Array<boolean>
1992
+ callbacks: Array<() => void>
1993
+ }
1994
+ }
1995
+
1996
+ declare function isValidRepresentationConfig(representationType: string, config: RepresentationConfig): boolean;
1997
+
1998
+ declare interface ISynchronizerEventHandler {
1999
+ (synchronizer: Synchronizer, sourceViewport: Types_2.IViewportUID, targetViewport: Types_2.IViewportUID, sourceEvent: any): void;
2000
+ }
2001
+
2002
+ declare type IToolBinding = {
2003
+ mouseButton: ToolBindingMouseType;
2004
+ modifierKey?: ToolBindingKeyboardType;
2005
+ };
2006
+
2007
+ declare interface IToolGroup {
2008
+ _toolInstances: Record<string, any>;
2009
+ uid: string;
2010
+ viewportsInfo: Array<Types_2.IViewportUID>;
2011
+ toolOptions: Record<string, any>;
2012
+ getViewportUIDs: () => string[];
2013
+ getToolInstance: {
2014
+ (toolName: string): any;
2015
+ };
2016
+ addTool: {
2017
+ (toolName: string, toolConfiguration?: any): void;
2018
+ };
2019
+ addViewport: {
2020
+ (viewportUID: string, renderingEngineUID?: string): void;
2021
+ };
2022
+ removeViewports: {
2023
+ (renderingEngineUID: string, viewportUID?: string): void;
2024
+ };
2025
+ setToolActive: {
2026
+ (toolName: string, toolBindingsOption?: SetToolBindingsType): void;
2027
+ };
2028
+ setToolPassive: {
2029
+ (toolName: string): void;
2030
+ };
2031
+ setToolEnabled: {
2032
+ (toolName: string): void;
2033
+ };
2034
+ setToolDisabled: {
2035
+ (toolName: string): void;
2036
+ };
2037
+ getToolOptions: {
2038
+ (toolName: string): ToolOptionsType;
2039
+ };
2040
+ getActivePrimaryMouseButtonTool: {
2041
+ (): undefined | string;
2042
+ };
2043
+ setViewportsCursorByToolName: {
2044
+ (toolName: string, strategyName?: string): void;
2045
+ };
2046
+ }
2047
+
2048
+ /**
2049
+ * Viewport interface for cornerstone viewports
2050
+ */
2051
+ declare interface IViewport {
2052
+ /** unique identifier of the viewport */
2053
+ uid: string
2054
+ /** renderingEngineUID the viewport belongs to */
2055
+ renderingEngineUID: string
2056
+ /** viewport type, can be ORTHOGRAPHIC or STACK for now */
2057
+ type: ViewportType
2058
+ /** canvas associated to the viewport */
2059
+ canvas: HTMLCanvasElement
2060
+ /** public DOM element associated to the viewport */
2061
+ element: HTMLElement
2062
+ /** sx of the viewport on the offscreen canvas (if rendering using GPU) */
2063
+ sx: number
2064
+ /** sy of the viewport on the offscreen canvas (if rendering using GPU) */
2065
+ sy: number
2066
+ /** width of the viewport on the offscreen canvas (if rendering using GPU) */
2067
+ sWidth: number
2068
+ /** height of the viewport on the offscreen canvas (if rendering using GPU) */
2069
+ sHeight: number
2070
+ /** actors rendered in the viewport (volumeActors as of now) */
2071
+ _actors: Map<string, any>
2072
+ /** viewport default options including the axis, and background color */
2073
+ defaultOptions: any
2074
+ /** viewport options */
2075
+ options: ViewportInputOptions
2076
+ /** Suppress events */
2077
+ suppressEvents: boolean
2078
+ /** frameOfReferenceUID the viewport's default actor is rendering */
2079
+ getFrameOfReferenceUID: () => string
2080
+ /** method to convert canvas to world coordinates */
2081
+ canvasToWorld: (canvasPos: Point2) => Point3
2082
+ /** method to convert world to canvas coordinates */
2083
+ worldToCanvas: (worldPos: Point3) => Point2
2084
+ /** returns all the actors on the viewport which includes both volumeActor object and its uid */
2085
+ getActors(): Array<ActorEntry>
2086
+ /** returns specific actor by its uid */
2087
+ getActor(actorUID: string): ActorEntry
2088
+ /** set and overwrite actors in a viewport */
2089
+ setActors(actors: Array<ActorEntry>): void
2090
+ /** add actors to the list of actors */
2091
+ addActors(actors: Array<ActorEntry>): void
2092
+ /** add one actor */
2093
+ addActor(actorEntry: ActorEntry): void
2094
+ /** remove all actors from the viewport */
2095
+ removeAllActors(): void
2096
+ /** returns the renderingEngine instance the viewport belongs to */
2097
+ getRenderingEngine(): any
2098
+ /** returns the vtkRenderer (for GPU rendering) of the viewport */
2099
+ getRenderer(): void
2100
+ /** triggers render for all actors in the viewport */
2101
+ render(): void
2102
+ /** set options for the viewport */
2103
+ setOptions(options: ViewportInputOptions, immediate: boolean): void
2104
+ /** reset camera and options*/
2105
+ reset(immediate: boolean): void
2106
+ /** returns the canvas */
2107
+ getCanvas(): HTMLCanvasElement
2108
+ /** returns camera object */
2109
+ getCamera(): ICamera
2110
+ /** sets the camera */
2111
+ setCamera(cameraInterface: ICamera): void
2112
+ /** whether the viewport has custom rendering */
2113
+ customRenderViewportToCanvas: () => unknown
2114
+ _getCorners(bounds: Array<number>): Array<number>[]
2115
+ }
2116
+
2117
+ /**
2118
+ * Interface to uniquely define a viewport in cornerstone. Note: viewportUIDs
2119
+ * can be shared between different rendering engines, but having a renderingEngineUID
2120
+ * and a viewportUID is required to uniquely define a viewport.
2121
+ */
2122
+ declare interface IViewportUID {
2123
+ renderingEngineUID: string
2124
+ viewportUID: string
2125
+ }
2126
+
2127
+ /**
2128
+ * Cornerstone ImageVolume interface.
2129
+ */
2130
+ declare interface IVolume {
2131
+ /** unique identifier for the volume in the cache */
2132
+ uid: string
2133
+ /** volume metadata */
2134
+ metadata: Metadata
2135
+ /** volume dimensions */
2136
+ dimensions: Point3
2137
+ /** volume spacing */
2138
+ spacing: Point3
2139
+ /** volume origin */
2140
+ origin: Point3
2141
+ /** volume direction */
2142
+ direction: Float32Array
2143
+ /** volume scalarData */
2144
+ scalarData: Float32Array | Uint8Array
2145
+ /** volume size in bytes */
2146
+ sizeInBytes?: number
2147
+ /** volume image data as vtkImageData */
2148
+ imageData?: vtkImageData
2149
+ /** referenceVolumeUID if volume is derived from another volume */
2150
+ referenceVolumeUID?: string
2151
+ /** volume scaling metadata */
2152
+ scaling?: {
2153
+ PET?: {
2154
+ // @TODO: Do these values exist?
2155
+ SUVlbmFactor?: number
2156
+ SUVbsaFactor?: number
2157
+ // accessed in ProbeTool
2158
+ suvbwToSuvlbm?: number
2159
+ suvbwToSuvbsa?: number
2160
+ }
2161
+ }
2162
+ }
2163
+
2164
+ /**
2165
+ * VolumeInput that can be used to add a volume to a viewport. It includes
2166
+ * mandatory `volumeUID` but other options such as `visibility`, `blendMode`,
2167
+ * `slabThickness` and `callback` can also be provided
2168
+ */
2169
+ declare interface IVolumeInput {
2170
+ /** Volume UID of the volume in the cache */
2171
+ volumeUID: string
2172
+ // actorUID for segmentations, since two segmentations with the same volumeUID
2173
+ // can have different representations
2174
+ actorUID?: string
2175
+ /** Visibility of the volume - by default it is true */
2176
+ visibility?: boolean
2177
+ /** Callback to be called when the volume is added to the viewport */
2178
+ callback?: VolumeInputCallback
2179
+ /** Blend mode of the volume - by default it is `additive` */
2180
+ blendMode?: string
2181
+ /** Slab thickness of the volume - by default it is calculated by the image size*/
2182
+ slabThickness?: number
2183
+ }
2184
+
2185
+ /**
2186
+ * VolumeLoadObject interface which any volumeLoader should return
2187
+ */
2188
+ declare interface IVolumeLoadObject {
2189
+ /** promise that resolves to an ImageVolume */
2190
+ promise: Promise<ImageVolume>
2191
+ /** optional cancel function for loading*/
2192
+ cancel?: () => void
2193
+ /** optional decache function */
2194
+ decache?: () => void
2195
+ }
2196
+
2197
+ /**
2198
+ * Interface for the Volume Viewport
2199
+ */
2200
+ declare interface IVolumeViewport extends IViewport {
2201
+ useCPURendering: boolean
2202
+ getFrameOfReferenceUID: () => string
2203
+ getProperties: () => any
2204
+ /**
2205
+ * canvasToWorld Returns the world coordinates of the given `canvasPos`
2206
+ * projected onto the plane defined by the `Viewport`'s `vtkCamera`'s focal point
2207
+ * and the direction of projection.
2208
+ */
2209
+ canvasToWorld: (canvasPos: Point2) => Point3
2210
+ /**
2211
+ * Returns the canvas coordinates of the given `worldPos`
2212
+ * projected onto the `Viewport`'s `canvas`.
2213
+ */
2214
+ worldToCanvas: (worldPos: Point3) => Point2
2215
+ /**
2216
+ * Uses viewport camera and volume actor to decide if the viewport
2217
+ * is looking at the volume in the direction of acquisition (imageIds).
2218
+ * If so, it uses the origin and focalPoint to calculate the slice index.
2219
+ */
2220
+ getCurrentImageIdIndex: () => number
2221
+ /**
2222
+ * Uses viewport camera and volume actor to decide if the viewport
2223
+ * is looking at the volume in the direction of acquisition (imageIds).
2224
+ * If so, it uses the origin and focalPoint to find which imageId is
2225
+ * currently being viewed.
2226
+ */
2227
+ getCurrentImageId: () => string
2228
+ /**
2229
+ * Creates volume actors for all volumes defined in the `volumeInputArray`.
2230
+ * For each entry, if a `callback` is supplied, it will be called with the new volume actor as input.
2231
+ * For each entry, if a `blendMode` and/or `slabThickness` is defined, this will be set on the actor's
2232
+ * `VolumeMapper`.
2233
+ */
2234
+ setVolumes(
2235
+ volumeInputArray: Array<IVolumeInput>,
2236
+ immediate?: boolean
2237
+ ): Promise<void>
2238
+ /**
2239
+ * Creates and adds volume actors for all volumes defined in the `volumeInputArray`.
2240
+ * For each entry, if a `callback` is supplied, it will be called with the new volume actor as input.
2241
+ */
2242
+ addVolumes(
2243
+ volumeInputArray: Array<IVolumeInput>,
2244
+ immediate?: boolean
2245
+ ): Promise<void>
2246
+ /**
2247
+ * It removes the volume actor from the Viewport. If the volume actor is not in
2248
+ * the viewport, it does nothing.
2249
+ */
2250
+ removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void
2251
+ /**
2252
+ * Given a point in world coordinates, return the intensity at that point
2253
+ */
2254
+ getIntensityFromWorld(point: Point3): number
2255
+ /**
2256
+ * getBounds gets the visible bounds of the viewport
2257
+ */
2258
+ getBounds(): any
2259
+ /**
2260
+ * Flip the viewport along the desired axis
2261
+ */
2262
+ flip(flipDirection: FlipDirection): void
2263
+ /**
2264
+ * Reset the camera for the volume viewport
2265
+ */
2266
+ resetCamera(resetPanZoomForViewPlane?: boolean): boolean
2267
+ /**
2268
+ * Sets the slab thickness option in the `Viewport`'s `options`.
2269
+ */
2270
+ setSlabThickness(slabThickness: number): void
2271
+ /**
2272
+ * Gets the slab thickness option in the `Viewport`'s `options`.
2273
+ */
2274
+ getSlabThickness(): number
2275
+ /**
2276
+ * Returns the image and its properties that is being shown inside the
2277
+ * stack viewport. It returns, the image dimensions, image direction,
2278
+ * image scalar data, vtkImageData object, metadata, and scaling (e.g., PET suvbw)
2279
+ */
2280
+ getImageData(): IImageData | undefined
2281
+ }
2282
+
2283
+ declare enum KeyboardBindings {
2284
+ Shift = 16,
2285
+ Ctrl = 18,
2286
+ Alt = 17
2287
+ }
2288
+
2289
+ declare type KeyDownEventDetail = {
2290
+ element: HTMLElement;
2291
+ viewportUID: string;
2292
+ renderingEngineUID: string;
2293
+ key: string;
2294
+ keyCode: number;
2295
+ };
2296
+
2297
+ declare type KeyDownEventType = Types_2.CustomEventType<KeyDownEventDetail>;
2298
+
2299
+ declare type KeyUpEventDetail = KeyDownEventDetail;
2300
+
2301
+ declare type KeyUpEventType = Types_2.CustomEventType<KeyUpEventDetail>;
2302
+
2303
+ declare type LabelmapConfig = {
2304
+ renderOutline?: boolean;
2305
+ outlineWidth?: number;
2306
+ outlineWidthActive?: number;
2307
+ outlineWidthInactive?: number;
2308
+ renderFill?: boolean;
2309
+ fillAlpha?: number;
2310
+ fillAlphaInactive?: number;
2311
+ };
2312
+
2313
+ declare type LabelmapRepresentation = {
2314
+ type: typeof SegmentationRepresentations.Labelmap;
2315
+ config: {
2316
+ cfun?: vtkColorTransferFunction;
2317
+ ofun?: vtkPiecewiseFunction;
2318
+ };
2319
+ };
2320
+
2321
+ declare interface LengthAnnotation extends Annotation {
2322
+ data: {
2323
+ handles: {
2324
+ points: Types_2.Point3[];
2325
+ activeHandleIndex: number | null;
2326
+ textBox: {
2327
+ hasMoved: boolean;
2328
+ worldPosition: Types_2.Point3;
2329
+ worldBoundingBox: {
2330
+ topLeft: Types_2.Point3;
2331
+ topRight: Types_2.Point3;
2332
+ bottomLeft: Types_2.Point3;
2333
+ bottomRight: Types_2.Point3;
2334
+ };
2335
+ };
2336
+ };
2337
+ label: string;
2338
+ cachedStats: {
2339
+ [targetUID: string]: {
2340
+ length: number;
2341
+ };
2342
+ };
2343
+ };
2344
+ }
2345
+
2346
+ export declare class LengthTool extends AnnotationTool {
2347
+ static toolName: string;
2348
+ touchDragCallback: any;
2349
+ mouseDragCallback: any;
2350
+ _throttledCalculateCachedStats: any;
2351
+ editData: {
2352
+ annotation: any;
2353
+ viewportUIDsToRender: string[];
2354
+ handleIndex?: number;
2355
+ movingTextBox?: boolean;
2356
+ newAnnotation?: boolean;
2357
+ hasMoved?: boolean;
2358
+ } | null;
2359
+ isDrawing: boolean;
2360
+ isHandleOutsideImage: boolean;
2361
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2362
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => LengthAnnotation;
2363
+ isPointNearTool: (element: HTMLElement, annotation: LengthAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
2364
+ toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: LengthAnnotation, interactionType: InteractionTypes) => void;
2365
+ handleSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: LengthAnnotation, handle: ToolHandle, interactionType?: string): void;
2366
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2367
+ _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType | EventTypes_2.MouseMoveEventType) => void;
2368
+ cancel: (element: HTMLElement) => any;
2369
+ _activateModify: (element: HTMLElement) => void;
2370
+ _deactivateModify: (element: HTMLElement) => void;
2371
+ _activateDraw: (element: HTMLElement) => void;
2372
+ _deactivateDraw: (element: HTMLElement) => void;
2373
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2374
+ _getTextLines(data: any, targetUID: any): string[];
2375
+ _calculateLength(pos1: any, pos2: any): number;
2376
+ _calculateCachedStats(annotation: any, renderingEngine: any, enabledElement: any): any;
2377
+ _isInsideVolume(index1: any, index2: any, dimensions: any): boolean;
2378
+ }
2379
+
2380
+ declare const lineSegment: {
2381
+ distanceToPoint: typeof distanceToPoint;
2382
+ distanceToPointSquared: typeof distanceToPointSquared;
2383
+ intersectLine: typeof intersectLine;
2384
+ };
2385
+
2386
+ declare namespace locking {
2387
+ export {
2388
+ setAnnotationLocked,
2389
+ getAnnotationsLocked,
2390
+ getAnnotationsLockedCount,
2391
+ unlockAllAnnotations,
2392
+ isAnnotationLocked,
2393
+ checkAndDefineIsLockedProperty
2394
+ }
2395
+ }
2396
+
2397
+ declare namespace math {
2398
+ export {
2399
+ _default_9 as default,
2400
+ _default_10 as vec2,
2401
+ _default_11 as ellipse,
2402
+ lineSegment,
2403
+ rectangle
2404
+ }
2405
+ }
2406
+
2407
+ /**
2408
+ * Metadata for images, More information can be found in the
2409
+ * {@link https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.3.html#table_C.7-11c}
2410
+ */
2411
+ declare type Metadata = {
2412
+ /** Number of bits allocated for each pixel sample. Each sample shall have the same number of bits allocated */
2413
+ BitsAllocated: number
2414
+ /** Number of bits stored for each pixel sample */
2415
+ BitsStored: number
2416
+ SamplesPerPixel: number
2417
+ /** Most significant bit for pixel sample data */
2418
+ HighBit: number
2419
+ /** Specifies the intended interpretation of the pixel data */
2420
+ PhotometricInterpretation: string
2421
+ /** Data representation of the pixel samples. */
2422
+ PixelRepresentation: number
2423
+ /** Image Modality */
2424
+ Modality: string
2425
+ /** The direction cosines of the first row and the first column with respect to the patient */
2426
+ ImageOrientationPatient: Array<number>
2427
+ /** Physical distance in the patient between the center of each pixel */
2428
+ PixelSpacing: Array<number>
2429
+ /** Uniquely identifies the Frame of Reference for a Series */
2430
+ FrameOfReferenceUID: string
2431
+ /** Number of columns in the image. */
2432
+ Columns: number
2433
+ /** Number of rows in the image. */
2434
+ Rows: number
2435
+ /** Window Level/Center for the image */
2436
+ voiLut: Array<VOI>
2437
+ }
2438
+
2439
+ export declare class MIPJumpToClickTool extends BaseTool {
2440
+ static toolName: string;
2441
+ _bounds: any;
2442
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2443
+ mouseClickCallback(evt: any): void;
2444
+ }
2445
+
2446
+ declare enum MouseBindings {
2447
+ Primary = 1,
2448
+ Secondary = 2,
2449
+ Primary_And_Secondary = 3,
2450
+ Auxiliary = 4,
2451
+ Primary_And_Auxiliary = 5,
2452
+ Secondary_And_Auxiliary = 6,
2453
+ Primary_And_Secondary_And_Auxiliary = 7,
2454
+ Fourth_Button = 8,
2455
+ Fifth_Button = 16
2456
+ }
2457
+
2458
+ declare type MouseClickEventDetail = NormalizedMouseEventDetail & {
2459
+ mouseButton: number;
2460
+ startPoints: IPoints;
2461
+ lastPoints: IPoints;
2462
+ currentPoints: IPoints;
2463
+ deltaPoints: IPoints;
2464
+ };
2465
+
2466
+ declare type MouseClickEventType = Types_2.CustomEventType<MouseClickEventDetail>;
2467
+
2468
+ declare class MouseCursor {
2469
+ private name;
2470
+ private fallback;
2471
+ constructor(name: string, fallback?: MouseCursor | undefined);
2472
+ getName(): string;
2473
+ addFallbackStyleProperty(style: string): string;
2474
+ getStyleProperty(): string;
2475
+ static getDefinedCursor(name: string): MouseCursor | undefined;
2476
+ static setDefinedCursor(name: string, cursor: MouseCursor): boolean;
2477
+ }
2478
+
2479
+ declare type MouseDoubleClickEventDetail = NormalizedMouseEventDetail & {
2480
+ startPoints: IPoints;
2481
+ lastPoints: IPoints;
2482
+ currentPoints: IPoints;
2483
+ deltaPoints: IPoints;
2484
+ };
2485
+
2486
+ declare type MouseDoubleClickEventType = Types_2.CustomEventType<MouseDoubleClickEventDetail>;
2487
+
2488
+ declare type MouseDownActivateEventDetail = NormalizedMouseEventDetail & {
2489
+ mouseButton: number;
2490
+ startPoints: IPoints;
2491
+ lastPoints: IPoints;
2492
+ currentPoints: IPoints;
2493
+ deltaPoints: IPoints;
2494
+ };
2495
+
2496
+ declare type MouseDownActivateEventType = Types_2.CustomEventType<MouseDownActivateEventDetail>;
2497
+
2498
+ declare type MouseDownEventDetail = NormalizedMouseEventDetail & {
2499
+ mouseButton: number;
2500
+ startPoints: IPoints;
2501
+ lastPoints: IPoints;
2502
+ currentPoints: IPoints;
2503
+ deltaPoints: IPoints;
2504
+ };
2505
+
2506
+ declare type MouseDownEventType = Types_2.CustomEventType<MouseDownEventDetail>;
2507
+
2508
+ declare type MouseDragEventDetail = NormalizedMouseEventDetail & {
2509
+ mouseButton: number;
2510
+ startPoints: IPoints;
2511
+ lastPoints: IPoints;
2512
+ currentPoints: IPoints;
2513
+ deltaPoints: IPoints;
2514
+ };
2515
+
2516
+ declare type MouseDragEventType = Types_2.CustomEventType<MouseDragEventDetail>;
2517
+
2518
+ declare type MouseMoveEventDetail = NormalizedMouseEventDetail & {
2519
+ currentPoints: IPoints;
2520
+ };
2521
+
2522
+ declare type MouseMoveEventType = Types_2.CustomEventType<MouseMoveEventDetail>;
2523
+
2524
+ declare type MouseUpEventDetail = NormalizedMouseEventDetail & {
2525
+ mouseButton: number;
2526
+ startPoints: IPoints;
2527
+ lastPoints: IPoints;
2528
+ currentPoints: IPoints;
2529
+ deltaPoints: IPoints;
2530
+ };
2531
+
2532
+ declare type MouseUpEventType = Types_2.CustomEventType<MouseUpEventDetail>;
2533
+
2534
+ declare type MouseWheelEventDetail = NormalizedMouseEventDetail & {
2535
+ detail: Record<string, any>;
2536
+ wheel: {
2537
+ spinX: number;
2538
+ spinY: number;
2539
+ pixelX: number;
2540
+ pixelY: number;
2541
+ direction: number;
2542
+ };
2543
+ points: IPoints;
2544
+ };
2545
+
2546
+ declare type MouseWheelEventType = Types_2.CustomEventType<MouseWheelEventDetail>;
2547
+
2548
+ declare type NormalizedMouseEventDetail = {
2549
+ event: Record<string, unknown> | MouseEvent;
2550
+ eventName: string;
2551
+ renderingEngineUID: string;
2552
+ viewportUID: string;
2553
+ camera: Record<string, unknown>;
2554
+ element: HTMLElement;
2555
+ };
2556
+
2557
+ declare type NormalizedMouseEventType = Types_2.CustomEventType<NormalizedMouseEventDetail>;
2558
+
2559
+ declare type Orientation = {
2560
+ /** Slice Normal for the viewport - the normal that points in the opposite direction of the slice normal out of screen and is negative of direction of projection */
2561
+ sliceNormal: Point3
2562
+ /** viewUp direction for the viewport - the vector that points from bottom to top of the viewport */
2563
+ viewUp: Point3
2564
+ }
2565
+
2566
+ export declare class PanTool extends BaseTool {
2567
+ static toolName: string;
2568
+ touchDragCallback: () => void;
2569
+ mouseDragCallback: () => void;
2570
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2571
+ _dragCallback(evt: any): void;
2572
+ }
2573
+
2574
+ declare namespace planar {
2575
+ export {
2576
+ _default_12 as default,
2577
+ filterAnnotationsWithinSlice,
2578
+ getWorldWidthAndHeightFromCorners,
2579
+ filterAnnotationsForDisplay,
2580
+ getPointInLineOfSightWithCriteria
2581
+ }
2582
+ }
2583
+
2584
+ declare type PlanarBoundingBox = {
2585
+ x: number;
2586
+ y: number;
2587
+ width: number;
2588
+ height: number;
2589
+ };
2590
+
2591
+ /**
2592
+ * Plane equation Ax+By+Cz=D, plane is defined by [A, B, C, D]
2593
+ */
2594
+ declare type Plane = [number, number, number, number]
2595
+
2596
+ /**
2597
+ * This duplicates the typing established in gl-matrix for a vec2
2598
+ */
2599
+ declare type Point2 = [number, number]
2600
+
2601
+ /**
2602
+ * This duplicates the typing established in gl-matrix for a vec3
2603
+ */
2604
+ declare type Point3 = [number, number, number]
2605
+
2606
+ /**
2607
+ * This represents a 4-vector or RGBA value.
2608
+ */
2609
+ declare type Point4 = [number, number, number, number];
2610
+
2611
+ declare function pointInEllipse(ellipse: Ellipse, pointLPS: Types_2.Point3): boolean;
2612
+
2613
+ declare type PointInShapeCallback = ({ value, index, pointIJK, pointLPS, }: {
2614
+ value: number;
2615
+ index: number;
2616
+ pointIJK: Types_2.Point3;
2617
+ pointLPS: Types_2.Point3;
2618
+ }) => void;
2619
+
2620
+ declare function pointInShapeCallback(imageData: vtkImageData | Types_2.CPUImageData, pointInShapeFn: ShapeFnCriteria, callback: PointInShapeCallback, boundsIJK?: BoundsIJK): void;
2621
+
2622
+ declare function pointInSurroundingSphereCallback(viewport: Types_2.IVolumeViewport, imageData: vtkImageData, circlePoints: [Types_2.Point3, Types_2.Point3], callback: PointInShapeCallback): void;
2623
+
2624
+ declare interface ProbeAnnotation extends Annotation {
2625
+ data: {
2626
+ handles: {
2627
+ points: Types_2.Point3[];
2628
+ };
2629
+ cachedStats: {
2630
+ [targetUID: string]: {
2631
+ Modality: string;
2632
+ index: Types_2.Point3;
2633
+ value: number;
2634
+ };
2635
+ };
2636
+ label: string;
2637
+ };
2638
+ }
2639
+
2640
+ export declare class ProbeTool extends AnnotationTool {
2641
+ static toolName: string;
2642
+ touchDragCallback: any;
2643
+ mouseDragCallback: any;
2644
+ editData: {
2645
+ annotation: any;
2646
+ viewportUIDsToRender: string[];
2647
+ } | null;
2648
+ eventDispatchDetail: {
2649
+ viewportUID: string;
2650
+ renderingEngineUID: string;
2651
+ };
2652
+ isDrawing: boolean;
2653
+ isHandleOutsideImage: boolean;
2654
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2655
+ isPointNearTool(): boolean;
2656
+ toolSelectedCallback(): void;
2657
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => ProbeAnnotation;
2658
+ getHandleNearImagePoint(element: HTMLElement, annotation: ProbeAnnotation, canvasCoords: Types_2.Point2, proximity: number): ToolHandle | undefined;
2659
+ handleSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: ProbeAnnotation, handle: ToolHandle, interactionType?: string): void;
2660
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2661
+ _mouseDragCallback: (evt: any) => void;
2662
+ cancel: (element: HTMLElement) => any;
2663
+ _activateModify: (element: any) => void;
2664
+ _deactivateModify: (element: any) => void;
2665
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2666
+ _getTextLines(data: any, targetUID: any): any[];
2667
+ _getValueForModality(value: any, imageVolume: any, modality: any): {};
2668
+ _calculateCachedStats(annotation: any, renderingEngine: any, enabledElement: any): any;
2669
+ }
2670
+
2671
+ declare type PTScaling = {
2672
+ /** suv body weight to suv lean body mass */
2673
+ suvbwToSuvlbm?: number
2674
+ /** suv body weight to suv body surface area */
2675
+ suvbwToSuvbsa?: number
2676
+ }
2677
+
2678
+ declare type PublicToolProps = SharedToolProp & {
2679
+ name?: string;
2680
+ };
2681
+
2682
+ /**
2683
+ * Public Interface for viewport input to get enabled/disabled or set
2684
+ */
2685
+ declare type PublicViewportInput = {
2686
+ /** HTML element in the DOM */
2687
+ element: HTMLElement
2688
+ /** unique id for the viewport in the renderingEngine */
2689
+ viewportUID: string
2690
+ /** type of the viewport */
2691
+ type: ViewportType
2692
+ /** options for the viewport */
2693
+ defaultOptions: ViewportInputOptions
2694
+ }
2695
+
2696
+ declare const rectangle: {
2697
+ distanceToPoint: typeof distanceToPoint_2;
2698
+ };
2699
+
2700
+ declare interface RectangleRoiAnnotation extends Annotation {
2701
+ data: {
2702
+ handles: {
2703
+ points: Types_2.Point3[];
2704
+ activeHandleIndex: number | null;
2705
+ textBox: {
2706
+ hasMoved: boolean;
2707
+ worldPosition: Types_2.Point3;
2708
+ worldBoundingBox: {
2709
+ topLeft: Types_2.Point3;
2710
+ topRight: Types_2.Point3;
2711
+ bottomLeft: Types_2.Point3;
2712
+ bottomRight: Types_2.Point3;
2713
+ };
2714
+ };
2715
+ };
2716
+ label: string;
2717
+ cachedStats?: RectangleRoiCachedStats | {
2718
+ projectionPoints?: Types_2.Point3[];
2719
+ projectionPointsImageIds?: string[];
2720
+ };
2721
+ };
2722
+ }
2723
+
2724
+ declare interface RectangleRoiCachedStats {
2725
+ [targetUID: string]: {
2726
+ Modality: string;
2727
+ area: number;
2728
+ max: number;
2729
+ mean: number;
2730
+ stdDev: number;
2731
+ };
2732
+ }
2733
+
2734
+ declare interface RectangleRoiStartEndThresholdAnnotation extends Annotation {
2735
+ metadata: {
2736
+ cameraPosition?: Types_2.Point3;
2737
+ cameraFocalPoint?: Types_2.Point3;
2738
+ viewPlaneNormal?: Types_2.Point3;
2739
+ viewUp?: Types_2.Point3;
2740
+ annotationUID?: string;
2741
+ FrameOfReferenceUID: string;
2742
+ referencedImageId?: string;
2743
+ toolName: string;
2744
+ enabledElement: any;
2745
+ volumeUID: string;
2746
+ spacingInNormal: number;
2747
+ };
2748
+ data: {
2749
+ label: string;
2750
+ startSlice: number;
2751
+ endSlice: number;
2752
+ cachedStats: {
2753
+ projectionPoints: Types_2.Point3[][];
2754
+ projectionPointsImageIds: string[];
2755
+ };
2756
+ handles: {
2757
+ points: Types_2.Point3[];
2758
+ activeHandleIndex: number | null;
2759
+ };
2760
+ };
2761
+ }
2762
+
2763
+ export declare class RectangleRoiStartEndThresholdTool extends RectangleRoiTool {
2764
+ static toolName: string;
2765
+ _throttledCalculateCachedStats: any;
2766
+ editData: {
2767
+ annotation: any;
2768
+ viewportUIDsToRender: string[];
2769
+ handleIndex?: number;
2770
+ newAnnotation?: boolean;
2771
+ hasMoved?: boolean;
2772
+ } | null;
2773
+ isDrawing: boolean;
2774
+ isHandleOutsideImage: boolean;
2775
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2776
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => {
2777
+ highlighted: boolean;
2778
+ invalidated: boolean;
2779
+ metadata: {
2780
+ viewPlaneNormal: Types_2.Point3;
2781
+ enabledElement: Types_2.IEnabledElement;
2782
+ viewUp: Types_2.Point3;
2783
+ FrameOfReferenceUID: string;
2784
+ referencedImageId: any;
2785
+ toolName: string;
2786
+ volumeUID: any;
2787
+ spacingInNormal: number;
2788
+ };
2789
+ data: {
2790
+ label: string;
2791
+ startSlice: number;
2792
+ endSlice: number;
2793
+ cachedStats: {
2794
+ projectionPoints: any[];
2795
+ projectionPointsImageIds: any[];
2796
+ };
2797
+ handles: {
2798
+ textBox: {
2799
+ hasMoved: boolean;
2800
+ worldPosition: any;
2801
+ worldBoundingBox: any;
2802
+ };
2803
+ points: Types_2.Point3[];
2804
+ activeHandleIndex: any;
2805
+ };
2806
+ labelmapUID: any;
2807
+ };
2808
+ };
2809
+ _computeProjectionPoints(annotation: RectangleRoiStartEndThresholdAnnotation, imageVolume: Types_2.IImageVolume): void;
2810
+ _calculateCachedStatsTool(annotation: any, enabledElement: any): any;
2811
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2812
+ _getEndSliceIndex(imageVolume: Types_2.IImageVolume, worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
2813
+ }
2814
+
2815
+ export declare class RectangleRoiThresholdTool extends RectangleRoiTool {
2816
+ static toolName: string;
2817
+ _throttledCalculateCachedStats: any;
2818
+ editData: {
2819
+ annotation: any;
2820
+ viewportUIDsToRender: string[];
2821
+ handleIndex?: number;
2822
+ newAnnotation?: boolean;
2823
+ hasMoved?: boolean;
2824
+ } | null;
2825
+ isDrawing: boolean;
2826
+ isHandleOutsideImage: boolean;
2827
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2828
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => {
2829
+ highlighted: boolean;
2830
+ invalidated: boolean;
2831
+ metadata: {
2832
+ viewPlaneNormal: Types_2.Point3;
2833
+ enabledElement: Types_2.IEnabledElement;
2834
+ viewUp: Types_2.Point3;
2835
+ FrameOfReferenceUID: string;
2836
+ referencedImageId: any;
2837
+ toolName: string;
2838
+ volumeUID: any;
2839
+ };
2840
+ data: {
2841
+ label: string;
2842
+ handles: {
2843
+ textBox: {
2844
+ hasMoved: boolean;
2845
+ worldPosition: any;
2846
+ worldBoundingBox: any;
2847
+ };
2848
+ points: Types_2.Point3[];
2849
+ activeHandleIndex: any;
2850
+ };
2851
+ segmentationUID: any;
2852
+ };
2853
+ };
2854
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2855
+ }
2856
+
2857
+ export declare class RectangleRoiTool extends AnnotationTool {
2858
+ static toolName: string;
2859
+ _throttledCalculateCachedStats: any;
2860
+ editData: {
2861
+ annotation: any;
2862
+ viewportUIDsToRender: string[];
2863
+ handleIndex?: number;
2864
+ movingTextBox?: boolean;
2865
+ newAnnotation?: boolean;
2866
+ hasMoved?: boolean;
2867
+ } | null;
2868
+ isDrawing: boolean;
2869
+ isHandleOutsideImage: boolean;
2870
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2871
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => RectangleRoiAnnotation;
2872
+ isPointNearTool: (element: HTMLElement, annotation: RectangleRoiAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
2873
+ toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: RectangleRoiAnnotation, interactionType: InteractionTypes) => void;
2874
+ handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: RectangleRoiAnnotation, handle: ToolHandle, interactionType?: string) => void;
2875
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2876
+ _mouseDragCallback: (evt: EventTypes_2.MouseMoveEventType | EventTypes_2.MouseDragEventType) => void;
2877
+ cancel: (element: HTMLElement) => any;
2878
+ _activateDraw: (element: any) => void;
2879
+ _deactivateDraw: (element: any) => void;
2880
+ _activateModify: (element: any) => void;
2881
+ _deactivateModify: (element: any) => void;
2882
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2883
+ _getRectangleImageCoordinates: (points: Array<Types_2.Point2>) => {
2884
+ left: number;
2885
+ top: number;
2886
+ width: number;
2887
+ height: number;
2888
+ };
2889
+ _getTextLines: (data: any, targetUID: string) => any[];
2890
+ _calculateCachedStats: (annotation: any, viewPlaneNormal: any, viewUp: any, renderingEngine: any, enabledElement: any) => any;
2891
+ _isInsideVolume: (index1: any, index2: any, dimensions: any) => boolean;
2892
+ }
2893
+
2894
+ export declare class RectangleScissorsTool extends BaseTool {
2895
+ static toolName: string;
2896
+ _throttledCalculateCachedStats: any;
2897
+ editData: {
2898
+ annotation: any;
2899
+ segmentationDataUID: string;
2900
+ segmentation: any;
2901
+ segmentIndex: number;
2902
+ segmentsLocked: number[];
2903
+ segmentColor: [number, number, number, number];
2904
+ viewportUIDsToRender: string[];
2905
+ handleIndex?: number;
2906
+ movingTextBox: boolean;
2907
+ newAnnotation?: boolean;
2908
+ hasMoved?: boolean;
2909
+ } | null;
2910
+ isDrawing: boolean;
2911
+ isHandleOutsideImage: boolean;
2912
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2913
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => void;
2914
+ _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType) => void;
2915
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2916
+ _activateDraw: (element: any) => void;
2917
+ _deactivateDraw: (element: any) => void;
2918
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2919
+ }
2920
+
2921
+ declare function registerCursor(toolName: string, iconContent: string, viewBox: {
2922
+ x: number;
2923
+ y: number;
2924
+ }): void;
2925
+
2926
+ declare function removeAnnotation(element: HTMLElement, annotationUID: string): void;
2927
+
2928
+ declare function removeSegmentationData(toolGroupUID: string, segmentationDataUID: string): void;
2929
+
2930
+ declare function removeSegmentationsFromToolGroup(toolGroupUID: string, segmentationDataUIDs?: string[] | undefined): void;
2931
+
2932
+ export declare function removeTool(ToolClass: any): void;
2933
+
2934
+ declare type RepresentationConfig = LabelmapConfig;
2935
+
2936
+ declare function resetElementCursor(element: HTMLElement): void;
2937
+
2938
+ declare type Scaling = {
2939
+ PET?: PTScaling
2940
+ }
2941
+
2942
+ declare type ScalingParameters = {
2943
+ /** m in m*p+b which specifies the linear transformation from stored pixels to memory value */
2944
+ rescaleSlope: number
2945
+ /** b in m*p+b which specifies the offset of the transformation */
2946
+ rescaleIntercept: number
2947
+ /** modality */
2948
+ modality: string
2949
+ /** SUV body weight */
2950
+ suvbw?: number
2951
+ /** SUV lean body mass */
2952
+ suvlbm?: number
2953
+ /** SUV body surface area */
2954
+ suvbsa?: number
2955
+ }
2956
+
2957
+ declare function scrollThroughStack(evt: MouseWheelEventType | MouseDragEventType, deltaFrames: number, volumeUID: string, invert?: boolean): void;
2958
+
2959
+ declare namespace segmentation {
2960
+ export {
2961
+ state_2 as state,
2962
+ activeSegmentation,
2963
+ addSegmentationsForToolGroup,
2964
+ removeSegmentationsFromToolGroup,
2965
+ createNewSegmentationForToolGroup,
2966
+ segmentLocking,
2967
+ segmentationColor,
2968
+ segmentationConfig,
2969
+ segmentationVisibility,
2970
+ segmentIndex,
2971
+ triggerSegmentationEvents
2972
+ }
2973
+ }
2974
+ export { segmentation }
2975
+
2976
+ declare namespace segmentation_2 {
2977
+ export {
2978
+ getBoundingBoxAroundShape,
2979
+ extend2DBoundingBoxInViewAxis,
2980
+ thresholdVolumeByRange,
2981
+ thresholdVolumeByRoiStats,
2982
+ createMergedLabelmapForIndex,
2983
+ isValidRepresentationConfig,
2984
+ getDefaultRepresentationConfig,
2985
+ _default_16 as default
2986
+ }
2987
+ }
2988
+
2989
+ declare namespace segmentationColor {
2990
+ export {
2991
+ _default_5 as default,
2992
+ getColorForSegmentIndex,
2993
+ addColorLUT_2 as addColorLUT
2994
+ }
2995
+ }
2996
+
2997
+ declare type SegmentationConfig = {
2998
+ renderInactiveSegmentations: boolean;
2999
+ representations: {
3000
+ LABELMAP?: LabelmapConfig;
3001
+ };
3002
+ };
3003
+
3004
+ declare namespace segmentationConfig {
3005
+ export {
3006
+ getGlobalSegmentationConfig_2 as getGlobalSegmentationConfig,
3007
+ setGlobalSegmentationConfig_2 as setGlobalSegmentationConfig,
3008
+ getGlobalRepresentationConfig,
3009
+ setGlobalRepresentationConfig,
3010
+ updateGlobalSegmentationConfig,
3011
+ updateGlobalRepresentationConfig,
3012
+ getSegmentationConfig_2 as getSegmentationConfig,
3013
+ setSegmentationConfig_2 as setSegmentationConfig,
3014
+ setRepresentationConfig,
3015
+ getRepresentationConfig,
3016
+ _default_6 as default
3017
+ }
3018
+ }
3019
+
3020
+ declare type SegmentationDataInput = Partial<ToolGroupSpecificSegmentationData> & {
3021
+ toolGroupUID: string;
3022
+ };
3023
+
3024
+ declare type SegmentationDataModifiedEventDetail = {
3025
+ toolGroupUID: string;
3026
+ segmentationDataUID: string;
3027
+ };
3028
+
3029
+ declare type SegmentationDataModifiedEventType = Types_2.CustomEventType<SegmentationDataModifiedEventDetail>;
3030
+
3031
+ export declare class SegmentationDisplayTool extends BaseTool {
3032
+ static toolName: string;
3033
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3034
+ enableCallback(): void;
3035
+ disableCallback(): void;
3036
+ renderSegmentation: (toolGroupUID: string) => void;
3037
+ _getSegmentationConfig(toolGroupUID: string): SegmentationConfig;
3038
+ }
3039
+
3040
+ declare type SegmentationGlobalStateModifiedEventDetail = {
3041
+ segmentationUID: string;
3042
+ };
3043
+
3044
+ declare type SegmentationGlobalStateModifiedEventType = Types_2.CustomEventType<SegmentationGlobalStateModifiedEventDetail>;
3045
+
3046
+ declare type SegmentationRenderedEventDetail = {
3047
+ viewportUID: string;
3048
+ toolGroupUID: string;
3049
+ };
3050
+
3051
+ declare type SegmentationRenderedEventType = Types_2.CustomEventType<SegmentationRenderedEventDetail>;
3052
+
3053
+ declare type SegmentationRepresentation = LabelmapRepresentation;
3054
+
3055
+ declare enum SegmentationRepresentations {
3056
+ Labelmap = "LABELMAP"
3057
+ }
3058
+
3059
+ declare interface SegmentationState {
3060
+ colorLutTables: ColorLUT[];
3061
+ global: GlobalSegmentationStateWithConfig;
3062
+ toolGroups: {
3063
+ [key: string]: ToolGroupSpecificSegmentationStateWithConfig;
3064
+ };
3065
+ }
3066
+
3067
+ declare class SegmentationStateManager {
3068
+ private state;
3069
+ readonly uid: string;
3070
+ constructor(uid?: string);
3071
+ getState(): SegmentationState;
3072
+ getToolGroups(): string[];
3073
+ getColorLut(lutIndex: number): ColorLUT | undefined;
3074
+ resetState(): void;
3075
+ getGlobalSegmentationData(segmentationUID: string): GlobalSegmentationData | undefined;
3076
+ getGlobalSegmentationState(): GlobalSegmentationState | [];
3077
+ getGlobalSegmentationConfig(): SegmentationConfig;
3078
+ setGlobalSegmentationConfig(config: SegmentationConfig): void;
3079
+ getToolGroupsWithSegmentation(segmentationUID: string): string[];
3080
+ getSegmentationState(toolGroupUID: string): ToolGroupSpecificSegmentationState | [];
3081
+ getSegmentationConfig(toolGroupUID: string): SegmentationConfig | undefined;
3082
+ setSegmentationConfig(toolGroupUID: string, config: SegmentationConfig): void;
3083
+ getSegmentationDataByUID(toolGroupUID: string, segmentationDataUID: string): ToolGroupSpecificSegmentationData | undefined;
3084
+ getActiveSegmentationData(toolGroupUID: string): ToolGroupSpecificSegmentationData | undefined;
3085
+ addColorLUT(colorLut: ColorLUT, lutIndex: number): void;
3086
+ addGlobalSegmentationData(segmentationData: GlobalSegmentationData): void;
3087
+ addSegmentationData(toolGroupUID: string, segmentationData: ToolGroupSpecificSegmentationData): void;
3088
+ setActiveSegmentationData(toolGroupUID: string, segmentationDataUID: string): void;
3089
+ removeSegmentationData(toolGroupUID: string, segmentationDataUID: string): void;
3090
+ _handleActiveSegmentation(toolGroupUID: string, recentlyAddedOrRemovedSegmentationData: ToolGroupSpecificSegmentationData): void;
3091
+ _initDefaultColorLutIfNecessary(): void;
3092
+ }
3093
+
3094
+ declare type SegmentationStateModifiedEventDetail = {
3095
+ toolGroupUID: string;
3096
+ };
3097
+
3098
+ declare type SegmentationStateModifiedEventType = Types_2.CustomEventType<SegmentationStateModifiedEventDetail>;
3099
+
3100
+ declare namespace segmentationVisibility {
3101
+ export {
3102
+ _default_7 as default,
3103
+ setSegmentationVisibility,
3104
+ getSegmentationVisibility
3105
+ }
3106
+ }
3107
+
3108
+ declare namespace segmentIndex {
3109
+ export {
3110
+ _default_8 as default,
3111
+ getActiveSegmentIndex,
3112
+ setActiveSegmentIndex,
3113
+ getActiveSegmentIndexForSegmentation,
3114
+ setActiveSegmentIndexForSegmentation
3115
+ }
3116
+ }
3117
+
3118
+ declare namespace segmentLocking {
3119
+ export {
3120
+ getSegmentIndexLocked,
3121
+ setSegmentIndexLocked,
3122
+ getSegmentIndexLockedForSegmentation,
3123
+ setSegmentIndexLockedForSegmentation,
3124
+ getSegmentsLockedForSegmentation,
3125
+ _default_4 as default
3126
+ }
3127
+ }
3128
+
3129
+ declare namespace selection {
3130
+ export {
3131
+ setAnnotationSelected,
3132
+ getAnnotationsSelected,
3133
+ getAnnotationSelected,
3134
+ getAnnotationsSelectedByToolName,
3135
+ getAnnotationsSelectedCount,
3136
+ isAnnotationSelected
3137
+ }
3138
+ }
3139
+
3140
+ declare function setActiveSegmentation(toolGroupUID: string, segmentationDataUID: string): void;
3141
+
3142
+ declare function setActiveSegmentationData(toolGroupUID: string, segmentationDataUID: string, suppressEvents?: boolean): void;
3143
+
3144
+ declare function setActiveSegmentIndex(toolGroupUID: string, segmentIndex: number): void;
3145
+
3146
+ declare function setActiveSegmentIndexForSegmentation(segmentationUID: string, segmentIndex: number): void;
3147
+
3148
+ declare function setAnnotationLocked(annotation: Annotation, locked?: boolean): void;
3149
+
3150
+ declare function setAnnotationSelected(annotation: Annotation, selected?: boolean, preserveSelected?: boolean): void;
3151
+
3152
+ declare function setAnnotationStyle(toolName: string, annotation: Record<string, unknown>, style: Record<string, unknown>): boolean;
3153
+
3154
+ declare function setCursorForElement(element: HTMLElement, cursorName: string): void;
3155
+
3156
+ declare function _setElementCursor(element: HTMLElement, cursor: MouseCursor | null): void;
3157
+
3158
+ declare function setGlobalRepresentationConfig(representationType: SegmentationRepresentations, config: RepresentationConfig): void;
3159
+
3160
+ declare function setGlobalSegmentationConfig(config: SegmentationConfig, suppressEvents?: boolean): void;
3161
+
3162
+ declare function setGlobalSegmentationConfig_2(segmentationConfig: SegmentationConfig): void;
3163
+
3164
+ declare function setGlobalStyle(style: Record<string, unknown>): boolean;
3165
+
3166
+ declare function setRepresentationConfig(toolGroupUID: string, representationType: SegmentationRepresentations, representationConfig: RepresentationConfig): void;
3167
+
3168
+ declare function setSegmentationConfig(toolGroupUID: string, config: SegmentationConfig, suppressEvents?: boolean): void;
3169
+
3170
+ declare function setSegmentationConfig_2(toolGroupUID: string, segmentationConfig: SegmentationConfig): void;
3171
+
3172
+ declare function setSegmentationVisibility(toolGroupUID: string, segmentationDataUID: string, visibility: boolean): void;
3173
+
3174
+ declare function setSegmentIndexLocked(toolGroupUID: string, segmentIndex: number, locked?: boolean): void;
3175
+
3176
+ declare function setSegmentIndexLockedForSegmentation(segmentationUID: string, segmentIndex: number, locked?: boolean): void;
3177
+
3178
+ /**
3179
+ * Settings
3180
+ */
3181
+ declare class Settings {
3182
+ constructor(base?: Settings) {
3183
+ const dictionary = Object.create(
3184
+ base instanceof Settings && DICTIONARY in base ? base[DICTIONARY] : null
3185
+ )
3186
+ Object.seal(
3187
+ Object.defineProperty(this, DICTIONARY, {
3188
+ value: dictionary,
3189
+ })
3190
+ )
3191
+ }
3192
+
3193
+ set(key: string, value: unknown): boolean {
3194
+ return set(this[DICTIONARY], key, value, null)
3195
+ }
3196
+
3197
+ get(key: string): unknown {
3198
+ return get(this[DICTIONARY], key)
3199
+ }
3200
+
3201
+ /**
3202
+ * Unset a specific key or a set of keys within a namespace when the key ends with a dot (ASCII #46).
3203
+ * If the key is ".", all keys will be removed and this command works as a reset.
3204
+ * @param key - name The key to be unset or a namespace.
3205
+ * @returns boolean
3206
+ */
3207
+ unset(key: string): boolean {
3208
+ return unset(this[DICTIONARY], key + '')
3209
+ }
3210
+
3211
+ forEach(callback: (key: string, value: unknown) => void): void {
3212
+ iterate(this[DICTIONARY], callback)
3213
+ }
3214
+
3215
+ extend(): Settings {
3216
+ return new Settings(this)
3217
+ }
3218
+
3219
+ /**
3220
+ * Recursively import all properties from the given plain JavaScript object.
3221
+ * This method has the opposite effect of the `dump` method.
3222
+ * @param root - The root object whose properties will
3223
+ * be imported.
3224
+ */
3225
+ import(root: Record<string, unknown>): void {
3226
+ if (isPlainObject(root)) {
3227
+ Object.keys(root).forEach((key) => {
3228
+ set(this[DICTIONARY], key, root[key], null)
3229
+ })
3230
+ }
3231
+ }
3232
+
3233
+ /**
3234
+ * Build a JSON representation of the current internal state of this settings
3235
+ * object. The returned object can be safely passed to `JSON.stringify`
3236
+ * function.
3237
+ * @returns The JSON representation of the current
3238
+ * state of this settings instance
3239
+ */
3240
+ dump(): Record<string, unknown> {
3241
+ const context = {}
3242
+ iterate(this[DICTIONARY], (key, value) => {
3243
+ if (typeof value !== 'undefined') {
3244
+ deepSet(context, key, value)
3245
+ }
3246
+ })
3247
+ return context
3248
+ }
3249
+
3250
+ static assert(subject: Settings): Settings {
3251
+ return subject instanceof Settings ? subject : Settings.getRuntimeSettings()
3252
+ }
3253
+
3254
+ static getDefaultSettings(subfield = null): Settings | any {
3255
+ let defaultSettings = Settings[DEFAULT_SETTINGS]
3256
+ if (!(defaultSettings instanceof Settings)) {
3257
+ defaultSettings = new Settings()
3258
+ Settings[DEFAULT_SETTINGS] = defaultSettings
3259
+ }
3260
+
3261
+ // Given subfield of 'segmentation' it will return all settings
3262
+ // that starts with segmentation.*
3263
+ if (subfield) {
3264
+ const settingObj = {}
3265
+ defaultSettings.forEach((name: string) => {
3266
+ if (name.startsWith(subfield)) {
3267
+ const setting = name.split(`${subfield}.`)[1]
3268
+ settingObj[setting] = defaultSettings.get(name)
3269
+ }
3270
+ })
3271
+ return settingObj
3272
+ }
3273
+
3274
+ return defaultSettings
3275
+ }
3276
+
3277
+ static getRuntimeSettings(): Settings {
3278
+ let runtimeSettings = Settings[RUNTIME_SETTINGS]
3279
+ if (!(runtimeSettings instanceof Settings)) {
3280
+ runtimeSettings = new Settings(Settings.getDefaultSettings())
3281
+ Settings[RUNTIME_SETTINGS] = runtimeSettings
3282
+ }
3283
+ return runtimeSettings
3284
+ }
3285
+
3286
+ static getObjectSettings(subject: unknown, from?: unknown): Settings {
3287
+ let settings = null
3288
+ if (subject instanceof Settings) {
3289
+ settings = subject
3290
+ } else if (typeof subject === 'object' && subject !== null) {
3291
+ let objectSettingsMap = Settings[OBJECT_SETTINGS_MAP]
3292
+ if (!(objectSettingsMap instanceof WeakMap)) {
3293
+ objectSettingsMap = new WeakMap()
3294
+ Settings[OBJECT_SETTINGS_MAP] = objectSettingsMap
3295
+ }
3296
+ settings = objectSettingsMap.get(subject)
3297
+ if (!(settings instanceof Settings)) {
3298
+ settings = new Settings(
3299
+ Settings.assert(Settings.getObjectSettings(from))
3300
+ )
3301
+ objectSettingsMap.set(subject, settings)
3302
+ }
3303
+ }
3304
+ return settings
3305
+ }
3306
+
3307
+ static extendRuntimeSettings(): Settings {
3308
+ return Settings.getRuntimeSettings().extend()
3309
+ }
3310
+ }
3311
+
3312
+ declare type SetToolBindingsType = {
3313
+ bindings: IToolBinding[];
3314
+ };
3315
+
3316
+ declare function setToolStyle(toolName: string, style: Record<string, unknown>): boolean;
3317
+
3318
+ declare type ShapeFnCriteria = (pointIJK: Types_2.Point3, pointLPS: Types_2.Point3) => boolean;
3319
+
3320
+ declare type SharedToolProp = {
3321
+ supportedInteractionTypes?: Array<string>;
3322
+ configuration?: Record<string, any>;
3323
+ };
3324
+
3325
+ declare function snapFocalPointToSlice(focalPoint: Types_2.Point3, position: Types_2.Point3, scrollRange: any, viewPlaneNormal: Types_2.Point3, spacingInNormalDirection: number, deltaFrames: number): {
3326
+ newFocalPoint: Types_2.Point3;
3327
+ newPosition: Types_2.Point3;
3328
+ };
3329
+
3330
+ export declare class SphereScissorsTool extends BaseTool {
3331
+ static toolName: string;
3332
+ editData: {
3333
+ annotation: any;
3334
+ segmentation: any;
3335
+ segmentIndex: number;
3336
+ segmentsLocked: number[];
3337
+ segmentationDataUID: string;
3338
+ toolGroupUID: string;
3339
+ segmentColor: [number, number, number, number];
3340
+ viewportUIDsToRender: string[];
3341
+ handleIndex?: number;
3342
+ movingTextBox: boolean;
3343
+ newAnnotation?: boolean;
3344
+ hasMoved?: boolean;
3345
+ centerCanvas?: Array<number>;
3346
+ } | null;
3347
+ isDrawing: boolean;
3348
+ isHandleOutsideImage: boolean;
3349
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3350
+ addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => void;
3351
+ _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType) => void;
3352
+ _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
3353
+ _activateDraw: (element: any) => void;
3354
+ _deactivateDraw: (element: any) => void;
3355
+ renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
3356
+ }
3357
+
3358
+ /**
3359
+ * START_NEW_IMAGE
3360
+ */
3361
+ declare type StackNewImageEvent = CustomEvent_2<StackNewImageEventDetail>
3362
+
3363
+ /**
3364
+ * STACK_NEW_IMAGE Event's data
3365
+ */
3366
+ declare type StackNewImageEventDetail = {
3367
+ /** the new image set on the stack viewport */
3368
+ image: IImage
3369
+ /** the image imageId */
3370
+ imageId: string
3371
+ /** unique id for the viewport */
3372
+ viewportUID: string
3373
+ /** unique id for the renderingEngine */
3374
+ renderingEngineUID: string
3375
+ }
3376
+
3377
+ export declare class StackScrollMouseWheelTool extends BaseTool {
3378
+ static toolName: string;
3379
+ _configuration: any;
3380
+ constructor(toolProps?: {}, defaultToolProps?: {
3381
+ supportedInteractionTypes: string[];
3382
+ invert: boolean;
3383
+ });
3384
+ mouseWheelCallback(evt: MouseWheelEventType): void;
3385
+ }
3386
+
3387
+ export declare class StackScrollTool extends BaseTool {
3388
+ static toolName: string;
3389
+ touchDragCallback: () => void;
3390
+ mouseDragCallback: () => void;
3391
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3392
+ _dragCallback(evt: EventTypes_2.MouseDragEventType): void;
3393
+ }
3394
+
3395
+ declare namespace stackScrollTool {
3396
+ export {
3397
+ snapFocalPointToSlice,
3398
+ getSliceRange,
3399
+ scrollThroughStack,
3400
+ _default_14 as default
3401
+ }
3402
+ }
3403
+
3404
+ /**
3405
+ * Stack Viewport Properties
3406
+ */
3407
+ declare type StackViewportProperties = {
3408
+ /** voi range (upper, lower) for the viewport */
3409
+ voiRange?: VOIRange
3410
+ /** invert flag - whether the image is inverted */
3411
+ invert?: boolean
3412
+ /** interpolation type - linear or nearest neighbor */
3413
+ interpolationType?: InterpolationType
3414
+ /** image rotation */
3415
+ rotation?: number
3416
+ /** flip horizontal flag */
3417
+ flipHorizontal?: boolean
3418
+ /** flip vertical flag */
3419
+ flipVertical?: boolean
3420
+ }
3421
+
3422
+ declare namespace state {
3423
+ export {
3424
+ getAnnotations,
3425
+ addAnnotation,
3426
+ getAnnotation,
3427
+ removeAnnotation,
3428
+ getViewportSpecificAnnotationManager,
3429
+ getDefaultAnnotationManager
3430
+ }
3431
+ }
3432
+
3433
+ declare namespace state_2 {
3434
+ export {
3435
+ getGlobalSegmentationConfig,
3436
+ getSegmentationConfig,
3437
+ setGlobalSegmentationConfig,
3438
+ setSegmentationConfig,
3439
+ addColorLUT,
3440
+ getColorLut,
3441
+ getGlobalSegmentationState,
3442
+ getGlobalSegmentationDataByUID,
3443
+ addGlobalSegmentationData,
3444
+ getSegmentationState,
3445
+ addSegmentationData,
3446
+ removeSegmentationData,
3447
+ getSegmentationDataByUID,
3448
+ setActiveSegmentationData,
3449
+ getActiveSegmentationData,
3450
+ getToolGroupsWithSegmentation,
3451
+ getToolGroups,
3452
+ getDefaultSegmentationStateManager
3453
+ }
3454
+ }
3455
+
3456
+ declare type SVGCursorDescriptor = {
3457
+ iconContent: string;
3458
+ iconSize: number;
3459
+ viewBox: SVGPoint_2;
3460
+ mousePoint: SVGPoint_2;
3461
+ mousePointerGroupString: string;
3462
+ };
3463
+
3464
+ declare class SVGMouseCursor extends ImageMouseCursor {
3465
+ constructor(url: string, x?: number, y?: number, name?: string | undefined, fallback?: MouseCursor | undefined);
3466
+ static getDefinedCursor(name: string, pointer?: boolean, color?: string): MouseCursor;
3467
+ }
3468
+
3469
+ declare type SVGPoint_2 = {
3470
+ x: number;
3471
+ y: number;
3472
+ };
3473
+
3474
+ export declare class Synchronizer {
3475
+ private _enabled;
3476
+ private _eventName;
3477
+ private _eventHandler;
3478
+ private _ignoreFiredEvents;
3479
+ private _sourceViewports;
3480
+ private _targetViewports;
3481
+ id: string;
3482
+ constructor(synchronizerId: string, eventName: string, eventHandler: ISynchronizerEventHandler);
3483
+ isDisabled(): boolean;
3484
+ add(viewportInfo: Types_2.IViewportUID): void;
3485
+ addSource(viewportInfo: Types_2.IViewportUID): void;
3486
+ addTarget(viewportInfo: Types_2.IViewportUID): void;
3487
+ getSourceViewports(): Array<Types_2.IViewportUID>;
3488
+ getTargetViewports(): Array<Types_2.IViewportUID>;
3489
+ destroy(): void;
3490
+ remove(viewportInfo: Types_2.IViewportUID): void;
3491
+ removeSource(viewportInfo: Types_2.IViewportUID): void;
3492
+ removeTarget(viewportInfo: Types_2.IViewportUID): void;
3493
+ hasSourceViewport(renderingEngineUID: string, viewportUID: string): boolean;
3494
+ private fireEvent;
3495
+ private _onEvent;
3496
+ private _hasSourceElements;
3497
+ private _updateDisableHandlers;
3498
+ }
3499
+
3500
+ declare namespace SynchronizerManager {
3501
+ export {
3502
+ createSynchronizer,
3503
+ destroy_2 as destroy,
3504
+ getSynchronizerById,
3505
+ getSynchronizers,
3506
+ getAllSynchronizers,
3507
+ destroySynchronizerById
3508
+ }
3509
+ }
3510
+ export { SynchronizerManager }
3511
+
3512
+ declare namespace synchronizers {
3513
+ export {
3514
+ createCameraPositionSynchronizer,
3515
+ createVOISynchronizer
3516
+ }
3517
+ }
3518
+ export { synchronizers }
3519
+
3520
+ declare type TextBoxHandle = {
3521
+ hasMoved: boolean;
3522
+ worldBoundingBox: {
3523
+ bottomLeft: Types_2.Point3;
3524
+ bottomRight: Types_2.Point3;
3525
+ topLeft: Types_2.Point3;
3526
+ topRight: Types_2.Point3;
3527
+ };
3528
+ worldPosition: Types_2.Point3;
3529
+ };
3530
+
3531
+ declare type ThresholdRangeOptions = {
3532
+ higherThreshold: number;
3533
+ lowerThreshold: number;
3534
+ numSlicesToProject?: number;
3535
+ overwrite: boolean;
3536
+ };
3537
+
3538
+ declare type ThresholdRoiStatsOptions = {
3539
+ statistic: 'max' | 'min';
3540
+ weight: number;
3541
+ numSlicesToProject?: number;
3542
+ overwrite: boolean;
3543
+ };
3544
+
3545
+ declare function thresholdVolumeByRange(toolGroupUID: string, annotations: AnnotationForThresholding[], referenceVolumes: Types_2.IImageVolume[], segmentationData: ToolGroupSpecificSegmentationData, options: ThresholdRangeOptions): Types_2.IImageVolume;
3546
+
3547
+ declare function thresholdVolumeByRoiStats(toolGroupUID: string, annotations: AnnotationForThresholding[], referenceVolumes: Types_2.IImageVolume[], segmentationData: ToolGroupSpecificSegmentationData, options: ThresholdRoiStatsOptions): void;
3548
+
3549
+ declare function throttle(func: Function, wait?: number, options?: {
3550
+ leading?: boolean;
3551
+ trailing?: boolean;
3552
+ }): Function;
3553
+
3554
+ declare type ToolBindingKeyboardType = typeof KeyboardBindings[keyof typeof KeyboardBindings];
3555
+
3556
+ declare type ToolBindingMouseType = typeof MouseBindings[keyof typeof MouseBindings];
3557
+
3558
+ declare namespace ToolGroupManager {
3559
+ export {
3560
+ _default as default,
3561
+ createToolGroup,
3562
+ destroy_3 as destroy,
3563
+ destroyToolGroupByToolGroupUID,
3564
+ getToolGroupByToolGroupUID,
3565
+ getToolGroup,
3566
+ getAllToolGroups
3567
+ }
3568
+ }
3569
+ export { ToolGroupManager }
3570
+
3571
+ declare type ToolGroupSpecificSegmentationData = {
3572
+ volumeUID: string;
3573
+ segmentationDataUID: string;
3574
+ active: boolean;
3575
+ segmentsHidden: Set<number>;
3576
+ visibility: boolean;
3577
+ colorLUTIndex: number;
3578
+ representation: SegmentationRepresentation;
3579
+ };
3580
+
3581
+ declare type ToolGroupSpecificSegmentationState = ToolGroupSpecificSegmentationData[];
3582
+
3583
+ declare type ToolGroupSpecificSegmentationStateWithConfig = {
3584
+ segmentations: ToolGroupSpecificSegmentationState;
3585
+ config: SegmentationConfig;
3586
+ };
3587
+
3588
+ declare type ToolHandle = AnnotationHandle | TextBoxHandle;
3589
+
3590
+ declare enum ToolModes {
3591
+ Active = "Active",
3592
+ Passive = "Passive",
3593
+ Enabled = "Enabled",
3594
+ Disabled = "Disabled"
3595
+ }
3596
+
3597
+ declare type ToolOptionsType = {
3598
+ bindings: IToolBinding[];
3599
+ mode: ToolModes;
3600
+ };
3601
+
3602
+ declare type ToolProps = SharedToolProp;
3603
+
3604
+ /** used for CPU rendering */
3605
+ declare type TransformMatrix2D = [number, number, number, number, number, number]
3606
+
3607
+ declare function transformPhysicalToIndex(imageData: any, physicalPoint: any): any;
3608
+
3609
+ declare function triggerAnnotationRenderForViewportUIDs(renderingEngine: Types_2.IRenderingEngine, viewportUIDsToRender: string[]): void;
3610
+
3611
+ /**
3612
+ * Small utility to trigger a custom event for a given EventTarget.
3613
+ *
3614
+ * @example
3615
+ *
3616
+ * ```javascript
3617
+ * triggerEvent(element, Events.IMAGE_RENDERED, { element })
3618
+ * ```
3619
+ * or it can trigger event on the eventTarget itself
3620
+ *
3621
+ * ```javascript
3622
+ * triggerEvent(eventTarget, CSTOOLS_EVENTS.ANNOTATION_MODIFIED, { viewportUID, annotationUID })
3623
+ * ```
3624
+ *
3625
+ * @param el - The element or EventTarget to trigger the event upon
3626
+ * @param type - The event type name
3627
+ * @param detail - The event detail to be sent
3628
+ * @returns false if event is cancelable and at least one of the event handlers
3629
+ * which received event called Event.preventDefault(). Otherwise it returns true.
3630
+ */
3631
+ declare function triggerEvent(
3632
+ el: EventTarget = eventTarget,
3633
+ type: string,
3634
+ detail: unknown = null
3635
+ ): boolean {
3636
+ if (!type) {
3637
+ throw new Error('Event type was not defined')
3638
+ }
3639
+
3640
+ const event = new CustomEvent(type, {
3641
+ detail,
3642
+ cancelable: true,
3643
+ })
3644
+
3645
+ return el.dispatchEvent(event)
3646
+ }
3647
+
3648
+ declare function triggerSegmentationDataModified(toolGroupUID: string, segmentationDataUID: string): void;
3649
+
3650
+ declare namespace triggerSegmentationEvents {
3651
+ export {
3652
+ triggerSegmentationStateModified,
3653
+ triggerSegmentationDataModified,
3654
+ triggerSegmentationGlobalStateModified
3655
+ }
3656
+ }
3657
+
3658
+ declare function triggerSegmentationGlobalStateModified(segmentationUID?: string): void;
3659
+
3660
+ declare function triggerSegmentationStateModified(toolGroupUID: string): void;
3661
+
3662
+ declare namespace Types {
3663
+ export {
3664
+ Annotation,
3665
+ Annotations,
3666
+ FrameOfReferenceSpecificAnnotations,
3667
+ AnnotationState,
3668
+ PlanarBoundingBox,
3669
+ ToolProps,
3670
+ PublicToolProps,
3671
+ EventTypes_2 as EventTypes,
3672
+ IPoints,
3673
+ IToolBinding,
3674
+ SetToolBindingsType,
3675
+ ToolOptionsType,
3676
+ InteractionTypes,
3677
+ IToolGroup,
3678
+ ToolHandle,
3679
+ AnnotationHandle,
3680
+ TextBoxHandle,
3681
+ SegmentationRepresentation,
3682
+ LabelmapRepresentation,
3683
+ Color,
3684
+ ColorLUT,
3685
+ RepresentationConfig,
3686
+ SegmentationConfig,
3687
+ GlobalSegmentationData,
3688
+ GlobalSegmentationState,
3689
+ GlobalSegmentationStateWithConfig,
3690
+ ToolGroupSpecificSegmentationData,
3691
+ ToolGroupSpecificSegmentationStateWithConfig,
3692
+ ToolGroupSpecificSegmentationState,
3693
+ SVGCursorDescriptor,
3694
+ SVGPoint_2 as SVGPoint
3695
+ }
3696
+ }
3697
+ export { Types }
3698
+
3699
+ declare namespace Types_2 {
3700
+ export {
3701
+ ICamera,
3702
+ IStackViewport,
3703
+ IVolumeViewport,
3704
+ IEnabledElement,
3705
+ ICache,
3706
+ IVolume,
3707
+ IViewportUID,
3708
+ IImageVolume,
3709
+ IRenderingEngine,
3710
+ ScalingParameters,
3711
+ PTScaling,
3712
+ Scaling,
3713
+ IStreamingImageVolume,
3714
+ IImage,
3715
+ IImageData,
3716
+ CPUIImageData,
3717
+ CPUImageData,
3718
+ EventTypes,
3719
+ ImageLoaderFn,
3720
+ VolumeLoaderFn,
3721
+ IRegisterImageLoader,
3722
+ IStreamingVolumeProperties,
3723
+ IViewport,
3724
+ StackViewportProperties,
3725
+ PublicViewportInput,
3726
+ VolumeActor,
3727
+ ActorEntry,
3728
+ IImageLoadObject,
3729
+ IVolumeLoadObject,
3730
+ IVolumeInput,
3731
+ VolumeInputCallback,
3732
+ Metadata,
3733
+ Orientation,
3734
+ Point2,
3735
+ Point3,
3736
+ Point4,
3737
+ Plane,
3738
+ ViewportInputOptions,
3739
+ VOIRange,
3740
+ VOI,
3741
+ FlipDirection,
3742
+ ICachedImage,
3743
+ ICachedVolume,
3744
+ CPUFallbackEnabledElement,
3745
+ CPUFallbackViewport,
3746
+ CPUFallbackTransform,
3747
+ CPUFallbackColormapData,
3748
+ CPUFallbackViewportDisplayedArea,
3749
+ CPUFallbackColormapsData,
3750
+ CPUFallbackColormap,
3751
+ TransformMatrix2D,
3752
+ CPUFallbackLookupTable,
3753
+ CPUFallbackLUT,
3754
+ CPUFallbackRenderingTools,
3755
+ CustomEvent_2 as CustomEventType
3756
+ }
3757
+ }
3758
+
3759
+ declare function unlockAllAnnotations(): void;
3760
+
3761
+ declare function updateGlobalRepresentationConfig(representationType: SegmentationRepresentations, config: Partial<RepresentationConfig>): void;
3762
+
3763
+ declare function updateGlobalSegmentationConfig(config: Partial<SegmentationConfig>): void;
3764
+
3765
+ declare namespace utilities {
3766
+ export {
3767
+ math,
3768
+ planar,
3769
+ viewportFilters,
3770
+ stackScrollTool,
3771
+ drawing_2 as drawing,
3772
+ debounce,
3773
+ deepmerge as deepMerge,
3774
+ throttle,
3775
+ isObject,
3776
+ triggerEvent,
3777
+ calibrateImageSpacing,
3778
+ segmentation_2 as segmentation,
3779
+ triggerAnnotationRenderForViewportUIDs,
3780
+ pointInShapeCallback,
3781
+ pointInSurroundingSphereCallback,
3782
+ getAnnotationNearPoint,
3783
+ getAnnotationNearPointOnEnabledElement,
3784
+ transformPhysicalToIndex,
3785
+ _default_17 as default
3786
+ }
3787
+ }
3788
+ export { utilities }
3789
+
3790
+ declare namespace viewportFilters {
3791
+ export {
3792
+ _default_13 as default,
3793
+ filterViewportsWithToolEnabled,
3794
+ filterViewportsWithFrameOfReferenceUID,
3795
+ getViewportUIDsWithToolToRender
3796
+ }
3797
+ }
3798
+
3799
+ /**
3800
+ * This type defines the shape of viewport input options, so we can throw when it is incorrect.
3801
+ */
3802
+ declare type ViewportInputOptions = {
3803
+ /** background color */
3804
+ background?: [number, number, number]
3805
+ /** orientation of the viewport - Axial, Coronal, Sagittal */
3806
+ orientation?: Orientation
3807
+ /** whether the events should be suppressed and not fired*/
3808
+ suppressEvents?: boolean
3809
+ }
3810
+
3811
+ declare type ViewportInputs = Array<Types_2.IViewportUID>;
3812
+
3813
+ /**
3814
+ * ViewportType enum for cornerstone-render which defines the type of viewport.
3815
+ * It can be either STACK, PERSPECTIVE, ORTHOGRAPHIC.
3816
+ */
3817
+ declare enum ViewportType {
3818
+ /**
3819
+ * - Suitable for rendering a stack of images, that might or might not belong to the same image.
3820
+ * - Stack can include 2D images of different shapes, size and direction
3821
+ */
3822
+ STACK = 'stack',
3823
+ /**
3824
+ * - Suitable for rendering a volumetric data which is considered as one 3D image.
3825
+ * - Having a VolumeViewport enables Multi-planar reformation or reconstruction (MPR) by design, in which you can visualize the volume from various different orientations without addition of performance costs.
3826
+ */
3827
+ ORTHOGRAPHIC = 'orthographic',
3828
+ /** Perspective Viewport: Not Implemented yet */
3829
+ PERSPECTIVE = 'perspective',
3830
+ }
3831
+
3832
+ declare type VOI = {
3833
+ /** Window Width for display */
3834
+ windowWidth: number
3835
+ /** Window Center for display */
3836
+ windowCenter: number
3837
+ }
3838
+
3839
+ /**
3840
+ * VOI_MODIFIED Event type
3841
+ */
3842
+ declare type VoiModifiedEvent = CustomEvent_2<VoiModifiedEventDetail>
3843
+
3844
+ /**
3845
+ * VOI_MODIFIED Event's data
3846
+ */
3847
+ declare type VoiModifiedEventDetail = {
3848
+ /** Viewport Unique ID in the renderingEngine */
3849
+ viewportUID: string
3850
+ /** Unique ID for the volume in the cache */
3851
+ volumeUID: string
3852
+ /** new VOI range */
3853
+ range: VOIRange
3854
+ }
3855
+
3856
+ declare type VOIRange = {
3857
+ /** upper value for display */
3858
+ upper: number
3859
+ /** lower value for display */
3860
+ lower: number
3861
+ }
3862
+
3863
+ /** volume actor which is vtkVolume */
3864
+ declare type VolumeActor = vtkVolume
3865
+
3866
+ /**
3867
+ * VOLUME_CACHE_VOLUME_ADDED Event type
3868
+ */
3869
+ declare type VolumeCacheVolumeAddedEvent =
3870
+ CustomEvent_2<VolumeCacheVolumeAddedEventDetail>
3871
+
3872
+ /**
3873
+ * VOLUME_CACHE_VOLUME_ADDED Event's data
3874
+ */
3875
+ declare type VolumeCacheVolumeAddedEventDetail = {
3876
+ /** the added volume */
3877
+ volume: ICachedVolume
3878
+ }
3879
+
3880
+ /**
3881
+ * VOLUME_CACHE_VOLUME_REMOVED Event type
3882
+ */
3883
+ declare type VolumeCacheVolumeRemovedEvent =
3884
+ CustomEvent_2<VolumeCacheVolumeRemovedEventDetail>
3885
+
3886
+ /**
3887
+ * VOLUME_CACHE_VOLUME_REMOVED Event's data
3888
+ */
3889
+ declare type VolumeCacheVolumeRemovedEventDetail = {
3890
+ /** the removed volume id */
3891
+ volumeId: string
3892
+ }
3893
+
3894
+ /**
3895
+ * Volume input callback type, used to perform operations on the volume data
3896
+ * after it has been loaded.
3897
+ */
3898
+ declare type VolumeInputCallback = (params: {
3899
+ /** vtk volume actor */
3900
+ volumeActor: VolumeActor
3901
+ /** unique volume UID in the cache */
3902
+ volumeUID: string
3903
+ }) => unknown
3904
+
3905
+ /**
3906
+ * VOLUME_LOADED Event type
3907
+ */
3908
+ declare type VolumeLoadedEvent = CustomEvent_2<VolumeLoadedEventDetail>
3909
+
3910
+ /**
3911
+ * VOLUME_LOADED Event's data
3912
+ */
3913
+ declare type VolumeLoadedEventDetail = {
3914
+ /** the loaded volume */
3915
+ volume: IImageVolume
3916
+ }
3917
+
3918
+ /**
3919
+ * VOLUME_LOADED_FAILED Event type
3920
+ */
3921
+ declare type VolumeLoadedFailedEvent = CustomEvent_2<VolumeLoadedFailedEventDetail>
3922
+
3923
+ /**
3924
+ * VOLUME_LOADED_FAILED Event's data
3925
+ */
3926
+ declare type VolumeLoadedFailedEventDetail = {
3927
+ /** the volumeId for the volume */
3928
+ volumeId: string
3929
+ error: unknown
3930
+ }
3931
+
3932
+ /**
3933
+ * Any volumeLoader function should implement a loading given the volumeId
3934
+ * and returns a mandatory promise which will resolve to the loaded volume object.
3935
+ * Additional `cancelFn` and `decache` can be implemented.
3936
+ */
3937
+ declare type VolumeLoaderFn = (
3938
+ volumeId: string,
3939
+ options?: Record<string, any>
3940
+ ) => {
3941
+ /** promise that resolves to the volume object */
3942
+ promise: Promise<Record<string, any>>
3943
+ /** cancel function */
3944
+ cancelFn?: () => void | undefined
3945
+ /** decache function */
3946
+ decache?: () => void | undefined
3947
+ }
3948
+
3949
+ export declare class VolumeRotateMouseWheelTool extends BaseTool {
3950
+ static toolName: string;
3951
+ _configuration: any;
3952
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3953
+ mouseWheelCallback(evt: MouseWheelEventType): void;
3954
+ }
3955
+
3956
+ export declare class WindowLevelTool extends BaseTool {
3957
+ static toolName: string;
3958
+ touchDragCallback: () => void;
3959
+ mouseDragCallback: () => void;
3960
+ constructor(toolProps?: {}, defaultToolProps?: {
3961
+ supportedInteractionTypes: string[];
3962
+ });
3963
+ _dragCallback(evt: any): void;
3964
+ getPTNewRange({ deltaPointsCanvas, lower, upper, clientHeight }: {
3965
+ deltaPointsCanvas: any;
3966
+ lower: any;
3967
+ upper: any;
3968
+ clientHeight: any;
3969
+ }): {
3970
+ lower: any;
3971
+ upper: any;
3972
+ };
3973
+ getNewRange({ deltaPointsCanvas, useDynamicRange, volumeUID, lower, upper }: {
3974
+ deltaPointsCanvas: any;
3975
+ useDynamicRange: any;
3976
+ volumeUID: any;
3977
+ lower: any;
3978
+ upper: any;
3979
+ }): {
3980
+ lower: number;
3981
+ upper: number;
3982
+ };
3983
+ _getMultiplyerFromDynamicRange(volumeUID: any): number;
3984
+ _getImageDynamicRange: (volumeUID: string) => number;
3985
+ }
3986
+
3987
+ export declare class ZoomTool extends BaseTool {
3988
+ static toolName: string;
3989
+ touchDragCallback: () => void;
3990
+ mouseDragCallback: () => void;
3991
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3992
+ _dragCallback(evt: any): void;
3993
+ _dragParallelProjection: (evt: any, camera: any) => void;
3994
+ _dragPerspectiveProjection: (evt: any, camera: any) => void;
3995
+ }
3996
+
3997
+ export { }