@cornerstonejs/tools 3.0.2 → 3.0.4

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 (1262) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +4 -183
  3. package/dist/esm/config.d.ts +30 -0
  4. package/dist/esm/config.js +23 -0
  5. package/dist/esm/constants/COLOR_LUT.d.ts +3 -0
  6. package/dist/esm/constants/COLOR_LUT.js +258 -0
  7. package/dist/esm/constants/index.d.ts +2 -0
  8. package/dist/esm/constants/index.js +2 -0
  9. package/dist/esm/cursors/ImageMouseCursor.d.ts +9 -0
  10. package/dist/esm/cursors/ImageMouseCursor.js +22 -0
  11. package/dist/esm/cursors/MouseCursor.d.ts +12 -0
  12. package/dist/esm/cursors/MouseCursor.js +88 -0
  13. package/dist/esm/cursors/SVGCursorDescriptor.d.ts +9 -0
  14. package/dist/esm/cursors/SVGCursorDescriptor.js +442 -0
  15. package/dist/esm/cursors/SVGMouseCursor.d.ts +6 -0
  16. package/dist/esm/cursors/SVGMouseCursor.js +74 -0
  17. package/dist/esm/cursors/elementCursor.d.ts +6 -0
  18. package/dist/esm/cursors/elementCursor.js +36 -0
  19. package/dist/esm/cursors/index.d.ts +8 -0
  20. package/dist/esm/cursors/index.js +8 -0
  21. package/dist/esm/cursors/setCursorForElement.d.ts +2 -0
  22. package/dist/esm/cursors/setCursorForElement.js +15 -0
  23. package/dist/esm/drawingSvg/_getHash.d.ts +2 -0
  24. package/dist/esm/drawingSvg/_getHash.js +4 -0
  25. package/dist/esm/drawingSvg/clearByToolType.d.ts +2 -0
  26. package/dist/esm/drawingSvg/clearByToolType.js +13 -0
  27. package/dist/esm/drawingSvg/draw.d.ts +3 -0
  28. package/dist/esm/drawingSvg/draw.js +7 -0
  29. package/dist/esm/drawingSvg/drawArrow.d.ts +3 -0
  30. package/dist/esm/drawingSvg/drawArrow.js +79 -0
  31. package/dist/esm/drawingSvg/drawCircle.d.ts +4 -0
  32. package/dist/esm/drawingSvg/drawCircle.js +42 -0
  33. package/dist/esm/drawingSvg/drawEllipse.d.ts +4 -0
  34. package/dist/esm/drawingSvg/drawEllipse.js +10 -0
  35. package/dist/esm/drawingSvg/drawEllipseByCoordinates.d.ts +4 -0
  36. package/dist/esm/drawingSvg/drawEllipseByCoordinates.js +46 -0
  37. package/dist/esm/drawingSvg/drawHandle.d.ts +4 -0
  38. package/dist/esm/drawingSvg/drawHandle.js +60 -0
  39. package/dist/esm/drawingSvg/drawHandles.d.ts +4 -0
  40. package/dist/esm/drawingSvg/drawHandles.js +7 -0
  41. package/dist/esm/drawingSvg/drawHeight.d.ts +3 -0
  42. package/dist/esm/drawingSvg/drawHeight.js +45 -0
  43. package/dist/esm/drawingSvg/drawLine.d.ts +3 -0
  44. package/dist/esm/drawingSvg/drawLine.js +39 -0
  45. package/dist/esm/drawingSvg/drawLink.d.ts +4 -0
  46. package/dist/esm/drawingSvg/drawLink.js +26 -0
  47. package/dist/esm/drawingSvg/drawLinkedTextBox.d.ts +4 -0
  48. package/dist/esm/drawingSvg/drawLinkedTextBox.js +15 -0
  49. package/dist/esm/drawingSvg/drawPath.d.ts +11 -0
  50. package/dist/esm/drawingSvg/drawPath.js +48 -0
  51. package/dist/esm/drawingSvg/drawPolyline.d.ts +13 -0
  52. package/dist/esm/drawingSvg/drawPolyline.js +40 -0
  53. package/dist/esm/drawingSvg/drawRect.d.ts +3 -0
  54. package/dist/esm/drawingSvg/drawRect.js +9 -0
  55. package/dist/esm/drawingSvg/drawRectByCoordinates.d.ts +3 -0
  56. package/dist/esm/drawingSvg/drawRectByCoordinates.js +52 -0
  57. package/dist/esm/drawingSvg/drawRedactionRect.d.ts +3 -0
  58. package/dist/esm/drawingSvg/drawRedactionRect.js +37 -0
  59. package/dist/esm/drawingSvg/drawTextBox.d.ts +4 -0
  60. package/dist/esm/drawingSvg/drawTextBox.js +123 -0
  61. package/dist/esm/drawingSvg/getSvgDrawingHelper.d.ts +3 -0
  62. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +65 -0
  63. package/dist/esm/drawingSvg/index.d.ts +19 -0
  64. package/dist/esm/drawingSvg/index.js +19 -0
  65. package/dist/esm/drawingSvg/setAttributesIfNecessary.d.ts +2 -0
  66. package/dist/esm/drawingSvg/setAttributesIfNecessary.js +13 -0
  67. package/dist/esm/drawingSvg/setNewAttributesIfValid.d.ts +2 -0
  68. package/dist/esm/drawingSvg/setNewAttributesIfValid.js +9 -0
  69. package/dist/esm/enums/AnnotationStyleStates.d.ts +8 -0
  70. package/dist/esm/enums/AnnotationStyleStates.js +9 -0
  71. package/dist/esm/enums/ChangeTypes.d.ts +11 -0
  72. package/dist/esm/enums/ChangeTypes.js +12 -0
  73. package/dist/esm/enums/Events.d.ts +42 -0
  74. package/dist/esm/enums/Events.js +43 -0
  75. package/dist/esm/enums/SegmentationRepresentations.d.ts +6 -0
  76. package/dist/esm/enums/SegmentationRepresentations.js +7 -0
  77. package/dist/esm/enums/StrategyCallbacks.d.ts +19 -0
  78. package/dist/esm/enums/StrategyCallbacks.js +20 -0
  79. package/dist/esm/enums/ToolBindings.d.ts +26 -0
  80. package/dist/esm/enums/ToolBindings.js +28 -0
  81. package/dist/esm/enums/ToolModes.d.ts +7 -0
  82. package/dist/esm/enums/ToolModes.js +8 -0
  83. package/dist/esm/enums/Touch.d.ts +7 -0
  84. package/dist/esm/enums/Touch.js +8 -0
  85. package/dist/esm/enums/WorkerTypes.d.ts +10 -0
  86. package/dist/esm/enums/WorkerTypes.js +11 -0
  87. package/dist/esm/enums/index.d.ts +11 -0
  88. package/dist/esm/enums/index.js +10 -0
  89. package/dist/esm/eventDispatchers/annotationInterpolationEventDispatcher.d.ts +5 -0
  90. package/dist/esm/eventDispatchers/annotationInterpolationEventDispatcher.js +17 -0
  91. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.d.ts +5 -0
  92. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js +18 -0
  93. package/dist/esm/eventDispatchers/cameraModifiedEventDispatcher.d.ts +5 -0
  94. package/dist/esm/eventDispatchers/cameraModifiedEventDispatcher.js +26 -0
  95. package/dist/esm/eventDispatchers/cameraResetEventDispatcher.d.ts +5 -0
  96. package/dist/esm/eventDispatchers/cameraResetEventDispatcher.js +26 -0
  97. package/dist/esm/eventDispatchers/imageRenderedEventDispatcher.d.ts +5 -0
  98. package/dist/esm/eventDispatchers/imageRenderedEventDispatcher.js +15 -0
  99. package/dist/esm/eventDispatchers/imageSpacingCalibratedEventDispatcher.d.ts +5 -0
  100. package/dist/esm/eventDispatchers/imageSpacingCalibratedEventDispatcher.js +26 -0
  101. package/dist/esm/eventDispatchers/index.d.ts +9 -0
  102. package/dist/esm/eventDispatchers/index.js +9 -0
  103. package/dist/esm/eventDispatchers/keyboardEventHandlers/index.d.ts +3 -0
  104. package/dist/esm/eventDispatchers/keyboardEventHandlers/index.js +3 -0
  105. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.d.ts +2 -0
  106. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +25 -0
  107. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.d.ts +2 -0
  108. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +16 -0
  109. package/dist/esm/eventDispatchers/keyboardToolEventDispatcher.d.ts +5 -0
  110. package/dist/esm/eventDispatchers/keyboardToolEventDispatcher.js +15 -0
  111. package/dist/esm/eventDispatchers/mouseEventHandlers/index.d.ts +9 -0
  112. package/dist/esm/eventDispatchers/mouseEventHandlers/index.js +9 -0
  113. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseClick.d.ts +2 -0
  114. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseClick.js +3 -0
  115. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDoubleClick.d.ts +2 -0
  116. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDoubleClick.js +3 -0
  117. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +2 -0
  118. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +90 -0
  119. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +2 -0
  120. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +19 -0
  121. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
  122. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +34 -0
  123. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +2 -0
  124. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js +13 -0
  125. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +2 -0
  126. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +37 -0
  127. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseUp.d.ts +2 -0
  128. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseUp.js +3 -0
  129. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.d.ts +3 -0
  130. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +16 -0
  131. package/dist/esm/eventDispatchers/mouseToolEventDispatcher.d.ts +5 -0
  132. package/dist/esm/eventDispatchers/mouseToolEventDispatcher.js +27 -0
  133. package/dist/esm/eventDispatchers/shared/customCallbackHandler.d.ts +1 -0
  134. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +30 -0
  135. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.d.ts +2 -0
  136. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +29 -0
  137. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +2 -0
  138. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +28 -0
  139. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.d.ts +2 -0
  140. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +29 -0
  141. package/dist/esm/eventDispatchers/shared/getMouseModifier.d.ts +3 -0
  142. package/dist/esm/eventDispatchers/shared/getMouseModifier.js +32 -0
  143. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.d.ts +3 -0
  144. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.js +28 -0
  145. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +4 -0
  146. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +32 -0
  147. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +5 -0
  148. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +23 -0
  149. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +5 -0
  150. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.js +23 -0
  151. package/dist/esm/eventDispatchers/touchEventHandlers/index.d.ts +7 -0
  152. package/dist/esm/eventDispatchers/touchEventHandlers/index.js +7 -0
  153. package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.d.ts +2 -0
  154. package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.js +13 -0
  155. package/dist/esm/eventDispatchers/touchEventHandlers/touchEnd.d.ts +2 -0
  156. package/dist/esm/eventDispatchers/touchEventHandlers/touchEnd.js +3 -0
  157. package/dist/esm/eventDispatchers/touchEventHandlers/touchPress.d.ts +2 -0
  158. package/dist/esm/eventDispatchers/touchEventHandlers/touchPress.js +3 -0
  159. package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.d.ts +2 -0
  160. package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.js +79 -0
  161. package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.d.ts +2 -0
  162. package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.js +19 -0
  163. package/dist/esm/eventDispatchers/touchEventHandlers/touchTap.d.ts +2 -0
  164. package/dist/esm/eventDispatchers/touchEventHandlers/touchTap.js +3 -0
  165. package/dist/esm/eventDispatchers/touchToolEventDispatcher.d.ts +5 -0
  166. package/dist/esm/eventDispatchers/touchToolEventDispatcher.js +22 -0
  167. package/dist/esm/eventListeners/annotations/annotationCompletedListener.d.ts +2 -0
  168. package/dist/esm/eventListeners/annotations/annotationCompletedListener.js +8 -0
  169. package/dist/esm/eventListeners/annotations/annotationModifiedListener.d.ts +2 -0
  170. package/dist/esm/eventListeners/annotations/annotationModifiedListener.js +6 -0
  171. package/dist/esm/eventListeners/annotations/annotationRemovedListener.d.ts +2 -0
  172. package/dist/esm/eventListeners/annotations/annotationRemovedListener.js +8 -0
  173. package/dist/esm/eventListeners/annotations/annotationSelectionListener.d.ts +2 -0
  174. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +15 -0
  175. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +5 -0
  176. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +233 -0
  177. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationRemoved.d.ts +2 -0
  178. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationRemoved.js +5 -0
  179. package/dist/esm/eventListeners/annotations/contourSegmentation/index.d.ts +2 -0
  180. package/dist/esm/eventListeners/annotations/contourSegmentation/index.js +2 -0
  181. package/dist/esm/eventListeners/annotations/index.d.ts +5 -0
  182. package/dist/esm/eventListeners/annotations/index.js +5 -0
  183. package/dist/esm/eventListeners/index.d.ts +7 -0
  184. package/dist/esm/eventListeners/index.js +7 -0
  185. package/dist/esm/eventListeners/keyboard/index.d.ts +9 -0
  186. package/dist/esm/eventListeners/keyboard/index.js +13 -0
  187. package/dist/esm/eventListeners/keyboard/keyDownListener.d.ts +4 -0
  188. package/dist/esm/eventListeners/keyboard/keyDownListener.js +64 -0
  189. package/dist/esm/eventListeners/mouse/getMouseEventPoints.d.ts +2 -0
  190. package/dist/esm/eventListeners/mouse/getMouseEventPoints.js +31 -0
  191. package/dist/esm/eventListeners/mouse/index.d.ts +7 -0
  192. package/dist/esm/eventListeners/mouse/index.js +24 -0
  193. package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.d.ts +2 -0
  194. package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js +32 -0
  195. package/dist/esm/eventListeners/mouse/mouseDownListener.d.ts +4 -0
  196. package/dist/esm/eventListeners/mouse/mouseDownListener.js +266 -0
  197. package/dist/esm/eventListeners/mouse/mouseMoveListener.d.ts +2 -0
  198. package/dist/esm/eventListeners/mouse/mouseMoveListener.js +28 -0
  199. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.d.ts +5 -0
  200. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +128 -0
  201. package/dist/esm/eventListeners/segmentation/index.d.ts +4 -0
  202. package/dist/esm/eventListeners/segmentation/index.js +4 -0
  203. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts +3 -0
  204. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +83 -0
  205. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts +3 -0
  206. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +12 -0
  207. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +3 -0
  208. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +6 -0
  209. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedListener.d.ts +3 -0
  210. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedListener.js +6 -0
  211. package/dist/esm/eventListeners/touch/getTouchEventPoints.d.ts +2 -0
  212. package/dist/esm/eventListeners/touch/getTouchEventPoints.js +38 -0
  213. package/dist/esm/eventListeners/touch/index.d.ts +7 -0
  214. package/dist/esm/eventListeners/touch/index.js +17 -0
  215. package/dist/esm/eventListeners/touch/preventGhostClick.d.ts +7 -0
  216. package/dist/esm/eventListeners/touch/preventGhostClick.js +47 -0
  217. package/dist/esm/eventListeners/touch/touchStartListener.d.ts +2 -0
  218. package/dist/esm/eventListeners/touch/touchStartListener.js +282 -0
  219. package/dist/esm/eventListeners/wheel/index.d.ts +7 -0
  220. package/dist/esm/eventListeners/wheel/index.js +12 -0
  221. package/dist/esm/eventListeners/wheel/normalizeWheel.d.ts +6 -0
  222. package/dist/esm/eventListeners/wheel/normalizeWheel.js +48 -0
  223. package/dist/esm/eventListeners/wheel/wheelListener.d.ts +2 -0
  224. package/dist/esm/eventListeners/wheel/wheelListener.js +34 -0
  225. package/dist/esm/index.d.ts +17 -0
  226. package/dist/esm/index.js +17 -0
  227. package/dist/esm/init.d.ts +4 -0
  228. package/dist/esm/init.js +70 -0
  229. package/dist/esm/stateManagement/annotation/AnnotationGroup.d.ts +18 -0
  230. package/dist/esm/stateManagement/annotation/AnnotationGroup.js +69 -0
  231. package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.d.ts +20 -0
  232. package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.js +112 -0
  233. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +27 -0
  234. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +210 -0
  235. package/dist/esm/stateManagement/annotation/annotationLocking.d.ts +7 -0
  236. package/dist/esm/stateManagement/annotation/annotationLocking.js +73 -0
  237. package/dist/esm/stateManagement/annotation/annotationSelection.d.ts +7 -0
  238. package/dist/esm/stateManagement/annotation/annotationSelection.js +85 -0
  239. package/dist/esm/stateManagement/annotation/annotationState.d.ts +18 -0
  240. package/dist/esm/stateManagement/annotation/annotationState.js +118 -0
  241. package/dist/esm/stateManagement/annotation/annotationVisibility.d.ts +5 -0
  242. package/dist/esm/stateManagement/annotation/annotationVisibility.js +65 -0
  243. package/dist/esm/stateManagement/annotation/config/ToolStyle.d.ts +18 -0
  244. package/dist/esm/stateManagement/annotation/config/ToolStyle.js +135 -0
  245. package/dist/esm/stateManagement/annotation/config/getFont.d.ts +4 -0
  246. package/dist/esm/stateManagement/annotation/config/getFont.js +7 -0
  247. package/dist/esm/stateManagement/annotation/config/getState.d.ts +4 -0
  248. package/dist/esm/stateManagement/annotation/config/getState.js +21 -0
  249. package/dist/esm/stateManagement/annotation/config/helpers.d.ts +4 -0
  250. package/dist/esm/stateManagement/annotation/config/helpers.js +21 -0
  251. package/dist/esm/stateManagement/annotation/config/index.d.ts +4 -0
  252. package/dist/esm/stateManagement/annotation/config/index.js +4 -0
  253. package/dist/esm/stateManagement/annotation/helpers/state.d.ts +10 -0
  254. package/dist/esm/stateManagement/annotation/helpers/state.js +76 -0
  255. package/dist/esm/stateManagement/annotation/index.d.ts +34 -0
  256. package/dist/esm/stateManagement/annotation/index.js +15 -0
  257. package/dist/esm/stateManagement/annotation/resetAnnotationManager.d.ts +1 -0
  258. package/dist/esm/stateManagement/annotation/resetAnnotationManager.js +21 -0
  259. package/dist/esm/stateManagement/annotation/utilities/defineProperties.d.ts +4 -0
  260. package/dist/esm/stateManagement/annotation/utilities/defineProperties.js +22 -0
  261. package/dist/esm/stateManagement/index.d.ts +18 -0
  262. package/dist/esm/stateManagement/index.js +6 -0
  263. package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.d.ts +20 -0
  264. package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +153 -0
  265. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +91 -0
  266. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +470 -0
  267. package/dist/esm/stateManagement/segmentation/SegmentationStyle.d.ts +39 -0
  268. package/dist/esm/stateManagement/segmentation/SegmentationStyle.js +223 -0
  269. package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +4 -0
  270. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +9 -0
  271. package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -0
  272. package/dist/esm/stateManagement/segmentation/addColorLUT.js +25 -0
  273. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.d.ts +15 -0
  274. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.js +49 -0
  275. package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +3 -0
  276. package/dist/esm/stateManagement/segmentation/addSegmentations.js +14 -0
  277. package/dist/esm/stateManagement/segmentation/config/index.d.ts +4 -0
  278. package/dist/esm/stateManagement/segmentation/config/index.js +4 -0
  279. package/dist/esm/stateManagement/segmentation/config/segmentationColor.d.ts +6 -0
  280. package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +50 -0
  281. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +22 -0
  282. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +49 -0
  283. package/dist/esm/stateManagement/segmentation/config/styleHelpers.d.ts +25 -0
  284. package/dist/esm/stateManagement/segmentation/config/styleHelpers.js +37 -0
  285. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationAdded.d.ts +1 -0
  286. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationAdded.js +8 -0
  287. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.d.ts +1 -0
  288. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.js +12 -0
  289. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.d.ts +1 -0
  290. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.js +8 -0
  291. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.d.ts +1 -0
  292. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.js +8 -0
  293. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +2 -0
  294. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +10 -0
  295. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +2 -0
  296. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +10 -0
  297. package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.d.ts +1 -0
  298. package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.js +9 -0
  299. package/dist/esm/stateManagement/segmentation/getActiveSegmentation.d.ts +2 -0
  300. package/dist/esm/stateManagement/segmentation/getActiveSegmentation.js +5 -0
  301. package/dist/esm/stateManagement/segmentation/getColorLUT.d.ts +2 -0
  302. package/dist/esm/stateManagement/segmentation/getColorLUT.js +5 -0
  303. package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -0
  304. package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.js +5 -0
  305. package/dist/esm/stateManagement/segmentation/getGlobalStyle.d.ts +3 -0
  306. package/dist/esm/stateManagement/segmentation/getGlobalStyle.js +4 -0
  307. package/dist/esm/stateManagement/segmentation/getLabelmapImageIds.d.ts +1 -0
  308. package/dist/esm/stateManagement/segmentation/getLabelmapImageIds.js +7 -0
  309. package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.d.ts +1 -0
  310. package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.js +5 -0
  311. package/dist/esm/stateManagement/segmentation/getSegmentation.d.ts +2 -0
  312. package/dist/esm/stateManagement/segmentation/getSegmentation.js +5 -0
  313. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +14 -0
  314. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +17 -0
  315. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +5 -0
  316. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +5 -0
  317. package/dist/esm/stateManagement/segmentation/getSegmentations.d.ts +2 -0
  318. package/dist/esm/stateManagement/segmentation/getSegmentations.js +6 -0
  319. package/dist/esm/stateManagement/segmentation/getStackSegmentationImageIdsForViewport.d.ts +1 -0
  320. package/dist/esm/stateManagement/segmentation/getStackSegmentationImageIdsForViewport.js +5 -0
  321. package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.d.ts +1 -0
  322. package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +10 -0
  323. package/dist/esm/stateManagement/segmentation/getViewportSegmentations.d.ts +3 -0
  324. package/dist/esm/stateManagement/segmentation/getViewportSegmentations.js +15 -0
  325. package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.d.ts +1 -0
  326. package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.js +30 -0
  327. package/dist/esm/stateManagement/segmentation/helpers/computeStackLabelmapFromVolume.d.ts +13 -0
  328. package/dist/esm/stateManagement/segmentation/helpers/computeStackLabelmapFromVolume.js +22 -0
  329. package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.d.ts +3 -0
  330. package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.js +4 -0
  331. package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.d.ts +1 -0
  332. package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.js +7 -0
  333. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.d.ts +6 -0
  334. package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.js +34 -0
  335. package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +3 -0
  336. package/dist/esm/stateManagement/segmentation/helpers/index.js +3 -0
  337. package/dist/esm/stateManagement/segmentation/helpers/internalGetHiddenSegmentIndices.d.ts +5 -0
  338. package/dist/esm/stateManagement/segmentation/helpers/internalGetHiddenSegmentIndices.js +14 -0
  339. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +3 -0
  340. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +71 -0
  341. package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.d.ts +8 -0
  342. package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +31 -0
  343. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +3 -0
  344. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js +20 -0
  345. package/dist/esm/stateManagement/segmentation/index.d.ts +28 -0
  346. package/dist/esm/stateManagement/segmentation/index.js +28 -0
  347. package/dist/esm/stateManagement/segmentation/internalAddRepresentationData.d.ts +12 -0
  348. package/dist/esm/stateManagement/segmentation/internalAddRepresentationData.js +32 -0
  349. package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.d.ts +3 -0
  350. package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.js +38 -0
  351. package/dist/esm/stateManagement/segmentation/removeColorLUT.d.ts +1 -0
  352. package/dist/esm/stateManagement/segmentation/removeColorLUT.js +5 -0
  353. package/dist/esm/stateManagement/segmentation/removeSegment.d.ts +3 -0
  354. package/dist/esm/stateManagement/segmentation/removeSegment.js +50 -0
  355. package/dist/esm/stateManagement/segmentation/removeSegmentation.d.ts +2 -0
  356. package/dist/esm/stateManagement/segmentation/removeSegmentation.js +24 -0
  357. package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +20 -0
  358. package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js +73 -0
  359. package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +3 -0
  360. package/dist/esm/stateManagement/segmentation/segmentIndex.js +48 -0
  361. package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +4 -0
  362. package/dist/esm/stateManagement/segmentation/segmentLocking.js +29 -0
  363. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +17 -0
  364. package/dist/esm/stateManagement/segmentation/segmentationState.js +20 -0
  365. package/dist/esm/stateManagement/segmentation/setActiveSegmentation.d.ts +1 -0
  366. package/dist/esm/stateManagement/segmentation/setActiveSegmentation.js +5 -0
  367. package/dist/esm/stateManagement/segmentation/setGlobalStyle.d.ts +3 -0
  368. package/dist/esm/stateManagement/segmentation/setGlobalStyle.js +8 -0
  369. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +5 -0
  370. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +5 -0
  371. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +6 -0
  372. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +6 -0
  373. package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.d.ts +1 -0
  374. package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.js +5 -0
  375. package/dist/esm/stateManagement/segmentation/updateSegmentations.d.ts +5 -0
  376. package/dist/esm/stateManagement/segmentation/updateSegmentations.js +11 -0
  377. package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +48 -0
  378. package/dist/esm/store/SynchronizerManager/Synchronizer.js +221 -0
  379. package/dist/esm/store/SynchronizerManager/createSynchronizer.d.ts +4 -0
  380. package/dist/esm/store/SynchronizerManager/createSynchronizer.js +12 -0
  381. package/dist/esm/store/SynchronizerManager/destroy.d.ts +2 -0
  382. package/dist/esm/store/SynchronizerManager/destroy.js +8 -0
  383. package/dist/esm/store/SynchronizerManager/destroySynchronizer.d.ts +2 -0
  384. package/dist/esm/store/SynchronizerManager/destroySynchronizer.js +10 -0
  385. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.d.ts +3 -0
  386. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js +5 -0
  387. package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +3 -0
  388. package/dist/esm/store/SynchronizerManager/getSynchronizer.js +5 -0
  389. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +3 -0
  390. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +18 -0
  391. package/dist/esm/store/SynchronizerManager/index.d.ts +7 -0
  392. package/dist/esm/store/SynchronizerManager/index.js +7 -0
  393. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +48 -0
  394. package/dist/esm/store/ToolGroupManager/ToolGroup.js +460 -0
  395. package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +3 -0
  396. package/dist/esm/store/ToolGroupManager/createToolGroup.js +13 -0
  397. package/dist/esm/store/ToolGroupManager/destroy.d.ts +2 -0
  398. package/dist/esm/store/ToolGroupManager/destroy.js +10 -0
  399. package/dist/esm/store/ToolGroupManager/destroyToolGroup.d.ts +2 -0
  400. package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +8 -0
  401. package/dist/esm/store/ToolGroupManager/getAllToolGroups.d.ts +3 -0
  402. package/dist/esm/store/ToolGroupManager/getAllToolGroups.js +5 -0
  403. package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +3 -0
  404. package/dist/esm/store/ToolGroupManager/getToolGroup.js +5 -0
  405. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +3 -0
  406. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +18 -0
  407. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +3 -0
  408. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +21 -0
  409. package/dist/esm/store/ToolGroupManager/index.d.ts +8 -0
  410. package/dist/esm/store/ToolGroupManager/index.js +8 -0
  411. package/dist/esm/store/addEnabledElement.d.ts +2 -0
  412. package/dist/esm/store/addEnabledElement.js +68 -0
  413. package/dist/esm/store/addTool.d.ts +5 -0
  414. package/dist/esm/store/addTool.js +31 -0
  415. package/dist/esm/store/cancelActiveManipulations.d.ts +1 -0
  416. package/dist/esm/store/cancelActiveManipulations.js +16 -0
  417. package/dist/esm/store/filterMoveableAnnotationTools.d.ts +3 -0
  418. package/dist/esm/store/filterMoveableAnnotationTools.js +20 -0
  419. package/dist/esm/store/filterToolsWithAnnotationsForElement.d.ts +3 -0
  420. package/dist/esm/store/filterToolsWithAnnotationsForElement.js +22 -0
  421. package/dist/esm/store/filterToolsWithMoveableHandles.d.ts +3 -0
  422. package/dist/esm/store/filterToolsWithMoveableHandles.js +21 -0
  423. package/dist/esm/store/index.d.ts +10 -0
  424. package/dist/esm/store/index.js +10 -0
  425. package/dist/esm/store/removeEnabledElement.d.ts +3 -0
  426. package/dist/esm/store/removeEnabledElement.js +85 -0
  427. package/dist/esm/store/state.d.ts +18 -0
  428. package/dist/esm/store/state.js +34 -0
  429. package/dist/esm/store/svgNodeCache.d.ts +3 -0
  430. package/dist/esm/store/svgNodeCache.js +5 -0
  431. package/dist/esm/synchronizers/callbacks/areViewportsCoplanar.d.ts +2 -0
  432. package/dist/esm/synchronizers/callbacks/areViewportsCoplanar.js +7 -0
  433. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +3 -0
  434. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js +11 -0
  435. package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.d.ts +3 -0
  436. package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.js +67 -0
  437. package/dist/esm/synchronizers/callbacks/presentationViewSyncCallback.d.ts +2 -0
  438. package/dist/esm/synchronizers/callbacks/presentationViewSyncCallback.js +12 -0
  439. package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.d.ts +2 -0
  440. package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.js +15 -0
  441. package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +5 -0
  442. package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +35 -0
  443. package/dist/esm/synchronizers/callbacks/zoomPanSyncCallback.d.ts +3 -0
  444. package/dist/esm/synchronizers/callbacks/zoomPanSyncCallback.js +19 -0
  445. package/dist/esm/synchronizers/index.d.ts +8 -0
  446. package/dist/esm/synchronizers/index.js +8 -0
  447. package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.d.ts +2 -0
  448. package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.js +8 -0
  449. package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts +2 -0
  450. package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.js +14 -0
  451. package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.d.ts +3 -0
  452. package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.js +8 -0
  453. package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.d.ts +2 -0
  454. package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.js +8 -0
  455. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +7 -0
  456. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.js +15 -0
  457. package/dist/esm/synchronizers/synchronizers/createZoomPanSynchronizer.d.ts +2 -0
  458. package/dist/esm/synchronizers/synchronizers/createZoomPanSynchronizer.js +8 -0
  459. package/dist/esm/synchronizers/synchronizers/index.d.ts +7 -0
  460. package/dist/esm/synchronizers/synchronizers/index.js +7 -0
  461. package/dist/esm/tools/AdvancedMagnifyTool.d.ts +130 -0
  462. package/dist/esm/tools/AdvancedMagnifyTool.js +927 -0
  463. package/dist/esm/tools/AnnotationEraserTool.d.ts +10 -0
  464. package/dist/esm/tools/AnnotationEraserTool.js +56 -0
  465. package/dist/esm/tools/CrosshairsTool.d.ts +71 -0
  466. package/dist/esm/tools/CrosshairsTool.js +1449 -0
  467. package/dist/esm/tools/MIPJumpToClickTool.d.ts +8 -0
  468. package/dist/esm/tools/MIPJumpToClickTool.js +56 -0
  469. package/dist/esm/tools/MagnifyTool.d.ts +25 -0
  470. package/dist/esm/tools/MagnifyTool.js +180 -0
  471. package/dist/esm/tools/OrientationMarkerTool.d.ts +78 -0
  472. package/dist/esm/tools/OrientationMarkerTool.js +284 -0
  473. package/dist/esm/tools/OverlayGridTool.d.ts +29 -0
  474. package/dist/esm/tools/OverlayGridTool.js +164 -0
  475. package/dist/esm/tools/PanTool.d.ts +10 -0
  476. package/dist/esm/tools/PanTool.js +44 -0
  477. package/dist/esm/tools/PlanarRotateTool.d.ts +12 -0
  478. package/dist/esm/tools/PlanarRotateTool.js +64 -0
  479. package/dist/esm/tools/ReferenceCursors.d.ts +24 -0
  480. package/dist/esm/tools/ReferenceCursors.js +308 -0
  481. package/dist/esm/tools/ReferenceLinesTool.d.ts +27 -0
  482. package/dist/esm/tools/ReferenceLinesTool.js +232 -0
  483. package/dist/esm/tools/ScaleOverlayTool.d.ts +38 -0
  484. package/dist/esm/tools/ScaleOverlayTool.js +397 -0
  485. package/dist/esm/tools/SculptorTool/CircleSculptCursor.d.ts +20 -0
  486. package/dist/esm/tools/SculptorTool/CircleSculptCursor.js +107 -0
  487. package/dist/esm/tools/SculptorTool.d.ts +41 -0
  488. package/dist/esm/tools/SculptorTool.js +289 -0
  489. package/dist/esm/tools/SegmentationIntersectionTool.d.ts +18 -0
  490. package/dist/esm/tools/SegmentationIntersectionTool.js +177 -0
  491. package/dist/esm/tools/StackScrollTool.d.ts +15 -0
  492. package/dist/esm/tools/StackScrollTool.js +78 -0
  493. package/dist/esm/tools/TrackballRotateTool.d.ts +19 -0
  494. package/dist/esm/tools/TrackballRotateTool.js +179 -0
  495. package/dist/esm/tools/VolumeRotateTool.d.ts +10 -0
  496. package/dist/esm/tools/VolumeRotateTool.js +52 -0
  497. package/dist/esm/tools/WindowLevelRegionTool.d.ts +26 -0
  498. package/dist/esm/tools/WindowLevelRegionTool.js +220 -0
  499. package/dist/esm/tools/WindowLevelTool.d.ts +37 -0
  500. package/dist/esm/tools/WindowLevelTool.js +201 -0
  501. package/dist/esm/tools/ZoomTool.d.ts +19 -0
  502. package/dist/esm/tools/ZoomTool.js +180 -0
  503. package/dist/esm/tools/annotation/AngleTool.d.ts +37 -0
  504. package/dist/esm/tools/annotation/AngleTool.js +486 -0
  505. package/dist/esm/tools/annotation/ArrowAnnotateTool.d.ts +39 -0
  506. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +467 -0
  507. package/dist/esm/tools/annotation/BidirectionalTool.d.ts +40 -0
  508. package/dist/esm/tools/annotation/BidirectionalTool.js +728 -0
  509. package/dist/esm/tools/annotation/CircleROITool.d.ts +39 -0
  510. package/dist/esm/tools/annotation/CircleROITool.js +638 -0
  511. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +61 -0
  512. package/dist/esm/tools/annotation/CobbAngleTool.js +688 -0
  513. package/dist/esm/tools/annotation/DragProbeTool.d.ts +23 -0
  514. package/dist/esm/tools/annotation/DragProbeTool.js +130 -0
  515. package/dist/esm/tools/annotation/ETDRSGridTool.d.ts +41 -0
  516. package/dist/esm/tools/annotation/ETDRSGridTool.js +354 -0
  517. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +45 -0
  518. package/dist/esm/tools/annotation/EllipticalROITool.js +710 -0
  519. package/dist/esm/tools/annotation/HeightTool.d.ts +36 -0
  520. package/dist/esm/tools/annotation/HeightTool.js +434 -0
  521. package/dist/esm/tools/annotation/KeyImageTool.d.ts +34 -0
  522. package/dist/esm/tools/annotation/KeyImageTool.js +269 -0
  523. package/dist/esm/tools/annotation/LabelTool.d.ts +35 -0
  524. package/dist/esm/tools/annotation/LabelTool.js +323 -0
  525. package/dist/esm/tools/annotation/LengthTool.d.ts +38 -0
  526. package/dist/esm/tools/annotation/LengthTool.js +468 -0
  527. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.d.ts +10 -0
  528. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js +89 -0
  529. package/dist/esm/tools/annotation/LivewireContourTool.d.ts +67 -0
  530. package/dist/esm/tools/annotation/LivewireContourTool.js +657 -0
  531. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +9 -0
  532. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +29 -0
  533. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +59 -0
  534. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +530 -0
  535. package/dist/esm/tools/annotation/ProbeTool.d.ts +35 -0
  536. package/dist/esm/tools/annotation/ProbeTool.js +363 -0
  537. package/dist/esm/tools/annotation/RectangleROITool.d.ts +43 -0
  538. package/dist/esm/tools/annotation/RectangleROITool.js +566 -0
  539. package/dist/esm/tools/annotation/RegionSegmentPlusTool.d.ts +16 -0
  540. package/dist/esm/tools/annotation/RegionSegmentPlusTool.js +55 -0
  541. package/dist/esm/tools/annotation/RegionSegmentTool.d.ts +21 -0
  542. package/dist/esm/tools/annotation/RegionSegmentTool.js +102 -0
  543. package/dist/esm/tools/annotation/SplineContourSegmentationTool.d.ts +8 -0
  544. package/dist/esm/tools/annotation/SplineContourSegmentationTool.js +17 -0
  545. package/dist/esm/tools/annotation/SplineROITool.d.ts +73 -0
  546. package/dist/esm/tools/annotation/SplineROITool.js +788 -0
  547. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.d.ts +34 -0
  548. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +461 -0
  549. package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +46 -0
  550. package/dist/esm/tools/annotation/VideoRedactionTool.js +442 -0
  551. package/dist/esm/tools/annotation/WholeBodySegmentTool.d.ts +29 -0
  552. package/dist/esm/tools/annotation/WholeBodySegmentTool.js +223 -0
  553. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts +2 -0
  554. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +260 -0
  555. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.d.ts +2 -0
  556. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +289 -0
  557. package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.d.ts +2 -0
  558. package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js +146 -0
  559. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +4 -0
  560. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +39 -0
  561. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts +2 -0
  562. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +329 -0
  563. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.d.ts +2 -0
  564. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +48 -0
  565. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.d.ts +2 -0
  566. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +216 -0
  567. package/dist/esm/tools/annotation/splines/BSpline.d.ts +5 -0
  568. package/dist/esm/tools/annotation/splines/BSpline.js +9 -0
  569. package/dist/esm/tools/annotation/splines/CardinalSpline.d.ts +12 -0
  570. package/dist/esm/tools/annotation/splines/CardinalSpline.js +32 -0
  571. package/dist/esm/tools/annotation/splines/CatmullRomSpline.d.ts +5 -0
  572. package/dist/esm/tools/annotation/splines/CatmullRomSpline.js +7 -0
  573. package/dist/esm/tools/annotation/splines/CubicSpline.d.ts +13 -0
  574. package/dist/esm/tools/annotation/splines/CubicSpline.js +164 -0
  575. package/dist/esm/tools/annotation/splines/LinearSpline.d.ts +5 -0
  576. package/dist/esm/tools/annotation/splines/LinearSpline.js +7 -0
  577. package/dist/esm/tools/annotation/splines/QuadraticBezier.d.ts +6 -0
  578. package/dist/esm/tools/annotation/splines/QuadraticBezier.js +15 -0
  579. package/dist/esm/tools/annotation/splines/QuadraticSpline.d.ts +9 -0
  580. package/dist/esm/tools/annotation/splines/QuadraticSpline.js +13 -0
  581. package/dist/esm/tools/annotation/splines/Spline.d.ts +51 -0
  582. package/dist/esm/tools/annotation/splines/Spline.js +395 -0
  583. package/dist/esm/tools/annotation/splines/index.d.ts +9 -0
  584. package/dist/esm/tools/annotation/splines/index.js +9 -0
  585. package/dist/esm/tools/base/AnnotationDisplayTool.d.ts +14 -0
  586. package/dist/esm/tools/base/AnnotationDisplayTool.js +98 -0
  587. package/dist/esm/tools/base/AnnotationTool.d.ts +71 -0
  588. package/dist/esm/tools/base/AnnotationTool.js +271 -0
  589. package/dist/esm/tools/base/BaseTool.d.ts +38 -0
  590. package/dist/esm/tools/base/BaseTool.js +128 -0
  591. package/dist/esm/tools/base/ContourBaseTool.d.ts +25 -0
  592. package/dist/esm/tools/base/ContourBaseTool.js +121 -0
  593. package/dist/esm/tools/base/ContourSegmentationBaseTool.d.ts +19 -0
  594. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +133 -0
  595. package/dist/esm/tools/base/GrowCutBaseTool.d.ts +64 -0
  596. package/dist/esm/tools/base/GrowCutBaseTool.js +209 -0
  597. package/dist/esm/tools/base/index.d.ts +4 -0
  598. package/dist/esm/tools/base/index.js +4 -0
  599. package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +3 -0
  600. package/dist/esm/tools/displayTools/Contour/contourConfig.js +20 -0
  601. package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +9 -0
  602. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +51 -0
  603. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +5 -0
  604. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +77 -0
  605. package/dist/esm/tools/displayTools/Contour/contourHandler/utils.d.ts +4 -0
  606. package/dist/esm/tools/displayTools/Contour/contourHandler/utils.js +41 -0
  607. package/dist/esm/tools/displayTools/Contour/index.d.ts +2 -0
  608. package/dist/esm/tools/displayTools/Contour/index.js +2 -0
  609. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.d.ts +2 -0
  610. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +12 -0
  611. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +7 -0
  612. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +93 -0
  613. package/dist/esm/tools/displayTools/Labelmap/addVolumesAsIndependentComponents.d.ts +10 -0
  614. package/dist/esm/tools/displayTools/Labelmap/addVolumesAsIndependentComponents.js +123 -0
  615. package/dist/esm/tools/displayTools/Labelmap/index.d.ts +4 -0
  616. package/dist/esm/tools/displayTools/Labelmap/index.js +4 -0
  617. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +3 -0
  618. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js +17 -0
  619. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +11 -0
  620. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +267 -0
  621. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +2 -0
  622. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +8 -0
  623. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +3 -0
  624. package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +67 -0
  625. package/dist/esm/tools/displayTools/Surface/index.d.ts +2 -0
  626. package/dist/esm/tools/displayTools/Surface/index.js +2 -0
  627. package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.d.ts +2 -0
  628. package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.js +10 -0
  629. package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +3 -0
  630. package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +8 -0
  631. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +10 -0
  632. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +76 -0
  633. package/dist/esm/tools/distancePointToContour.d.ts +3 -0
  634. package/dist/esm/tools/distancePointToContour.js +18 -0
  635. package/dist/esm/tools/index.d.ts +57 -0
  636. package/dist/esm/tools/index.js +57 -0
  637. package/dist/esm/tools/segmentation/BrushTool.d.ts +27 -0
  638. package/dist/esm/tools/segmentation/BrushTool.js +355 -0
  639. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.d.ts +68 -0
  640. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +478 -0
  641. package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +34 -0
  642. package/dist/esm/tools/segmentation/CircleScissorsTool.js +233 -0
  643. package/dist/esm/tools/segmentation/LabelmapBaseTool.d.ts +99 -0
  644. package/dist/esm/tools/segmentation/LabelmapBaseTool.js +289 -0
  645. package/dist/esm/tools/segmentation/PaintFillTool.d.ts +13 -0
  646. package/dist/esm/tools/segmentation/PaintFillTool.js +231 -0
  647. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.d.ts +69 -0
  648. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +437 -0
  649. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.d.ts +45 -0
  650. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +145 -0
  651. package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +32 -0
  652. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +227 -0
  653. package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +20 -0
  654. package/dist/esm/tools/segmentation/SegmentSelectTool.js +99 -0
  655. package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +33 -0
  656. package/dist/esm/tools/segmentation/SphereScissorsTool.js +227 -0
  657. package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +125 -0
  658. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +156 -0
  659. package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.d.ts +6 -0
  660. package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +59 -0
  661. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.d.ts +7 -0
  662. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +83 -0
  663. package/dist/esm/tools/segmentation/strategies/compositions/ensureImageVolume.d.ts +4 -0
  664. package/dist/esm/tools/segmentation/strategies/compositions/ensureImageVolume.js +35 -0
  665. package/dist/esm/tools/segmentation/strategies/compositions/ensureSegmentationVolume.d.ts +4 -0
  666. package/dist/esm/tools/segmentation/strategies/compositions/ensureSegmentationVolume.js +20 -0
  667. package/dist/esm/tools/segmentation/strategies/compositions/erase.d.ts +5 -0
  668. package/dist/esm/tools/segmentation/strategies/compositions/erase.js +6 -0
  669. package/dist/esm/tools/segmentation/strategies/compositions/index.d.ts +47 -0
  670. package/dist/esm/tools/segmentation/strategies/compositions/index.js +24 -0
  671. package/dist/esm/tools/segmentation/strategies/compositions/islandRemovalComposition.d.ts +5 -0
  672. package/dist/esm/tools/segmentation/strategies/compositions/islandRemovalComposition.js +28 -0
  673. package/dist/esm/tools/segmentation/strategies/compositions/labelmapStatistics.d.ts +7 -0
  674. package/dist/esm/tools/segmentation/strategies/compositions/labelmapStatistics.js +12 -0
  675. package/dist/esm/tools/segmentation/strategies/compositions/preview.d.ts +8 -0
  676. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +92 -0
  677. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.d.ts +5 -0
  678. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +23 -0
  679. package/dist/esm/tools/segmentation/strategies/compositions/setValue.d.ts +8 -0
  680. package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +29 -0
  681. package/dist/esm/tools/segmentation/strategies/compositions/threshold.d.ts +5 -0
  682. package/dist/esm/tools/segmentation/strategies/compositions/threshold.js +21 -0
  683. package/dist/esm/tools/segmentation/strategies/eraseCircle.d.ts +2 -0
  684. package/dist/esm/tools/segmentation/strategies/eraseCircle.js +6 -0
  685. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +8 -0
  686. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +13 -0
  687. package/dist/esm/tools/segmentation/strategies/eraseSphere.d.ts +2 -0
  688. package/dist/esm/tools/segmentation/strategies/eraseSphere.js +6 -0
  689. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +14 -0
  690. package/dist/esm/tools/segmentation/strategies/fillCircle.js +71 -0
  691. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +6 -0
  692. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +71 -0
  693. package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +7 -0
  694. package/dist/esm/tools/segmentation/strategies/fillSphere.js +40 -0
  695. package/dist/esm/tools/segmentation/strategies/index.d.ts +3 -0
  696. package/dist/esm/tools/segmentation/strategies/index.js +3 -0
  697. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.d.ts +15 -0
  698. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +112 -0
  699. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +5 -0
  700. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js +8 -0
  701. package/dist/esm/types/AnnotationGroupSelector.d.ts +2 -0
  702. package/dist/esm/types/AnnotationGroupSelector.js +0 -0
  703. package/dist/esm/types/AnnotationRenderContext.d.ts +12 -0
  704. package/dist/esm/types/AnnotationRenderContext.js +0 -0
  705. package/dist/esm/types/AnnotationStyle.d.ts +30 -0
  706. package/dist/esm/types/AnnotationStyle.js +0 -0
  707. package/dist/esm/types/AnnotationTypes.d.ts +45 -0
  708. package/dist/esm/types/AnnotationTypes.js +0 -0
  709. package/dist/esm/types/BoundsIJK.d.ts +3 -0
  710. package/dist/esm/types/BoundsIJK.js +0 -0
  711. package/dist/esm/types/CINETypes.d.ts +30 -0
  712. package/dist/esm/types/CINETypes.js +0 -0
  713. package/dist/esm/types/CalculatorTypes.d.ts +42 -0
  714. package/dist/esm/types/CalculatorTypes.js +0 -0
  715. package/dist/esm/types/CardinalSplineProps.d.ts +5 -0
  716. package/dist/esm/types/CardinalSplineProps.js +0 -0
  717. package/dist/esm/types/ClosestControlPoint.d.ts +4 -0
  718. package/dist/esm/types/ClosestControlPoint.js +0 -0
  719. package/dist/esm/types/ClosestPoint.d.ts +5 -0
  720. package/dist/esm/types/ClosestPoint.js +0 -0
  721. package/dist/esm/types/ClosestSplinePoint.d.ts +4 -0
  722. package/dist/esm/types/ClosestSplinePoint.js +0 -0
  723. package/dist/esm/types/ContourAnnotation.d.ts +20 -0
  724. package/dist/esm/types/ContourAnnotation.js +6 -0
  725. package/dist/esm/types/ContourSegmentationAnnotation.d.ts +24 -0
  726. package/dist/esm/types/ContourSegmentationAnnotation.js +0 -0
  727. package/dist/esm/types/ContourTypes.d.ts +27 -0
  728. package/dist/esm/types/ContourTypes.js +0 -0
  729. package/dist/esm/types/ControlPointInfo.d.ts +5 -0
  730. package/dist/esm/types/ControlPointInfo.js +0 -0
  731. package/dist/esm/types/CursorTypes.d.ts +18 -0
  732. package/dist/esm/types/CursorTypes.js +0 -0
  733. package/dist/esm/types/EventTypes.d.ts +234 -0
  734. package/dist/esm/types/EventTypes.js +0 -0
  735. package/dist/esm/types/FloodFillTypes.d.ts +16 -0
  736. package/dist/esm/types/FloodFillTypes.js +0 -0
  737. package/dist/esm/types/IAnnotationManager.d.ts +14 -0
  738. package/dist/esm/types/IAnnotationManager.js +0 -0
  739. package/dist/esm/types/IBaseTool.d.ts +2 -0
  740. package/dist/esm/types/IBaseTool.js +0 -0
  741. package/dist/esm/types/IDistance.d.ts +7 -0
  742. package/dist/esm/types/IDistance.js +0 -0
  743. package/dist/esm/types/IPoints.d.ts +8 -0
  744. package/dist/esm/types/IPoints.js +0 -0
  745. package/dist/esm/types/ISculptToolShape.d.ts +12 -0
  746. package/dist/esm/types/ISculptToolShape.js +0 -0
  747. package/dist/esm/types/ISetToolModeOptions.d.ts +16 -0
  748. package/dist/esm/types/ISetToolModeOptions.js +0 -0
  749. package/dist/esm/types/ISpline.d.ts +30 -0
  750. package/dist/esm/types/ISpline.js +0 -0
  751. package/dist/esm/types/ISynchronizerEventHandler.d.ts +5 -0
  752. package/dist/esm/types/ISynchronizerEventHandler.js +0 -0
  753. package/dist/esm/types/IToolClassReference.d.ts +3 -0
  754. package/dist/esm/types/IToolClassReference.js +0 -0
  755. package/dist/esm/types/IToolGroup.d.ts +3 -0
  756. package/dist/esm/types/IToolGroup.js +0 -0
  757. package/dist/esm/types/ITouchPoints.d.ts +11 -0
  758. package/dist/esm/types/ITouchPoints.js +0 -0
  759. package/dist/esm/types/InteractionTypes.d.ts +2 -0
  760. package/dist/esm/types/InteractionTypes.js +0 -0
  761. package/dist/esm/types/InternalToolTypes.d.ts +15 -0
  762. package/dist/esm/types/InternalToolTypes.js +0 -0
  763. package/dist/esm/types/InterpolationTypes.d.ts +20 -0
  764. package/dist/esm/types/InterpolationTypes.js +0 -0
  765. package/dist/esm/types/LabelmapToolOperationData.d.ts +26 -0
  766. package/dist/esm/types/LabelmapToolOperationData.js +0 -0
  767. package/dist/esm/types/LabelmapTypes.d.ts +29 -0
  768. package/dist/esm/types/LabelmapTypes.js +0 -0
  769. package/dist/esm/types/PlanarBoundingBox.d.ts +7 -0
  770. package/dist/esm/types/PlanarBoundingBox.js +0 -0
  771. package/dist/esm/types/SVGDrawingHelper.d.ts +9 -0
  772. package/dist/esm/types/SVGDrawingHelper.js +0 -0
  773. package/dist/esm/types/SegmentationStateTypes.d.ts +96 -0
  774. package/dist/esm/types/SegmentationStateTypes.js +0 -0
  775. package/dist/esm/types/SplineCurveSegment.d.ts +14 -0
  776. package/dist/esm/types/SplineCurveSegment.js +0 -0
  777. package/dist/esm/types/SplineLineSegment.d.ts +10 -0
  778. package/dist/esm/types/SplineLineSegment.js +0 -0
  779. package/dist/esm/types/SplineProps.d.ts +5 -0
  780. package/dist/esm/types/SplineProps.js +0 -0
  781. package/dist/esm/types/SurfaceTypes.d.ts +5 -0
  782. package/dist/esm/types/SurfaceTypes.js +0 -0
  783. package/dist/esm/types/ToolAction.d.ts +8 -0
  784. package/dist/esm/types/ToolAction.js +0 -0
  785. package/dist/esm/types/ToolHandle.d.ts +15 -0
  786. package/dist/esm/types/ToolHandle.js +0 -0
  787. package/dist/esm/types/ToolProps.d.ts +13 -0
  788. package/dist/esm/types/ToolProps.js +0 -0
  789. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +477 -0
  790. package/dist/esm/types/ToolSpecificAnnotationTypes.js +0 -0
  791. package/dist/esm/types/index.d.ts +49 -0
  792. package/dist/esm/types/index.js +0 -0
  793. package/dist/esm/utilities/AnnotationMultiSlice.d.ts +11 -0
  794. package/dist/esm/utilities/AnnotationMultiSlice.js +68 -0
  795. package/dist/esm/utilities/BucketQueue.d.ts +20 -0
  796. package/dist/esm/utilities/BucketQueue.js +78 -0
  797. package/dist/esm/utilities/annotationHydration.d.ts +9 -0
  798. package/dist/esm/utilities/annotationHydration.js +82 -0
  799. package/dist/esm/utilities/boundingBox/extend2DBoundingBoxInViewAxis.d.ts +3 -0
  800. package/dist/esm/utilities/boundingBox/extend2DBoundingBoxInViewAxis.js +10 -0
  801. package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.d.ts +5 -0
  802. package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js +55 -0
  803. package/dist/esm/utilities/boundingBox/index.d.ts +3 -0
  804. package/dist/esm/utilities/boundingBox/index.js +3 -0
  805. package/dist/esm/utilities/calibrateImageSpacing.d.ts +2 -0
  806. package/dist/esm/utilities/calibrateImageSpacing.js +18 -0
  807. package/dist/esm/utilities/cine/events.d.ts +5 -0
  808. package/dist/esm/utilities/cine/events.js +6 -0
  809. package/dist/esm/utilities/cine/index.d.ts +4 -0
  810. package/dist/esm/utilities/cine/index.js +4 -0
  811. package/dist/esm/utilities/cine/playClip.d.ts +8 -0
  812. package/dist/esm/utilities/cine/playClip.js +352 -0
  813. package/dist/esm/utilities/cine/state.d.ts +5 -0
  814. package/dist/esm/utilities/cine/state.js +16 -0
  815. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +2 -0
  816. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +24 -0
  817. package/dist/esm/utilities/contourSegmentation/areSameSegment.d.ts +2 -0
  818. package/dist/esm/utilities/contourSegmentation/areSameSegment.js +6 -0
  819. package/dist/esm/utilities/contourSegmentation/index.d.ts +4 -0
  820. package/dist/esm/utilities/contourSegmentation/index.js +4 -0
  821. package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts +3 -0
  822. package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.js +3 -0
  823. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +2 -0
  824. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +17 -0
  825. package/dist/esm/utilities/contours/AnnotationToPointData.d.ts +11 -0
  826. package/dist/esm/utilities/contours/AnnotationToPointData.js +38 -0
  827. package/dist/esm/utilities/contours/RectangleROIStartEndThreshold.d.ts +6 -0
  828. package/dist/esm/utilities/contours/RectangleROIStartEndThreshold.js +40 -0
  829. package/dist/esm/utilities/contours/areCoplanarContours.d.ts +2 -0
  830. package/dist/esm/utilities/contours/areCoplanarContours.js +15 -0
  831. package/dist/esm/utilities/contours/calculatePerimeter.d.ts +2 -0
  832. package/dist/esm/utilities/contours/calculatePerimeter.js +16 -0
  833. package/dist/esm/utilities/contours/contourFinder.d.ts +7 -0
  834. package/dist/esm/utilities/contours/contourFinder.js +62 -0
  835. package/dist/esm/utilities/contours/detectContourHoles.d.ts +5 -0
  836. package/dist/esm/utilities/contours/detectContourHoles.js +73 -0
  837. package/dist/esm/utilities/contours/findHandlePolylineIndex.d.ts +2 -0
  838. package/dist/esm/utilities/contours/findHandlePolylineIndex.js +31 -0
  839. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.d.ts +4 -0
  840. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +110 -0
  841. package/dist/esm/utilities/contours/getContourHolesDataCanvas.d.ts +3 -0
  842. package/dist/esm/utilities/contours/getContourHolesDataCanvas.js +14 -0
  843. package/dist/esm/utilities/contours/getContourHolesDataWorld.d.ts +3 -0
  844. package/dist/esm/utilities/contours/getContourHolesDataWorld.js +5 -0
  845. package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +11 -0
  846. package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +45 -0
  847. package/dist/esm/utilities/contours/index.d.ts +13 -0
  848. package/dist/esm/utilities/contours/index.js +13 -0
  849. package/dist/esm/utilities/contours/interpolation/acceptAutogeneratedInterpolations.d.ts +3 -0
  850. package/dist/esm/utilities/contours/interpolation/acceptAutogeneratedInterpolations.js +4 -0
  851. package/dist/esm/utilities/contours/interpolation/createPolylineToolData.d.ts +2 -0
  852. package/dist/esm/utilities/contours/interpolation/createPolylineToolData.js +38 -0
  853. package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.d.ts +7 -0
  854. package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.js +106 -0
  855. package/dist/esm/utilities/contours/interpolation/getInterpolationData.d.ts +7 -0
  856. package/dist/esm/utilities/contours/interpolation/getInterpolationData.js +47 -0
  857. package/dist/esm/utilities/contours/interpolation/getInterpolationDataCollection.d.ts +4 -0
  858. package/dist/esm/utilities/contours/interpolation/getInterpolationDataCollection.js +14 -0
  859. package/dist/esm/utilities/contours/interpolation/interpolate.d.ts +11 -0
  860. package/dist/esm/utilities/contours/interpolation/interpolate.js +339 -0
  861. package/dist/esm/utilities/contours/interpolation/selectHandles.d.ts +4 -0
  862. package/dist/esm/utilities/contours/interpolation/selectHandles.js +162 -0
  863. package/dist/esm/utilities/contours/interpolation/updateChildInterpolationUID.d.ts +2 -0
  864. package/dist/esm/utilities/contours/interpolation/updateChildInterpolationUID.js +12 -0
  865. package/dist/esm/utilities/contours/reverseIfAntiClockwise.d.ts +2 -0
  866. package/dist/esm/utilities/contours/reverseIfAntiClockwise.js +11 -0
  867. package/dist/esm/utilities/contours/updateContourPolyline.d.ts +17 -0
  868. package/dist/esm/utilities/contours/updateContourPolyline.js +52 -0
  869. package/dist/esm/utilities/debounce.d.ts +6 -0
  870. package/dist/esm/utilities/debounce.js +113 -0
  871. package/dist/esm/utilities/drawing/getTextBoxCoordsCanvas.d.ts +2 -0
  872. package/dist/esm/utilities/drawing/getTextBoxCoordsCanvas.js +24 -0
  873. package/dist/esm/utilities/drawing/index.d.ts +2 -0
  874. package/dist/esm/utilities/drawing/index.js +2 -0
  875. package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.d.ts +12 -0
  876. package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.js +98 -0
  877. package/dist/esm/utilities/dynamicVolume/getDataInTime.d.ts +8 -0
  878. package/dist/esm/utilities/dynamicVolume/getDataInTime.js +111 -0
  879. package/dist/esm/utilities/dynamicVolume/index.d.ts +4 -0
  880. package/dist/esm/utilities/dynamicVolume/index.js +4 -0
  881. package/dist/esm/utilities/geometricSurfaceUtils.d.ts +8 -0
  882. package/dist/esm/utilities/geometricSurfaceUtils.js +103 -0
  883. package/dist/esm/utilities/getAnnotationNearPoint.d.ts +5 -0
  884. package/dist/esm/utilities/getAnnotationNearPoint.js +46 -0
  885. package/dist/esm/utilities/getCalibratedUnits.d.ts +16 -0
  886. package/dist/esm/utilities/getCalibratedUnits.js +155 -0
  887. package/dist/esm/utilities/getPixelValueUnits.d.ts +8 -0
  888. package/dist/esm/utilities/getPixelValueUnits.js +31 -0
  889. package/dist/esm/utilities/getSphereBoundsInfo.d.ts +14 -0
  890. package/dist/esm/utilities/getSphereBoundsInfo.js +64 -0
  891. package/dist/esm/utilities/getToolsWithModesForElement.d.ts +4 -0
  892. package/dist/esm/utilities/getToolsWithModesForElement.js +24 -0
  893. package/dist/esm/utilities/getVOIMultipliers.d.ts +5 -0
  894. package/dist/esm/utilities/getVOIMultipliers.js +18 -0
  895. package/dist/esm/utilities/getViewportForAnnotation.d.ts +3 -0
  896. package/dist/esm/utilities/getViewportForAnnotation.js +5 -0
  897. package/dist/esm/utilities/getViewportsForAnnotation.d.ts +3 -0
  898. package/dist/esm/utilities/getViewportsForAnnotation.js +16 -0
  899. package/dist/esm/utilities/index.d.ts +40 -0
  900. package/dist/esm/utilities/index.js +40 -0
  901. package/dist/esm/utilities/isObject.d.ts +2 -0
  902. package/dist/esm/utilities/isObject.js +5 -0
  903. package/dist/esm/utilities/livewire/LiveWirePath.d.ts +19 -0
  904. package/dist/esm/utilities/livewire/LiveWirePath.js +71 -0
  905. package/dist/esm/utilities/livewire/LivewireScissors.d.ts +38 -0
  906. package/dist/esm/utilities/livewire/LivewireScissors.js +305 -0
  907. package/dist/esm/utilities/math/aabb/distanceToPoint.d.ts +2 -0
  908. package/dist/esm/utilities/math/aabb/distanceToPoint.js +4 -0
  909. package/dist/esm/utilities/math/aabb/distanceToPointSquared.d.ts +2 -0
  910. package/dist/esm/utilities/math/aabb/distanceToPointSquared.js +20 -0
  911. package/dist/esm/utilities/math/aabb/index.d.ts +3 -0
  912. package/dist/esm/utilities/math/aabb/index.js +3 -0
  913. package/dist/esm/utilities/math/aabb/intersectAABB.d.ts +2 -0
  914. package/dist/esm/utilities/math/aabb/intersectAABB.js +6 -0
  915. package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +6 -0
  916. package/dist/esm/utilities/math/angle/angleBetweenLines.js +30 -0
  917. package/dist/esm/utilities/math/angle/index.d.ts +2 -0
  918. package/dist/esm/utilities/math/angle/index.js +2 -0
  919. package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +26 -0
  920. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +119 -0
  921. package/dist/esm/utilities/math/basic/Calculator.d.ts +8 -0
  922. package/dist/esm/utilities/math/basic/Calculator.js +3 -0
  923. package/dist/esm/utilities/math/basic/index.d.ts +3 -0
  924. package/dist/esm/utilities/math/basic/index.js +3 -0
  925. package/dist/esm/utilities/math/circle/_types.d.ts +5 -0
  926. package/dist/esm/utilities/math/circle/_types.js +0 -0
  927. package/dist/esm/utilities/math/circle/getCanvasCircleCorners.d.ts +3 -0
  928. package/dist/esm/utilities/math/circle/getCanvasCircleCorners.js +8 -0
  929. package/dist/esm/utilities/math/circle/getCanvasCircleRadius.d.ts +2 -0
  930. package/dist/esm/utilities/math/circle/getCanvasCircleRadius.js +5 -0
  931. package/dist/esm/utilities/math/circle/index.d.ts +3 -0
  932. package/dist/esm/utilities/math/circle/index.js +3 -0
  933. package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +8 -0
  934. package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.js +6 -0
  935. package/dist/esm/utilities/math/ellipse/index.d.ts +3 -0
  936. package/dist/esm/utilities/math/ellipse/index.js +3 -0
  937. package/dist/esm/utilities/math/ellipse/pointInEllipse.d.ts +11 -0
  938. package/dist/esm/utilities/math/ellipse/pointInEllipse.js +36 -0
  939. package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +9 -0
  940. package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.js +2 -0
  941. package/dist/esm/utilities/math/index.d.ts +11 -0
  942. package/dist/esm/utilities/math/index.js +11 -0
  943. package/dist/esm/utilities/math/line/distanceToPoint.d.ts +2 -0
  944. package/dist/esm/utilities/math/line/distanceToPoint.js +7 -0
  945. package/dist/esm/utilities/math/line/distanceToPointSquared.d.ts +2 -0
  946. package/dist/esm/utilities/math/line/distanceToPointSquared.js +4 -0
  947. package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.d.ts +5 -0
  948. package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +29 -0
  949. package/dist/esm/utilities/math/line/index.d.ts +6 -0
  950. package/dist/esm/utilities/math/line/index.js +6 -0
  951. package/dist/esm/utilities/math/line/intersectLine.d.ts +2 -0
  952. package/dist/esm/utilities/math/line/intersectLine.js +41 -0
  953. package/dist/esm/utilities/math/line/isPointOnLineSegment.d.ts +2 -0
  954. package/dist/esm/utilities/math/line/isPointOnLineSegment.js +18 -0
  955. package/dist/esm/utilities/math/midPoint.d.ts +5 -0
  956. package/dist/esm/utilities/math/midPoint.js +15 -0
  957. package/dist/esm/utilities/math/point/distanceToPoint.d.ts +4 -0
  958. package/dist/esm/utilities/math/point/distanceToPoint.js +4 -0
  959. package/dist/esm/utilities/math/point/distanceToPointSquared.d.ts +4 -0
  960. package/dist/esm/utilities/math/point/distanceToPointSquared.js +11 -0
  961. package/dist/esm/utilities/math/point/index.d.ts +3 -0
  962. package/dist/esm/utilities/math/point/index.js +3 -0
  963. package/dist/esm/utilities/math/point/mirror.d.ts +2 -0
  964. package/dist/esm/utilities/math/point/mirror.js +7 -0
  965. package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.d.ts +4 -0
  966. package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.js +38 -0
  967. package/dist/esm/utilities/math/polyline/areLineSegmentsIntersecting.d.ts +2 -0
  968. package/dist/esm/utilities/math/polyline/areLineSegmentsIntersecting.js +55 -0
  969. package/dist/esm/utilities/math/polyline/combinePolyline.d.ts +4 -0
  970. package/dist/esm/utilities/math/polyline/combinePolyline.js +186 -0
  971. package/dist/esm/utilities/math/polyline/containsPoint.d.ts +5 -0
  972. package/dist/esm/utilities/math/polyline/containsPoint.js +39 -0
  973. package/dist/esm/utilities/math/polyline/containsPoints.d.ts +2 -0
  974. package/dist/esm/utilities/math/polyline/containsPoints.js +9 -0
  975. package/dist/esm/utilities/math/polyline/decimate.d.ts +2 -0
  976. package/dist/esm/utilities/math/polyline/decimate.js +46 -0
  977. package/dist/esm/utilities/math/polyline/getAABB.d.ts +4 -0
  978. package/dist/esm/utilities/math/polyline/getAABB.js +40 -0
  979. package/dist/esm/utilities/math/polyline/getArea.d.ts +2 -0
  980. package/dist/esm/utilities/math/polyline/getArea.js +10 -0
  981. package/dist/esm/utilities/math/polyline/getClosestLineSegmentIntersection.d.ts +5 -0
  982. package/dist/esm/utilities/math/polyline/getClosestLineSegmentIntersection.js +44 -0
  983. package/dist/esm/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.d.ts +2 -0
  984. package/dist/esm/utilities/math/polyline/getFirstLineSegmentIntersectionIndexes.js +21 -0
  985. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.d.ts +2 -0
  986. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsCoordinates.js +13 -0
  987. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsIndexes.d.ts +2 -0
  988. package/dist/esm/utilities/math/polyline/getLineSegmentIntersectionsIndexes.js +15 -0
  989. package/dist/esm/utilities/math/polyline/getLinesIntersection.d.ts +2 -0
  990. package/dist/esm/utilities/math/polyline/getLinesIntersection.js +51 -0
  991. package/dist/esm/utilities/math/polyline/getNormal2.d.ts +2 -0
  992. package/dist/esm/utilities/math/polyline/getNormal2.js +5 -0
  993. package/dist/esm/utilities/math/polyline/getNormal3.d.ts +2 -0
  994. package/dist/esm/utilities/math/polyline/getNormal3.js +25 -0
  995. package/dist/esm/utilities/math/polyline/getSignedArea.d.ts +2 -0
  996. package/dist/esm/utilities/math/polyline/getSignedArea.js +19 -0
  997. package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.d.ts +7 -0
  998. package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js +72 -0
  999. package/dist/esm/utilities/math/polyline/getWindingDirection.d.ts +2 -0
  1000. package/dist/esm/utilities/math/polyline/getWindingDirection.js +5 -0
  1001. package/dist/esm/utilities/math/polyline/index.d.ts +23 -0
  1002. package/dist/esm/utilities/math/polyline/index.js +23 -0
  1003. package/dist/esm/utilities/math/polyline/intersectPolyline.d.ts +2 -0
  1004. package/dist/esm/utilities/math/polyline/intersectPolyline.js +13 -0
  1005. package/dist/esm/utilities/math/polyline/isClosed.d.ts +2 -0
  1006. package/dist/esm/utilities/math/polyline/isClosed.js +12 -0
  1007. package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.d.ts +4 -0
  1008. package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js +25 -0
  1009. package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +25 -0
  1010. package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.js +0 -0
  1011. package/dist/esm/utilities/math/polyline/pointCanProjectOnLine.d.ts +3 -0
  1012. package/dist/esm/utilities/math/polyline/pointCanProjectOnLine.js +32 -0
  1013. package/dist/esm/utilities/math/polyline/pointsAreWithinCloseContourProximity.d.ts +3 -0
  1014. package/dist/esm/utilities/math/polyline/pointsAreWithinCloseContourProximity.js +5 -0
  1015. package/dist/esm/utilities/math/polyline/projectTo2D.d.ts +5 -0
  1016. package/dist/esm/utilities/math/polyline/projectTo2D.js +25 -0
  1017. package/dist/esm/utilities/math/rectangle/distanceToPoint.d.ts +2 -0
  1018. package/dist/esm/utilities/math/rectangle/distanceToPoint.js +34 -0
  1019. package/dist/esm/utilities/math/rectangle/index.d.ts +2 -0
  1020. package/dist/esm/utilities/math/rectangle/index.js +2 -0
  1021. package/dist/esm/utilities/math/sphere/index.d.ts +2 -0
  1022. package/dist/esm/utilities/math/sphere/index.js +2 -0
  1023. package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +9 -0
  1024. package/dist/esm/utilities/math/sphere/pointInSphere.js +8 -0
  1025. package/dist/esm/utilities/math/vec2/findClosestPoint.d.ts +2 -0
  1026. package/dist/esm/utilities/math/vec2/findClosestPoint.js +17 -0
  1027. package/dist/esm/utilities/math/vec2/index.d.ts +3 -0
  1028. package/dist/esm/utilities/math/vec2/index.js +3 -0
  1029. package/dist/esm/utilities/math/vec2/liangBarksyClip.d.ts +1 -0
  1030. package/dist/esm/utilities/math/vec2/liangBarksyClip.js +68 -0
  1031. package/dist/esm/utilities/math/vec3/interpolateVec3.d.ts +2 -0
  1032. package/dist/esm/utilities/math/vec3/interpolateVec3.js +8 -0
  1033. package/dist/esm/utilities/normalizeViewportPlane.d.ts +19 -0
  1034. package/dist/esm/utilities/normalizeViewportPlane.js +35 -0
  1035. package/dist/esm/utilities/orientation/getOrientationStringLPS.d.ts +2 -0
  1036. package/dist/esm/utilities/orientation/getOrientationStringLPS.js +41 -0
  1037. package/dist/esm/utilities/orientation/index.d.ts +3 -0
  1038. package/dist/esm/utilities/orientation/index.js +3 -0
  1039. package/dist/esm/utilities/orientation/invertOrientationStringLPS.d.ts +1 -0
  1040. package/dist/esm/utilities/orientation/invertOrientationStringLPS.js +10 -0
  1041. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.d.ts +3 -0
  1042. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js +26 -0
  1043. package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.d.ts +3 -0
  1044. package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.js +26 -0
  1045. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.d.ts +3 -0
  1046. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.js +46 -0
  1047. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +6 -0
  1048. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js +49 -0
  1049. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromCorners.d.ts +5 -0
  1050. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromCorners.js +18 -0
  1051. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromTwoPoints.d.ts +5 -0
  1052. package/dist/esm/utilities/planar/getWorldWidthAndHeightFromTwoPoints.js +18 -0
  1053. package/dist/esm/utilities/planar/index.d.ts +19 -0
  1054. package/dist/esm/utilities/planar/index.js +18 -0
  1055. package/dist/esm/utilities/planar/isPlaneIntersectingAABB.d.ts +1 -0
  1056. package/dist/esm/utilities/planar/isPlaneIntersectingAABB.js +27 -0
  1057. package/dist/esm/utilities/planarFreehandROITool/index.d.ts +6 -0
  1058. package/dist/esm/utilities/planarFreehandROITool/index.js +5 -0
  1059. package/dist/esm/utilities/planarFreehandROITool/interpolation/algorithms/bspline.d.ts +2 -0
  1060. package/dist/esm/utilities/planarFreehandROITool/interpolation/algorithms/bspline.js +22 -0
  1061. package/dist/esm/utilities/planarFreehandROITool/interpolation/interpolateSegmentPoints.d.ts +2 -0
  1062. package/dist/esm/utilities/planarFreehandROITool/interpolation/interpolateSegmentPoints.js +41 -0
  1063. package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.d.ts +6 -0
  1064. package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.js +56 -0
  1065. package/dist/esm/utilities/planarFreehandROITool/smoothPoints.d.ts +11 -0
  1066. package/dist/esm/utilities/planarFreehandROITool/smoothPoints.js +91 -0
  1067. package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +8 -0
  1068. package/dist/esm/utilities/pointInSurroundingSphereCallback.js +71 -0
  1069. package/dist/esm/utilities/pointToString.d.ts +1 -0
  1070. package/dist/esm/utilities/pointToString.js +8 -0
  1071. package/dist/esm/utilities/polyData/utils.d.ts +5 -0
  1072. package/dist/esm/utilities/polyData/utils.js +53 -0
  1073. package/dist/esm/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.d.ts +5 -0
  1074. package/dist/esm/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.js +44 -0
  1075. package/dist/esm/utilities/rectangleROITool/index.d.ts +3 -0
  1076. package/dist/esm/utilities/rectangleROITool/index.js +3 -0
  1077. package/dist/esm/utilities/rectangleROITool/isAxisAlignedRectangle.d.ts +2 -0
  1078. package/dist/esm/utilities/rectangleROITool/isAxisAlignedRectangle.js +22 -0
  1079. package/dist/esm/utilities/registerComputeWorker.d.ts +1 -0
  1080. package/dist/esm/utilities/registerComputeWorker.js +23 -0
  1081. package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.d.ts +11 -0
  1082. package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.js +177 -0
  1083. package/dist/esm/utilities/segmentation/InterpolationManager/deleteRelatedAnnotations.d.ts +2 -0
  1084. package/dist/esm/utilities/segmentation/InterpolationManager/deleteRelatedAnnotations.js +66 -0
  1085. package/dist/esm/utilities/segmentation/VolumetricCalculator.d.ts +15 -0
  1086. package/dist/esm/utilities/segmentation/VolumetricCalculator.js +48 -0
  1087. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -0
  1088. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +40 -0
  1089. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.d.ts +7 -0
  1090. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +45 -0
  1091. package/dist/esm/utilities/segmentation/computeAndAddRepresentation.d.ts +3 -0
  1092. package/dist/esm/utilities/segmentation/computeAndAddRepresentation.js +45 -0
  1093. package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.d.ts +1 -0
  1094. package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js +23 -0
  1095. package/dist/esm/utilities/segmentation/createBidirectionalToolData.d.ts +14 -0
  1096. package/dist/esm/utilities/segmentation/createBidirectionalToolData.js +35 -0
  1097. package/dist/esm/utilities/segmentation/createLabelmapMemo.d.ts +44 -0
  1098. package/dist/esm/utilities/segmentation/createLabelmapMemo.js +68 -0
  1099. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +9 -0
  1100. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +28 -0
  1101. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +3 -0
  1102. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +34 -0
  1103. package/dist/esm/utilities/segmentation/findLargestBidirectional.d.ts +1 -0
  1104. package/dist/esm/utilities/segmentation/findLargestBidirectional.js +95 -0
  1105. package/dist/esm/utilities/segmentation/floodFill.d.ts +4 -0
  1106. package/dist/esm/utilities/segmentation/floodFill.js +120 -0
  1107. package/dist/esm/utilities/segmentation/getBrushToolInstances.d.ts +1 -0
  1108. package/dist/esm/utilities/segmentation/getBrushToolInstances.js +17 -0
  1109. package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +1 -0
  1110. package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +13 -0
  1111. package/dist/esm/utilities/segmentation/getOrCreateSegmentationVolume.d.ts +2 -0
  1112. package/dist/esm/utilities/segmentation/getOrCreateSegmentationVolume.js +21 -0
  1113. package/dist/esm/utilities/segmentation/getSVGStyleForSegment.d.ts +17 -0
  1114. package/dist/esm/utilities/segmentation/getSVGStyleForSegment.js +68 -0
  1115. package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.d.ts +7 -0
  1116. package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +76 -0
  1117. package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.d.ts +11 -0
  1118. package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +74 -0
  1119. package/dist/esm/utilities/segmentation/getStatistics.d.ts +5 -0
  1120. package/dist/esm/utilities/segmentation/getStatistics.js +210 -0
  1121. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.d.ts +2 -0
  1122. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +80 -0
  1123. package/dist/esm/utilities/segmentation/growCut/growCutShader.d.ts +2 -0
  1124. package/dist/esm/utilities/segmentation/growCut/growCutShader.js +106 -0
  1125. package/dist/esm/utilities/segmentation/growCut/index.d.ts +7 -0
  1126. package/dist/esm/utilities/segmentation/growCut/index.js +4 -0
  1127. package/dist/esm/utilities/segmentation/growCut/runGrowCut.d.ts +16 -0
  1128. package/dist/esm/utilities/segmentation/growCut/runGrowCut.js +269 -0
  1129. package/dist/esm/utilities/segmentation/growCut/runGrowCutForBoundingBox.d.ts +15 -0
  1130. package/dist/esm/utilities/segmentation/growCut/runGrowCutForBoundingBox.js +110 -0
  1131. package/dist/esm/utilities/segmentation/growCut/runGrowCutForSphere.d.ts +9 -0
  1132. package/dist/esm/utilities/segmentation/growCut/runGrowCutForSphere.js +164 -0
  1133. package/dist/esm/utilities/segmentation/growCut/runOneClickGrowCut.d.ts +9 -0
  1134. package/dist/esm/utilities/segmentation/growCut/runOneClickGrowCut.js +176 -0
  1135. package/dist/esm/utilities/segmentation/index.d.ts +28 -0
  1136. package/dist/esm/utilities/segmentation/index.js +28 -0
  1137. package/dist/esm/utilities/segmentation/invalidateBrushCursor.d.ts +1 -0
  1138. package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +20 -0
  1139. package/dist/esm/utilities/segmentation/isLineInSegment.d.ts +9 -0
  1140. package/dist/esm/utilities/segmentation/isLineInSegment.js +49 -0
  1141. package/dist/esm/utilities/segmentation/islandRemoval.d.ts +28 -0
  1142. package/dist/esm/utilities/segmentation/islandRemoval.js +181 -0
  1143. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +20 -0
  1144. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +35 -0
  1145. package/dist/esm/utilities/segmentation/segmentContourAction.d.ts +17 -0
  1146. package/dist/esm/utilities/segmentation/segmentContourAction.js +95 -0
  1147. package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.d.ts +4 -0
  1148. package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.js +58 -0
  1149. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +11 -0
  1150. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +79 -0
  1151. package/dist/esm/utilities/segmentation/utilities.d.ts +25 -0
  1152. package/dist/esm/utilities/segmentation/utilities.js +86 -0
  1153. package/dist/esm/utilities/segmentation/validateLabelmap.d.ts +4 -0
  1154. package/dist/esm/utilities/segmentation/validateLabelmap.js +32 -0
  1155. package/dist/esm/utilities/stackPrefetch/index.d.ts +3 -0
  1156. package/dist/esm/utilities/stackPrefetch/index.js +3 -0
  1157. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
  1158. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +221 -0
  1159. package/dist/esm/utilities/stackPrefetch/stackPrefetch.d.ts +14 -0
  1160. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +150 -0
  1161. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
  1162. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +76 -0
  1163. package/dist/esm/utilities/stackPrefetch/state.d.ts +22 -0
  1164. package/dist/esm/utilities/stackPrefetch/state.js +13 -0
  1165. package/dist/esm/utilities/throttle.d.ts +5 -0
  1166. package/dist/esm/utilities/throttle.js +19 -0
  1167. package/dist/esm/utilities/touch/index.d.ts +10 -0
  1168. package/dist/esm/utilities/touch/index.js +152 -0
  1169. package/dist/esm/utilities/triggerAnnotationRender.d.ts +2 -0
  1170. package/dist/esm/utilities/triggerAnnotationRender.js +5 -0
  1171. package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +2 -0
  1172. package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js +24 -0
  1173. package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.d.ts +2 -0
  1174. package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js +22 -0
  1175. package/dist/esm/utilities/viewport/index.d.ts +2 -0
  1176. package/dist/esm/utilities/viewport/index.js +2 -0
  1177. package/dist/esm/utilities/viewport/isViewportPreScaled.d.ts +3 -0
  1178. package/dist/esm/utilities/viewport/isViewportPreScaled.js +16 -0
  1179. package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.d.ts +2 -0
  1180. package/dist/esm/utilities/viewportFilters/filterViewportsWithFrameOfReferenceUID.js +11 -0
  1181. package/dist/esm/utilities/viewportFilters/filterViewportsWithParallelNormals.d.ts +2 -0
  1182. package/dist/esm/utilities/viewportFilters/filterViewportsWithParallelNormals.js +10 -0
  1183. package/dist/esm/utilities/viewportFilters/filterViewportsWithSameOrientation.d.ts +2 -0
  1184. package/dist/esm/utilities/viewportFilters/filterViewportsWithSameOrientation.js +9 -0
  1185. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.d.ts +2 -0
  1186. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +28 -0
  1187. package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
  1188. package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.js +17 -0
  1189. package/dist/esm/utilities/viewportFilters/index.d.ts +5 -0
  1190. package/dist/esm/utilities/viewportFilters/index.js +5 -0
  1191. package/dist/esm/utilities/voi/colorbar/Colorbar.d.ts +44 -0
  1192. package/dist/esm/utilities/voi/colorbar/Colorbar.js +242 -0
  1193. package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.d.ts +29 -0
  1194. package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.js +182 -0
  1195. package/dist/esm/utilities/voi/colorbar/ColorbarTicks.d.ts +46 -0
  1196. package/dist/esm/utilities/voi/colorbar/ColorbarTicks.js +280 -0
  1197. package/dist/esm/utilities/voi/colorbar/ViewportColorbar.d.ts +25 -0
  1198. package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +146 -0
  1199. package/dist/esm/utilities/voi/colorbar/common/areColorbarRangesEqual.d.ts +3 -0
  1200. package/dist/esm/utilities/voi/colorbar/common/areColorbarRangesEqual.js +4 -0
  1201. package/dist/esm/utilities/voi/colorbar/common/areColorbarSizesEqual.d.ts +3 -0
  1202. package/dist/esm/utilities/voi/colorbar/common/areColorbarSizesEqual.js +4 -0
  1203. package/dist/esm/utilities/voi/colorbar/common/index.d.ts +4 -0
  1204. package/dist/esm/utilities/voi/colorbar/common/index.js +4 -0
  1205. package/dist/esm/utilities/voi/colorbar/common/isColorbarSizeValid.d.ts +3 -0
  1206. package/dist/esm/utilities/voi/colorbar/common/isColorbarSizeValid.js +4 -0
  1207. package/dist/esm/utilities/voi/colorbar/common/isRangeTextPositionValid.d.ts +3 -0
  1208. package/dist/esm/utilities/voi/colorbar/common/isRangeTextPositionValid.js +9 -0
  1209. package/dist/esm/utilities/voi/colorbar/common/isRangeValid.d.ts +3 -0
  1210. package/dist/esm/utilities/voi/colorbar/common/isRangeValid.js +4 -0
  1211. package/dist/esm/utilities/voi/colorbar/enums/ColorbarRangeTextPosition.d.ts +6 -0
  1212. package/dist/esm/utilities/voi/colorbar/enums/ColorbarRangeTextPosition.js +7 -0
  1213. package/dist/esm/utilities/voi/colorbar/enums/index.d.ts +1 -0
  1214. package/dist/esm/utilities/voi/colorbar/enums/index.js +1 -0
  1215. package/dist/esm/utilities/voi/colorbar/index.d.ts +6 -0
  1216. package/dist/esm/utilities/voi/colorbar/index.js +4 -0
  1217. package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.d.ts +12 -0
  1218. package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.js +0 -0
  1219. package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.d.ts +11 -0
  1220. package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.js +0 -0
  1221. package/dist/esm/utilities/voi/colorbar/types/ColorbarImageRange.d.ts +4 -0
  1222. package/dist/esm/utilities/voi/colorbar/types/ColorbarImageRange.js +0 -0
  1223. package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.d.ts +7 -0
  1224. package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.js +0 -0
  1225. package/dist/esm/utilities/voi/colorbar/types/ColorbarSize.d.ts +4 -0
  1226. package/dist/esm/utilities/voi/colorbar/types/ColorbarSize.js +0 -0
  1227. package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksProps.d.ts +7 -0
  1228. package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksProps.js +0 -0
  1229. package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksStyle.d.ts +8 -0
  1230. package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksStyle.js +0 -0
  1231. package/dist/esm/utilities/voi/colorbar/types/ColorbarVOIRange.d.ts +2 -0
  1232. package/dist/esm/utilities/voi/colorbar/types/ColorbarVOIRange.js +0 -0
  1233. package/dist/esm/utilities/voi/colorbar/types/ViewportColorbarProps.d.ts +5 -0
  1234. package/dist/esm/utilities/voi/colorbar/types/ViewportColorbarProps.js +0 -0
  1235. package/dist/esm/utilities/voi/colorbar/types/index.d.ts +8 -0
  1236. package/dist/esm/utilities/voi/colorbar/types/index.js +0 -0
  1237. package/dist/esm/utilities/voi/index.d.ts +3 -0
  1238. package/dist/esm/utilities/voi/index.js +3 -0
  1239. package/dist/esm/utilities/voi/windowlevel/calculateMinMaxMean.d.ts +6 -0
  1240. package/dist/esm/utilities/voi/windowlevel/calculateMinMaxMean.js +25 -0
  1241. package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.d.ts +11 -0
  1242. package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.js +42 -0
  1243. package/dist/esm/utilities/voi/windowlevel/getLuminanceFromRegion.d.ts +2 -0
  1244. package/dist/esm/utilities/voi/windowlevel/getLuminanceFromRegion.js +27 -0
  1245. package/dist/esm/utilities/voi/windowlevel/index.d.ts +4 -0
  1246. package/dist/esm/utilities/voi/windowlevel/index.js +4 -0
  1247. package/dist/esm/widgets/Widget.d.ts +17 -0
  1248. package/dist/esm/widgets/Widget.js +66 -0
  1249. package/dist/esm/widgets/types/WidgetProps.d.ts +4 -0
  1250. package/dist/esm/widgets/types/WidgetProps.js +0 -0
  1251. package/dist/esm/widgets/types/WidgetSize.d.ts +4 -0
  1252. package/dist/esm/widgets/types/WidgetSize.js +0 -0
  1253. package/dist/esm/widgets/types/index.d.ts +2 -0
  1254. package/dist/esm/widgets/types/index.js +0 -0
  1255. package/dist/esm/workers/computeWorker.d.ts +1 -0
  1256. package/dist/esm/workers/computeWorker.js +78 -0
  1257. package/package.json +113 -100
  1258. package/changelog.md +0 -304
  1259. package/dist/cornerstoneTools.js +0 -27391
  1260. package/dist/cornerstoneTools.js.map +0 -1
  1261. package/dist/cornerstoneTools.min.js +0 -3
  1262. package/dist/cornerstoneTools.min.js.map +0 -1
@@ -1,3 +0,0 @@
1
- /*! @cornerstonejs/tools - 3.0.2 - 2019-02-08 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/cornerstoneTools */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstone-tools",[],t):"object"==typeof exports?exports["cornerstone-tools"]=t():e.cornerstoneTools=t()}(window,function(){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=10)}([function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}e.exports=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e}},function(e,t,n){var a=n(16);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){var a=n(6),o=n(0);e.exports=function(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?o(e):t}},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=a=function(e){return n(e)}:e.exports=a=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},a(t)}e.exports=a},function(e,t,n){e.exports=n(12)},function(e,t){function n(e,t,n,a,o,i,r){try{var l=e[i](r),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(a,o)}e.exports=function(e){return function(){var t=this,a=arguments;return new Promise(function(o,i){var r=e.apply(t,a);function l(e){n(r,o,i,l,s,"next",e)}function s(e){n(r,o,i,l,s,"throw",e)}l(void 0)})}}},function(e,t,n){var a=n(15),o=n(14),i=n(13);e.exports=function(e){return a(e)||o(e)||i()}},function(e,t,n){"use strict";n.r(t);var a=n(1),o=n.n(a),i=n(2),r=n.n(i),l=n(5),s=n.n(l),c=n(4),u=n.n(c),d=n(3),h=n.n(d),v=window.cornerstone,g=window.cornerstoneMath,m=window.Hammer,f={set cornerstone(e){v=e},get cornerstone(){return v},set cornerstoneMath(e){g=e},get cornerstoneMath(){return g},set Hammer(e){m=e},get Hammer(){return m}},p=n(6),y=n.n(p),x={MOUSE_DOWN:"cornerstonetoolsmousedown",MOUSE_UP:"cornerstonetoolsmouseup",MOUSE_DOWN_ACTIVATE:"cornerstonetoolsmousedownactivate",MOUSE_DRAG:"cornerstonetoolsmousedrag",MOUSE_MOVE:"cornerstonetoolsmousemove",MOUSE_CLICK:"cornerstonetoolsmouseclick",MOUSE_DOUBLE_CLICK:"cornerstonetoolsmousedoubleclick",MOUSE_WHEEL:"cornerstonetoolsmousewheel",TOUCH_START:"cornerstonetoolstouchstart",TOUCH_START_ACTIVE:"cornerstonetoolstouchstartactive",TOUCH_END:"cornerstonetoolstouchend",TOUCH_DRAG:"cornerstonetoolstouchdrag",TOUCH_DRAG_END:"cornerstonetoolstouchdragend",TOUCH_PINCH:"cornerstonetoolstouchpinch",TOUCH_ROTATE:"cornerstonetoolstouchrotate",TOUCH_PRESS:"cornerstonetoolstouchpress",TAP:"cornerstonetoolstap",DOUBLE_TAP:"cornerstonetoolsdoubletap",MULTI_TOUCH_START:"cornerstonetoolsmultitouchstart",MULTI_TOUCH_START_ACTIVE:"cornerstonetoolsmultitouchstartactive",MULTI_TOUCH_DRAG:"cornerstonetoolsmultitouchdrag",KEY_DOWN:"cornerstonetoolskeydown",KEY_UP:"cornerstonetoolskeyup",KEY_PRESS:"cornerstonetoolskeypress",MEASUREMENT_ADDED:"cornerstonetoolsmeasurementadded",MEASUREMENT_MODIFIED:"cornerstonetoolsmeasurementmodified",MEASUREMENT_REMOVED:"cornerstonetoolsmeasurementremoved",TOOL_DEACTIVATED:"cornerstonetoolstooldeactivated",CLIP_STOPPED:"cornerstonetoolsclipstopped",STACK_SCROLL:"cornerstonetoolsstackscroll"};function T(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return"function"==typeof window.CustomEvent?n=new CustomEvent(t,{detail:a,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,a),e.dispatchEvent(n)}var b={drawColorId:0,radius:10,minRadius:1,maxRadius:50,alpha:.4,renderBrushIfHiddenButActive:!0,hiddenButActiveAlpha:.2,colorMapId:"BrushColorMap",visibleSegmentations:{},imageBitmapCache:{},segmentationMetadata:{}},E={radius:function(e){b.radius=Math.min(Math.max(e,b.minRadius),b.maxRadius)},brushColorMap:function(e){var t=f.cornerstone.colors.getColormap(b.colorMapId);t.setNumberOfColors(e.length);for(var n=0;n<e.length;n++)t.setColor(n,e[n])},elementVisible:function(e){if(f.cornerstone){var t=f.cornerstone.getEnabledElement(e).uuid,n=f.cornerstone.colors.getColormap(b.colorMapId).getNumberOfColors();b.visibleSegmentations[t]=[];for(var a=0;a<n;a++)b.visibleSegmentations[t].push(!0)}},brushVisibilityForElement:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];b.visibleSegmentations[e]||(b.imageBitmapCache[e]=[]),b.visibleSegmentations[e][t]=n},imageBitmapCacheForElement:function(e,t,n){b.imageBitmapCache[e]||(b.imageBitmapCache[e]=[]),b.imageBitmapCache[e][t]=n},clearImageBitmapCacheForElement:function(e){b.imageBitmapCache[e]=[]},metadata:function(e,t,n){b.segmentationMetadata[e]||(b.segmentationMetadata[e]=[]),b.segmentationMetadata[e][t]=n}};var M={state:b,onRegisterCallback:function(){!function(){var e=f.cornerstone.colors.getColormap(b.colorMapId);e.setNumberOfColors(19);for(var t=0;t<19;t++)t<C.length?e.setColor(t,C[t]):e.setColor(t,I())}()},enabledElementCallback:function(e){E.elementVisible(e)},getters:{imageBitmapCacheForElement:function(e){return b.imageBitmapCache[e]?b.imageBitmapCache[e]:null},visibleSegmentationsForElement:function(e){return b.visibleSegmentations[e]?b.visibleSegmentations[e]:null},metadata:function(e,t){if(b.segmentationMetadata[e])return void 0!==t?b.segmentationMetadata[e][t]:b.segmentationMetadata[e]}},setters:E},C=[[230,25,75,255],[60,180,175,255],[255,225,25,255],[0,130,200,255],[245,130,48,255],[145,30,180,255],[70,240,240,255],[240,50,230,255],[210,245,60,255],[250,190,190,255],[0,128,128,255],[230,190,255,255],[170,110,40,255],[255,250,200,255],[128,0,0,255],[170,255,195,255],[128,128,0,255],[255,215,180,255],[0,0,128,255]],w=0;function I(){for(var e=function(){var e=[w];w<C.length-1?(w++,e.push(w)):(w=0,e.push(w));return e}(),t=Math.random(),n=[],a=0;a<4;a++)n.push(Math.floor(t*C[e[0]][a]+(1-t)*C[e[1]][a]));return n}var S={globalTools:{},globalToolChangeHistory:[],enabledElements:[],tools:[],isToolLocked:!1,mousePositionImage:{},clickProximity:6,touchProximity:10,handleRadius:6,deleteIfHandleOutsideImage:!0,preventHandleOutsideImage:!1},k={mouseTools:function(){return S.tools.filter(function(e){return e.supportedInteractionTypes.includes("Mouse")})},touchTools:function(){return S.tools.filter(function(e){return e.supportedInteractionTypes.includes("Touch")})},enabledElementByUID:function(e){return S.enabledElements.find(function(t){return f.cornerstone.getEnabledElement(t).uuid===e})}},P={brush:M,globalConfiguration:{state:{mouseEnabled:!0,touchEnabled:!0,globalToolSyncEnabled:!1},setters:{}}},_={modules:P,state:S,getters:k},O=function(e,t){return S.tools.find(function(n){return n.element===e&&n.name===t})},D=function(e,t,n,a){void 0===a&&Array.isArray(n)&&(a=n,n=null);var o=O(e,t);o&&(!function(e,t,n,a){t.supportedInteractionTypes.forEach(function(o){if(void 0===a||a.includes(o)){var i=W[o];i?i(t,e,n):console.warn("Unable to resolve input conflicts for type ".concat(o))}}),_.state.tools.filter(function(t){return t.element===e&&"active"===t.mode&&t.supportedInteractionTypes.length>0}).forEach(function(t){var n=!1;t.supportedInteractionTypes.forEach(function(e){t.options["is".concat(e,"Active")]&&(n=!0)}),n||(console.info("Setting tool ".concat(t.name,"'s to PASSIVE")),N(e,t.name))})}(e,o,n,a),o.supportedInteractionTypes.forEach(function(e){void 0===a||a.includes(e)?n["is".concat(e,"Active")]=!0:n["is".concat(e,"Active")]=!1})),F("active",null,e,t,n)},L=function(e,t,n){z("active",e,t,n),_.state.enabledElements.forEach(function(a){D(a,e,t,n)})},A=F.bind(null,"disabled",null),H=V.bind(null,"disabled",null),R=F.bind(null,"enabled",null),U=V.bind(null,"enabled",null),N=F.bind(null,"passive",x.TOOL_DEACTIVATED),B=V.bind(null,"passive",x.TOOL_DEACTIVATED);function F(e,t,n,a,o){var i=O(n,a);i?(o=G(o),Array.isArray(o.mouseButtonMask)&&0!==o.mouseButtonMask.length&&Array.isArray(i.options.mouseButtonMask)&&(o.mouseButtonMask=o.mouseButtonMask.concat(i.options.mouseButtonMask)),i.mode=e,i.mergeOptions(o),i["".concat(e,"Callback")]&&i["".concat(e,"Callback")](n,o),t&&T(n,t,{options:o,toolName:a,type:t})):console.warn("Unable to find tool '".concat(a,"' for enabledElement"))}function V(e,t,n,a){z(e,n,a),_.state.enabledElements.forEach(function(o){F(e,t,o,n,a)})}function j(e,t,n,a){var o=_.state.tools.find(function(t){return t.element===n&&"active"===t.mode&&!0===t.options["is".concat(e,"Active")]});o&&(console.info("Setting tool ".concat(o.name,"'s is").concat(e,"Active to false")),o.options["is".concat(e,"Active")]=!1)}function z(e,t,n,a){if(_.modules.globalConfiguration.state.globalToolSyncEnabled){var o={mode:e,args:[t,n]};a&&o.push(a),_.state.globalToolChangeHistory.push(o);_.state.globalToolChangeHistory.length>50&&_.state.globalToolChangeHistory.shift();var i=_.state.globalTools[t];if("active"===e){var r=function(e,t,n){void 0===n&&Array.isArray(t)&&(n=t,t=null);var a=[],o=_.state.globalTools[e];if(o){var i=new o.tool(o.configuration);i.supportedInteractionTypes.forEach(function(e){if(void 0===n||n.includes(e))if("Mouse"===e){var o=G(t).mouseButtonMask;Array.isArray(o)&&o.length>0?o.forEach(function(t){return a.push("".concat(e,"-").concat(t))}):Array.isArray(o)&&0===o.length&&a.push("".concat(e,"-DELETE"))}else"MultiTouch"===e?a.push("".concat(e,"-").concat(i.configuration.touchPointers)):a.push(e)})}return a}(t,n,a);Object.keys(_.state.globalTools).forEach(function(e){var t=_.state.globalTools[e];t.activeBindings=t.activeBindings.filter(function(e){return!r.includes(e)})}),r.some(function(e){return e.includes("Mouse-DELETE")})&&(i.activeBindings=i.activeBindings.filter(function(e){return!e.includes("Mouse")}),r=r.filter(function(e){return!e.includes("Mouse")})),i.activeBindings=i.activeBindings.concat(r)}else i.activeBindings=[]}}var W={Mouse:function(e,t,n){var a=G(n).mouseButtonMask;if(Array.isArray(a)&&a.length>0){var o=_.state.tools.find(function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isMouseActive&&Array.isArray(e.options.mouseButtonMask)&&e.options.mouseButtonMask.some(function(e){return a.includes(e)})});o&&(o.options.mouseButtonMask=o.options.mouseButtonMask.filter(function(e){return!a.includes(e)}),0===o.options.mouseButtonMask.length&&(o.options.isMouseActive=!1))}},MouseWheel:j.bind(void 0,"MouseWheel"),Touch:function(e,t,n){var a=_.state.tools.find(function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isTouchActive}),o=_.state.tools.find(function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isMultiTouchActive&&1===e.configuration.touchPointers});a&&(console.info("Setting tool ".concat(a.name,"'s isTouchActive to false")),a.options.isTouchActive=!1),o&&(console.info("Setting tool ".concat(o.name,"'s isTouchActive to false")),o.options.isMultiTouchActive=!1)},TouchPinch:j.bind(void 0,"TouchPinch"),TouchRotate:j.bind(void 0,"TouchRotate"),DoubleTap:j.bind(void 0,"DoubleTap"),MultiTouch:function(e,t,n){var a,o=_.state.tools.find(function(n){return n.element===t&&"active"===n.mode&&!0===n.options.isMultiTouchActive&&n.configuration.touchPointers===e.configuration.touchPointers});1===e.configuration.touchPointers&&(a=_.state.tools.find(function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isTouchActive})),o&&(console.info("Setting tool ".concat(o.name,"'s isMultiTouchActive to false")),o.options.isMultiTouchActive=!1),a&&(console.info("Setting tool ".concat(a.name,"'s isTouchActive to false")),a.options.isTouchActive=!1)}};function G(e){if(e!==Object(e)||Array.isArray(e))if("number"==typeof e){var t=[];t.push(e),e={mouseButtonMask:0===e?[]:t}}else null===e?e={mouseButtonMask:[]}:(console.info("No options provided when changing tool mode"),e={});else if(0===e.mouseButtonMask||null===e.mouseButtonMask)e.mouseButtonMask=[];else if("number"==typeof e.mouseButtonMask){var n=[];n.push(e.mouseButtonMask),e.mouseButtonMask=n}return e}var q={activeOrDisabledBinaryTool:{passiveCallback:function(e){A(e,this.name)},enabledCallback:function(e){D(e,this.name)}},enabledOrDisabledBinaryTool:{passiveCallback:function(e){A(e,this.name)},activeCallback:function(e){R(e,this.name)}}},Y=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.name,a=t.strategies,i=t.defaultStrategy,r=t.configuration,l=t.supportedInteractionTypes,s=t.mixins;o()(this,e),this.name=n,this.mode="disabled",this.element=void 0,this.supportedInteractionTypes=l||[],this.strategies=a||{},this.defaultStrategy=i||Object.keys(this.strategies)[0]||void 0,this.activeStrategy=this.defaultStrategy,this._options={},this._configuration=Object.assign({},r),this.hasCursor=!1,s&&s.length&&this._applyMixins(s)}return r()(e,[{key:"mergeOptions",value:function(e){this._options=Object.assign({},this._options,e)}},{key:"clearOptions",value:function(){this._options={}}},{key:"applyActiveStrategy",value:function(e){return this.strategies[this.activeStrategy](e,this.configuration)}},{key:"_applyMixins",value:function(e){for(var t=0;t<e.length;t++){var n=q["".concat(e[t])];"object"===y()(n)?Object.assign(this,n):console.warn("".concat(this.name,": mixin ").concat(q[t]," does not exist."))}}},{key:"configuration",get:function(){return this._configuration},set:function(e){this._configuration=e}},{key:"options",get:function(){return this._options}}],[{key:"configuration",get:function(){}}]),e}();function X(){var e={};return{get:function(t,n){var a=f.cornerstone.getEnabledElement(t);if(a.image&&!1!==e.hasOwnProperty(a.image.imageId)){var o=e[a.image.imageId];if(!1!==o.hasOwnProperty(n))return o[n]}},add:function(t,n,a){var o=f.cornerstone.getEnabledElement(t);o.image&&!1!==e.hasOwnProperty(o.image.imageId)||(e[o.image.imageId]={});var i=e[o.image.imageId];!1===i.hasOwnProperty(n)&&(i[n]={data:[]}),i[n].data.push(a)},clear:function(t){var n=f.cornerstone.getEnabledElement(t);n.image&&!1!==e.hasOwnProperty(n.image.imageId)&&delete e[n.image.imageId]},saveImageIdToolState:function(t){return e[t]},restoreImageIdToolState:function(t,n){e[t]=n},saveToolState:function(){return e},restoreToolState:function(t){e=t},toolState:e}}var K=X();function Z(e){var t=f.cornerstone.getEnabledElement(e);return void 0===t.toolStateManager&&(t.toolStateManager=K),t.toolStateManager}function J(e,t,n){Z(e).add(e,t,n),T(e,x.MEASUREMENT_ADDED,{toolType:t,element:e,measurementData:n})}function Q(e,t){return Z(e).get(e,t)}function $(e,t,n){for(var a=Z(e).get(e,t),o=-1,i=0;i<a.data.length;i++)a.data[i]===n&&(o=i);-1!==o&&(a.data.splice(o,1),T(e,x.MEASUREMENT_REMOVED,{toolType:t,element:e,measurementData:n}))}function ee(e,t){var n=Z(e).get(e,t);void 0!==n&&(n.data=[])}function te(e,t){f.cornerstone.getEnabledElement(e).toolStateManager=t}var ne=function(e,t){if(e.boundingBox)return f.cornerstoneMath.point.insideRect(t,e.boundingBox)},ae=function(e,t,n,a){if(e.hasOwnProperty("pointNearHandle")){if(e.pointNearHandle(t,e,n))return!0}else if(!0===e.hasBoundingBox){if(ne(e,n))return!0}else{var o=f.cornerstone.pixelToCanvas(t,e);if(f.cornerstoneMath.point.distance(o,n)<=a)return!0}return!1},oe=function e(t,n,a,o){var i;if(n){if(Array.isArray(n))for(var r=Object.keys(n),l=0;l<r.length;l++){var s=n[r[l]];if(s.hasOwnProperty("x")&&s.hasOwnProperty("y")&&ae(s,t,a,o)){i=s;break}}else if("object"===y()(n))for(var c=Object.keys(n),u=0;u<c.length;u++){var d=c[u];if(Array.isArray(n[d])){if(i=e(t,n[d],a,o))break}else{var h=n[d];if(ae(h,t,a,o)){i=h;break}}}return i}},ie=function(e,t,n,a){a||(a=6);var o=function(e){var t;return Object.keys(e).forEach(function(n){var a=e[n];!0!==a.active||(t=a)}),t}(t),i=oe(e,t,n,a);return o!==i&&(void 0!==i&&(i.active=!0),void 0!==o&&(o.active=!1),!0)};var re=function(e,t){var n=e.image,a={left:0,top:0,width:n.width,height:n.height},o=!1;return Object.keys(t).forEach(function(e){var n=t[e];!0!==n.allowedOutsideImage&&!1===f.cornerstoneMath.point.insideRect(n,a)&&(o=!0)}),o};function le(e,t,n){return Math.min(Math.max(t,e),n)}function se(e,t){e.x=le(e.x,0,t.width),e.y=le(e.y,0,t.height)}var ce={mouse:[x.MOUSE_DRAG],touch:[x.TOUCH_DRAG]},ue={mouse:[x.MOUSE_UP,x.MOUSE_CLICK],touch:[x.TOUCH_END,x.TOUCH_DRAG_END,x.TOUCH_PINCH,x.TOUCH_PRESS,x.TAP]},de=function(e,t,n){var a=e.element,o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{}),i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"mouse";o=Object.assign({deleteIfHandleOutsideImage:S.deleteIfHandleOutsideImage,preventHandleOutsideImage:S.preventHandleOutsideImage},o);var r=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0,o=a.detail,i=o.element,r=o.image,l=a.detail.deltaPoints.image,s=l.x,c=l.y;t.active=!0,t.invalidated=!0;for(var u=Object.keys(t.handles),d=0;d<u.length;d++){var h=u[d],v=t.handles[h];!0!==v.movesIndependently&&v.hasOwnProperty("x")&&v.hasOwnProperty("y")&&(v.x+=s,v.y+=c,n.preventHandleOutsideImage&&se(v,r))}f.cornerstone.updateImage(i);var g=x.MEASUREMENT_MODIFIED;T(i,g,{toolName:e,element:i,measurementData:t}),a.preventDefault(),a.stopPropagation()}.bind(this,t,n,o),l=function e(a){!function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=o.dragHandler,r=o.upOrEndHandler,l=arguments.length>5?arguments[5]:void 0,s=l.detail,c=l.detail.element;t.active=!1,t.invalidated=!0,S.isToolLocked=!1,ce[a].forEach(function(e){c.removeEventListener(e,i)}),ue[a].forEach(function(e){c.removeEventListener(e,r)}),n.deleteIfHandleOutsideImage&&re(s,t.handles)&&$(c,e,t);"function"==typeof n.doneMovingCallback&&n.doneMovingCallback();f.cornerstone.updateImage(c)}(t,n,o,i,{dragHandler:r,upOrEndHandler:e},a)};n.active=!0,S.isToolLocked=!0,ce[i].forEach(function(e){a.addEventListener(e,r)}),ue[i].forEach(function(e){a.addEventListener(e,l)})};var he={value:!1},ve={mouse:[x.MOUSE_DRAG],touch:[x.TOUCH_DRAG]},ge={mouse:[x.MOUSE_UP,x.MOUSE_CLICK],touch:[x.TOUCH_END,x.TOUCH_DRAG_END,x.TOUCH_PINCH,x.TOUCH_PRESS,x.TAP]},me=function(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"mouse";o=Object.assign({deleteIfHandleOutsideImage:S.deleteIfHandleOutsideImage,preventHandleOutsideImage:S.preventHandleOutsideImage},o);var r=e.element,l=function(e,t,n,a,o,i){var r=i.detail,l=r.image,s=r.currentPoints,c=r.element,u=s.page,d=f.cornerstone.pageToPixel(c,u.x,"touch"===o?u.y+-57:u.y);he.value=!1,n.active=!0,n.hasMoved=!0,n.x=d.x,n.y=d.y,t.invalidated=!0,a.preventHandleOutsideImage&&se(n,l);f.cornerstone.updateImage(c);var h=x.MEASUREMENT_MODIFIED;T(c,h,{toolName:e,element:c,measurementData:t})}.bind(this,t,n,a,o,i),s=function r(s){!function(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=arguments.length>5?arguments[5]:void 0,r=arguments.length>6?arguments[6]:void 0,l=r.dragHandler,s=r.upOrEndHandler,c=arguments.length>7?arguments[7]:void 0,u=t.currentPoints.image,d=c.detail.element;a.active=!1,n.active=!1,n.invalidated=!0,S.isToolLocked=!1,he.value=!1,ve[i].forEach(function(e){d.removeEventListener(e,l)}),ge[i].forEach(function(e){d.removeEventListener(e,s)}),o.deleteIfHandleOutsideImage&&re(t,n.handles)&&$(d,e,n);c.type===x.TOUCH_PRESS&&(c.detail.handlePressed=n,a.x=u.x,a.y=u.y);"function"==typeof o.doneMovingCallback&&o.doneMovingCallback();f.cornerstone.updateImage(d)}(t,e,n,a,o,i,{dragHandler:l,upOrEndHandler:r},s)};if(a.active=!0,n.active=!0,S.isToolLocked=!0,ve[i].forEach(function(e){r.addEventListener(e,l)}),ge[i].forEach(function(e){r.addEventListener(e,s)}),"touch"===i){he.value=!0;var c=f.cornerstone.getEnabledElement(r),u={x:e.currentPoints.page.x,y:e.currentPoints.page.y+-57},d=f.cornerstone.pageToPixel(r,u.x,u.y);!function e(t,n,a,o){if(!n.value)return;var i=Math.abs(t.y-o.y);var r=i/10;if(i<1)return t.y=o.y,void(n.value=!1);t.y>o.y?t.y-=r:t.y<o.y&&(t.y+=r);f.cornerstone.updateImage(a.element);f.cornerstone.requestAnimationFrame(function(){e(t,n,a,o)})}(a,he,c,d)}};var fe={mouse:[x.MOUSE_MOVE,x.MOUSE_DRAG],touch:[x.TOUCH_DRAG]},pe={mouse:[x.MOUSE_UP,x.MOUSE_CLICK],touch:[x.TOUCH_END,x.TOUCH_PINCH,x.TAP]},ye=function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"mouse";o=Object.assign({deleteIfHandleOutsideImage:S.deleteIfHandleOutsideImage,preventHandleOutsideImage:S.preventHandleOutsideImage},o);var r=e.element;n.active=!0,a.active=!0,S.isToolLocked=!0;var l=function(e,t,n,a,o,i){var r=i.detail,l=r.currentPoints,s=r.image,c=r.element,u=l.page,d=f.cornerstone.pageToPixel(c,"touch"===o?u.x+-57:u.x,"touch"===o?u.y+-57:u.y);t.invalidated=!0,n.active=!0,n.x=d.x,n.y=d.y,a&&a.preventHandleOutsideImage&&se(n,s);f.cornerstone.updateImage(c);var h=x.MEASUREMENT_MODIFIED;T(c,h,{toolName:e,element:c,measurementData:t})}.bind(this,t,n,a,o,i),s=function e(r){!function(e,t,n,a,o,i,r){var l=i.moveHandler,s=i.moveEndHandler,c=r.detail,u=c.element,d=c.currentPoints.page,h=f.cornerstone.pageToPixel(u,"touch"===o?d.x+-57:d.x,"touch"===o?d.y+-57:d.y);if(t.active=!1,t.invalidated=!0,n.active=!1,n.x=h.x,n.y=h.y,S.isToolLocked=!1,fe[o].forEach(function(e){u.removeEventListener(e,l)}),pe[o].forEach(function(e){u.removeEventListener(e,s)}),u.removeEventListener(x.TOUCH_START,xe),r.type===x.TOUCH_PINCH||r.type===x.TOUCH_PRESS)return n.active=!1,f.cornerstone.updateImage(u),void("function"==typeof a.doneMovingCallback&&a.doneMovingCallback());a.preventHandleOutsideImage&&se(n,r.detail.image);a.deleteIfHandleOutsideImage&&re(r.detail,t.handles)&&$(u,e,t);"function"==typeof a.doneMovingCallback&&a.doneMovingCallback();f.cornerstone.updateImage(u)}(t,n,a,o,i,{moveHandler:l,moveEndHandler:e},r)};fe[i].forEach(function(e){r.addEventListener(e,l)}),pe[i].forEach(function(e){r.addEventListener(e,s)}),r.addEventListener(x.TOUCH_START,xe)};function xe(e){return e.stopImmediatePropagation(),!1}var Te=function(e,t,n,a,o){n.active=!0,S.isToolLocked=!0,me(e.detail,t.name,n,a,t.options,o),e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()},be=function(e,t,n,a){for(var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"mouse",i=0;i<t.data.length;i++){var r=t.data[i],l=oe(e,r.handles,a,"mouse"===o?S.clickProximity:S.touchProximity);if(l)return{handle:l,data:r}}},Ee=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse",o=Object.assign({},{doneMovingCallback:function(){n.active=!1,S.isToolLocked=!1}},t.options);n.active=!0,S.isToolLocked=!0,de(e.detail,t.name,n,null,o,a),e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()},Me=function(e){function t(e){var n=e.name,a=e.strategies,i=e.defaultStrategy,r=e.configuration,l=e.supportedInteractionTypes,c=e.mixins;return o()(this,t),s()(this,u()(t).call(this,{name:n,strategies:a,defaultStrategy:i,configuration:r,supportedInteractionTypes:l,mixins:c}))}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){throw new Error("Method createNewMeasurement not implemented for ".concat(this.name,"."))}},{key:"pointNearTool",value:function(e,t,n){arguments.length>3&&void 0!==arguments[3]&&arguments[3];throw new Error("Method pointNearTool not implemented for ".concat(this.name,"."))}},{key:"distanceFromPoint",value:function(e,t,n){throw new Error("Method distanceFromPoint not implemented for ".concat(this.name,"."))}},{key:"renderToolData",value:function(e){throw new Error("renderToolData not implemented for ".concat(this.name,"."))}},{key:"mouseMoveCallback",value:function(e){for(var t=e.detail,n=t.element,a=t.currentPoints.canvas,o=Q(n,this.name),i=!1,r=0;r<o.data.length;r++){var l=o.data[r];!0===ie(n,l.handles,a)&&(i=!0);var s=this.pointNearTool(n,l,a)&&!l.active,c=!this.pointNearTool(n,l,a)&&l.active;(s||c)&&(l.active=!l.active,i=!0)}return i}},{key:"handleSelectedCallback",value:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse";Te(e,this,t,n,a)}},{key:"toolSelectedCallback",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mouse";Ee(e,this,t,n)}}]),t}(Y),Ce=1,we=2;var Ie={setToolWidth:function(e){Ce=e},getToolWidth:function(){return Ce},setActiveWidth:function(e){we=e},getActiveWidth:function(){return we}},Se="white",ke="greenyellow",Pe="transparent";var _e={setFillColor:function(e){Pe=e},getFillColor:function(){return Pe},setToolColor:function(e){Se=e},getToolColor:function(){return Se},setActiveColor:function(e){ke=e},getActiveColor:function(){return ke},getColorIfActive:function(e){return e.color?e.color:e.active?ke:Se}},Oe=function(e,t){e.save(),t(e),e.restore()},De=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,a=t.color,o=t.lineWidth,i=t.fillStyle,r=t.lineDash;e.beginPath(),e.strokeStyle=a||e.strokeStyle,e.lineWidth=o||void 0===o&&Ie.getToolWidth()||e.lineWidth,r&&e.setLineDash(r),n(e),i&&(e.fillStyle=i,e.fill()),e.stroke(),r&&e.setLineDash([])};function Le(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel";De(e,o,function(e){"pixel"===i&&(n=f.cornerstone.pixelToCanvas(t,n),a=f.cornerstone.pixelToCanvas(t,a)),e.moveTo(n.x,n.y),e.lineTo(a.x,a.y)})}var Ae=function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel";De(e,o,function(e){"pixel"===i&&(n=f.cornerstone.pixelToCanvas(t,n),a=a.map(function(e){return f.cornerstone.pixelToCanvas(t,e)})),e.moveTo(n.x,n.y),a.forEach(function(t){var n=t.x,a=t.y;e.lineTo(n,a)})})},He=function(e,t,n,a,o){var i=Math.atan2(n.y-t.y,n.x-t.x),r={color:a,lineWidth:o};Le(e,void 0,t,n,r,"canvas"),r={color:a,lineWidth:o,fillStyle:a};var l=[{x:n.x-10*Math.cos(i-Math.PI/7),y:n.y-10*Math.sin(i-Math.PI/7)},{x:n.x-10*Math.cos(i+Math.PI/7),y:n.y-10*Math.sin(i+Math.PI/7)},n];Ae(e,void 0,n,l,r,"canvas")},Re=function(e,t,n,a,o){"pixel"===(arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel")&&(n=f.cornerstone.pixelToCanvas(t,n)),De(e,o,function(e){e.arc(n.x,n.y,a,0,2*Math.PI)})},Ue=function(e,t,n,a,o){"pixel"===(arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel")&&(n=f.cornerstone.pixelToCanvas(t,n),a=f.cornerstone.pixelToCanvas(t,a));var i=Math.min(n.x,a.x),r=Math.min(n.y,a.y),l=Math.abs(n.x-a.x),s=Math.abs(n.y-a.y),c=l/2*.5522848,u=s/2*.5522848,d=i+l,h=r+s,v=i+l/2,g=r+s/2;De(e,o,function(e){e.moveTo(i,g),e.bezierCurveTo(i,g-u,v-c,r,v,r),e.bezierCurveTo(v+c,r,d,g-u,d,g),e.bezierCurveTo(d,g+u,v+c,h,v,h),e.bezierCurveTo(v-c,h,i,g+u,i,g),e.closePath()})},Ne=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=t.element,i=_e.getToolColor();e.strokeStyle=a.color||i;for(var r=Object.keys(n),l=function(t){var i=r[t],l=n[i];if(!0===l.drawnIndependently)return"continue";if(!0===a.drawHandlesIfActive&&!l.active)return"continue";var s=l.active?Ie.getActiveWidth():Ie.getToolWidth(),c=a.fill;De(e,{lineWidth:s,fillStyle:c},function(e){var t=f.cornerstone.pixelToCanvas(o,l),n=l.radius||a.handleRadius||S.handleRadius;e.arc(t.x,t.y,n,0,2*Math.PI)})},s=0;s<r.length;s++)l(s)},Be=function(e,t,n,a,o,i){var r=e.length>0?f.cornerstoneMath.point.findClosestPoint(e,t):t,l=[{x:n.left+n.width/2,y:n.top},{x:n.left,y:n.top+n.height/2},{x:n.left+n.width/2,y:n.top+n.height},{x:n.left+n.width,y:n.top+n.height/2}];Le(a,void 0,r,f.cornerstoneMath.point.findClosestPoint(l,r),{color:o,lineWidth:i,lineDash:[2,3]},"canvas")},Fe=15,Ve="".concat(Fe,"px Arial"),je="transparent";var ze={setFont:function(e){Ve=e},getFont:function(){return Ve},setFontSize:function(e){Fe=e},getFontSize:function(){return Fe},setBackgroundColor:function(e){je=e},getBackgroundColor:function(){return je}},We=function(e,t,n,a,o){var i=ze.getFontSize();e.font=ze.getFont(),e.textBaseline="top",e.fillStyle=a,n.forEach(function(n,a){e.fillText(n,t.left+o,t.top+o+a*(i+o))})},Ge=function(e,t,n){e.fillStyle=n,e.fillRect(t.left,t.top,t.width,t.height)};function qe(e,t,n){var a=ze.getFont(),o=e.font;a&&a!==o&&(e.font=a);var i=e.measureText(t).width;return a&&a!==o&&(e.font=o),i+2*n}var Ye=function(e,t,n,a,o,i){"[object Array]"!==Object.prototype.toString.call(t)&&(t=[t]);var r=ze.getFontSize(),l=ze.getBackgroundColor(),s=0;t.forEach(function(t){var n=qe(e,t,5);s=Math.max(s,n)});var c={width:s,height:5+t.length*(r+5)};return Oe(e,function(e){e.strokeStyle=o,i&&i.centering&&!0===i.centering.x&&(n-=c.width/2),i&&i.centering&&!0===i.centering.y&&(a-=c.height/2),c.left=n,c.top=a;var r=i&&!0===i.debug?"#FF0000":l;Ge(e,c,r),We(e,c,t,o,5)}),c},Xe=function(e,t,n,a,o,i,r,l,s,c){var u=f.cornerstone,d=u.pixelToCanvas(t,n);s&&(d.x+=s);var h={centering:{x:!1,y:c}};if(n.boundingBox=Ye(e,a,d.x,d.y,r,h),n.hasMoved){var v=i(o).map(function(e){return u.pixelToCanvas(t,e)});Be(v,d,n.boundingBox,e,r,l)}},Ke=function(e,t,n,a,o){if("pixel"===(arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel")){var i=f.cornerstone;n=i.pixelToCanvas(t,n),a=i.pixelToCanvas(t,a)}var r=Math.min(n.x,a.x),l=Math.min(n.y,a.y),s=Math.abs(n.x-a.x),c=Math.abs(n.y-a.y);De(e,o,function(e){e.rect(r,l,s,c)})},Ze=function(e){var t=e.getContext("2d");return t.setTransform(1,0,0,1,0,0),t},Je=function(e,t){return void 0===e?t:e},Qe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.shadow&&(e.shadowColor=Je(t.shadowColor,"#000000"),e.shadowBlur=Je(t.shadowBlur,0),e.shadowOffsetX=Je(t.shadowOffsetX,1),e.shadowOffsetY=Je(t.shadowOffsetY,1))},$e=function(e,t,n){if(n.vflip||n.vflip||n.rotation){var a={x:t.width/2+n.translation.x*n.scale,y:t.height/2+n.translation.y*n.scale};e.translate(a.x,a.y),n.rotation&&e.rotate(n.rotation*Math.PI/180),n.vflip&&e.scale(1,-1),n.hflip&&e.scale(-1,1),e.translate(-a.x,-a.y)}},et=function(e){e.setTransform(1,0,0,1,0,0)},tt=function(e,t,n,a){var o=f.cornerstone,i={start:o.pixelToCanvas(e,t),end:o.pixelToCanvas(e,n)};return f.cornerstoneMath.lineSegment.distanceToPoint(i,a)},nt=function(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n};function at(e){return Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))}var ot=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Angle",supportedInteractionTypes:["Mouse","Touch"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.preventNewMeasurement=!1,e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){return{visible:!0,active:!0,color:void 0,handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},middle:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}},{key:"pointNearTool",value:function(e,t,n){return!1!==t.visible&&(tt(e,t.handles.start,t.handles.middle,n)<25||tt(e,t.handles.middle,t.handles.end,n)<25)}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=n.enabledElement,o=this.configuration,i=o.handleRadius,r=o.drawHandlesOnHover,l=Q(e.currentTarget,this.name);if(l)for(var s=Ze(n.canvasContext.canvas),c=Ie.getToolWidth(),u=function(e){var o=l.data[e];if(!1===o.visible)return"continue";Oe(s,function(e){Qe(e,t.configuration);var l=_e.getColorIfActive(o),s=f.cornerstone.pixelToCanvas(n.element,o.handles.start),u=f.cornerstone.pixelToCanvas(n.element,o.handles.middle);Ae(e,n.element,o.handles.start,[o.handles.middle,o.handles.end],{color:l});var d={color:l,handleRadius:i,drawHandlesIfActive:r};Ne(e,n,o.handles,d);var v=n.image.columnPixelSpacing||1,g=n.image.rowPixelSpacing||1,m={x:(o.handles.middle.x-o.handles.start.x)*v,y:(o.handles.middle.y-o.handles.start.y)*g},p={x:(o.handles.end.x-o.handles.middle.x)*v,y:(o.handles.end.y-o.handles.middle.y)*g},y={x:(o.handles.end.x-o.handles.start.x)*v,y:(o.handles.end.y-o.handles.start.y)*g},x=at(m),T=at(p),b=at(y),E=Math.acos((Math.pow(x,2)+Math.pow(T,2)-Math.pow(b,2))/(2*x*T));if(E*=180/Math.PI,o.rAngle=nt(E,2),o.rAngle){var M,C=function(e,t,n){var a=t&&n?"":" (isotropic)";return e.rAngle.toString()+String.fromCharCode(parseInt("00B0",16))+a}(o,n.image.rowPixelSpacing,n.image.columnPixelSpacing);if(!o.handles.textBox.hasMoved){M={x:u.x,y:u.y};var w=qe(e,C,5);u.x<s.x?M.x-=15+w+10:M.x+=15;var I=f.cornerstone.internal.getTransform(a);I.invert();var S=I.transformPoint(M.x,M.y);o.handles.textBox.x=S.x,o.handles.textBox.y=S.y}Xe(e,n.element,o.handles.textBox,C,o.handles,h,l,c,0,!0)}})},d=0;d<l.data.length;d++)u(d);function h(e){return[e.start,e.middle,e.end]}}},{key:"addNewMeasurement",value:function(e,t){var n=this;if(!this.preventNewMeasurement){this.preventNewMeasurement=!0,e.preventDefault(),e.stopPropagation();var a=e.detail,o=this.createNewMeasurement(a),i=e.detail.element;J(i,this.name,o),f.cornerstone.updateImage(i);var r=Object.assign({},{doneMovingCallback:function(){o.active=!1,n.preventNewMeasurement=!1,f.cornerstone.updateImage(i)}},this.options),l=Object.assign({},{doneMovingCallback:function(){o.active=!1,o.handles.end.active=!0,f.cornerstone.updateImage(i),ye(a,n.name,o,o.handles.end,r,t)}},this.options);ye(a,this.name,o,o.handles.middle,l,t)}}}]),t}(Me),it=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"ArrowAnnotate",supportedInteractionTypes:["Mouse","Touch"],configuration:{getTextCallback:rt,changeTextCallback:lt,drawHandles:!1,drawHandlesOnHover:!0,arrowFirst:!0}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e.preventNewMeasurement=!1,e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){return{visible:!0,active:!0,color:void 0,handles:{start:{x:e.detail.currentPoints.image.x,y:e.detail.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.detail.currentPoints.image.x,y:e.detail.currentPoints.image.y,highlight:!0,active:!1},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}},{key:"pointNearTool",value:function(e,t,n){return!1!==t.visible&&tt(e,t.handles.start,t.handles.end,n)<25}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=n.element,o=n.enabledElement,i=this.configuration,r=i.handleRadius,l=i.drawHandlesOnHover,s=Q(a,this.name);if(s)for(var c=e.detail.canvasContext.canvas,u=Ze(c),d=Ie.getToolWidth(),h=function(n){var i=s.data[n];if(!1===i.visible)return"continue";Oe(u,function(n){Qe(n,t.configuration);var s=_e.getColorIfActive(i),c=f.cornerstone.pixelToCanvas(a,i.handles.start),u=f.cornerstone.pixelToCanvas(a,i.handles.end);t.configuration.arrowFirst?He(n,u,c,s,d):He(n,c,u,s,d);var h={color:s,handleRadius:r,drawHandlesIfActive:l};t.configuration.drawHandles&&Ne(n,e.detail,i.handles,h);var v=function(e){return e.text}(i);if(v&&""!==v){var m=qe(n,v,5),p=ze.getFontSize()+10,y=Math.max(m,p)/2+5;if(u.x<c.x&&(y=-y),!i.handles.textBox.hasMoved){var x;x=t.configuration.arrowFirst?{x:u.x-m/2+y,y:u.y-p/2}:{x:c.x-m/2-y,y:c.y-p/2};var T=f.cornerstone.internal.getTransform(o);T.invert();var b=T.transformPoint(x.x,x.y);i.handles.textBox.x=b.x,i.handles.textBox.y=b.y}Xe(n,a,i.handles.textBox,v,i.handles,g,s,d,0,!1)}})},v=0;v<s.data.length;v++)h(v);function g(e){var t={x:(e.start.x+e.end.x)/2,y:(e.start.y+e.end.y)/2};return[e.start,t,e.end]}}},{key:"addNewMeasurement",value:function(e,t){var n=this,a=e.detail.element,o=this.createNewMeasurement(e);J(a,this.name,o),f.cornerstone.updateImage(a);var i=Object.assign({},{doneMovingCallback:function(){void 0===o.text&&n.configuration.getTextCallback(function(e){e?o.text=e:$(a,n.name,o),o.active=!1,f.cornerstone.updateImage(a)}),f.cornerstone.updateImage(a)}},this.options);ye(e.detail,this.name,o,o.handles.end,i,t)}},{key:"doubleClickCallback",value:function(e){if(Array.isArray(this.options.mouseButtonMask)&&this.options.mouseButtonMask.includes(e.detail.buttons))return this._updateTextForNearbyAnnotation(e)}},{key:"touchPressCallback",value:function(e){return this._updateTextForNearbyAnnotation(e)}},{key:"_updateTextForNearbyAnnotation",value:function(e){var t=e.detail.element,n=e.detail.currentPoints.canvas,a=Q(t,this.name);if(!a)return!1;for(var o=0;o<a.data.length;o++){var i=a.data[o];if(this.pointNearTool(t,i,n)||ne(i.handles.textBox,n))return i.active=!0,f.cornerstone.updateImage(t),this.configuration.changeTextCallback(i,e.detail,this._doneChangingTextCallback.bind(this,t,i)),e.stopImmediatePropagation(),e.preventDefault(),e.stopPropagation(),!0}}},{key:"_doneChangingTextCallback",value:function(e,t,n,a){!0===a?$(e,this.name,t):t.text=n,t.active=!1,f.cornerstone.updateImage(e)}}]),t}(Me);function rt(e){e(prompt("Enter your annotation:"))}function lt(e,t,n){n(prompt("Change your annotation:"))}var st,ct=n(0),ut=n.n(ct),dt=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Object.assign({x:e,y:t,index:n,drawnIndependently:!1,allowedOutsideImage:!1,highlight:!0,active:!1},a)},ht=function(e){var t=e.currentPoints.image,n=t.x,a=t.y;return{toolType:this.name,isCreating:!0,visible:!0,active:!0,handles:{start:dt(n,a,0),end:dt(n,a,1,{active:!0}),perpendicularStart:dt(n,a,2,{locked:!0}),perpendicularEnd:dt(n,a,3),textBox:dt(n-50,a-70,null,{highlight:!1,hasMoved:!0,active:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0})},longestDiameter:0,shortestDiameter:0}},vt=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse",o=f.cornerstone,i=f.cornerstoneMath,r=t.handles,l={start:o.pixelToCanvas(e,r.start),end:o.pixelToCanvas(e,r.end)},s=i.lineSegment.distanceToPoint(l,n);if(ne(r.textBox,n))return!0;var c="mouse"===a?S.clickProximity:S.touchProximity;return!!function(e,t,n,a){var o=f.cornerstone,i=f.cornerstoneMath,r={start:o.pixelToCanvas(e,t.perpendicularStart),end:o.pixelToCanvas(e,t.perpendicularEnd)};return i.lineSegment.distanceToPoint(r,n)<a}(e,r,n,c)||s<c},gt=function(e){var t=this,n=e.detail,a=n.element,o=n.canvasContext,i=n.image,r=this.configuration,l=r.handleRadius,s=r.drawHandlesOnHover,c=Q(a,this.name);if(c){var u=f.cornerstone.metaData.get("imagePlaneModule",i.imageId),d=i.rowPixelSpacing,h=i.columnPixelSpacing;if(u&&(d=u.rowPixelSpacing||u.rowImagePixelSpacing,h=u.columnPixelSpacing||u.colImagePixelSpacing),d&&h)for(var v,g=Ze(o.canvas),m=_e.getActiveColor(),p=Ie.getToolWidth(),y=function(e){var o=c.data[e];if(!1===o.visible)return"continue";v=o.active?m:_e.getToolColor(),mt(o,d,h),Oe(g,function(e){Qe(e,t.configuration);var i=o.handles,r=i.start,c=i.end,u=i.perpendicularStart,g=i.perpendicularEnd,m=i.textBox;Le(e,a,r,c,{color:v});var f=p;!function(e,t){if(t.handles.perpendicularStart.locked){var n,a,o,i,r=t.handles,l=r.start,s=r.end;if(l.x===s.x&&l.y===s.y)n=l.x,a=l.y,o=s.x,i=s.y;else{var c={x:(l.x+s.x)/2,y:(l.y+s.y)/2},u=(l.x-s.x)*(e.image.columnPixelSpacing||1),d=(l.y-s.y)*(e.image.rowPixelSpacing||1),h=Math.sqrt(u*u+d*d),v=(l.x-s.x)/h,g=(l.y-s.y)/h,m=h/2;n=c.x+m/2*g,a=c.y-m/2*v,o=c.x-m/2*g,i=c.y+m/2*v}t.handles.perpendicularStart.x=n,t.handles.perpendicularStart.y=a,t.handles.perpendicularEnd.x=o,t.handles.perpendicularEnd.y=i}}(n,o),Le(e,a,u,g,{color:v,strokeWidth:f});var y={color:v,handleRadius:l,drawHandlesIfActive:s};Ne(e,n,o.handles,y);var x=ft(o,d,h);o.additionalData&&Array.isArray(o.additionalData)&&(x=o.additionalData.concat(x)),Xe(e,a,m,x,o.handles,function(e){return[e.start,e.end,e.perpendicularStart,e.perpendicularEnd]},v,p,10,!0)})},x=0;x<c.data.length;x++)y(x)}},mt=function(e,t,n){var a=e.handles,o=a.start,i=a.end,r=a.perpendicularStart,l=a.perpendicularEnd,s=(o.x-i.x)*(n||1),c=(o.y-i.y)*(t||1),u=Math.sqrt(s*s+c*c),d=(r.x-l.x)*(n||1),h=(r.y-l.y)*(t||1),v=Math.sqrt(d*d+h*h);if(v||(v=0),v>u){var g=u;u=v,v=g}e.longestDiameter=u.toFixed(1),e.shortestDiameter=v.toFixed(1)},ft=function(e,t,n){var a=" mm";return t&&n||(a=" pixels"),[" L ".concat(e.longestDiameter).concat(a)," W ".concat(e.shortestDiameter).concat(a)]},pt=function(e,t){var n=this,a=e.detail,o=a.element,i=a.image,r=this.configuration;if(!yt(i)){var l=this.createNewMeasurement(a),s=function(){l.active=!1,f.cornerstone.updateImage(o)};J(o,this.name,l),f.cornerstone.updateImage(o);var c=(new Date).getTime(),u=l.handles,d=u.end,h=u.perpendicularStart;ye(a,this.name,l,d,{doneMovingCallback:function(){var e=l.handles,t=l.longestDiameter,i=l.shortestDiameter,u=re(a,e),d=parseFloat(t)||0,v=parseFloat(i)||0,g=d<1||v<1,m=(new Date).getTime()-c<150;u||g||m?(l.cancelled=!0,$(o,n.name,l)):r.getMeasurementLocationCallback(l,a,s),h.locked=!1,f.cornerstone.updateImage(o)}},t)}},yt=function(e){var t=f.cornerstone.metaData.get("imagePlaneModule",e.imageId),n=e.rowPixelSpacing,a=e.columnPixelSpacing;return t&&(n=t.rowPixelSpacing||t.rowImagePixelSpacing,a=t.columnPixelSpacing||t.colImagePixelSpacing),!n||!a};var xt={setCoords:function(e){st=e.currentPoints.canvas},getCoords:function(){return st}},Tt=function(e){var t=this,n=e.detail,a=n.element;xt.setCoords(n);var o=Q(a,this.name);if(o){for(var i=!1,r=function(e){var r=n.currentPoints.canvas,l=o.data[e],s=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6,o=oe(e,t,n,a),i=!1;return Object.keys(t).forEach(function(e){if("textBox"!==e){var n=t[e],a=n===o;n.active!==a&&(i=!0),n.active=a}}),i}(a,l.handles,r);Object.keys(l.handles).forEach(function(e){if("textBox"!==e){var t=l.handles[e];t.hover=t.active}}),s&&(i=!0);var c=t.pointNearTool(a,l,r,"mouse"),u=c&&!l.active,d=!c&&l.active;(u||d)&&(l.active=!l.active,i=!0)},l=0;l<o.data.length;l++)r(l);!0===i&&f.cornerstone.updateImage(a)}},bt=function(e,t,n,a){var o,i,r,l,s={},c={},u={x:t.currentPoints.image.x+a.x,y:t.currentPoints.image.y+a.y};0===e.index?function(e,t){var n=f.cornerstoneMath.point.distance,a=t.handles,o=a.start,i=a.end,r=a.perpendicularStart,l=a.perpendicularEnd,s={start:{x:o.x,y:o.y},end:{x:i.x,y:i.y}},c={start:{x:r.x,y:r.y},end:{x:l.x,y:l.y}},u=f.cornerstoneMath.lineSegment.intersectLine(s,c),d=n(r,u),h=n(l,u),v=n(i,u),g=n(i,e);if(g<=v)return!1;var m=(i.x-e.x)/g,p=(i.y-e.y)/g,y=v/g,x=i.x+(e.x-i.x)*y,T=i.y+(e.y-i.y)*y;return r.x=x-d*p,r.y=T+d*m,l.x=x+h*p,l.y=T-h*m,!0}(u,n)?(e.x=u.x,e.y=u.y):(t.currentPoints.image.x=e.x,t.currentPoints.image.y=e.y):1===e.index?function(e,t){var n=f.cornerstoneMath.point.distance,a=t.handles,o=a.start,i=a.end,r=a.perpendicularStart,l=a.perpendicularEnd,s={start:{x:o.x,y:o.y},end:{x:i.x,y:i.y}},c={start:{x:r.x,y:r.y},end:{x:l.x,y:l.y}},u=f.cornerstoneMath.lineSegment.intersectLine(s,c),d=n(r,u),h=n(l,u),v=n(o,u),g=n(o,e);if(g<=v)return!1;var m=(o.x-e.x)/g,p=(o.y-e.y)/g,y=v/g,x=o.x+(e.x-o.x)*y,T=o.y+(e.y-o.y)*y;return r.x=x+d*p,r.y=T-d*m,l.x=x-h*p,l.y=T+h*m,!0}(u,n)?(e.x=u.x,e.y=u.y):(t.currentPoints.image.x=e.x,t.currentPoints.image.y=e.y):2===e.index?(o=!1,s.start={x:n.handles.start.x,y:n.handles.start.y},s.end={x:n.handles.end.x,y:n.handles.end.y},c.start={x:n.handles.perpendicularEnd.x,y:n.handles.perpendicularEnd.y},c.end={x:u.x,y:u.y},(i=f.cornerstoneMath.lineSegment.intersectLine(s,c))||(c.end={x:n.handles.perpendicularStart.x,y:n.handles.perpendicularStart.y},i=f.cornerstoneMath.lineSegment.intersectLine(s,c),r=f.cornerstoneMath.point.distance(i,n.handles.start),l=f.cornerstoneMath.point.distance(i,n.handles.end),(!i||r<3||l<3)&&(o=!0)),!1,o||function(e,t){var n=f.cornerstoneMath.point.distance,a=t.handles,o=a.start,i=a.end,r=a.perpendicularStart,l=a.perpendicularEnd,s=l,c=f.cornerstoneMath.lineSegment.distanceToPoint(t.handles,s),u=f.cornerstoneMath.lineSegment.distanceToPoint(t.handles,e),d=c+u;if(n(s,e)<=c)return!1;var h=n(o,i);if(0===h)return!1;var v=(o.x-i.x)/h,g=(o.y-i.y)/h,m=o.x-1*v,p=o.y-1*g,y=i.x+1*v,x=i.y+1*g;r.x=e.x,r.y=e.y,l.x=e.x-d*g,l.y=e.y+d*v;var T={start:{x:o.x,y:o.y},end:{x:i.x,y:i.y}},b={start:{x:r.x,y:r.y},end:{x:l.x,y:l.y}};return f.cornerstoneMath.lineSegment.intersectLine(T,b)||(n(e,o)>n(e,i)?(r.x=y+u*g,r.y=x-u*v,l.x=r.x-d*g,l.y=r.y+d*v):(r.x=m+u*g,r.y=p-u*v,l.x=r.x-d*g,l.y=r.y+d*v)),!0}(u,n)||(t.currentPoints.image.x=n.handles.perpendicularStart.x,t.currentPoints.image.y=n.handles.perpendicularStart.y)):3===e.index&&(o=!1,s.start={x:n.handles.start.x,y:n.handles.start.y},s.end={x:n.handles.end.x,y:n.handles.end.y},c.start={x:n.handles.perpendicularStart.x,y:n.handles.perpendicularStart.y},c.end={x:u.x,y:u.y},(i=f.cornerstoneMath.lineSegment.intersectLine(s,c))||(c.end={x:n.handles.perpendicularEnd.x,y:n.handles.perpendicularEnd.y},i=f.cornerstoneMath.lineSegment.intersectLine(s,c),r=f.cornerstoneMath.point.distance(i,n.handles.start),l=f.cornerstoneMath.point.distance(i,n.handles.end),(!i||r<3||l<3)&&(o=!0)),!1,o||function(e,t){var n=f.cornerstoneMath.point.distance,a=t.handles,o=a.start,i=a.end,r=a.perpendicularStart,l=a.perpendicularEnd,s=r,c=f.cornerstoneMath.lineSegment.distanceToPoint(t.handles,s),u=f.cornerstoneMath.lineSegment.distanceToPoint(t.handles,e),d=c+u;if(n(s,e)<=c)return!1;var h=n(o,i),v=(o.x-i.x)/h,g=(o.y-i.y)/h,m=o.x-1*v,p=o.y-1*g,y=i.x+1*v,x=i.y+1*g;r.x=e.x+d*g,r.y=e.y-d*v,l.x=e.x,l.y=e.y,l.locked=!1,r.locked=!1;var T={start:{x:o.x,y:o.y},end:{x:i.x,y:i.y}},b={start:{x:r.x,y:r.y},end:{x:l.x,y:l.y}};return f.cornerstoneMath.lineSegment.intersectLine(T,b)||(n(e,o)>n(e,i)?(l.x=y-u*g,l.y=x+u*v,r.x=l.x+d*g,r.y=l.y-d*v):(l.x=m-u*g,l.y=p+u*v,r.x=l.x+d*g,r.y=l.y-d*v)),!0}(u,n)||(t.currentPoints.image.x=n.handles.perpendicularEnd.x,t.currentPoints.image.y=n.handles.perpendicularEnd.y))},Et=function(e,t,n){var a=e[n],o=t[n];e[n]=o,t[n]=a},Mt=function(e,t){Et(e,t,"x"),Et(e,t,"y"),Et(e,t,"moving"),Et(e,t,"hover"),Et(e,t,"active"),Et(e,t,"selected")};var Ct=function(e){var t,n=this,a=e.detail,o=a.element,i=S.clickProximity,r=function(e){t.invalidated=!0,re(a,t.handles)&&$(o,n.name,t),e&&(e.moving=!1,e.selected=!0),o.style.cursor="",f.cornerstone.updateImage(o),o.addEventListener(x.MOUSE_MOVE,n._moveCallback),o.addEventListener(x.TOUCH_START,n._moveCallback)},l=a.startPoints.canvas,s=Q(e.currentTarget,this.name);if(s){for(var c=function(c){t=s.data[c];var u=[o,t.handles,l,i],d=oe.apply(void 0,u);if(d)return o.removeEventListener(x.MOUSE_MOVE,n._moveCallback),o.removeEventListener(x.TOUCH_START,n._moveCallback),t.active=!0,wt(t.handles),d.moving=!0,d=function(e,t,n){var a=e.image,o=a.rowPixelSpacing,i=a.columnPixelSpacing,r=t.handles,l=r.start,s=r.end,c=r.perpendicularStart,u=r.perpendicularEnd,d=(l.x-s.x)*(i||1),h=(l.y-s.y)*(o||1),v=Math.sqrt(d*d+h*h),g=(c.x-u.x)*(i||1),m=(c.y-u.y)*(o||1);return(Math.sqrt(g*g+m*m)||0)>v?(Mt(l,s),Mt(l,c),Mt(s,u),Object.values(r).find(function(e){return!0===e.moving})):n}(a,t,d),o.style.cursor=d.hasBoundingBox?"move":"none",function(e,t,n,a,o,i){var r=e.element,l={x:a.x-e.currentPoints.image.x,y:a.y-e.currentPoints.image.y},s=function(e){var o=e.detail;a.active=!0,a.hasMoved=!0,void 0===a.index||null===a.index?(a.x=o.currentPoints.image.x+l.x,a.y=o.currentPoints.image.y+l.y):bt(a,o,n,l),i&&(a.x=Math.max(a.x,0),a.x=Math.min(a.x,o.image.width),a.y=Math.max(a.y,0),a.y=Math.min(a.y,o.image.height)),f.cornerstone.updateImage(r);var s={toolType:t,element:r,measurementData:n};f.cornerstone.triggerEvent(r,x.MEASUREMENT_MODIFIED,s)};r.addEventListener(x.MOUSE_DRAG,s),r.addEventListener(x.TOUCH_DRAG,s);var c=f.cornerstone.getImage(r),u=function(){f.cornerstone.getImage(r).imageId!==c.imageId&&d()};r.addEventListener(f.cornerstone.EVENTS.IMAGE_RENDERED,u);var d=function e(){r.removeEventListener(f.cornerstone.EVENTS.IMAGE_RENDERED,u),r.removeEventListener(x.MOUSE_DRAG,s),r.removeEventListener(x.MOUSE_UP,e),r.removeEventListener(x.MOUSE_CLICK,e),r.removeEventListener(x.TOUCH_DRAG,s),r.removeEventListener(x.TOUCH_DRAG_END,e),r.removeEventListener(x.TAP,e),f.cornerstone.updateImage(r),"function"==typeof o&&o()};r.addEventListener(x.MOUSE_UP,d),r.addEventListener(x.MOUSE_CLICK,d),r.addEventListener(x.TOUCH_DRAG_END,d),r.addEventListener(x.TAP,d)}(a,n.name,t,d,function(){return r(d)}),St(e),{v:!0}},u=0;u<s.data.length;u++){var d=c(u);if("object"===y()(d))return d.v}var h=function(e){return function(){It(e,!1),r()}};for(u=0;u<s.data.length;u++)if(t=s.data[u],this.pointNearTool(o,t,l,"mouse")){o.removeEventListener(x.MOUSE_MOVE,this._moveCallback),o.removeEventListener(x.TOUCH_START,this._moveCallback),t.active=!0,wt(t.handles),It(t.handles,!0);var v=h(t.handles);return de(a,this.name,t,null,{deleteIfHandleOutsideImage:!0,preventHandleOutsideImage:!1,doneMovingCallback:v},"mouse"),St(e),!0}}},wt=function(e){var t=!1;return Object.keys(e).forEach(function(n){"textBox"!==n&&(e[n].selected=!1,t=e[n].active||t,e[n].active=!1)}),t},It=function(e,t){Object.keys(e).forEach(function(n){"textBox"!==n&&(e[n].moving=t)})},St=function(e){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()},kt=[x.TOUCH_END,x.TOUCH_DRAG_END,x.TOUCH_PINCH,x.TOUCH_PRESS,x.TAP],Pt=function(e){var t,n=this,a=e.detail,o=a.element,i=S.touchProximity,r=function(e){t.invalidated=!0,re(a,t.handles)&&$(o,n.name,t),e&&(e.moving=!1,e.selected=!0),f.cornerstone.updateImage(o),o.addEventListener(x.TOUCH_DRAG,n._moveCallback)},l=a.startPoints.canvas,s=Q(e.currentTarget,this.name);if(s){for(var c=function(c){t=s.data[c];var u=[o,t.handles,l,i],d=oe.apply(void 0,u);if(d)return o.removeEventListener(x.TOUCH_DRAG,n._moveCallback),t.active=!0,_t(t.handles),d.moving=!0,function(e,t,n,a,o,i){var r=e.element,l={x:a.x-e.currentPoints.image.x,y:a.y-e.currentPoints.image.y},s=function(e){var o=e.detail;a.active=!0,a.hasMoved=!0,void 0===a.index||null===a.index?(a.x=o.currentPoints.image.x+l.x,a.y=o.currentPoints.image.y+l.y):bt(a,o,n,l),i&&(a.x=Math.max(a.x,0),a.x=Math.min(a.x,o.image.width),a.y=Math.max(a.y,0),a.y=Math.min(a.y,o.image.height)),f.cornerstone.updateImage(r);var s=x.MEASUREMENT_MODIFIED,c={toolType:t,element:r,measurementData:n};f.cornerstone.triggerEvent(r,s,c)};r.addEventListener(x.TOUCH_DRAG,s);var c=function e(){r.removeEventListener(x.TOUCH_DRAG,s),kt.forEach(function(t){r.removeEventListener(t,e)}),f.cornerstone.updateImage(r),"function"==typeof o&&o()};kt.forEach(function(e){r.addEventListener(e,c)})}(a,n.name,t,d,function(){return r(d)}),Dt(e),{v:!0}},u=0;u<s.data.length;u++){var d=c(u);if("object"===y()(d))return d.v}var h=function(e){return function(){Ot(e,!1),r()}};for(u=0;u<s.data.length;u++)if(t=s.data[u],this.pointNearTool(o,t,l,"touch")){o.removeEventListener(x.TOUCH_DRAG,this._moveCallback),t.active=!0,_t(t.handles),Ot(t.handles,!0);var v=h(t.handles);return de(a,this.name,t,null,{deleteIfHandleOutsideImage:!0,preventHandleOutsideImage:!1,doneMovingCallback:v},"touch"),Dt(e),!0}}},_t=function(e){var t=!1;return Object.keys(e).forEach(function(n){"textBox"!==n&&(e[n].selected=!1,t=e[n].active||t,e[n].active=!1)}),t},Ot=function(e,t){Object.keys(e).forEach(function(n){"textBox"!==n&&(e[n].moving=t)})},Dt=function(e){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()},Lt=function(e,t,n){return n()},At=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"Bidirectional",supportedInteractionTypes:["Mouse","Touch"],configuration:{changeMeasurementLocationCallback:Lt,getMeasurementLocationCallback:Lt,textBox:"",shadow:"",drawHandlesOnHover:!0,additionalData:[]}},i=Object.assign(a.configuration,n),r=Object.assign(a,{configuration:i});return(e=s()(this,u()(t).call(this,r))).createNewMeasurement=ht.bind(ut()(ut()(e))),e.pointNearTool=vt.bind(ut()(ut()(e))),e.renderToolData=gt.bind(ut()(ut()(e))),e.addNewMeasurement=pt.bind(ut()(ut()(e))),e._moveCallback=Tt.bind(ut()(ut()(e))),e.preMouseDownCallback=Ct.bind(ut()(ut()(e))),e.preTouchStartCallback=Pt.bind(ut()(ut()(e))),e}return h()(t,e),t}(Me),Ht=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"CobbAngle",supportedInteractionTypes:["Mouse","Touch"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.hasIncomplete=!1,e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){return this.hasIncomplete=!0,{visible:!0,active:!0,color:void 0,complete:!1,value:"",handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},start2:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1,drawnIndependently:!0},end2:{x:e.currentPoints.image.x+1,y:e.currentPoints.image.y,highlight:!0,active:!1,drawnIndependently:!0},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}},{key:"pointNearTool",value:function(e,t,n){return!1!==t.visible&&(!this.hasIncomplete&&(tt(e,t.handles.start,t.handles.end,n)<25||tt(e,t.handles.start2,t.handles.end2,n)<25))}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=this.configuration,o=a.handleRadius,i=a.drawHandlesOnHover,r=Q(e.currentTarget,this.name);if(r)for(var l=Ze(n.canvasContext.canvas),s=Ie.getToolWidth(),c=ze.getFont(),u=function(e){var a=r.data[e];if(!1===a.visible)return"continue";Oe(l,function(e){Qe(e,t.configuration);var r=_e.getColorIfActive(a);Le(e,n.element,a.handles.start,a.handles.end,{color:r}),a.complete&&Le(e,n.element,a.handles.start2,a.handles.end2,{color:r});var l={color:r,handleRadius:o,drawHandlesIfActive:i};Ne(e,n,a.handles,l),e.fillStyle=r;var u=a.value;if(!a.handles.textBox.hasMoved){var d={x:(a.handles.start.x+a.handles.end.x)/2,y:(a.handles.start.y+a.handles.end.y)/2-10};e.font=c,a.handles.textBox.x=d.x,a.handles.textBox.y=d.y}Xe(e,n.element,a.handles.textBox,u,a.handles,h,r,s,0,!0)})},d=0;d<r.data.length;d++)u(d);function h(e){return[e.start,e.start2,e.end,e.end2]}}},{key:"getIncomplete",value:function(e){var t=Q(e,this.name);if(void 0!==t)for(var n=0;n<t.data.length;n++)if(!1===t.data[n].complete)return t.data[n]}},{key:"addNewMeasurement",value:function(e,t){e.preventDefault(),e.stopPropagation();var n,a,o=e.detail,i=e.detail.element,r=this.getIncomplete(i);r?((n=r).complete=!0,n.handles.start2={x:o.currentPoints.image.x,y:o.currentPoints.image.y,drawnIndependently:!1,highlight:!0,active:!1},n.handles.end2={x:o.currentPoints.image.x,y:o.currentPoints.image.y,drawnIndependently:!1,highlight:!0,active:!0},a=n.handles.end2,this.hasIncomplete=!1):(n=this.createNewMeasurement(o),J(i,this.name,n),a=n.handles.end),f.cornerstone.updateImage(i),ye(o,this.name,n,a,this.options,t)}},{key:"onMeasureModified",value:function(e){var t=f.cornerstone.getEnabledElement(e.detail.element).image;if(e.detail.toolName===this.name){var n=e.detail.measurementData;n.value=function(e,t){var n=t.columnPixelSpacing||1,a=t.rowPixelSpacing||1,o=(Math.ceil(e.handles.start.x)-Math.ceil(e.handles.end.x))*n,i=(Math.ceil(e.handles.start.y)-Math.ceil(e.handles.end.y))*a,r=(Math.ceil(e.handles.start2.x)-Math.ceil(e.handles.end2.x))*n,l=(Math.ceil(e.handles.start2.y)-Math.ceil(e.handles.end2.y))*a,s=Math.acos(Math.abs((o*r+i*l)/(Math.sqrt(o*o+i*i)*Math.sqrt(r*r+l*l))));s*=180/Math.PI;var c=nt(s,2);if(!Number.isNaN(e.rAngle))return function(e,t,n){var a=t&&n?"":" (isotropic)";return e.toString()+String.fromCharCode(parseInt("00B0",16))+a}(c,t.rowPixelSpacing,t.columnPixelSpacing);return""}(n,t)}}},{key:"activeCallback",value:function(e){this.onMeasureModified=this.onMeasureModified.bind(this),e.addEventListener(x.MEASUREMENT_MODIFIED,this.onMeasureModified)}},{key:"passiveCallback",value:function(e){this.onMeasureModified=this.onMeasureModified.bind(this),e.addEventListener(x.MEASUREMENT_MODIFIED,this.onMeasureModified)}},{key:"enabledCallback",value:function(e){e.removeEventListener(x.MEASUREMENT_MODIFIED,this.onMeasureModified)}},{key:"disabledCallback",value:function(e){e.removeEventListener(x.MEASUREMENT_MODIFIED,this.onMeasureModified)}}]),t}(Me),Rt=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=f.cornerstone,o=a.metaData.get("patientStudyModule",e.imageId),i=a.metaData.get("generalSeriesModule",e.imageId);if(o&&i&&"PT"===i.modality){var r=n?t:t*e.slope+e.intercept,l=o.patientWeight;if(l){var s=a.metaData.get("petIsotopeModule",e.imageId);if(s){var c=s.radiopharmaceuticalInfo,u=c.radiopharmaceuticalStartTime,d=c.radionuclideTotalDose,h=c.radionuclideHalfLife,v=i.seriesTime;if(u&&d&&h&&v){var g=Ut(v.fractionalSeconds||0)+v.seconds+60*v.minutes+60*v.hours*60-(Ut(u.fractionalSeconds)+u.seconds+60*u.minutes+60*u.hours*60);return r*l/(d*Math.exp(-g*Math.log(2)/h))*1e3}}}}};function Ut(e){return parseFloat(".".concat(e))}var Nt=function(e,t){var n=e.width/2,a=e.height/2;if(n<=0||a<=0)return!1;var o=e.left+n,i=e.top+a,r=t.x-o,l=t.y-i;return r*r/(n*n)+l*l/(a*a)<=1},Bt=function(e,t){for(var n=0,a=0,o=0,i=0,r=null,l=null,s=t.top;s<t.top+t.height;s++)for(var c=t.left;c<t.left+t.width;c++){Nt(t,{x:c,y:s})&&(null===r&&(r=e[i],l=e[i]),n+=e[i],a+=e[i]*e[i],r=Math.min(r,e[i]),l=Math.max(l,e[i]),o++),i++}if(0===o)return{count:o,mean:0,variance:0,stdDev:0,min:0,max:0};var u=n/o,d=a/o-u*u;return{count:o,mean:u,variance:d,stdDev:Math.sqrt(d),min:r,max:l}},Ft={calculateEllipseStatistics:Bt,pointInEllipse:Nt},Vt=function(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")};var jt=function(e){var t=y()(e);return null!=e&&("object"==t||"function"==t)};var zt=function(e,t,n){var a,o,i,r,l,s,c=0,u=!1,d=!1,h=!0,v=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=a,i=o;return a=o=void 0,c=t,r=e.apply(i,n)}function m(e,t){return v?window.requestAnimationFrame(e):setTimeout(e,t)}function f(e){var n=e-s;return void 0===s||n>=t||n<0||d&&e-c>=i}function p(){var e=Date.now();if(f(e))return y(e);l=m(p,function(e){var n=e-c,a=t-(e-s);return d?Math.min(a,i-n):a}(e))}function y(e){return l=void 0,h&&a?g(e):(a=o=void 0,r)}function x(){for(var e=Date.now(),n=f(e),i=arguments.length,h=new Array(i),v=0;v<i;v++)h[v]=arguments[v];if(a=h,o=this,s=e,n){if(void 0===l)return function(e){return c=e,l=m(p,t),u?g(e):r}(s);if(d)return l=m(p,t),g(s)}return void 0===l&&(l=m(p,t)),r}return t=Number(t)||0,jt(n)&&(u=Boolean(n.leading),i=(d="maxWait"in n)?Math.max(Number(n.maxWait)||0,t):i,h="trailing"in n?Boolean(n.trailing):h),x.cancel=function(){void 0!==l&&function(e){if(v)return window.cancelAnimationFrame(e);clearTimeout(e)}(l),c=0,a=s=o=l=void 0},x.flush=function(){return void 0===l?r:y(Date.now())},x.pending=function(){return void 0!==l},x};var Wt=function(e,t,n){var a=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return jt(n)&&(a="leading"in n?Boolean(n.leading):a,o="trailing"in n?Boolean(n.trailing):o),zt(e,t,{leading:a,trailing:o,maxWait:t})},Gt=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"EllipticalRoi",supportedInteractionTypes:["Mouse","Touch"],configuration:{}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image)return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}};console.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n,a){var o=t&&t.handles&&t.handles.start&&t.handles.end;if(o||console.warn("invalid parameters supplieed to tool ".concat(this.name,"'s pointNearTool")),!o||!1===t.visible)return!1;var i="mouse"===a?15:25,r=f.cornerstone.pixelToCanvas(e,t.handles.start),l=f.cornerstone.pixelToCanvas(e,t.handles.end),s={left:Math.min(r.x,l.x)+i/2,top:Math.min(r.y,l.y)+i/2,width:Math.abs(r.x-l.x)-i,height:Math.abs(r.y-l.y)-i},c={left:Math.min(r.x,l.x)-i/2,top:Math.min(r.y,l.y)-i/2,width:Math.abs(r.x-l.x)+i,height:Math.abs(r.y-l.y)+i},u=Nt(s,n);return!(!Nt(c,n)||u)}},{key:"renderToolData",value:function(e){var t=this,n=Q(e.currentTarget,this.name);if(n){var a=e.detail,o=a.image,i=a.element,r=Ie.getToolWidth(),l=this.configuration,s=l.handleRadius,c=l.drawHandlesOnHover,u=Ze(a.canvasContext.canvas),d=f.cornerstone.metaData.get("generalSeriesModule",o.imageId)||{},h=f.cornerstone.metaData.get("imagePlaneModule",o.imageId),v=d.modality,g=h&&h.rowPixelSpacing&&h.columnPixelSpacing,m={rowPixelSpacing:(h=h||{}).rowPixelSpacing||1,columnPixelSpacing:h.columnPixelSpacing||1};Oe(u,function(e){for(var l=0;l<n.data.length;l++){var u=n.data[l];if(!1!==u.visible){var d=_e.getColorIfActive(u),h={color:d,handleRadius:s,drawHandlesIfActive:c};Qe(e,t.configuration),Ue(e,i,u.handles.start,u.handles.end,{color:d}),Ne(e,a,u.handles,h),!0===u.invalidated&&(u.cachedStats?qt(o,i,u,v,m):Yt(o,i,u,v,m)),u.handles.textBox.hasMoved||(u.handles.textBox.x=Math.max(u.handles.start.x,u.handles.end.x),u.handles.textBox.y=(u.handles.start.y+u.handles.end.y)/2);var f=Xt(e,o.color,u.cachedStats,v,g,t.configuration);Xe(e,i,u.handles.textBox,f,u.handles,function(e){return t=e.start,n=e.end,a=Kt(t,n),o=a.left,i=a.top,r=a.width,l=a.height,[{x:o+r/2,y:i},{x:o,y:i+l/2},{x:o+r/2,y:i+l},{x:o+r,y:i+l/2}];var t,n,a,o,i,r,l},d,r,0,!0)}}})}}}]),t}(Me),qt=Wt(Yt,110);function Yt(e,t,n,a,o){var i=function(e,t,n,a,o){var i,r=Kt(n.start,n.end),l=f.cornerstone.getPixels(t,r.left,r.top,r.width,r.height),s=Bt(l,r);"PT"===a&&(i={mean:Rt(e,s.mean,!0)||0,stdDev:Rt(e,s.stdDev,!0)||0});return{area:Math.PI*(r.width*(o.columnPixelSpacing||1)/2)*(r.height*(o.rowPixelSpacing||1)/2)||0,count:s.count||0,mean:s.mean||0,variance:s.variance||0,stdDev:s.stdDev||0,min:s.min||0,max:s.max||0,meanStdDevSUV:i}}(e,t,n.handles,a,o);n.cachedStats=i,n.invalidated=!1}function Xt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=n.area,o=n.mean,i=n.stdDev,r=n.min,l=n.max,s=n.meanStdDevSUV,c=arguments.length>3?arguments[3]:void 0,u=arguments.length>4?arguments[4]:void 0,d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},h=d.showMinMax||!1,v=!1!==d.showHounsfieldUnits,g=[],m=[];if(!t){var f=s&&0!==s.mean,p="CT"===c&&v?" HU":"",y="Mean: ".concat(Vt(o.toFixed(2))).concat(p),x="Std Dev: ".concat(Vt(i.toFixed(2))).concat(p);if(f){for(var T="".concat(" SUV: ").concat(Vt(s.mean.toFixed(2))),b="".concat(" SUV: ").concat(Vt(s.stdDev.toFixed(2))),E=Math.floor(e.measureText("".concat(x," ")).width);e.measureText(y).width<E;)y+=" ";m.push("".concat(y).concat(T)),m.push("".concat(x," ").concat(b))}else m.push("".concat(y," ").concat(x));if(h){for(var M="Min: ".concat(r).concat(p),C="Max: ".concat(l).concat(p),w=f?Math.floor(e.measureText("".concat(x," ")).width):Math.floor(e.measureText("".concat(y," ")).width);e.measureText(M).width<w;)M+=" ";m.push("".concat(M).concat(C))}}return g.push(function(e,t){var n=t?" mm".concat(String.fromCharCode(178)):" px".concat(String.fromCharCode(178));return"Area: ".concat(Vt(e.toFixed(2))).concat(n)}(a,u)),m.forEach(function(e){return g.push(e)}),g}function Kt(e,t){return{left:Math.round(Math.min(e.x,t.x)),top:Math.round(Math.min(e.y,t.y)),width:Math.round(Math.abs(e.x-t.x)),height:Math.round(Math.abs(e.y-t.y))}}var Zt=n(9),Jt=n.n(Zt),Qt=function(e,t){for(var n=!1,a=e.length-1,o=0;o<e.length;o++)$t(t,e[o],e[a])&&(n=!n),a=o;return n};function $t(e,t,n){return a=e.y,o=t.y,i=n.y,!(!(o<a&&a<i||i<a&&a<o)||!function(e,t,n){if(t.x>e.x&&n.x>e.x)return!0;if(t.x===n.x)return e.x<t.x;if(t.x>n.x){var a=t;t=n,n=a}var o=function(e,t,n){var a=(n.y-t.y)/(n.x-t.x);return{value:t.x+a*(e.x-t.x),gradient:a}}(e,t,n);return Math.sign(o.gradient)*e.y>o.value}(e,t,n));var a,o,i}function en(e,t,n,a){Qt(e,t)&&(n.value+=a,n.squared+=a*a,n.count++)}var tn=function e(t,n){o()(this,e),this.toolIndex=t,this.handleIndexArray=n},nn=function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];o()(this,e),this.x=t.x,this.y=t.y,this.highlight=n,this.active=a,this.lines=[]};function an(e,t,n,a){for(var o=e.length-1,i=0;i<e.length;i++)if(-1===a.indexOf(i)&&-1===a.indexOf(o)){if(on(t,n,rn(e[o]),rn(e[i])))return!0;o=i}else o=i;return!1}function on(e,t,n,a){var o=!1,i=[ln(e,t,n),ln(e,t,a),ln(n,a,e),ln(n,a,t)];return i[0]!==i[1]&&i[2]!==i[3]||(0===i[0]&&sn(e,n,t)?o=!0:0===i[1]&&sn(e,a,t)?o=!0:0===i[2]&&sn(n,e,a)?o=!0:0===i[3]&&sn(n,t,a)&&(o=!0),o)}function rn(e){return{x:e.x,y:e.y}}function ln(e,t,n){var a=(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y);return 0===a?0:a>0?1:2}function sn(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}var cn={newHandle:function(e,t){var n=t.length-1;return an(t,rn(t[n]),rn(e),[n])},end:function(e){var t=e.length-1;return an(e,rn(e[t]),rn(e[0]),[t,0])},modify:function(e,t){var n=rn(e[t]),a=t-1;0===t&&(a=e.length-1);var o=rn(e[a]);return!!an(e,n,o,[t,a])||an(e,n,o=rn(e[a=t===e.length-1?0:t+1]),[t,a])}},un=function(){function e(t,n){o()(this,e),this._eventData=t,this._toolName=n}return r()(e,[{key:"findLine",value:function(){var e=this.findTool();if(null===e)return null;var t=this._getCloseLinesInTool(e);return t?this._findCorrectLine(e,t):null}},{key:"findTool",value:function(){return this._toolData=Q(this._eventData.element,this._toolName),this._mousePoint=this._eventData.currentPoints.canvas,this._toolData?this._nearestHandleToPointAllTools().toolIndex:null}},{key:"_nearestHandleToPointAllTools",value:function(){for(var e=this._toolData,t={toolIndex:null,handleIndex:null,distance:1/0},n=0;n<e.data.length;n++){var a=this._nearestHandleToPoint(n);null!==a&&(a.distance<t.distance&&(t=a))}return t}},{key:"_nearestHandleToPoint",value:function(e){var t=this._eventData,n=this._toolData.data[e];if(void 0===n.handles)return null;if(!1===n.visible)return null;for(var a={toolIndex:e,handleIndex:null,distance:1/0},o=0;o<n.handles.length;o++){var i=f.cornerstone.pixelToCanvas(t.element,n.handles[o]),r=f.cornerstoneMath.point.distance(i,this._mousePoint);r<a.distance&&(a.handleIndex=o,a.distance=r)}return a}},{key:"_getCloseLinesInTool",value:function(t){for(var n=this._toolData.data[t].handles,a=[],o=0;o<n.length;o++){var i=e.getNextHandleIndex(o,n.length);this._distanceOfPointfromLine(n[o],n[i])<10&&a.push([o,i])}return a}},{key:"_findCorrectLine",value:function(e,t){for(var n=0;n<t.length;n++)if(this._pointProjectsToLineSegment(e,t[n]))return new tn(e,t[n]);return null}},{key:"_pointProjectsToLineSegment",value:function(t,n){var a=this._eventData,o=this._toolData.data[t];if(void 0!==o.handles){if(!1===o.visible)return!1;var i=o.handles[n[0]],r=o.handles[n[1]],l=e.getCanvasPointsFromHandles(i,r,a.element),s=e.getLineAsVector(l),c=this._getLineOriginToMouseAsVector(l),u=(c[0]*s[0]+c[1]*s[1])/s.magnitude;return u>0&&u<s.magnitude}}},{key:"_getLineOriginToMouseAsVector",value:function(e){return[this._mousePoint.x-e[0].x,this._mousePoint.y-e[0].y]}},{key:"_distanceOfPointfromLine",value:function(e,t){var n=this._eventData,a=f.cornerstone.pixelToCanvas(n.element,e),o=f.cornerstone.pixelToCanvas(n.element,t),i=this._mousePoint;return Math.abs((o.y-a.y)*i.x-(o.x-a.x)*i.y+o.x*a.y-o.y*a.x)/f.cornerstoneMath.point.distance(a,o)}}],[{key:"getCanvasPointsFromHandles",value:function(e,t,n){var a=[];return e.x<t.x?(a.push(f.cornerstone.pixelToCanvas(n,e)),a.push(f.cornerstone.pixelToCanvas(n,t))):(a.push(f.cornerstone.pixelToCanvas(n,t)),a.push(f.cornerstone.pixelToCanvas(n,e))),a}},{key:"getLineAsVector",value:function(e){var t=[e[1].x-e[0].x,e[1].y-e[0].y];return t.magnitude=f.cornerstoneMath.point.distance(e[0],e[1]),t}},{key:"getNextHandleIndex",value:function(e,t){return e<t-1?e+1:0}}]),e}();var dn={calculateFreehandStatistics:function(e,t,n){var a={count:0,mean:0,variance:0,stdDev:0},o=function(e,t,n){for(var a={value:0,squared:0,count:0},o=0,i=t.top;i<t.top+t.height;i++)for(var r=t.left;r<t.left+t.width;r++){var l={x:r,y:i};en(n,l,a,e[o]),o++}return a}(e,t,n);return 0===o.count?a:(a.count=o.count,a.mean=o.value/o.count,a.variance=o.squared/o.count-a.mean*a.mean,a.stdDev=Math.sqrt(a.variance),a)},ClickedLineData:tn,freehandArea:function(e,t){var n=0,a=e.length-1;t=t||1;for(var o=0;o<e.length;o++)n+=(e[a].x+e[o].x)*(e[a].y-e[o].y),a=o;return Math.abs(n*t/2)},FreehandHandleData:nn,freehandIntersect:cn,FreehandLineFinder:un,insertOrDelete:function(e,t){var n=e.detail;if(t&&null!==t.handleNearby){var a={toolIndex:t.toolIndex,handleIndex:t.handleNearby};(function(e,t){var n=Q(e.element,this.name);if(void 0!==n){var a=t.handleIndex,o=t.toolIndex,i=n.data[o];i.handles.length<=3||(a===i.handles.length-1?(i.handles[a-1].lines.pop(),i.handles[a-1].lines.push(i.handles[0])):0===a?(i.handles[i.handles.length-1].lines.pop(),i.handles[i.handles.length-1].lines.push(i.handles[a+1])):(i.handles[a-1].lines.pop(),i.handles[a-1].lines.push(i.handles[a+1])),i.handles.splice(a,1),i.invalidated=!0,i.active=!0,i.highlight=!0,f.cornerstone.updateImage(e.element))}}).call(this,n,a)}else{var o=new un(n,this.name).findLine();o&&function(e,t){var n=Q(e.element,this.name);if(void 0!==n){var a=n.data[t.toolIndex],o=function(e){for(var t=e.handleIndexArray,n=1/0,a=t.includes(0),o=0;o<t.length;o++){var i=t[o];0!==i&&i<n&&(n=i)}return a&&1===n&&(n=0),++n}(t);if(o!==1/0){var i=new nn(e.currentPoints.image);a.handles.splice(o,0,i),a.handles[o-1].lines.pop(),a.handles[o-1].lines.push(e.currentPoints.image),o===a.handles.length-1?a.handles[o].lines.push(a.handles[0]):a.handles[o].lines.push(a.handles[o+1]),a.active=!0,a.highlight=!0,a.invalidated=!0,f.cornerstone.updateImage(e.element)}}}.call(this,n,o)}},pointInFreehand:Qt},hn=dn.insertOrDelete,vn=dn.freehandArea,gn=dn.calculateFreehandStatistics,mn=dn.freehandIntersect,fn=dn.FreehandHandleData,pn=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"FreehandMouse",supportedInteractionTypes:["Mouse"],configuration:{mouseLocation:{handles:{start:{highlight:!0,active:!0}}},spacing:5,activeHandleRadius:3,completeHandleRadius:6,alwaysShowHandles:!1,invalidColor:"crimson",currentHandle:0,currentTool:-1}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e._drawing=!1,e._dragging=!1,e._modifying=!1,e._drawingMouseDownCallback=e._drawingMouseDownCallback.bind(ut()(ut()(e))),e._drawingMouseMoveCallback=e._drawingMouseMoveCallback.bind(ut()(ut()(e))),e._drawingMouseDragCallback=e._drawingMouseDragCallback.bind(ut()(ut()(e))),e._drawingMouseUpCallback=e._drawingMouseUpCallback.bind(ut()(ut()(e))),e._editMouseUpCallback=e._editMouseUpCallback.bind(ut()(ut()(e))),e._editMouseDragCallback=e._editMouseDragCallback.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image){var t={visible:!0,active:!0,invalidated:!0,color:void 0,handles:[]};return t.handles.textBox={active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0},t}console.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n){var a=t&&t.handles;if(!a)throw new Error("invalid parameters supplied to tool ".concat(this.name,"'s pointNearTool"));return!(!a||!1===t.visible)&&void 0!==this._pointNearHandle(e,t,n)}},{key:"distanceFromPoint",value:function(e,t,n){for(var a=1/0,o=0;o<t.handles.length;o++){var i=f.cornerstoneMath.point.distance(t.handles[o],n);a=Math.min(a,i)}return a===1/0?-1:a}},{key:"distanceFromPointCanvas",value:function(e,t,n){for(var a=1/0,o=f.cornerstone.pixelToCanvas(e,n),i=t.handles,r=0;r<i.length;r++){var l=f.cornerstone.pixelToCanvas(e,i[r]),s=f.cornerstoneMath.point.distance(l,o);a=Math.min(a,s)}return a===1/0?-1:a}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=Q(e.currentTarget,this.name);if(a){var o,i=n.image,r=n.element,l=this.configuration,s=f.cornerstone.metaData.get("generalSeriesModule",i.imageId);s&&(o=s.modality);for(var c=Ze(n.canvasContext.canvas),u=Ie.getToolWidth(),d=function(e){var s=a.data[e];if(!1===s.visible)return"continue";Oe(c,function(e){var a,c=_e.getColorIfActive(s);if(s.active?s.handles.invalidHandlePlacement?(c=l.invalidColor,a=l.invalidColor):(c=_e.getColorIfActive(s),a=_e.getFillColor()):a=_e.getToolColor(),s.handles.length)for(var d=0;d<s.handles.length;d++){var h=Jt()(s.handles[d].lines);d!==s.handles.length-1||s.polyBoundingBox||h.push(l.mouseLocation.handles.start),Ae(e,n.element,s.handles[d],h,{color:c})}var g,m,p,y={color:c,fill:a};if((l.alwaysShowHandles||s.active&&s.polyBoundingBox)&&(y.handleRadius=l.activeHandleRadius,Ne(e,n,s.handles,y)),s.canComplete&&(y.handleRadius=l.completeHandleRadius,Ne(e,n,[s.handles[0]],y)),s.active&&!s.polyBoundingBox&&(y.handleRadius=l.activeHandleRadius,Ne(e,n,l.mouseLocation.handles,y),Ne(e,n,[s.handles[0]],y)),!1===s.invalidated)m=s.meanStdDev,p=s.meanStdDevSUV,g=s.area;else if(!s.active){for(var x={left:s.handles[0].x,right:s.handles[0].x,bottom:s.handles[0].y,top:s.handles[0].x},T=0;T<s.handles.length;T++)x.left=Math.min(x.left,s.handles[T].x),x.right=Math.max(x.right,s.handles[T].x),x.bottom=Math.min(x.bottom,s.handles[T].y),x.top=Math.max(x.top,s.handles[T].y);var b={left:x.left,top:x.bottom,width:Math.abs(x.right-x.left),height:Math.abs(x.top-x.bottom)};if(s.polyBoundingBox=b,!i.color){var E=f.cornerstone.getPixels(r,b.left,b.top,b.width,b.height);m=gn.call(t,E,b,s.handles),"PT"===o&&(p={mean:Rt(i,(m.mean-i.intercept)/i.slope),stdDev:Rt(i,(m.stdDev-i.intercept)/i.slope)}),m&&!isNaN(m.mean)&&(s.meanStdDev=m,s.meanStdDevSUV=p)}var M=(i.columnPixelSpacing||1)*(i.rowPixelSpacing||1);g=vn(s.handles,M),isNaN(g)||(s.area=g),s.invalidated=!1}if(s.polyBoundingBox&&!s.handles.textBox.freehand){s.handles.textBox.hasMoved||(s.handles.textBox.x=s.polyBoundingBox.left+s.polyBoundingBox.width,s.handles.textBox.y=s.polyBoundingBox.top+s.polyBoundingBox.height/2);var C=function(e){var t=e.meanStdDev,n=e.meanStdDevSUV,a=e.area,r=[];if(t&&void 0!==t.mean){var l="";"CT"===o&&(l=" HU");var s="Mean: ".concat(Vt(t.mean.toFixed(2))).concat(l),c="StdDev: ".concat(Vt(t.stdDev.toFixed(2))).concat(l);if(n&&void 0!==n.mean){s+=" SUV: "+Vt(n.mean.toFixed(2)),c+=" SUV: "+Vt(n.stdDev.toFixed(2))}r.push(s),r.push(c)}if(a){var u=" mm".concat(String.fromCharCode(178));i.rowPixelSpacing&&i.columnPixelSpacing||(u=" pixels".concat(String.fromCharCode(178)));var d="Area: ".concat(Vt(a.toFixed(2))).concat(u);r.push(d)}return r}.call(t,s);Xe(e,r,s.handles.textBox,C,s.handles,v,c,u,0,!0)}})},h=0;h<a.data.length;h++)d(h)}function v(e){return e}}},{key:"addNewMeasurement",value:function(e){var t=e.detail;this._drawing=!0,this._startDrawing(t),this._addPoint(t),yn(e)}},{key:"preMouseDownCallback",value:function(e){var t=e.detail,n=this._pointNearHandleAllTools(t);return!!t.event.ctrlKey&&(void 0!==n&&n.handleNearby.hasBoundingBox||hn.call(this,e,n),yn(e),!0)}},{key:"handleSelectedCallback",value:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse",o=e.detail,i=o.element;if(n.hasBoundingBox)Te(e,this,t,n,a);else{var r=this.configuration;r.dragOrigin={x:n.x,y:n.y};var l=this._pointNearHandleAllTools(o),s=l.handleNearby,c=l.toolIndex;this._modifying=!0,r.currentHandle=s,r.currentTool=c,this._activateModify(i),S.isToolLocked=!0,yn(e)}}},{key:"_drawingMouseMoveCallback",value:function(e){var t=e.detail,n=t.element,a=Q(t.element,this.name),o=this.configuration,i=o.currentTool,r=a.data[i],l=t.currentPoints.canvas;this._getMouseLocation(t),this._checkInvalidHandleLocation(r,t);var s=this._pointNearHandle(n,r,l);void 0!==s&&!s.hasBoundingBox&&s<r.handles.length-1&&(o.mouseLocation.handles.start.x=r.handles[s].x,o.mouseLocation.handles.start.y=r.handles[s].y),f.cornerstone.updateImage(t.element)}},{key:"_drawingMouseDragCallback",value:function(e){var t=e.detail,n=Q(t.element,this.name),a=this.configuration.currentTool,o=n.data[a];this._getMouseLocation(t),this._checkInvalidHandleLocation(o,t),this._addPointPencilMode(t,o.handles),this._dragging=!0,f.cornerstone.updateImage(t.element)}},{key:"_drawingMouseUpCallback",value:function(e){if(this._dragging){this._dragging=!1;var t=e.detail,n=t.element,a=this.configuration,o=a.currentTool,i=Q(t.element,this.name).data[o];if(!mn.end(i.handles)&&i.canComplete){var r=a.currentHandle;this._endDrawing(n,r)}yn(e)}}},{key:"_drawingMouseDownCallback",value:function(e){var t=e.detail,n=t.element,a=t.currentPoints.canvas,o=this.configuration,i=o.currentTool,r=Q(t.element,this.name).data[i],l=this._pointNearHandle(n,r,a);if(!mn.end(r.handles)&&r.canComplete){var s=o.currentHandle;this._endDrawing(n,s)}else void 0===l&&this._addPoint(t);yn(e)}},{key:"_editMouseDragCallback",value:function(e){var t=e.detail,n=Q(t.element,this.name),a=this.configuration,o=n.data[a.currentTool],i=a.currentHandle;if(this._getMouseLocation(t),o.handles.invalidHandlePlacement=mn.modify(o.handles,i),o.active=!0,o.highlight=!0,o.handles[i].x=a.mouseLocation.handles.start.x,o.handles[i].y=a.mouseLocation.handles.start.y,0!==i){var r=o.handles[i-1].lines.length-1,l=o.handles[i-1].lines[r];l.x=a.mouseLocation.handles.start.x,l.y=a.mouseLocation.handles.start.y}f.cornerstone.updateImage(t.element)}},{key:"_editMouseUpCallback",value:function(e){var t=e.detail,n=t.element,a=Q(t.element,this.name);this._deactivateModify(n),this._dropHandle(t,a),this._endDrawing(n),S.isToolLocked=!1,f.cornerstone.updateImage(t.element)}},{key:"_dropHandle",value:function(e,t){var n=this.configuration,a=n.currentTool,o=t.data[a].handles;if(o.invalidHandlePlacement){var i,r=n.currentHandle,l=o[r];if(0===r)i=o[o.length-1];else i=o[r-1];l.x=n.dragOrigin.x,l.y=n.dragOrigin.y,i.lines[0]=l,o.invalidHandlePlacement=!1}}},{key:"_startDrawing",value:function(e){var t=this.createNewMeasurement(e),n=e.element,a=this.configuration;S.isToolLocked=!0,this._referencedElement=n,this._activateDraw(n),this._getMouseLocation(e),J(e.element,this.name,t);var o=Q(e.element,this.name);a.currentTool=o.data.length-1}},{key:"_addPoint",value:function(e){var t=Q(e.element,this.name),n=this.configuration,a=t.data[n.currentTool];if(!a.handles.invalidHandlePlacement){var o=new fn(e.currentPoints.image);a.handles.length&&a.handles[n.currentHandle-1].lines.push(e.currentPoints.image),a.handles.push(o),n.currentHandle+=1,f.cornerstone.updateImage(e.element)}}},{key:"_addPointPencilMode",value:function(e,t){var n=this,a=this.configuration,o=e.element,i=a.mouseLocation.handles.start;t.every(function(e){return n._isDistanceLargerThanSpacingCanvas(o,e,i)})&&this._addPoint(e)}},{key:"_endDrawing",value:function(e,t){var n=Q(e,this.name),a=this.configuration,o=n.data[a.currentTool];o.active=!1,o.highlight=!1,o.handles.invalidHandlePlacement=!1,void 0!==t&&o.handles[a.currentHandle-1].lines.push(o.handles[0]),this._modifying&&(this._modifying=!1,o.invalidated=!0),a.currentHandle=0,a.currentTool=-1,o.canComplete=!1,this._drawing&&(this._drawing=!1,S.isToolLocked=!1,this._deactivateDraw(e)),f.cornerstone.updateImage(e)}},{key:"_pointNearHandle",value:function(e,t,n){var a=this.configuration;if(void 0!==t.handles&&!1!==t.visible){for(var o=0;o<t.handles.length;o++){var i=f.cornerstone.pixelToCanvas(e,t.handles[o]);if(f.cornerstoneMath.point.distance(i,n)<a.spacing)return o}return t.handles.textBox&&ne(t.handles.textBox,n)?t.handles.textBox:void 0}}},{key:"_pointNearHandleAllTools",value:function(e){var t=e.element,n=e.currentPoints.canvas,a=Q(t,this.name);if(a)for(var o,i=0;i<a.data.length;i++)if(void 0!==(o=this._pointNearHandle(t,a.data[i],n)))return{handleNearby:o,toolIndex:i}}},{key:"_getMouseLocation",value:function(e){var t=this.configuration;t.mouseLocation.handles.start.x=e.currentPoints.image.x,t.mouseLocation.handles.start.y=e.currentPoints.image.y,se(t.mouseLocation.handles.start,e.image)}},{key:"_checkInvalidHandleLocation",value:function(e,t){if(e.handles.length<2)return!0;var n;n=this._dragging?this._checkHandlesPencilMode(e,t):this._checkHandlesPolygonMode(e,t),e.handles.invalidHandlePlacement=n}},{key:"_checkHandlesPolygonMode",value:function(e,t){var n=this.configuration,a=t.element,o=n.mouseLocation.handles.start,i=e.handles,r=!1;return e.canComplete=!1,this._isDistanceSmallerThanSpacingCanvas(a,i[0],o)&&!mn.end(i)?(e.canComplete=!0,r=!1):r=mn.newHandle(o,i),r}},{key:"_checkHandlesPencilMode",value:function(e,t){var n=this.configuration.mouseLocation.handles.start,a=e.handles,o=mn.newHandle(n,a);return!1===o&&(o=this._invalidHandlePencilMode(e,t)),o}},{key:"_invalidHandlePencilMode",value:function(e,t){var n=this.configuration,a=t.element,o=n.mouseLocation.handles.start,i=e.handles;if(this._isDistanceSmallerThanSpacingCanvas(a,i[0],o))return e.canComplete=!0,!1;e.canComplete=!1;for(var r=1;r<i.length-1;r++)if(this._isDistanceSmallerThanSpacingCanvas(a,i[r],o))return!0;return!1}},{key:"_isDistanceSmallerThanSpacingCanvas",value:function(e,t,n){return this._compareDistanceToSpacingCanvas(e,t,n,"<")}},{key:"_isDistanceLargerThanSpacingCanvas",value:function(e,t,n){return this._compareDistanceToSpacingCanvas(e,t,n,">")}},{key:"_compareDistanceToSpacingCanvas",value:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:">",o=this.configuration,i=f.cornerstone.pixelToCanvas(e,t),r=f.cornerstone.pixelToCanvas(e,n);return">"===a?f.cornerstoneMath.point.distance(i,r)>o.spacing:f.cornerstoneMath.point.distance(i,r)<o.spacing}},{key:"_activateDraw",value:function(e){e.addEventListener(x.MOUSE_DOWN,this._drawingMouseDownCallback),e.addEventListener(x.MOUSE_MOVE,this._drawingMouseMoveCallback),e.addEventListener(x.MOUSE_DRAG,this._drawingMouseDragCallback),e.addEventListener(x.MOUSE_UP,this._drawingMouseUpCallback),f.cornerstone.updateImage(e)}},{key:"_deactivateDraw",value:function(e){e.removeEventListener(x.MOUSE_DOWN,this._drawingMouseDownCallback),e.removeEventListener(x.MOUSE_MOVE,this._drawingMouseMoveCallback),e.removeEventListener(x.MOUSE_DRAG,this._drawingMouseDragCallback),e.removeEventListener(x.MOUSE_UP,this._drawingMouseUpCallback),f.cornerstone.updateImage(e)}},{key:"_activateModify",value:function(e){e.addEventListener(x.MOUSE_UP,this._editMouseUpCallback),e.addEventListener(x.MOUSE_DRAG,this._editMouseDragCallback),e.addEventListener(x.MOUSE_CLICK,this._editMouseUpCallback),f.cornerstone.updateImage(e)}},{key:"_deactivateModify",value:function(e){e.removeEventListener(x.MOUSE_UP,this._editMouseUpCallback),e.removeEventListener(x.MOUSE_DRAG,this._editMouseDragCallback),e.removeEventListener(x.MOUSE_CLICK,this._editMouseUpCallback),f.cornerstone.updateImage(e)}},{key:"passiveCallback",value:function(e){this._closeToolIfDrawing(e)}},{key:"enabledCallback",value:function(e){this._closeToolIfDrawing(e)}},{key:"disabledCallback",value:function(e){this._closeToolIfDrawing(e)}},{key:"_closeToolIfDrawing",value:function(e){if(this._drawing){var t=this.configuration.currentHandle;this._endDrawing(e,t),f.cornerstone.updateImage(e)}}},{key:"spacing",get:function(){return this.configuration.spacing},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehand spacing to a value other than a number.");this.configuration.spacing=e,f.cornerstone.updateImage(this.element)}},{key:"activeHandleRadius",get:function(){return this.configuration.activeHandleRadius},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehand activeHandleRadius to a value other than a number.");this.configuration.activeHandleRadius=e,f.cornerstone.updateImage(this.element)}},{key:"completeHandleRadius",get:function(){return this.configuration.completeHandleRadius},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehand completeHandleRadius to a value other than a number.");this.configuration.completeHandleRadius=e,f.cornerstone.updateImage(this.element)}},{key:"alwaysShowHandles",get:function(){return this.configuration.alwaysShowHandles},set:function(e){if("boolean"!=typeof e)throw new Error("Attempting to set freehand alwaysShowHandles to a value other than a boolean.");this.configuration.alwaysShowHandles=e,f.cornerstone.updateImage(this.element)}},{key:"invalidColor",get:function(){return this.configuration.invalidColor},set:function(e){this.configuration.invalidColor=e,f.cornerstone.updateImage(this.element)}}]),t}(Me);function yn(e){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()}var xn=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Length",supportedInteractionTypes:["Mouse","Touch"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image){var t=e.currentPoints.image,n=t.x,a=t.y;return{visible:!0,active:!0,color:void 0,handles:{start:{x:n,y:a,highlight:!0,active:!1},end:{x:n,y:a,highlight:!0,active:!0},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}console.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n){var a=t&&t.handles&&t.handles.start&&t.handles.end;return a||console.warn("invalid parameters supplieed to tool ".concat(this.name,"'s pointNearTool")),!(!a||!1===t.visible)&&tt(e,t.handles.start,t.handles.end,n)<25}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=this.configuration,o=a.handleRadius,i=a.drawHandlesOnHover,r=Q(e.currentTarget,this.name);if(r){var l,s,c=Ze(n.canvasContext.canvas),u=n.image,d=n.element,h=Ie.getToolWidth(),v=f.cornerstone.metaData.get("imagePlaneModule",u.imageId);v?(l=v.rowPixelSpacing||v.rowImagePixelSpacing,s=v.columnPixelSpacing||v.colImagePixelSpacing):(l=u.rowPixelSpacing,s=u.columnPixelSpacing);for(var g=function(e){var a=r.data[e];if(!1===a.visible)return"continue";Oe(c,function(e){Qe(e,t.configuration);var r=_e.getColorIfActive(a);Le(e,d,a.handles.start,a.handles.end,{color:r});var c={color:r,handleRadius:o,drawHandlesIfActive:i};Ne(e,n,a.handles,c);var u=(a.handles.end.x-a.handles.start.x)*(s||1),v=(a.handles.end.y-a.handles.start.y)*(l||1),g=Math.sqrt(u*u+v*v);if(a.length=g,!a.handles.textBox.hasMoved){var m={x:Math.max(a.handles.start.x,a.handles.end.x)};m.x===a.handles.start.x?m.y=a.handles.start.y:m.y=a.handles.end.y,a.handles.textBox.x=m.x,a.handles.textBox.y=m.y}var f=function(e,t,n){var a=" mm";t&&n||(a=" pixels");return"".concat(e.length.toFixed(2)).concat(a)}(a,l,s);Xe(e,d,a.handles.textBox,f,a.handles,p,r,h,10,!0)})},m=0;m<r.data.length;m++)g(m)}function p(e){var t={x:(e.start.x+e.end.x)/2,y:(e.start.y+e.end.y)/2};return[e.start,t,e.end]}}}]),t}(Me),Tn=function(e,t,n,a,o){if(!e)throw new Error("getRGBPixels: parameter element must not be undefined");t=Math.round(t),n=Math.round(n);var i,r,l,s=f.cornerstone.getEnabledElement(e),c=[],u=0,d=s.image.getPixelData();if(s.image.color)for(r=0;r<o;r++)for(l=0;l<a;l++){var h=d[i=4*((r+n)*s.image.columns+(l+t))],v=d[i+1],g=d[i+2],m=d[i+3];c[u++]=h,c[u++]=v,c[u++]=g,c[u++]=m}return c},bn=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Probe",supportedInteractionTypes:["Mouse","Touch"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image)return{visible:!0,active:!0,color:void 0,handles:{end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0}}};console.error("required eventData not supplieed to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n){var a=t&&t.handles&&t.handles.end;if(a||console.warn("invalid parameters supplieed to tool ".concat(this.name,"'s pointNearTool")),!a||!1===t.visible)return!1;var o=f.cornerstone.pixelToCanvas(e,t.handles.end);return f.cornerstoneMath.point.distance(o,n)<5}},{key:"renderToolData",value:function(e){var t=e.detail,n=this.configuration.handleRadius,a=Q(e.currentTarget,this.name);if(a)for(var o=Ze(t.canvasContext.canvas),i=t.image,r=ze.getFontSize(),l=function(e){var l=a.data[e];if(!1===l.visible)return"continue";Oe(o,function(e){var a=_e.getColorIfActive(l);Ne(e,t,l.handles,{handleRadius:n,color:a});var o,s,c,u=Math.round(l.handles.end.x),d=Math.round(l.handles.end.y);if(u>=0&&d>=0&&u<i.columns&&d<i.rows){if(s="".concat(u,", ").concat(d),i.color)o=Tn(t.element,u,d,1,1),c="R: ".concat(o[0]," G: ").concat(o[1]," B: ").concat(o[2]);else{var h=(o=f.cornerstone.getStoredPixels(t.element,u,d,1,1))[0],v=h*i.slope+i.intercept,g=Rt(i,h);c="SP: ".concat(h," MO: ").concat(parseFloat(v.toFixed(3))),g&&(c+=" SUV: ".concat(parseFloat(g.toFixed(3))))}var m={x:l.handles.end.x+3,y:l.handles.end.y-3},p=f.cornerstone.pixelToCanvas(t.element,m);Ye(e,c,p.x,p.y+r+5,a),Ye(e,s,p.x,p.y,a)}})},s=0;s<a.data.length;s++)l(s)}}]),t}(Me),En=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"RectangleRoi",supportedInteractionTypes:["Mouse","Touch"],configuration:{}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image)return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}};console.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n,a){var o=t&&t.handles&&t.handles.start&&t.handles.end;if(o||console.warn("invalid parameters supplieed to tool ".concat(this.name,"'s pointNearTool")),!o||!1===t.visible)return!1;var i="mouse"===a?15:25,r=f.cornerstone.pixelToCanvas(e,t.handles.start),l=f.cornerstone.pixelToCanvas(e,t.handles.end),s={left:Math.min(r.x,l.x),top:Math.min(r.y,l.y),width:Math.abs(r.x-l.x),height:Math.abs(r.y-l.y)};return f.cornerstoneMath.rect.distanceToPoint(s,n)<i}},{key:"renderToolData",value:function(e){var t=this,n=Q(e.currentTarget,this.name);if(n){var a=e.detail,o=a.image,i=a.element,r=Ie.getToolWidth(),l=this.configuration,s=l.handleRadius,c=l.drawHandlesOnHover,u=Ze(a.canvasContext.canvas),d=f.cornerstone.metaData.get("generalSeriesModule",o.imageId)||{},h=f.cornerstone.metaData.get("imagePlaneModule",o.imageId),v=d.modality,g=h&&h.rowPixelSpacing&&h.columnPixelSpacing,m={rowPixelSpacing:(h=h||{}).rowPixelSpacing||1,columnPixelSpacing:h.columnPixelSpacing||1};Oe(u,function(e){for(var l=0;l<n.data.length;l++){var u=n.data[l];if(!1!==u.visible){var d=_e.getColorIfActive(u),h={color:d,handleRadius:s,drawHandlesIfActive:c};Qe(e,t.configuration),Ke(e,i,u.handles.start,u.handles.end,{color:d}),Ne(e,a,u.handles,h),!0===u.invalidated&&(u.cachedStats?Mn(o,i,u,v,m):Cn(o,i,u,v,m)),u.handles.textBox.hasMoved||(u.handles.textBox.x=Math.max(u.handles.start.x,u.handles.end.x),u.handles.textBox.y=(u.handles.start.y+u.handles.end.y)/2);var f=In(e,o.color,u.cachedStats,v,g,t.configuration);Xe(e,i,u.handles.textBox,f,u.handles,function(e){return t=e.start,n=e.end,a=wn(t,n),o=a.left,i=a.top,r=a.width,l=a.height,[{x:o+r/2,y:i},{x:o,y:i+l/2},{x:o+r/2,y:i+l},{x:o+r,y:i+l/2}];var t,n,a,o,i,r,l},d,r,0,!0)}}})}}}]),t}(Me),Mn=Wt(Cn,110);function Cn(e,t,n,a,o){var i=function(e,t,n,a,o){var i,r=wn(n.start,n.end),l=function(e,t){for(var n=0,a=0,o=0,i=0,r=e?e[0]:null,l=e?e[0]:null,s=t.top;s<t.top+t.height;s++)for(var c=t.left;c<t.left+t.width;c++)n+=e[i],a+=e[i]*e[i],r=Math.min(r,e[i]),l=Math.max(l,e[i]),o++,i++;if(0===o)return{count:o,mean:0,variance:0,stdDev:0,min:0,max:0};var u=n/o,d=a/o-u*u;return{count:o,mean:u,variance:d,stdDev:Math.sqrt(d),min:r,max:l}}(f.cornerstone.getPixels(t,r.left,r.top,r.width,r.height),r);"PT"===a&&(i={mean:Rt(e,l.mean,!0)||0,stdDev:Rt(e,l.stdDev,!0)||0});return{area:r.width*(o.columnPixelSpacing||1)*(r.height*(o.rowPixelSpacing||1))||0,count:l.count||0,mean:l.mean||0,variance:l.variance||0,stdDev:l.stdDev||0,min:l.min||0,max:l.max||0,meanStdDevSUV:i}}(e,t,n.handles,a,o);n.cachedStats=i,n.invalidated=!1}function wn(e,t){return{left:Math.min(e.x,t.x),top:Math.min(e.y,t.y),width:Math.abs(e.x-t.x),height:Math.abs(e.y-t.y)}}function In(e,t,n,a,o){var i=n.area,r=n.mean,l=n.stdDev,s=n.min,c=n.max,u=n.meanStdDevSUV,d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},h=d.showMinMax||!1,v=!1!==d.showHounsfieldUnits,g=[],m=[];if(!t){var f=u&&0!==u.mean,p="CT"===a&&v?" HU":"",y="Mean: ".concat(Vt(r.toFixed(2))).concat(p),x="Std Dev: ".concat(Vt(l.toFixed(2))).concat(p);if(f){for(var T="".concat(" SUV: ").concat(Vt(u.mean.toFixed(2))),b="".concat(" SUV: ").concat(Vt(u.stdDev.toFixed(2))),E=Math.floor(e.measureText("".concat(x," ")).width);e.measureText(y).width<E;)y+=" ";m.push("".concat(y).concat(T)),m.push("".concat(x," ").concat(b))}else m.push("".concat(y," ").concat(x));if(h){for(var M="Min: ".concat(s).concat(p),C="Max: ".concat(c).concat(p),w=f?Math.floor(e.measureText("".concat(x," ")).width):Math.floor(e.measureText("".concat(y," ")).width);e.measureText(M).width<w;)M+=" ";m.push("".concat(M).concat(C))}}return g.push(function(e,t){var n=t?" mm".concat(String.fromCharCode(178)):" px".concat(String.fromCharCode(178));return"Area: ".concat(Vt(e.toFixed(2))).concat(n)}(i,o)),m.forEach(function(e){return g.push(e)}),g}var Sn=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"TextMarker",supportedInteractionTypes:["Mouse","Touch"],configuration:{markers:[],current:"",ascending:!0,loop:!1,changeTextCallback:kn}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e.touchPressCallback=e._changeText.bind(ut()(ut()(e))),e.doubleClickCallback=e._changeText.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"createNewMeasurement",value:function(e){var t=this.configuration;if(t.current){var n={visible:!0,active:!0,text:t.current,color:void 0,handles:{end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0,hasBoundingBox:!0}}},a={left:0,top:0,width:e.image.width,height:e.image.height};if(f.cornerstoneMath.point.insideRect(n.handles.end,a)){var o=t.markers.indexOf(t.current);return(o+=t.ascending?1:-1)>=t.markers.length?o=t.loop?0:-1:o<0&&(o=t.loop?t.markers.length:-1),t.current=t.markers[o],n}}}},{key:"pointNearTool",value:function(e,t,n){if(!1===t.visible)return!1;if(t.handles.end.boundingBox){var a=f.cornerstoneMath.rect.distanceToPoint(t.handles.end.boundingBox,n),o=ne(t.handles.end,n);return a<10||o}}},{key:"renderToolData",value:function(e){var t=e.detail,n=this.configuration,a=Q(t.element,this.name);if(a)for(var o=Ze(t.canvasContext.canvas),i=function(e){var i=a.data[e];if(!1===i.visible)return"continue";var r=_e.getColorIfActive(i);Oe(o,function(e){Qe(e,n);var a=f.cornerstone.pixelToCanvas(t.element,i.handles.end);i.handles.end.boundingBox=Ye(e,i.text,a.x,a.y-10,r,{centering:{x:!0,y:!0}})})},r=0;r<a.data.length;r++)i(r)}},{key:"_changeText",value:function(e){var t,n=e.detail,a=n.element,o=n.currentPoints;function i(e,t,n){!0===n?$(a,this.name,e):e.text=t,e.active=!1,f.cornerstone.updateImage(a)}var r=this.configuration,l=o.canvas,s=Q(a,this.name);if(s)for(var c=0;c<s.data.length;c++)if(t=s.data[c],this.pointNearTool(a,t,l))return t.active=!0,f.cornerstone.updateImage(a),r.changeTextCallback(t,n,i),e.stopImmediatePropagation(),e.preventDefault(),void e.stopPropagation()}}]),t}(Me),kn=function(e,t,n){n(e,prompt("Change your annotation:"))},Pn=_.modules.brush,_n=Pn.state,On=Pn.setters,Dn=function(e){function t(e){var n,a=e.name,i=e.strategies,r=e.defaultStrategy,l=e.configuration,c=e.supportedInteractionTypes,d=e.mixins;return o()(this,t),l.referencedToolData="brush",(n=s()(this,u()(t).call(this,{name:a,strategies:i,defaultStrategy:r,configuration:l,supportedInteractionTypes:c,mixins:d}))).hasCursor=!0,n._drawing=!1,n._drawingMouseUpCallback=n._drawingMouseUpCallback.bind(ut()(ut()(n))),n}return h()(t,e),r()(t,[{key:"renderBrush",value:function(e){throw new Error("Method renderBrush not implemented for ".concat(this.name,"."))}},{key:"_paint",value:function(e){throw new Error("Method _paint not implemented for ".concat(this.name,"."))}},{key:"mouseDragCallback",value:function(e){this._startPainting(e)}},{key:"preMouseDownCallback",value:function(e){return this._startPainting(e),!0}},{key:"_startPainting",value:function(e){var t=e.detail,n=t.element;this._paint(e),this._drawing=!0,this._startListeningForMouseUp(n),this._lastImageCoords=t.currentPoints.image}},{key:"mouseMoveCallback",value:function(e){var t=e.detail.currentPoints;this._lastImageCoords=t.image}},{key:"passiveCallback",value:function(e){f.cornerstone.updateImage(this.element)}},{key:"renderToolData",value:function(e){(function(e,t){return"active"===O(e,t).mode})(e.detail.element,this.name)&&this.renderBrush(e)}},{key:"_getBrushColor",value:function(e){var t=f.cornerstone.colors.getColormap(_n.colorMapId).getColor(e);return this._drawing?"rgba(".concat(t[[0]],", ").concat(t[[1]],", ").concat(t[[2]],", 1.0 )"):"rgba(".concat(t[[0]],", ").concat(t[[1]],", ").concat(t[[2]],", 0.8 )")}},{key:"_drawingMouseUpCallback",value:function(e){var t=e.detail.element;this._drawing=!1,this._mouseUpRender=!0,this._stopListeningForMouseUp(t)}},{key:"_startListeningForMouseUp",value:function(e){e.removeEventListener(x.MOUSE_UP,this._drawingMouseUpCallback),e.removeEventListener(x.MOUSE_CLICK,this._drawingMouseUpCallback),e.addEventListener(x.MOUSE_UP,this._drawingMouseUpCallback),e.addEventListener(x.MOUSE_CLICK,this._drawingMouseUpCallback),f.cornerstone.updateImage(e)}},{key:"_stopListeningForMouseUp",value:function(e){e.removeEventListener(x.MOUSE_UP,this._drawingMouseUpCallback),e.removeEventListener(x.MOUSE_CLICK,this._drawingMouseUpCallback),f.cornerstone.updateImage(e)}},{key:"nextSegmentation",value:function(){var e=this.constructor.getNumberOfColors(),t=_n.drawColorId+1;t===e&&(t=0),_n.drawColorId=t}},{key:"previousSegmentation",value:function(){var e=this.constructor.getNumberOfColors(),t=_n.drawColorId-1;t<0&&(t=e-1),_n.drawColorId=t}},{key:"increaseBrushSize",value:function(){var e=_n.radius,t=Math.floor(1.2*e);t===e&&(t+=1),On.radius(t)}},{key:"decreaseBrushSize",value:function(){var e=_n.radius,t=Math.floor(.8*e);On.radius(t)}},{key:"showSegmentationOnElement",value:function(e){var t=this._getEnabledElement(),n=t.uuid;On.brushVisibilityForElement(n,e,!0),f.cornerstone.updateImage(t.element)}},{key:"hideSegmentationOnElement",value:function(e){var t=this._getEnabledElement(),n=t.uuid;On.brushVisibilityForElement(n,e,!1),f.cornerstone.updateImage(t.element)}},{key:"showAllSegmentationsOnElement",value:function(){for(var e=this._getEnabledElement(),t=e.uuid,n=f.cornerstone.colors.getColormap(_n.colorMapId).getNumberOfColors(),a=0;a<n;a++)On.brushVisibilityForElement(t,a,!0);f.cornerstone.updateImage(e.element)}},{key:"hideAllSegmentationsOnElement",value:function(){for(var e=this._getEnabledElement(),t=e.uuid,n=f.cornerstone.colors.getColormap(_n.colorMapId).getNumberOfColors(),a=0;a<n;a++)On.brushVisibilityForElement(t,a,!1);f.cornerstone.updateImage(e.element)}},{key:"_getEnabledElement",value:function(){return f.cornerstone.getEnabledElement(this.element)}},{key:"alpha",get:function(){_n.alpha},set:function(e){var t=this._getEnabledElement();_n.alpha=e,f.cornerstone.updateImage(t.element)}},{key:"hiddenButActiveAlpha",get:function(){_n.hiddenButActiveAlpha},set:function(e){var t=this._getEnabledElement();_n.hiddenButActiveAlpha=e,f.cornerstone.updateImage(t.element)}}],[{key:"getNumberOfColors",value:function(){return f.cornerstone.colors.getColormap(_n.colorMapId).getNumberOfColors()}},{key:"getReferencedToolDataName",value:function(){return"brush"}},{key:"invalidateBrushOnEnabledElement",value:function(e){var t=_.getters.enabledElementByUID(e),n=Q(t,"stack");if(n){for(var a=n.data[0].imageIds,o=f.cornerstone.getEnabledElement(t).image,i=(o.columns,o.rows,o.rows,o.columns,o.rows,a.length,K.saveToolState()),r=0;r<a.length;r++){var l=a[r];if(i[l]&&i[l].brush)for(var s=i[l].brush.data,c=0;c<s.length;c++)s[c].pixelData&&(s[c].invalidated=!0)}f.cornerstone.updateImage(t,!0)}}},{key:"getDataAsVolume",value:function(e){var t=_.getters.enabledElementByUID(e),n=Q(t,"stack");if(n)for(var a=n.data[0].imageIds,o=f.cornerstone.getEnabledElement(t).image,i={xy:o.columns*o.rows,z:o.rows,xyz:o.columns*o.rows*a.length},r=K.saveToolState(),l=new ArrayBuffer(i.xyz),s=(new Uint8Array(l),0);s<a.length;s++){var c=a[s];r[c]&&r[c].brush&&r[c].brush.data[0].pixelData}}}]),t}(Y);var Ln={drawBrushPixels:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.forEach(function(e){var o,i=(o=e[0],e[1]*n+o);t[i]=a?0:1})},drawBrushOnCanvas:function(e,t,n,a){var o=f.cornerstone.pixelToCanvas(a,{x:0,y:0}),i=f.cornerstone.pixelToCanvas(a,{x:1,y:1}),r=i.x-o.x,l=i.y-o.y;Oe(t,function(t){e.forEach(function(e){var o=f.cornerstone.pixelToCanvas(a,{x:e[0],y:e[1]}),i={left:o.x,top:o.y,width:r,height:l};Ge(t,i,n)})})},getCircle:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,i=Math.round(a),r=Math.round(o);if(1===e)return[[i,r]];for(var l=[],s=0,c=-e;c<=e;c++){var u=r+c;if(!(u>t||u<0))for(var d=-e;d<=e;d++){var h=i+d;h>n||h<0||d*d+c*c<e*e&&(l[s++]=[i+d,r+c])}}return l}},An=Ln.drawBrushPixels,Hn=Ln.getCircle,Rn=_.modules.brush.state,Un=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"Brush",supportedInteractionTypes:["Mouse"],strategies:{overlapping:Nn,nonOverlapping:Bn},defaultStrategy:"overlapping",configuration:{}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e}return h()(t,e),r()(t,[{key:"renderBrush",value:function(e){var t,n=e.detail,a=n.viewport;if(this._drawing?t=this._lastImageCoords:this._mouseUpRender?(t=this._lastImageCoords,this._mouseUpRender=!1):t=_.state.mousePositionImage,t){var o=n.image,i=o.rows,r=o.columns,l=t,s=l.x,c=l.y;if(!(s<0||s>r||c<0||c>i)){this._configuration;var u=Rn.radius,d=n.canvasContext,h=n.element,v=Rn.drawColorId,g=this._getBrushColor(v);d.setTransform(1,0,0,1,0,0);var m=f.cornerstone,p=u*a.scale,y=m.pixelToCanvas(h,t);d.beginPath(),d.strokeStyle=g,d.ellipse(y.x,y.y,p,p,0,0,2*Math.PI),d.stroke()}}}},{key:"_paint",value:function(e){this.applyActiveStrategy(e,this.configuration),f.cornerstone.triggerEvent(e.detail.element,x.MEASUREMENT_MODIFIED,e.detail),f.cornerstone.updateImage(e.detail.element)}}]),t}(Dn);function Nn(e,t){var n=e.detail,a=n.element,o=n.image,i=o.rows,r=o.columns,l=n.currentPoints.image,s=l.x,c=l.y,u=Q(a,t.referencedToolData),d=!1;Fn(n)&&(console.log("ctrlDown"),d=!0);var h=Rn.drawColorId;if(!u.data[h].pixelData){var v=new Uint8ClampedArray(n.image.width*n.image.height);u.data[h].pixelData=v}var g=u.data[h].pixelData,m=Rn.radius;if(!(s<0||s>r||c<0||c>i)){var f=Hn(m,i,r,s,c);An(f,g,r,d),u.data[h].invalidated=!0}}function Bn(e,t){var n=e.detail,a=n.element,o=n.image,i=o.rows,r=o.columns,l=n.currentPoints.image,s=l.x,c=l.y,u=Q(a,t.referencedToolData).data,d=!1;Fn(n)&&(console.log("ctrlDown"),d=!0);var h=Rn.drawColorId;if(!u[h].pixelData){var v=new Uint8ClampedArray(n.image.width*n.image.height);u[h].pixelData=v}var g=u[h].pixelData,m=Rn.radius;if(!(s<0||s>r||c<0||c>i)){var f=Hn(m,i,r,s,c);An(f,g,r,d),u[h].invalidated=!0;for(var p=Dn.getNumberOfColors(),y=0;y<p;y++)y!==h&&u[y]&&u[y].pixelData&&(An(f,u[y].pixelData,r,!0),u[y].invalidated=!0)}}function Fn(e){return e.event&&e.event.ctrlKey||e.ctrlKey}var Vn,jn,zn;var Wn={setStartLoadHandler:function(e){Vn=e},getStartLoadHandler:function(){return Vn},setEndLoadHandler:function(e){jn=e},getEndLoadHandler:function(){return jn},setErrorLoadingHandler:function(e){zn=e},getErrorLoadingHandler:function(){return zn}};function Gn(e){var t=f.cornerstoneMath;return e instanceof t.Vector3?e:new t.Vector3(e[0],e[1],e[2])}function qn(e,t){var n=Gn(t.rowCosines),a=Gn(t.columnCosines),o=Gn(t.imagePositionPatient),i=e.clone().sub(o);return{x:n.dot(i)/t.columnPixelSpacing,y:a.dot(i)/t.rowPixelSpacing}}function Yn(e,t){var n=Gn(t.rowCosines),a=Gn(t.columnCosines),o=Gn(t.imagePositionPatient),i=n.clone().multiplyScalar(e.x);i.multiplyScalar(t.columnPixelSpacing);var r=a.clone().multiplyScalar(e.y);r.multiplyScalar(t.rowPixelSpacing);var l=i.add(r);return l.add(o),l}function Xn(e,t){var n=Gn(e.rowCosines),a=Gn(e.columnCosines),o=Gn(e.imagePositionPatient),i=Gn(t.rowCosines),r=Gn(t.columnCosines),l=Gn(t.imagePositionPatient),s=n.clone().cross(a),c=new f.cornerstoneMath.Plane;c.setFromNormalAndCoplanarPoint(s,o);var u=i.clone().cross(r),d=new f.cornerstoneMath.Plane;d.setFromNormalAndCoplanarPoint(u,l);var h=d.clone().intersectPlane(c),v=h.origin,g=h.direction,m=Yn({x:t.columns,y:t.rows},t),p=l.distanceTo(m),y=new f.cornerstoneMath.Line3;y.start=v,y.end=v.clone().add(g.multiplyScalar(p));var x=function(e,t){var n=[];return Object.keys(t).forEach(function(a){var o=t[a],i=e.intersectLine(o);i&&n.push(i)}),n}(y,function(e){var t=Yn({x:0,y:0},e),n=Yn({x:e.columns,y:0},e),a=Yn({x:0,y:e.rows},e),o=Yn({x:e.columns,y:e.rows},e);return{top:new f.cornerstoneMath.Line3(t,n),left:new f.cornerstoneMath.Line3(t,a),right:new f.cornerstoneMath.Line3(n,o),bottom:new f.cornerstoneMath.Line3(a,o)}}(t));if(2===x.length)return{start:x[0],end:x[1]}}var Kn={};function Zn(e,t){if(!Kn[e])return{};var n=Kn[e].find(function(e){return e.element===t});return n?n.options:{}}function Jn(e,t,n){if(Kn[e]){var a=Kn[e].findIndex(function(e){return e.element===t});if(-1===a)Kn[e].push({element:t,options:n});else{var o=Kn[e][a].options||{};Kn[e][a].options=Object.assign(o,n)}}else Kn[e]=[{element:t,options:n}]}var Qn=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Crosshairs",supportedInteractionTypes:["Mouse","Touch"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.mouseDownCallback=e._chooseLocation.bind(ut()(ut()(e))),e.mouseDragCallback=e._chooseLocation.bind(ut()(ut()(e))),e.touchDragCallback=e._chooseLocation.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"_chooseLocation",value:function(e){var t=e.detail,n=t.element;e.stopImmediatePropagation();var a=Q(n,this.name);if(a){var o=n,i=f.cornerstone.getEnabledElement(o).image.imageId,r=f.cornerstone.metaData.get("imagePlaneModule",i);if(r){var l=Yn(t.currentPoints.image,r);a.data[0].synchronizationContext.getSourceElements().forEach(function(e){if(e!==o){var t=Number.MAX_VALUE,n=-1,a=Q(e,"stack");if(void 0!==a){var i=a.data[0];if(i.imageIds.forEach(function(e,a){var o=f.cornerstone.metaData.get("imagePlaneModule",e);if(o&&o.imagePositionPatient&&o.rowCosines&&o.columnCosines){var i=Gn(o.imagePositionPatient),r=Gn(o.rowCosines),s=Gn(o.columnCosines).clone().cross(r.clone()),c=Math.abs(s.clone().dot(i)-s.clone().dot(l));c<t&&(t=c,n=a)}}),n!==i.currentImageIdIndex&&-1!==n&&void 0!==i.imageIds[n]){var r=Wn.getStartLoadHandler(),s=Wn.getEndLoadHandler(),c=Wn.getErrorLoadingHandler();r&&r(e),(!0===i.preventCache?f.cornerstone.loadImage(i.imageIds[n]):f.cornerstone.loadAndCacheImage(i.imageIds[n])).then(function(t){var a=f.cornerstone.getViewport(e);i.currentImageIdIndex=n,f.cornerstone.displayImage(e,t,a),s&&s(e,t)},function(t){var a=i.imageIds[n];c&&c(e,a,t)})}}}})}}}},{key:"activeCallback",value:function(e,t){var n=t.mouseButtonMask,a=t.synchronizationContext;Jn(this.name,e,{mouseButtonMask:n}),ee(e,this.name),J(e,this.name,{synchronizationContext:a})}}]),t}(Y),$n=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"DoubleTapFitToWindow",supportedInteractionTypes:["DoubleTap"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"doubleTapCallback",value:function(e){var t=e.detail;f.cornerstone.fitToWindow(t.element)}}]),t}(Y),ea=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"DragProbe",strategies:{default:ta,minimal:na},defaultStrategy:"default",supportedInteractionTypes:["Mouse","Touch"],configuration:{}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).touchDragCallback=e._movingEventCallback.bind(ut()(ut()(e))),e.touchEndCallback=e._endMovingEventCallback.bind(ut()(ut()(e))),e.mouseDragCallback=e._movingEventCallback.bind(ut()(ut()(e))),e.mouseUpCallback=e._endMovingEventCallback.bind(ut()(ut()(e))),e.initialConfiguration=i,e.dragEventData={},e}return h()(t,e),r()(t,[{key:"_movingEventCallback",value:function(e){var t=e.detail,n=t.element;this.dragEventData=t,f.cornerstone.updateImage(n)}},{key:"_endMovingEventCallback",value:function(e){var t=e.detail.element;this.dragEventData={},f.cornerstone.updateImage(t)}},{key:"renderToolData",value:function(e){this.dragEventData.currentPoints&&e&&e.detail&&Boolean(Object.keys(this.dragEventData.currentPoints).length)&&(e.detail.currentPoints=this.dragEventData.currentPoints,this.applyActiveStrategy(e))}}]),t}(Y),ta=function(e,t){var n=f.cornerstone,a=e.detail,o=a.element,i=a.image,r=a.currentPoints,l=a.canvasContext,s=Ze(l.canvas),c=_e.getActiveColor(),u=ze.getFontSize(),d=Math.round(r.image.x),h=Math.round(r.image.y);d<0||h<0||d>=i.columns||h>=i.rows||Oe(s,function(e){Qe(e,t);var a,l,s="".concat(d,", ").concat(h);if(i.color)a=Tn(o,d,h,1,1),l="R: ".concat(a[0]," G: ").concat(a[1]," B: ").concat(a[2]," A: ").concat(a[3]);else{var v=(a=n.getStoredPixels(o,d,h,1,1))[0],g=v*i.slope+i.intercept,m=Rt(i,v);l="SP: ".concat(v," MO: ").concat(parseFloat(g.toFixed(3))),m&&(l+=" SUV: ".concat(parseFloat(m.toFixed(3))))}var f={x:r.canvas.x+5,y:r.canvas.y-5};Ye(e,l,f.x,f.y+u+5,c),Ye(e,s,f.x,f.y,c)})},na=function(e,t){var n=f.cornerstone,a=e.detail,o=a.element,i=a.image,r=a.currentPoints,l=a.canvasContext,s=a.isTouchEvent,c=Ze(l.canvas),u=_e.getActiveColor(),d=r.page.y-ze.getFontSize()/2;s&&(d=r.page.y-4*ze.getFontSize());var h=n.pageToPixel(o,r.page.x,d);h.x<0||h.y<0||h.x>=i.columns||h.y>=i.rows||Oe(c,function(e){Qe(e,t);var a,r=n.metaData.get("generalSeriesModule",i.imageId),l=r&&r.modality,c="";if(i.color)a=Tn(o,h.x,h.y,1,1),c="R: ".concat(a[0]," G: ").concat(a[1]," B: ").concat(a[2]);else{var d=(a=n.getStoredPixels(o,h.x,h.y,1,1))[0],v=d*i.slope+i.intercept,g=parseFloat(v.toFixed(2));if("CT"===l)c+="HU: ".concat(g);else if("PT"===l){c+=g;var m=Rt(i,d);m&&(c+=" SUV: ".concat(parseFloat(m.toFixed(2))))}else c+=g}var f=n.pixelToCanvas(o,h),p={x:12,y:-(ze.getFontSize()+10)/2},y=qe(e,c,5);s&&(p={x:-y/2,y:-ze.getFontSize()-10-12}),Re(e,o,f,6,{color:u},"canvas"),Ye(e,c,f.x+p.x,f.y+p.y,u)})},aa=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Eraser",supportedInteractionTypes:["Mouse","Touch"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.preMouseDownCallback=e._deleteAllNearbyTools.bind(ut()(ut()(e))),e.preTouchStartCallback=e._deleteAllNearbyTools.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"_deleteAllNearbyTools",value:function(e){var t=e.detail.currentPoints.canvas,n=e.detail.element;S.tools.forEach(function(e){var a=Q(n,e.name);a&&a.data.forEach(function(a){"function"==typeof e.pointNearTool&&e.pointNearTool(n,a,t)&&($(n,e.name,a),f.cornerstone.updateImage(n))})});return!0}}]),t}(Y),oa=dn.FreehandHandleData,ia=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"FreehandSculpterMouse",referencedToolName:"FreehandMouse",supportedInteractionTypes:["Mouse"],mixins:["activeOrDisabledBinaryTool"],configuration:{mouseLocation:{handles:{start:{highlight:!0,active:!0}}},minSpacing:5,maxSpacing:20,currentTool:null,dragColor:_e.getActiveColor(),hoverColor:_e.getToolColor(),showCursorOnHover:!0,limitRadiusOutsideRegion:!0,hoverCursorFadeAlpha:.5,hoverCursorFadeDistance:1.2}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).hasCursor=!0,e.initialConfiguration=i,e.referencedToolName=i.referencedToolName,e._active=!1,e.activeMouseUpCallback=e.activeMouseUpCallback.bind(ut()(ut()(e))),e.activeMouseDragCallback=e.activeMouseDragCallback.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"renderToolData",value:function(e){var t=e.detail;if(null===this.configuration.currentTool)return!1;if(this._active){var n=t.canvasContext.canvas.getContext("2d"),a={color:this.configuration.dragColor,fill:null,handleRadius:this._toolSizeCanvas};Ne(n,t,this.configuration.mouseLocation.handles,a)}else this.configuration.showCursorOnHover&&this._renderHoverCursor(e)}},{key:"doubleClickCallback",value:function(e){var t=e.detail;this._selectFreehandTool(t),f.cornerstone.updateImage(t.element)}},{key:"preMouseDownCallback",value:function(e){var t=e.detail;return null===this.configuration.currentTool?this._selectFreehandTool(t):this._initialiseSculpting(t),f.cornerstone.updateImage(t.element),!0}},{key:"activeMouseDragCallback",value:function(e){var t=this.configuration;if(this._active){var n=e.detail,a=Q(n.element,this.referencedToolName);if(a){var o=a.data[t.currentTool].handles;this._getMouseLocation(n),this._sculpt(n,o),f.cornerstone.updateImage(n.element)}}}},{key:"activeMouseUpCallback",value:function(e){var t=e.detail,n=t.element,a=this.configuration;this._active=!1,S.isToolLocked=!1,this._getMouseLocation(t),this._invalidateToolData(t),a.mouseUpRender=!0,this._deactivateSculpt(n),f.cornerstone.updateImage(t.element),function(e){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()}(e)}},{key:"_renderHoverCursor",value:function(e){var t,n=e.detail,a=n.element,o=n.canvasContext.canvas.getContext("2d"),i=Q(a,this.referencedToolName).data[this.configuration.currentTool];this.configuration.mouseUpRender?(t=this.configuration.mouseLocation.handles.start,this.configuration.mouseUpRender=!1):t=S.mousePositionImage;var r=O(a,this.referencedToolName).distanceFromPointCanvas(a,i,t);if(this.configuration.mouseLocation.handles.start.x=t.x,this.configuration.mouseLocation.handles.start.y=t.y,this.configuration.limitRadiusOutsideRegion){var l=r;r=this._limitCursorRadiusCanvas(n,r),l>this.configuration.hoverCursorFadeDistance*r&&(o.globalAlpha=this.configuration.hoverCursorFadeAlpha)}var s={fill:null,color:this.configuration.hoverColor,handleRadius:r};Ne(o,n,this.configuration.mouseLocation.handles,s),this.configuration.limitRadiusOutsideRegion&&(o.globalAlpha=1)}},{key:"newImageCallback",value:function(e){this._deselectAllTools(e)}},{key:"enabledCallback",value:function(e){this._deselectAllTools(e)}},{key:"passiveCallback",value:function(e){this._deselectAllTools(e)}},{key:"disabledCallback",value:function(e){this._deselectAllTools(e)}},{key:"_selectFreehandTool",value:function(e){var t=this.configuration,n=e.element,a=this._getClosestFreehandToolOnElement(n,e);void 0!==a&&(t.currentTool=a)}},{key:"_activateFreehandTool",value:function(e,t){var n=Q(e,this.referencedToolName).data;this.configuration.currentTool=t;for(var a=0;a<n.length;a++)n[a].active=a===t}},{key:"_initialiseSculpting",value:function(e){var t=e.element,n=this.configuration;this._active=!0,S.isToolLocked=!0,this._configureToolSize(e),this._getMouseLocation(e),this._activateFreehandTool(t,n.currentTool),this._activateSculpt(t)}},{key:"_sculpt",value:function(e,t){var n=this.configuration,a={element:e.element,image:e.image,mousePoint:e.currentPoints.image,dataHandles:t,toolSize:this._toolSizeImage,minSpacing:n.minSpacing,maxSpacing:n.maxSpacing};this._pushHandles(a),this._insertNewHandles(a),this._consolidateHandles(a)}},{key:"_pushHandles",value:function(e){for(var t=e.dataHandles,n=e.mousePoint,a=e.toolSize,o=0;o<t.length;o++){var i=f.cornerstoneMath.point.distance(t[o],n);i<a&&this._pushOneHandle(e,o,i)}}},{key:"_pushOneHandle",value:function(e,t,n){var a=e.dataHandles,o=a[t],i=e.mousePoint,r=e.toolSize,l=e.image,s=(o.x-i.x)/n,c=(o.y-i.y)/n,u={x:i.x+r*s,y:i.y+r*c};se(u,l),o.x=u.x,o.y=u.y;var d=this.constructor._getPreviousHandleIndex(t,a.length);a[d].lines.pop(),a[d].lines.push(o)}},{key:"_insertNewHandles",value:function(e){for(var t=this._findNewHandleIndicies(e),n=0,a=0;a<t.length;a++){var o=t[a]+1+n;this._insertHandleRadially(e,o),n++}}},{key:"_findNewHandleIndicies",value:function(e){for(var t=e.element,n=e.dataHandles,a=[],o=0;o<n.length;o++){var i=f.cornerstone.pixelToCanvas(t,n[o]),r=this.constructor._getNextHandleIndex(o,n.length),l=f.cornerstone.pixelToCanvas(t,n[r]);f.cornerstoneMath.point.distance(i,l)>e.maxSpacing&&a.push(o)}return a}},{key:"_insertHandleRadially",value:function(e,t){var n=e.dataHandles,a=t-1,o=this.constructor._getNextHandleIndexBeforeInsert(t,n.length),i=this.constructor._getInsertPosition(e,t,a,o),r=new oa(i);n.splice(t,0,r),n[a].lines.pop(),n[a].lines.push(n[t]),t===n.length-1?n[t].lines.push(n[0]):n[t].lines.push(n[t+1])}},{key:"_consolidateHandles",value:function(e){if(e.dataHandles.length>3){var t=this._findCloseHandlePairs(e);this._mergeCloseHandles(e,t)}}},{key:"_findCloseHandlePairs",value:function(e){for(var t=e.dataHandles,n=e.element,a=e.minSpacing,o=[],i=t.length,r=0;r<i;r++){var l=f.cornerstone.pixelToCanvas(n,t[r]),s=this.constructor._getNextHandleIndex(r,t.length),c=f.cornerstone.pixelToCanvas(n,t[s]);if(f.cornerstoneMath.point.distance(l,c)<a){var u=[r,s];o.push(u),0===r&&(i-=1),r++}}return o}},{key:"_mergeCloseHandles",value:function(e,t){for(var n=0,a=0;a<t.length;a++){var o=this.constructor._getCorrectedPair(t[a],n);this._combineHandles(e,o),n++}var i=this._findCloseHandlePairs(e);i.length&&this._mergeCloseHandles(e,i)}},{key:"_combineHandles",value:function(e,t){var n=e.dataHandles,a=e.image,o={x:(n[t[0]].x+n[t[1]].x)/2,y:(n[t[0]].y+n[t[1]].y)/2};se(o,a),n[t[0]].x=o.x,n[t[0]].y=o.y;var i=this.constructor._getNextHandleIndex(t[1],n.length);n[t[0]].lines.pop(),n[t[0]].lines.push(n[i]),n.splice(t[1],1)}},{key:"_configureToolSize",value:function(e){var t=e.element,n=this.configuration,a=n.currentTool,o=e.currentPoints.image,i=Q(t,this.referencedToolName).data[a],r=O(t,this.referencedToolName),l=r.distanceFromPoint(t,i,o),s=r.distanceFromPointCanvas(t,i,o);n.limitRadiusOutsideRegion&&(l=this._limitCursorRadiusImage(e,l),s=this._limitCursorRadiusCanvas(e,s)),this._toolSizeImage=l,this._toolSizeCanvas=s}},{key:"_getMouseLocation",value:function(e){var t=this.configuration;t.mouseLocation.handles.start.x=e.currentPoints.image.x,t.mouseLocation.handles.start.y=e.currentPoints.image.y,se(t.mouseLocation.handles.start,e.image)}},{key:"_activateSculpt",value:function(e){this._deactivateSculpt(e),e.addEventListener(x.MOUSE_UP,this.activeMouseUpCallback),e.addEventListener(x.MOUSE_CLICK,this.activeMouseUpCallback),e.addEventListener(x.MOUSE_DRAG,this.activeMouseDragCallback),f.cornerstone.updateImage(e)}},{key:"_deactivateSculpt",value:function(e){e.removeEventListener(x.MOUSE_UP,this.activeMouseUpCallback),e.removeEventListener(x.MOUSE_CLICK,this.activeMouseUpCallback),e.removeEventListener(x.MOUSE_DRAG,this.activeMouseDragCallback),f.cornerstone.updateImage(e)}},{key:"_invalidateToolData",value:function(e){var t=this.configuration;Q(e.element,this.referencedToolName).data[t.currentTool].invalidated=!0}},{key:"_deselectAllTools",value:function(e){var t=this.configuration,n=Q(this.element,this.referencedToolName);if(t.currentTool=null,n)for(var a=0;a<n.data.length;a++)n.data[a].active=!1;f.cornerstone.updateImage(this.element)}},{key:"_limitCursorRadiusCanvas",value:function(e,t){return this._limitCursorRadius(e,t,!0)}},{key:"_limitCursorRadiusImage",value:function(e,t){return this._limitCursorRadius(e,t,!1)}},{key:"_limitCursorRadius",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=e.element,o=e.image,i=this.configuration,r=Q(a,this.referencedToolName).data[i.currentTool],l=1;if(n){var s=f.cornerstone.pixelToCanvas(a,{x:0,y:0}),c=f.cornerstone.pixelToCanvas(a,{x:o.width,y:o.height});l=(c.x-s.x)*(c.y-s.y)/(o.width*o.height)}var u=r.area*l,d=Math.pow(u/Math.PI,.5);return Math.min(t,d)}},{key:"_getClosestFreehandToolOnElement",value:function(e,t){var n=O(e,this.referencedToolName),a=Q(e,this.referencedToolName);if(a){for(var o=a.data,i=t.currentPoints.image,r={distance:1/0,toolIndex:null},l=0;l<o.length;l++){var s=n.distanceFromPoint(e,o[l],i);-1!==s&&(s<r.distance&&(r.distance=s,r.toolIndex=l))}return r.toolIndex}}},{key:"minSpacing",get:function(){return this.configuration.minSpacing},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehandSculpter minSpacing to a value other than a number.");this.configuration.minSpacing=e}},{key:"maxSpacing",get:function(){return this.configuration.maxSpacing},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehandSculpter maxSpacing to a value other than a number.");this.configuration.maxSpacing=e}},{key:"showCursorOnHover",get:function(){return this.configuration.showCursorOnHover},set:function(e){if("boolean"!=typeof e)throw new Error("Attempting to set freehandSculpter showCursorOnHover to a value other than a boolean.");this.configuration.showCursorOnHover=e,f.cornerstone.updateImage(this.element)}},{key:"limitRadiusOutsideRegion",get:function(){return this.configuration.limitRadiusOutsideRegion},set:function(e){if("boolean"!=typeof e)throw new Error("Attempting to set freehandSculpter limitRadiusOutsideRegion to a value other than a boolean.");this.configuration.limitRadiusOutsideRegion=e,f.cornerstone.updateImage(this.element)}},{key:"hoverCursorFadeAlpha",get:function(){return this.configuration.hoverCursorFadeAlpha},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehandSculpter hoverCursorFadeAlpha to a value other than a number.");e=Math.max(Math.min(e,1),0),this.configuration.hoverCursorFadeAlpha=e,f.cornerstone.updateImage(this.element)}},{key:"hoverCursorFadeDistance",get:function(){return this.configuration.hoverCursorFadeDistance},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehandSculpter hoverCursorFadeDistance to a value other than a number.");e=Math.max(e,1),this.configuration.hoverCursorFadeDistance=e,f.cornerstone.updateImage(this.element)}}],[{key:"_getCorrectedPair",value:function(e,t){var n=[e[0]-t,e[1]-t];return n[1]<0&&(n[1]=0),n}},{key:"_getNextHandleIndex",value:function(e,t){return e===t-1?0:e+1}},{key:"_getPreviousHandleIndex",value:function(e,t){return 0===e?t-1:e-1}},{key:"_getNextHandleIndexBeforeInsert",value:function(e,t){return e===t?0:e}},{key:"_getInsertPosition",value:function(e,t,n,a){var o,i=e.toolSize,r=e.mousePoint,l=e.dataHandles,s=e.image,c={x:(l[n].x+l[a].x)/2,y:(l[n].y+l[a].y)/2},u=f.cornerstoneMath.point.distance(r,c);if(u<i){var d={x:(c.x-r.x)/u,y:(c.y-r.y)/u};o={x:r.x+i*d.x,y:r.y+i*d.y}}else o=c;return se(o,s),o}}]),t}(Y);var ra=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Magnify",supportedInteractionTypes:["Mouse","Touch"],configuration:{magnifySize:300,magnificationLevel:2}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.zoomCanvas=void 0,e.zoomElement=void 0,e.activeCallback=e._createMagnificationCanvas.bind(ut()(ut()(e))),e.enabledCallback=e._createMagnificationCanvas.bind(ut()(ut()(e))),e.disabledCallback=e._destroyMagnificationCanvas.bind(ut()(ut()(e))),e.postTouchStartCallback=e._addMagnifyingGlass.bind(ut()(ut()(e))),e.touchDragCallback=e._updateMagnifyingGlass.bind(ut()(ut()(e))),e.touchEndCallback=e._removeMagnifyingGlass.bind(ut()(ut()(e))),e.touchDragEndCallback=e._removeMagnifyingGlass.bind(ut()(ut()(e))),e.postMouseDownCallback=e._addMagnifyingGlass.bind(ut()(ut()(e))),e.mouseDragCallback=e._updateMagnifyingGlass.bind(ut()(ut()(e))),e.mouseUpCallback=e._removeMagnifyingGlass.bind(ut()(ut()(e))),e.mouseClickCallback=e._removeMagnifyingGlass.bind(ut()(ut()(e))),e.newImageCallback=e._drawMagnificationTool.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"_addMagnifyingGlass",value:function(e){var t=this;this._removeZoomElement(),this._drawZoomedElement(e),window.requestAnimationFrame(function(){return t._drawMagnificationTool(e)}),e.preventDefault(),e.stopPropagation()}},{key:"_updateMagnifyingGlass",value:function(e){this._drawMagnificationTool(e),e.preventDefault(),e.stopPropagation()}},{key:"_removeMagnifyingGlass",value:function(e){e.detail.element.querySelector(".magnifyTool").style.display="none",document.body.style.cursor="default",this._removeZoomElement()}},{key:"_drawMagnificationTool",value:function(e){var t=e.detail.element,n=t.querySelector(".magnifyTool");if(n||this._createMagnificationCanvas(t),void 0!==this.zoomCanvas){var a=t.querySelector("canvas:not(.magnifyTool)"),o=Ze(n),i=f.cornerstone.pixelToCanvas(e.detail.element,e.detail.currentPoints.image),r=Math.min(this.configuration.magnifySize,a.width,a.height),l=this.configuration.magnificationLevel;n.width=r,n.height=r,i.x=Math.max(i.x,.5*r/l),i.x=Math.min(i.x,a.width-.5*r/l),i.y=Math.max(i.y,.5*r/l),i.y=Math.min(i.y,a.height-.5*r/l);var s={x:i.x*l-.5*r,y:i.y*l-.5*r};s.x=Math.max(s.x,0),s.y=Math.max(s.y,0),o.drawImage(this.zoomCanvas,s.x,s.y,r,r,0,0,r,r);var c=e.detail.isTouchEvent?120:0,u={top:Math.max(i.y-.5*r-c,0),left:Math.max(i.x-.5*r,0)},d=n.getBoundingClientRect();u.top=Math.min(u.top,a.height-d.height),u.left=Math.min(u.left,a.width-d.width),n.style.top="".concat(u.top,"px"),n.style.left="".concat(u.left,"px"),n.style.display="block",document.body.style.cursor="none"}}},{key:"_drawZoomedElement",value:function(e){var t=e.detail.element,n=e.detail.enabledElement;void 0===n&&(n=f.cornerstone.getEnabledElement(t));var a=this.configuration.magnificationLevel,o=n.canvas,i=n.image;this.zoomElement=document.createElement("div"),this.zoomElement.width=o.width*a,this.zoomElement.height=o.height*a,f.cornerstone.enable(this.zoomElement,n.options);var r=f.cornerstone.getEnabledElement(this.zoomElement),l=f.cornerstone.getViewport(n.element);this.zoomCanvas=r.canvas,this.zoomCanvas.width=o.width*a,this.zoomCanvas.height=o.height*a,r.viewport=Object.assign({},l),l.scale*=a,f.cornerstone.displayImage(this.zoomElement,i),f.cornerstone.setViewport(this.zoomElement,l)}},{key:"_removeZoomElement",value:function(){void 0!==this.zoomElement&&(f.cornerstone.disable(this.zoomCanvas),this.zoomElement=void 0,this.zoomCanvas=void 0)}},{key:"_createMagnificationCanvas",value:function(e){if(null===e.querySelector(".magnifyTool")){var t=document.createElement("canvas");t.classList.add("magnifyTool"),t.width=this.configuration.magnifySize,t.height=this.configuration.magnifySize,t.style.position="absolute",t.style.display="none",e.appendChild(t)}}},{key:"_destroyMagnificationCanvas",value:function(e){var t=e.detail.element,n=t.querySelector(".magnifyTool");n&&t.removeChild(n)}}]),t}(Y),la=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Overlay",configuration:{},mixins:["enabledOrDisabledBinaryTool"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"enabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"disabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"forceImageUpdate",value:function(e){f.cornerstone.getEnabledElement(e).image&&f.cornerstone.updateImage(e)}},{key:"renderToolData",value:function(e){var t=e.detail;if(t&&t.enabledElement&&t.image&&t.image.overlays&&0!==!t.image.overlays.length){var n=Ze(t.canvasContext.canvas),a=t.image.overlays,o=t.enabledElement,i=t.viewport,r=Math.abs(i.displayedArea.brhc.x-i.displayedArea.tlhc.x)*i.displayedArea.columnPixelSpacing,l=Math.abs(i.displayedArea.brhc.y-i.displayedArea.tlhc.y)*i.displayedArea.rowPixelSpacing;n.save(),a.forEach(function(e){if(e.visible){var t=document.createElement("canvas");t.width=r,t.height=l;var a=t.getContext("2d"),i=f.cornerstone.internal.getTransform(o);a.setTransform(i.m[0],i.m[1],i.m[2],i.m[3],i.m[4],i.m[5]),a.save(),a.setTransform(1,0,0,1,0,0),a.fillStyle=e.fillStyle,"R"===e.type&&(a.fillRect(0,0,t.width,t.height),a.globalCompositeOperation="xor");for(var s=0,c=0;c<e.rows;c++)for(var u=0;u<e.columns;u++)e.pixelData[s++]>0&&a.fillRect(u,c,1,1);a.restore(),n.drawImage(t,0,0)}}),n.restore()}}}]),t}(Y),sa=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"PanMultiTouch",supportedInteractionTypes:["MultiTouch"],configuration:{touchPointers:2}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.multiTouchDragCallback=e._dragCallback.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport;if(t.numPointers===this.configuration.touchPointers){var o=this._getTranslation(t);this._applyTranslation(a,o),f.cornerstone.setViewport(n,a)}}},{key:"_getTranslation",value:function(e){var t=e.viewport,n=e.image,a=e.deltaPoints,o=t.scale,i=t.scale;return n.rowPixelSpacing<n.columnPixelSpacing?o*=n.columnPixelSpacing/n.rowPixelSpacing:n.columnPixelSpacing<n.rowPixelSpacing&&(i*=n.rowPixelSpacing/n.columnPixelSpacing),{x:a.page.x/o,y:a.page.y/i}}},{key:"_applyTranslation",value:function(e,t){e.translation.x+=t.x,e.translation.y+=t.y}}]),t}(Y),ca=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"Pan",supportedInteractionTypes:["Mouse","Touch"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.touchDragCallback=e._dragCallback.bind(ut()(ut()(e))),e.mouseDragCallback=e._dragCallback.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=this._getTranslation(t);this._applyTranslation(a,o),f.cornerstone.setViewport(n,a)}},{key:"_getTranslation",value:function(e){var t=e.viewport,n=e.image,a=e.deltaPoints,o=t.scale,i=t.scale;return n.rowPixelSpacing<n.columnPixelSpacing?o*=n.columnPixelSpacing/n.rowPixelSpacing:n.columnPixelSpacing<n.rowPixelSpacing&&(i*=n.rowPixelSpacing/n.columnPixelSpacing),{x:a.page.x/o,y:a.page.y/i}}},{key:"_applyTranslation",value:function(e,t){e.translation.x+=t.x,e.translation.y+=t.y}}]),t}(Y),ua=n(7),da=n.n(ua),ha=n(8),va=n.n(ha),ga=function(e,t,n,a){var o=f.cornerstone,i=o.getEnabledElement(n).image,r=o.getEnabledElement(a).image;if(i&&r){var l=o.metaData.get("imagePlaneModule",i.imageId),s=o.metaData.get("imagePlaneModule",r.imageId);if(l&&s&&l.rowCosines&&l.columnCosines&&l.imagePositionPatient&&s.rowCosines&&s.columnCosines&&s.imagePositionPatient&&l.frameOfReferenceUID===s.frameOfReferenceUID){l.rowCosines=Gn(l.rowCosines),l.columnCosines=Gn(l.columnCosines),l.imagePositionPatient=Gn(l.imagePositionPatient),s.rowCosines=Gn(s.rowCosines),s.columnCosines=Gn(s.columnCosines),s.imagePositionPatient=Gn(s.imagePositionPatient);var c=l.rowCosines.clone().cross(l.columnCosines),u=s.rowCosines.clone().cross(s.columnCosines),d=c.angleTo(u);if(!((d=Math.abs(d))<.5)){var h=function(e,t){var n=Xn(e,t);if(n)return{start:qn(n.start,e),end:qn(n.end,e)}}(l,s);if(h){var v=_e.getActiveColor();e.setTransform(1,0,0,1,0,0),Oe(e,function(e){Le(e,t.element,h.start,h.end,{color:v})})}}}}},ma=function(e){return new Promise(function(t){return setTimeout(t,e)})};function fa(e){try{var t=f.cornerstone.getEnabledElement(e);return t.image?t:ma(250).then(function(){return fa(e)})}catch(e){return null}}var pa,ya=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"ReferenceLines",mixins:["enabledOrDisabledBinaryTool"],configuration:{renderer:ga}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e.renderer=null,e.synchronizationContext=null,e}return h()(t,e),r()(t,[{key:"enabledCallback",value:function(){var e=va()(da.a.mark(function e(t){var n,a,o,i=arguments;return da.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},a=n.synchronizationContext,o=this.configuration.renderer,e.next=4,fa(t);case 4:if(e.sent&&o&&a){e.next=8;break}return console.warn("Unable to enable ".concat(this.name,". Exiting enable callback. Tool will be enabled, but will not render.")),e.abrupt("return");case 8:this.renderer=o,this.synchronizationContext=a,this.forceImageUpdate(t);case 11:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"disabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"forceImageUpdate",value:function(e){f.cornerstone.getEnabledElement(e).image&&f.cornerstone.updateImage(e)}},{key:"renderToolData",value:function(e){var t=this,n=e.detail;if(this.renderer&&this.synchronizationContext){var a=this.synchronizationContext.getSourceElements(),o=Ze(n.canvasContext.canvas);f.cornerstone.setToPixelCoordinateSystem(n.enabledElement,o),a.forEach(function(a){a!==e.currentTarget&&t.renderer(o,n,e.currentTarget,a)})}}}]),t}(Y),xa=function(e,t,n){var a=Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)),o=Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2)),i=Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2));return{angle:180*Math.acos((Math.pow(a,2)+Math.pow(o,2)-Math.pow(i,2))/(2*a*o))/Math.PI,direction:(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x)}},Ta=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"Rotate",strategies:{default:ba,horizontal:Ea,vertical:Ma},defaultStrategy:"default",supportedInteractionTypes:["Mouse","Touch"]},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e}return h()(t,e),r()(t,[{key:"touchDragCallback",value:function(e){this.dragCallback(e)}},{key:"mouseDragCallback",value:function(e){this.dragCallback(e)}},{key:"postMouseDownCallback",value:function(e){this.initialRotation=e.detail.viewport.rotation}},{key:"dragCallback",value:function(e){e.detail.viewport.initialRotation=this.initialRotation,this.applyActiveStrategy(e,this.configuration),f.cornerstone.setViewport(e.detail.element,e.detail.viewport)}}]),t}(Y),ba=function(e){var t=e.detail,n=t.element,a=t.viewport,o=a.initialRotation,i=n.getBoundingClientRect(n),r=n.clientWidth,l=n.clientHeight,s={x:t.startPoints.client.x,y:t.startPoints.client.y},c=a.scale,u=a.translation,d={x:i.left+r/2+u.x*c,y:i.top+l/2+u.y*c},h={x:t.currentPoints.client.x,y:t.currentPoints.client.y},v=xa(d,s,h);v.direction<0&&(v.angle=-v.angle),a.rotation=o+v.angle},Ea=function(e){var t=e.detail,n=t.viewport,a=t.deltaPoints;n.rotation+=a.page.x/n.scale},Ma=function(e){var t=e.detail,n=t.viewport,a=t.deltaPoints;n.rotation+=a.page.y/n.scale},Ca=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"RotateTouch",supportedInteractionTypes:["TouchRotate"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"touchRotateCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=t.rotation;a.rotation+=o,f.cornerstone.setViewport(n,a)}}]),t}(Y),wa=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"ScaleOverlay",configuration:{minorTickLength:12.5,majorTickLength:25},mixins:["enabledOrDisabledBinaryTool"]},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"enabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"disabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"forceImageUpdate",value:function(e){f.cornerstone.getEnabledElement(e).image&&f.cornerstone.updateImage(e)}},{key:"renderToolData",value:function(e){var t=e.detail,n=Ze(t.canvasContext.canvas),a=t.image,o=t.viewport,i=t.element,r=a.rowPixelSpacing,l=a.columnPixelSpacing,s=f.cornerstone.metaData.get("imagePlaneModule",a.imageId);if(s&&(r=s.rowPixelSpacing||s.rowImagePixelSpacing,l=s.columnPixelSpacing||s.colImagePixelSpacing),r&&l){var c={width:n.canvas.width,height:n.canvas.height},u=10/r*o.scale,d=10/l*o.scale,h=Ia(c,.25,.05),v=Ia(c,.05,.15);if(c.width&&c.height&&h&&v){var g=_e.getToolColor(),m=Ie.getToolWidth(),p=Object.assign({},{hscaleBounds:h,vscaleBounds:v,verticalMinorTick:u,horizontalMinorTick:d,verticalLine:{start:{x:v.bottomRight.x,y:v.topLeft.y},end:{x:v.bottomRight.x,y:v.bottomRight.y}},horizontalLine:{start:{x:h.topLeft.x,y:h.bottomRight.y},end:{x:h.bottomRight.x,y:h.bottomRight.y}},color:g,lineWidth:m},this.configuration);Oe(n,function(e){Qe(e,p),Le(e,i,p.verticalLine.start,p.verticalLine.end,{color:g,lineWidth:m},"canvas"),Sa(e,i,p),Le(e,i,p.horizontalLine.start,p.horizontalLine.end,{color:g,lineWidth:m},"canvas"),ka(e,i,p)})}}else console.warn("unable to define rowPixelSpacing or colPixelSpacing from data on ".concat(this.name,"'s renderToolData"))}}]),t}(Y),Ia=function(e,t,n){var a=t*Math.min(1e3,e.width),o=n*Math.min(1e3,e.height),i={left:a,top:o,width:e.width-2*a,height:e.height-2*o};return{topLeft:{x:i.left,y:i.top},bottomRight:{x:i.left+i.width,y:i.top+i.height}}},Sa=function(e,t,n){for(var a=0;n.verticalLine.start.y+a*n.verticalMinorTick<=n.vscaleBounds.bottomRight.y;){var o=n.color,i=n.lineWidth,r={x:n.verticalLine.start.x,y:n.verticalLine.start.y+a*n.verticalMinorTick},l={x:0,y:n.verticalLine.start.y+a*n.verticalMinorTick};l.x=a%5==0?n.verticalLine.start.x-n.majorTickLength:n.verticalLine.start.x-n.minorTickLength,Le(e,t,r,l,{color:o,lineWidth:i},"canvas"),a++}},ka=function(e,t,n){for(var a=0;n.horizontalLine.start.x+a*n.horizontalMinorTick<=n.hscaleBounds.bottomRight.x;){var o=n.color,i=n.lineWidth,r={x:n.horizontalLine.start.x+a*n.horizontalMinorTick,y:n.horizontalLine.start.y},l={x:n.horizontalLine.start.x+a*n.horizontalMinorTick,y:0};l.y=a%5==0?n.horizontalLine.start.y-n.majorTickLength:n.horizontalLine.start.y-n.minorTickLength,Le(e,t,r,l,{color:o,lineWidth:i},"canvas"),a++}},Pa={default:6,IE:{9:6,10:8,default:8},Firefox:{default:6},Opera:{10:8,11:6,12:6,default:6},Chrome:{default:6},Safari:{default:6}};function _a(){var e,t=navigator.userAgent,n=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(n[1])?(e=/\brv[ :]+(\d+)/g.exec(t)||[],"IE ".concat(e[1]||"")):"Chrome"===n[1]&&null!==(e=t.match(/\b(OPR|Edge)\/(\d+)/))?e.slice(1).join(" ").replace("OPR","Opera"):(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!==(e=t.match(/version\/(\d+)/i))&&n.splice(1,1,e[1]),n.join(" "))}function Oa(){return pa||Da()}function Da(){var e=_a().split(" "),t=e[0],n=e[1],a=Pa[t];return a?a[n]?a[n]:a.default:Pa.default}var La={interaction:[],thumbnail:[],prefetch:[]},Aa={interaction:0,thumbnail:0,prefetch:0},Ha={interaction:6,thumbnail:6,prefetch:5},Ra=!1,Ua=20;function Na(){Ra&&setTimeout(function(){Fa()},Ua)}function Ba(e){var t=f.cornerstone,n=e.type;Aa[n]++,Ra=!0;var a=e.imageId,o=e.doneCallback,i=e.failCallback,r=t.imageCache.getImageLoadObject(a);if(r)r.promise.then(function(e){Aa[n]--,o(e),Na()},function(e){Aa[n]--,i(e),Na()});else{var l=function(e){return"prefetch"===e.type?-5:"interactive"===e.type?0:"thumbnail"===e.type?5:void 0}(e);(!0===e.preventCache?t.loadImage(a,{priority:l,type:e.type}):t.loadAndCacheImage(a,{priority:l,type:e.type})).then(function(e){Aa[n]--,o(e),Na()},function(e){Aa[n]--,i(e),Na()})}}function Fa(){var e=Oa();Ha={interaction:Math.max(e,1),thumbnail:Math.max(e-2,1),prefetch:Math.max(e-1,1)};for(var t=e-(Aa.interaction+Aa.thumbnail+Aa.prefetch),n=0;n<t;n++){var a=Va();a&&Ba(a)}}function Va(){return La.interaction.length&&Aa.interaction<Ha.interaction?La.interaction.shift():La.thumbnail.length&&Aa.thumbnail<Ha.thumbnail?La.thumbnail.shift():La.prefetch.length&&Aa.prefetch<Ha.prefetch?La.prefetch.shift():(La.interaction.length||La.thumbnail.length||La.prefetch.length||(Ra=!1),!1)}var ja={addRequest:function(e,t,n,a,o,i,r){if(!La.hasOwnProperty(n))throw new Error("Request type must be one of interaction, thumbnail, or prefetch");if(e&&t){var l={type:n,imageId:t,preventCache:a,doneCallback:o,failCallback:i},s=f.cornerstone.imageCache.getImageLoadObject(t);s?s.promise.then(function(e){o(e)},function(e){i(e)}):(r?La[n].unshift(l):La[n].push(l),Ra=!0)}},clearRequestStack:function(e){if(!La.hasOwnProperty(e))throw new Error("Request type must be one of interaction, thumbnail, or prefetch");La[e]=[]},startGrabbing:Fa,getRequestPool:function(){return La}},za=function(e,t){var n=Q(e,"stack");if(n&&n.data&&n.data.length){var a,o=f.cornerstone;if(n.data.length>1){var i=Q(e,"stackRenderer");i&&i.data&&i.data.length&&(a=i.data[0])}var r=n.data[0];t<0&&(t+=r.imageIds.length);var l=Wn.getStartLoadHandler(),s=Wn.getEndLoadHandler(),c=Wn.getErrorLoadingHandler();if(t!==r.currentImageIdIndex){l&&l(e);var u={newImageIdIndex:t,direction:t-r.currentImageIdIndex};r.currentImageIdIndex=t;var d=r.imageIds[t];(Boolean(r.preventCache)?o.loadImage(d):o.loadAndCacheImage(d)).then(function(i){if(r.currentImageIdIndex===t){try{o.getEnabledElement(e)}catch(e){return}a?(a.currentImageIdIndex=t,a.render(e,n.data)):o.displayImage(e,i),s&&s(e,i)}},function(n){var a=r.imageIds[t];c&&c(e,a,n)}),ja.startGrabbing(),T(e,x.STACK_SCROLL,u)}}},Wa=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=Q(e,"stack");if(o&&o.data&&o.data.length){var i=o.data[0];i.pending||(i.pending=[]);var r=i.currentImageIdIndex+t;if(n)r%=i.imageIds.length;else r=le(r,0,i.imageIds.length-1);if(a)za(e,r);else{var l={index:r};i.pending.push(l),function e(t,n,a){if(t.pending[0]===n){if(t.currentImageIdIndex===n.index)return t.pending.splice(t.pending.indexOf(n),1),void(t.pending.length>0&&e(t,t.pending[0],a));a.addEventListener(f.cornerstone.EVENTS.NEW_IMAGE,function e(o){t.imageIds.indexOf(o.detail.image.imageId)===n.index&&(t.pending.splice(t.pending.indexOf(n),1),a.removeEventListener(f.cornerstone.EVENTS.NEW_IMAGE,e),t.pending.length>0&&function e(t,n,a){if(t.pending[0]===n){if(t.currentImageIdIndex===n.index)return t.pending.splice(t.pending.indexOf(n),1),void(t.pending.length>0&&e(t,t.pending[0],a));a.addEventListener(f.cornerstone.EVENTS.NEW_IMAGE,function o(i){t.imageIds.indexOf(i.detail.image.imageId)===n.index&&(t.pending.splice(t.pending.indexOf(n),1),a.removeEventListener(f.cornerstone.EVENTS.NEW_IMAGE,o),t.pending.length>0&&e(t,t.pending[0],a))}),za(a,n.index)}}(t,t.pending[0],a))}),za(a,n.index)}}(i,l,e)}}};function Ga(e,t,n){if(e.pending[0]===t){if(e.currentImageIdIndex===t.index){e.pending.splice(e.pending.indexOf(t),1);if(e.pending.length>0){Ga(e,e.pending[0],n)}return}var a=function a(o){var i;if(e.imageIds.indexOf(o.detail.image.imageId)===t.index){e.pending.splice(e.pending.indexOf(t),1);n.removeEventListener(f.cornerstone.EVENTS.NEW_IMAGE,a);if(e.pending.length>0){Ga(e,e.pending[0],n)}}};n.addEventListener(f.cornerstone.EVENTS.NEW_IMAGE,a);za(n,t.index)}}var qa=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"StackScrollMouseWheel",supportedInteractionTypes:["MouseWheel"],configuration:{loop:!1,allowSkipping:!0,invert:!1}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.direction,a=t.element,o=this.configuration,i=o.loop,r=o.allowSkipping,l=o.invert;Wa(a,l?-n:n,i,r)}}]),t}(Y),Ya=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"StackScrollMultiTouch",supportedInteractionTypes:["MultiTouch"],configuration:{loop:!1,allowSkipping:!0,touchPointers:3}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.multiTouchDragCallback=e._dragCallback.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"_dragCallback",value:function(e){var t=e.detail;if(t.numPointers===this.configuration.touchPointers){var n=t.element,a=t.deltaPoints,o=this.configuration,i=o.loop,r=o.allowSkipping,l=Zn(this.name,n),s=this._getPixelPerImage(n),c=this._getDeltaY(n,a.page.y);if(!s)return;if(Math.abs(c)>=s){var u=Math.round(c/s);Wa(n,u,i,r),l.deltaY=c%s}else l.deltaY=c;Jn(this.name,n,l)}}},{key:"_getDeltaY",value:function(e,t){return(Zn(this.name,e).deltaY||0)+t}},{key:"_getPixelPerImage",value:function(e){var t=Q(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0];return this.configuration.stackScrollSpeed||Math.max(2,e.offsetHeight/Math.max(n.imageIds.length,8))}}}]),t}(Y),Xa=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"StackScroll",supportedInteractionTypes:["Mouse","Touch"],configuration:{loop:!1,allowSkipping:!0}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e.mouseDragCallback=e._dragCallback.bind(ut()(ut()(e))),e.touchDragCallback=e._dragCallback.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,a=t.deltaPoints,o=this.configuration,i=o.loop,r=o.allowSkipping,l=Zn(this.name,n),s=this._getPixelPerImage(n),c=this._getDeltaY(n,a.page.y);if(s){if(Math.abs(c)>=s){var u=Math.round(c/s);Wa(n,u,i,r),l.deltaY=c%s}else l.deltaY=c;Jn(this.name,n,l)}}},{key:"_getDeltaY",value:function(e,t){return(Zn(this.name,e).deltaY||0)+t}},{key:"_getPixelPerImage",value:function(e){var t=Q(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0];return this.configuration.stackScrollSpeed||Math.max(2,e.offsetHeight/Math.max(n.imageIds.length,8))}}}]),t}(Y),Ka=function(e,t,n,a,o){if(!e)throw new Error("getLuminance: parameter element must not be undefined");t=Math.round(t),n=Math.round(n);var i,r,l,s=f.cornerstone.getEnabledElement(e).image,c=[],u=0,d=s.getPixelData();if(s.color)for(r=0;r<o;r++)for(l=0;l<a;l++){var h=d[i=4*((r+n)*s.columns+(l+t))],v=d[i+1],g=d[i+2];c[u++]=.2126*h+.7152*v+.0722*g}else for(r=0;r<o;r++)for(l=0;l<a;l++)i=(r+n)*s.columns+(l+t),c[u++]=d[i]*s.slope+s.intercept;return c},Za=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"WwwcRegion",supportedInteractionTypes:["Mouse","Touch"],configuration:{minWindowWidth:10}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e._resetHandles(),e.postTouchStartCallback=e._startOutliningRegion.bind(ut()(ut()(e))),e.touchDragCallback=e._setHandlesAndUpdate.bind(ut()(ut()(e))),e.touchEndCallback=e._applyStrategy.bind(ut()(ut()(e))),e.postMouseDownCallback=e._startOutliningRegion.bind(ut()(ut()(e))),e.mouseClickCallback=e._startOutliningRegion.bind(ut()(ut()(e))),e.mouseDragCallback=e._setHandlesAndUpdate.bind(ut()(ut()(e))),e.mouseMoveCallback=e._setHandlesAndUpdate.bind(ut()(ut()(e))),e.mouseUpCallback=e._applyStrategy.bind(ut()(ut()(e))),e}return h()(t,e),r()(t,[{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=n.element,o=_e.getColorIfActive({active:!0}),i=Ze(n.canvasContext.canvas);Oe(i,function(e){Ke(e,a,t.handles.start,t.handles.end,{color:o})})}},{key:"_startOutliningRegion",value:function(e){var t=e.detail.element,n=e.detail.currentPoints.image;return Ja(this.handles.start)?this.handles.start=n:(this.handles.end=n,this._applyStrategy(e)),f.cornerstone.updateImage(t),!0}},{key:"_setHandlesAndUpdate",value:function(e){var t=e.detail.element,n=e.detail.currentPoints.image;this.handles.end=n,f.cornerstone.updateImage(t)}},{key:"_applyStrategy",value:function(e){Ja(this.handles.start)||Ja(this.handles.end)||(e.detail.handles=this.handles,Qa(e,this.configuration),this._resetHandles())}},{key:"_resetHandles",value:function(){this.handles={start:{},end:{}}}}]),t}(Y),Ja=function(e){return 0===Object.keys(e).length&&e.constructor===Object},Qa=function(e,t){var n=e.detail,a=n.image,o=n.element,i=e.detail.handles,r=i.start,l=i.end,s=Math.min(r.x,l.x),c=Math.min(r.y,l.y),u=Math.abs(r.x-l.x),d=Math.abs(r.y-l.y);s=le(s,0,a.width),c=le(c,0,a.height),u=Math.floor(Math.min(u,Math.abs(a.width-s))),d=Math.floor(Math.min(d,Math.abs(a.height-c)));var h=Ka(o,s,c,u,d),v=$a(h,a.minPixelValue,a.maxPixelValue),g=n.viewport;void 0===t.minWindowWidth&&(t.minWindowWidth=10),g.voi.windowWidth=Math.max(Math.abs(v.max-v.min),t.minWindowWidth),g.voi.windowCenter=v.mean,f.cornerstone.setViewport(o,g),f.cornerstone.updateImage(o)},$a=function(e,t,n){var a=e.length,o=n,i=t,r=0;if(a<2)return{min:o,max:i,mean:(t+n)/2};for(var l=0;l<a;l++){var s=e[l];o=Math.min(o,s),i=Math.max(i,s),r+=s}return{min:o,max:i,mean:r/a}},eo=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"Wwwc",strategies:{basicLevelingStrategy:to},supportedInteractionTypes:["Mouse","Touch"],configuration:{orientation:0}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e}return h()(t,e),r()(t,[{key:"mouseDragCallback",value:function(e){this.applyActiveStrategy(e),f.cornerstone.setViewport(e.detail.element,e.detail.viewport)}},{key:"touchDragCallback",value:function(e){e.stopImmediatePropagation(),this.applyActiveStrategy(e),f.cornerstone.setViewport(e.detail.element,e.detail.viewport)}}]),t}(Y);function to(e,t){var n=t.orientation,a=e.detail,o=(a.image.maxPixelValue*a.image.slope+a.image.intercept-(a.image.minPixelValue*a.image.slope+a.image.intercept))/1024,i=a.deltaPoints.page.x*o,r=a.deltaPoints.page.y*o;0===n?(a.viewport.voi.windowWidth+=i,a.viewport.voi.windowCenter+=r):(a.viewport.voi.windowWidth+=r,a.viewport.voi.windowCenter+=i)}var no=function(e,t,n){var a=n.maxScale,o=n.minScale,i=Math.log(e.scale)/Math.log(1.7)+t,r=Math.pow(1.7,i);return e.scale=a&&r>a?a:o&&r<o?o:r,e},ao={changeViewportScale:no,correctShift:function(e,t){var n=t.hflip,a=t.vflip,o=t.rotation;if(e.x*=n?-1:1,e.y*=a?-1:1,0!==o){var i=o*Math.PI/180,r=Math.cos(i),l=Math.sin(i),s=e.x*r-e.y*l,c=e.x*l+e.y*r;e.x=s,e.y=c}return e}},oo=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"ZoomMouseWheel",supportedInteractionTypes:["MouseWheel"],configuration:{minScale:.25,maxScale:20,invert:!1}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=t.spinY,i=this.configuration,r=i.invert,l=i.maxScale,s=i.minScale,c=no(a,r?o/4:-o/4,{maxScale:l,minScale:s});f.cornerstone.setViewport(n,c)}}]),t}(Y),io=ao.correctShift,ro=ao.changeViewportScale,lo=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a={name:"Zoom",strategies:{default:co,translate:uo,zoomToCenter:ho},defaultStrategy:"default",supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1,preventZoomOutsideImage:!1,minScale:.25,maxScale:20}},i=Object.assign(a,n);return(e=s()(this,u()(t).call(this,i))).initialConfiguration=i,e}return h()(t,e),r()(t,[{key:"touchDragCallback",value:function(e){so.call(this,e)}},{key:"mouseDragCallback",value:function(e){so.call(this,e)}}]),t}(Y),so=function(e){if(!e.detail.deltaPoints.page.y)return!1;this.applyActiveStrategy(e,this.configuration),f.cornerstone.setViewport(e.detail.element,e.detail.viewport)};function co(e,t){var n=t.invert,a=t.maxScale,o=t.minScale,i=e.detail.deltaPoints.page.y,r=n?-i/100:i/100,l=e.detail,s=l.element,c=l.viewport,u=[e.detail.startPoints.page.x,e.detail.startPoints.page.y,e.detail.startPoints.image.x,e.detail.startPoints.image.y],d=u[0],h=u[1],v=u[2],g=u[3],m=ro(c,r,{maxScale:a,minScale:o});f.cornerstone.setViewport(s,m);var p=f.cornerstone.pageToPixel(s,d,h),y={x:v-p.x,y:g-p.y};y=io(y,m),c.translation.x-=y.x,c.translation.y-=y.y}function uo(e,t){var n=t.invert,a=t.preventZoomOutsideImage,o=t.maxScale,i=t.minScale,r=e.detail.deltaPoints.page.y,l=n?-r/100:r/100,s=e.detail.image,c=e.detail.viewport,u=[e.detail.startPoints.image.x,e.detail.startPoints.image.y],d=u[0],h=u[1],v=ro(c,l,{maxScale:o,minScale:i}),g={x:0,y:0};if(l<0)v.scale<3&&(Math.abs(v.translation.x)<.01?v.translation.x=0:g.x=v.translation.x/8,Math.abs(v.translation.y)<.01?v.translation.y=0:g.y=v.translation.y/8);else{a&&se(e.detail.startPoints.image,s);var m={x:s.width/2-d,y:s.height/2-h};m=io(m,v);var f={x:v.translation.x-m.x,y:v.translation.y-m.y};Math.abs(f.x)<.01?v.translation.x=m.x:g.x=f.x/8,Math.abs(f.y)<.01?v.translation.y=m.y:g.y=f.y/8}v.translation.x-=g.x,v.translation.y-=g.y}function ho(e,t){var n=t.invert,a=t.maxScale,o=t.minScale,i=e.detail.deltaPoints.page.y,r=n?-i/100:i/100,l=e.detail.viewport;ro(l,r,{maxScale:a,minScale:o})}var vo=ao.correctShift,go=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o()(this,t);var a=Object.assign({name:"ZoomTouchPinch",supportedInteractionTypes:["TouchPinch"],configuration:{minScale:.25,maxScale:20}},n);return(e=s()(this,u()(t).call(this,a))).initialConfiguration=a,e}return h()(t,e),r()(t,[{key:"touchPinchCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=t.scaleChange,i=[e.detail.startPoints.page.x,e.detail.startPoints.page.y,e.detail.startPoints.image.x,e.detail.startPoints.image.y],r=i[0],l=i[1],s=i[2],c=i[3],u=this.configuration,d=u.maxScale,h=u.minScale;a.scale+=o*a.scale,d&&a.scale>d?a.scale=d:h&&a.scale<h&&(a.scale=h),f.cornerstone.setViewport(n,a);var v=f.cornerstone.pageToPixel(n,r,l),g={x:s-v.x,y:c-v.y};g=vo(g,a),a.translation.x-=g.x,a.translation.y-=g.y,f.cornerstone.setViewport(n,a)}}]),t}(Y),mo=function(e){return{page:fo(e.page),image:fo(e.image),client:fo(e.client),canvas:fo(e.canvas)}};function fo(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{x:e.x,y:e.y}}var po,yo={48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",13:"RETURN",8:"BACKSPACE",9:"TAB",46:"DELETE",12:"DELETE",27:"ESCAPE",20:"CAPSLOCK",173:"-",189:"-",109:"-",61:"+",187:"+",107:"+",219:"[",221:"]",59:";",186:";",188:",",190:".",199:"/"},xo={"base/BaseTool":Y,"base/BaseAnnotationTool":Me,"base/BaseBrushTool":Dn,"manipulators/anyHandlesOutsideImage":re,"manipulators/getHandleNearImagePoint":oe,"manipulators/handleActivator":ie,"manipulators/moveAllHandles":de,"manipulators/moveHandle":me,"manipulators/moveNewHandle":ye,"manipulators/moveHandleNearImagePoint":Te,"manipulators/findHandleDataNearImagePoint":be,"manipulators/moveAnnotation":Ee,"mixins/activeOrDisabledBinaryTool":q.activeOrDisabledBinaryTool,"mixins/enabledOrDisabledBinaryTool":q.enabledOrDisabledBinaryTool,"drawing/getNewContext":Ze,"drawing/draw":Oe,"drawing/path":De,"drawing/setShadow":Qe,"drawing/drawLine":Le,"drawing/drawLines":function(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"pixel";De(e,a,function(e){n.forEach(function(n){var a=n.start,i=n.end;if("pixel"===o){var r=f.cornerstone;a=r.pixelToCanvas(t,a),i=r.pixelToCanvas(t,i)}e.moveTo(a.x,a.y),e.lineTo(i.x,i.y)})})},"drawing/drawJoinedLines":Ae,"drawing/drawCircle":Re,"drawing/drawEllipse":Ue,"drawing/drawRect":Ke,"drawing/fillOutsideRect":function(e,t,n,a,o){if("pixel"===(arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel")){var i=f.cornerstone;n=i.pixelToCanvas(t,n),a=i.pixelToCanvas(t,a)}var r=Math.min(n.x,a.x),l=Math.min(n.y,a.y),s=Math.abs(n.x-a.x),c=Math.abs(n.y-a.y);De(e,o,function(e){e.rect(0,0,e.canvas.clientWidth,e.canvas.clientHeight),e.rect(r+s,l,-s,c)})},"drawing/drawTextBox":Ye,"drawing/drawArrow":He,"drawing/fillBox":Ge,"drawing/fillTextLines":We,"drawing/drawLink":Be,"drawing/drawLinkedTextBox":Xe,"drawing/drawHandles":Ne,"drawing/textBoxWidth":qe,"util/getLuminance":Ka,"util/copyPoints":mo,"util/calculateSUV":Rt,"util/setContextToDisplayFontSize":function(e,t,n){return f.cornerstone.setToPixelCoordinateSystem(e,t,.1),{fontSize:n/e.viewport.scale/.1,lineHeight:n/e.viewport.scale/.1,fontScale:.1}},"util/scrollToIndex":za,"util/scroll":Wa,"util/roundToDecimal":nt,"util/projectPatientPointToImagePlane":qn,"util/imagePointToPatientPoint":Yn,"util/planePlaneIntersection":Xn,"util/pointInsideBoundingBox":ne,"util/makeUnselectable":function(e,t){e.style.webkitUserSelect="none",e.style.webkitTouchCallout="none",e.style.mozUserSelect="none",e.style.msUserSelect="none",e.style.oUserSelect="none",e.style.khtmlUserSelect="none",e.style.userSelect="none",e.unselectable="on",e.oncontextmenu=function(){return!1},!0===t&&(e.style.pointerEvents="none")},"util/getRGBPixels":Tn,"util/getDefaultSimultaneousRequests":Da,"util/getMaxSimultaneousRequests":Oa,"util/getBrowserInfo":_a,"util/isMobileDevice":function(){return new RegExp("Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini").test(navigator.userAgent)},"util/angleBetweenPoints":xa,"util/getKeyFromKeyCode":function(e){return yo[e]},"util/numbersWithCommas":Vt,"util/lineSegDistance":tt,"util/triggerEvent":T,"util/convertToVectro3":Gn,"util/ellipseUtils":Ft,"util/freehandUtils":dn,"util/brushUtils":Ln,"util/zoomUtils":ao},To=function(e){return xo[e]},bo=!0,Eo=200;function Mo(e){if("number"==typeof e.buttons)return e.buttons;switch(e.which){case 0:return 0;case 1:return 1;case 2:return 4;case 3:return 2}return 0}function Co(){bo=!1}function wo(e){var t=e.currentTarget,n=f.cornerstone.getEnabledElement(t);if(n.image){var a=x.MOUSE_DOUBLE_CLICK,o={page:f.cornerstoneMath.point.pageToPoint(e),image:f.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};o.canvas=f.cornerstone.pixelToCanvas(t,o.image);var i=mo(o);console.log("double-click: ".concat(Mo(e))),T(t,a,{event:e,buttons:Mo(e),viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:o,lastPoints:i,currentPoints:o,deltaPoints:{x:0,y:0},type:a})}}function Io(e){var t=e.currentTarget,n=f.cornerstone.getEnabledElement(t);if(n.image){po=setTimeout(Co,Eo),t.removeEventListener("mousemove",So);var a={page:f.cornerstoneMath.point.pageToPoint(e),image:f.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};a.canvas=f.cornerstone.pixelToCanvas(t,a.image);var o=mo(a),i={event:e,buttons:Mo(e),viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:a,lastPoints:o,currentPoints:a,deltaPoints:{x:0,y:0},type:x.MOUSE_DOWN};T(i.element,x.MOUSE_DOWN,i)&&(i.type=x.MOUSE_DOWN_ACTIVATE,T(i.element,x.MOUSE_DOWN_ACTIVATE,i)),document.addEventListener("mousemove",r),document.addEventListener("mouseup",function e(i){clearTimeout(po);var l=x.MOUSE_UP;bo&&(l=x.MOUSE_CLICK);var s={page:f.cornerstoneMath.point.pageToPoint(i),image:f.cornerstone.pageToPixel(t,i.pageX,i.pageY),client:{x:i.clientX,y:i.clientY}};s.canvas=f.cornerstone.pixelToCanvas(t,s.image);var c={page:f.cornerstoneMath.point.subtract(s.page,o.page),image:f.cornerstoneMath.point.subtract(s.image,o.image),client:f.cornerstoneMath.point.subtract(s.client,o.client),canvas:f.cornerstoneMath.point.subtract(s.canvas,o.canvas)};console.log("mouseup: ".concat(Mo(i)));var u={event:i,buttons:Mo(i),viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:a,lastPoints:o,currentPoints:s,deltaPoints:c,type:l};T(u.element,l,u),document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",e),t.addEventListener("mousemove",So),bo=!0})}function r(e){var i=x.MOUSE_DRAG,r={page:f.cornerstoneMath.point.pageToPoint(e),image:f.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};r.canvas=f.cornerstone.pixelToCanvas(t,r.image);var l={page:f.cornerstoneMath.point.subtract(r.page,o.page),image:f.cornerstoneMath.point.subtract(r.image,o.image),client:f.cornerstoneMath.point.subtract(r.client,o.client),canvas:f.cornerstoneMath.point.subtract(r.canvas,o.canvas)};console.log("mousemove ".concat(Mo(e)));var s={buttons:Mo(e),viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:a,lastPoints:o,currentPoints:r,deltaPoints:l,type:i,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey};T(s.element,i,s),o=mo(r)}}function So(e){var t=e.currentTarget,n=f.cornerstone.getEnabledElement(t);if(n.image){var a=x.MOUSE_MOVE,o={page:f.cornerstoneMath.point.pageToPoint(e),image:f.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};o.canvas=f.cornerstone.pixelToCanvas(t,o.image);var i=mo(o),r={page:f.cornerstoneMath.point.pageToPoint(e),image:f.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};r.canvas=f.cornerstone.pixelToCanvas(t,r.image);var l={page:f.cornerstoneMath.point.subtract(r.page,i.page),image:f.cornerstoneMath.point.subtract(r.image,i.image),client:f.cornerstoneMath.point.subtract(r.client,i.client),canvas:f.cornerstoneMath.point.subtract(r.canvas,i.canvas)};T(t,a,{viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:o,lastPoints:i,currentPoints:r,deltaPoints:l,type:a}),i=mo(r)}}function ko(e){e.removeEventListener("mousedown",Io),e.removeEventListener("mousemove",So),e.removeEventListener("dblclick",wo)}var Po={enable:function(e){ko(e),e.addEventListener("mousedown",Io),e.addEventListener("mousemove",So),e.addEventListener("dblclick",wo)},disable:ko},_o=function(e){var t=0,n=0,a=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),a=10*t,o=10*n,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(a=e.deltaX),(a||o)&&e.deltaMode&&(1===e.deltaMode?(a*=40,o*=40):(a*=800,o*=800)),a&&!t&&(t=a<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:a,pixelY:o}};function Oo(e){var t=e.currentTarget,n=f.cornerstone.getEnabledElement(t);if(n.image){e.preventDefault();var a=e.pageX,o=e.pageY,i=f.cornerstone.pageToPixel(t,a,o),r=_o(e),l=r.spinX,s=r.spinY,c=r.pixelX,u=r.pixelY,d=s<0?-1:1,h={element:t,viewport:f.cornerstone.getViewport(t),detail:e,image:n.image,direction:d,spinX:l,spinY:s,pixelX:c,pixelY:u,pageX:a,pageY:o,imageX:i.x,imageY:i.y};T(t,x.MOUSE_WHEEL,h)}}function Do(e){e.removeEventListener("wheel",Oo,{passive:!1})}var Lo,Ao,Ho={enable:function(e){Do(e),e.addEventListener("wheel",Oo,{passive:!1})},disable:Do},Ro=2e3,Uo={mouse:0,touch:1};function No(e,t){var n=Date.now();if(e!==Lo){if(n-Ao<=Ro)return t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),!1;Lo=e}Ao=n}var Bo=No.bind(null,Uo.mouse),Fo=No.bind(null,Uo.touch);function Vo(e,t,n){var a=n?Bo:Fo;t.forEach(function(t){e.addEventListener(t,a,{passive:!1})})}function jo(e,t,n){var a=n?Bo:Fo;t.forEach(function(t){e.removeEventListener(t,a)})}var zo=["mousedown","mouseup"],Wo=["touchstart","touchend"];function Go(e){jo(e,zo,Uo.mouse),jo(e,Wo,Uo.touch)}var qo,Yo,Xo,Ko,Zo,Jo,Qo,$o,ei,ti={enable:function(e){Go(e),Vo(e,zo,Uo.mouse),Vo(e,Wo,Uo.touch)},disable:Go},ni=1,ai=0,oi=!1,ii=!1,ri=700,li=5,si="touchInput";function ci(e){var t=e.currentTarget||e.srcEvent.currentTarget,n=f.cornerstone.getEnabledElement(t);if(n.image){var a,o,i,r;switch(e.preventDefault(),(e.pointers&&e.pointers.length>1||e.touches&&e.touches.length>1)&&(ii=!1,clearTimeout(Qo)),e.type){case"tap":ii=!1,clearTimeout(Qo),(Yo={page:f.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:f.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=f.cornerstone.pixelToCanvas(t,Yo.image),a=x.TAP,Zo={event:e,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,currentPoints:Yo,type:a,isTouchEvent:!0},T(t,a,Zo);break;case"doubletap":ii=!1,clearTimeout(Qo),(Yo={page:f.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:f.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=f.cornerstone.pixelToCanvas(t,Yo.image),a=x.DOUBLE_TAP,Zo={event:e,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,currentPoints:Yo,type:a,isTouchEvent:!0},T(t,a,Zo);break;case"pinchstart":ii=!1,clearTimeout(Qo),ni=1;break;case"pinchmove":if(ii=!1,clearTimeout(Qo),!0===oi){ni=e.scale,oi=!1;break}o=(e.scale-ni)/ni,(qo={page:e.center,image:f.cornerstone.pageToPixel(t,e.center.x,e.center.y)}).canvas=f.cornerstone.pixelToCanvas(t,qo.image),a=x.TOUCH_PINCH,Zo={event:e,startPoints:qo,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,direction:e.scale<1?1:-1,scaleChange:o,type:a,isTouchEvent:!0},T(t,a,Zo),ni=e.scale;break;case"touchstart":ni=1,clearTimeout(Qo),clearTimeout(Jo),Jo=setTimeout(function(){(qo={page:f.cornerstoneMath.point.pageToPoint(e.touches[0]),image:f.cornerstone.pageToPixel(t,e.touches[0].pageX,e.touches[0].pageY),client:{x:e.touches[0].clientX,y:e.touches[0].clientY}}).canvas=f.cornerstone.pixelToCanvas(t,qo.image),a=x.TOUCH_START,e.touches.length>1&&(a=x.MULTI_TOUCH_START),Zo={event:e,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:qo,currentPoints:qo,type:a,isTouchEvent:!0},!0===T(t,a,Zo)&&(a=x.TOUCH_START_ACTIVE,e.touches.length>1&&(a=x.MULTI_TOUCH_START_ACTIVE),Zo.type=a,T(t,a,Zo)),Xo=mo(qo)},50),ii=!0,$o=0,Qo=setTimeout(function(){ii&&((Yo={page:f.cornerstoneMath.point.pageToPoint(e.touches[0]),image:f.cornerstone.pageToPixel(t,e.touches[0].pageX,e.touches[0].pageY),client:{x:e.touches[0].clientX,y:e.touches[0].clientY}}).canvas=f.cornerstone.pixelToCanvas(t,qo.image),a=x.TOUCH_PRESS,Zo={event:e,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,currentPoints:Yo,type:a,isTouchEvent:!0},T(t,a,Zo))},ri);break;case"touchend":ni=1,ii=!1,clearTimeout(Qo),setTimeout(function(){(qo={page:f.cornerstoneMath.point.pageToPoint(e.changedTouches[0]),image:f.cornerstone.pageToPixel(t,e.changedTouches[0].pageX,e.changedTouches[0].pageY),client:{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}}).canvas=f.cornerstone.pixelToCanvas(t,qo.image),a=x.TOUCH_END,Zo={event:e,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:qo,currentPoints:qo,type:a,isTouchEvent:!0},T(t,a,Zo)},50);break;case"panmove":i={x:e.deltaX-ei.x,y:e.deltaY-ei.y},ei={x:e.deltaX,y:e.deltaY},(Yo={page:{x:Xo.page.x+i.x,y:Xo.page.y+i.y},image:f.cornerstone.pageToPixel(t,Xo.page.x+i.x,Xo.page.y+i.y),client:{x:Xo.client.x+i.x,y:Xo.client.y+i.y}}).canvas=f.cornerstone.pixelToCanvas(t,Yo.image),Ko={page:f.cornerstoneMath.point.subtract(Yo.page,Xo.page),image:f.cornerstoneMath.point.subtract(Yo.image,Xo.image),client:f.cornerstoneMath.point.subtract(Yo.client,Xo.client),canvas:f.cornerstoneMath.point.subtract(Yo.canvas,Xo.canvas)},($o+=Math.sqrt(Ko.page.x*Ko.page.x+Ko.page.y*Ko.page.y))>li&&(ii=!1,clearTimeout(Qo)),a=x.TOUCH_DRAG,e.pointers.length>1&&(a=x.MULTI_TOUCH_DRAG),Zo={viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:qo,lastPoints:Xo,currentPoints:Yo,deltaPoints:Ko,numPointers:e.pointers.length,type:a,isTouchEvent:!0},T(t,a,Zo),Xo=mo(Yo);break;case"panstart":ei={x:e.deltaX,y:e.deltaY},(Yo={page:f.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:f.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=f.cornerstone.pixelToCanvas(t,Yo.image),Xo=mo(Yo);break;case"panend":if(ii=!1,clearTimeout(Qo),!Xo)return!1;(Yo={page:f.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:f.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=f.cornerstone.pixelToCanvas(t,Yo.image),Ko={page:f.cornerstoneMath.point.subtract(Yo.page,Xo.page),image:f.cornerstoneMath.point.subtract(Yo.image,Xo.image),client:f.cornerstoneMath.point.subtract(Yo.client,Xo.client),canvas:f.cornerstoneMath.point.subtract(Yo.canvas,Xo.canvas)},a=x.TOUCH_DRAG_END,Zo={event:e.srcEvent,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,startPoints:qo,lastPoints:Xo,currentPoints:Yo,deltaPoints:Ko,type:a,isTouchEvent:!0},T(t,a,Zo),2===e.pointers.length-e.changedPointers.length&&(oi=!0);break;case"rotatemove":ii=!1,clearTimeout(Qo),r=e.rotation-ai,ai=e.rotation,a=x.TOUCH_ROTATE,Zo={event:e.srcEvent,viewport:f.cornerstone.getViewport(t),image:n.image,element:t,rotation:r,type:a},T(t,a,Zo)}return!1}}function ui(e){ti.disable(e);["touchstart","touchend"].forEach(function(t){e.removeEventListener(t,ci)});var t=Zn(si,e).hammer;t&&t.off("tap doubletap panstart panmove panend pinchstart pinchmove rotatemove",ci)}var di={enable:function(e){ui(e);var t=f.Hammer,n={inputClass:t.SUPPORT_POINTER_EVENTS?t.PointerEventInput:t.TouchInput},a=new t.Manager(e,n),o={pointers:0,direction:t.DIRECTION_ALL,threshold:0},i=new t.Pan(o),r=new t.Pinch({threshold:0}),l=new t.Rotate({threshold:0});r.recognizeWith(i),r.recognizeWith(l),l.recognizeWith(i);var s=new t.Tap({event:"doubletap",taps:2,interval:1500,threshold:50,posThreshold:50});s.recognizeWith(i),a.add([s,i,l,r]),a.on("tap doubletap panstart panmove panend pinchstart pinchmove rotatemove",ci),ti.enable(e),["touchstart","touchend"].forEach(function(t){e.addEventListener(t,ci,{passive:!1})});var c=Zn(si,e);c.hammer=a,Jn(si,e,c)},disable:ui},hi=function(e,t,n){return t.filter(function(t){return t.element===e&&"active"===t.mode&&(void 0===n||t.options["is".concat(n,"Active")])})};"createImageBitmap"in window||(window.createImageBitmap=function(){var e=va()(da.a.mark(function e(t){return da.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e){var n=document.createElement("img");n.addEventListener("load",function(){e(this)});var a=document.createElement("canvas");a.width=t.width,a.height=t.height,a.getContext("2d").putImageData(t,0,0,0,0,a.width,a.height),n.src=a.toDataURL()}));case 1:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}());var vi=_.modules.brush,gi=vi.state,mi=vi.getters,fi=vi.setters;function pi(e,t,n){var a=e.detail.element,o=n.toolData,i=n.visibleSegmentations;return!(!o.data[t]||!o.data[t].pixelData)&&(!!i[t]||gi.drawColorId===t&&hi(a,_.state.tools).filter(function(e){return e instanceof Dn}).length>0)}function yi(e,t,n){var a=n.toolData,o=n.imageBitmapCache,i=n.visibleSegmentations;o&&o[t]&&function(e,t,n){var a=e.detail,o=Ze(a.canvasContext.canvas),i=f.cornerstone.pixelToCanvas(a.element,{x:0,y:0}),r=f.cornerstone.pixelToCanvas(a.element,{x:a.image.width,y:0}),l=f.cornerstone.pixelToCanvas(a.element,{x:a.image.width,y:a.image.height}),s=f.cornerstoneMath.point.distance(i,r),c=f.cornerstoneMath.point.distance(r,l),u=a.canvasContext.canvas,d=a.viewport;o.imageSmoothingEnabled=!1,o.globalAlpha=function(e){if(e)return gi.alpha;return gi.hiddenButActiveAlpha}(n),$e(o,u,d);var h={x:d.translation.x*d.scale,y:d.translation.y*d.scale};o.drawImage(t,u.width/2-s/2+h.x,u.height/2-c/2+h.y,s,c),o.globalAlpha=1,et(o)}(e,o[t],i[t]),a.data[t].invalidated&&function(e,t,n){var a=e.detail,o=a.element,i=f.cornerstone.getEnabledElement(o),r=t.data[n].pixelData;if(!r)return;var l=gi.colorMapId,s=[[0,0,0,0],f.cornerstone.colors.getColormap(l).getColor(n)],c=new ImageData(a.image.width,a.image.height),u={stats:{},minPixelValue:0,getPixelData:function(){return r}};f.cornerstone.storedPixelDataToCanvasImageDataColorLUT(u,s,c.data),window.createImageBitmap(c).then(function(e){fi.imageBitmapCacheForElement(i.uuid,n,e),t.data[n].invalidated=!1,f.cornerstone.updateImage(a.element)})}(e,a,t)}var xi=function(e){var t=e.detail.element,n=S.tools.filter(function(e){return e.element===t&&("active"===e.mode||"passive"===e.mode||"enabled"===e.mode)});n.filter(function(e){return e instanceof Dn}).length>0&&function(e){var t=e.detail,n=t.element,a=Dn.getNumberOfColors(),o=Q(n,Dn.getReferencedToolDataName());if(!o){for(var i=0;i<a;i++)J(n,Dn.getReferencedToolDataName(),{});o=Q(n,Dn.getReferencedToolDataName());var r=new Uint8ClampedArray(t.image.width*t.image.height);o.data[0].pixelData=r,o=Q(n,Dn.getReferencedToolDataName())}for(var l=f.cornerstone.getEnabledElement(n).uuid,s={visibleSegmentations:mi.visibleSegmentationsForElement(l),imageBitmapCache:mi.imageBitmapCacheForElement(l),toolData:o},c=0;c<a;c++)pi(e,c,s)&&yi(e,c,s)}(e),n.forEach(function(t){t.renderToolData&&t.renderToolData(e)})},Ti=function(e){e.addEventListener(f.cornerstone.EVENTS.IMAGE_RENDERED,xi)},bi=function(e){e.removeEventListener(f.cornerstone.EVENTS.IMAGE_RENDERED,xi)},Ei=function(e,t,n){if(S.isToolLocked)return!1;var a=n.detail.element,o=S.tools.filter(function(t){return t.supportedInteractionTypes.includes(e)});if(0===(o=(o=hi(a,o,e)).filter(function(e){return"function"==typeof e[t]})).length)return!1;o[0][t](n)},Mi=function(e,t,n){var a="mouse"===(arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse")?S.clickProximity:S.touchProximity;return t.filter(function(t){for(var o=Q(e,t.name),i=0;i<o.data.length;i++)if(void 0!==oe(e,o.data[i].handles,n,a))return!0;return!1})},Ci=function(e,t){return t.filter(function(t){return t.element===e&&("active"===t.mode||"passive"===t.mode)})},wi=function(e,t){return t.filter(function(t){var n=Q(e,t.name);return n&&n.data.length>0})},Ii=function(e){if(!S.isToolLocked){var t=e.detail,n=e.detail.element,a=e.detail.currentPoints.canvas,o=Ci(n,k.mouseTools()),i=o.filter(function(e){return"active"===e.mode&&Array.isArray(e.options.mouseButtonMask)&&e.options.mouseButtonMask.includes(t.buttons)&&e.options.isMouseActive});if(i.length>0){var r=i.find(function(e){return"function"==typeof e.preMouseDownCallback});if(r)if(r.preMouseDownCallback(e))return}var l=wi(n,o),s=Mi(n,l,a,"mouse");if(s.length>0){var c=s[0],u=Q(n,c.name),d=be(n,u,c.name,a),h=d.handle,v=d.data;c.handleSelectedCallback(e,v,h,"mouse")}else{var g=o.filter(function(e){var t=Q(n,e.name);return t&&t.data&&e.pointNearTool&&t.data.some(function(t){return e.pointNearTool(n,t,a,"mouse")})});if(g.length>0){var m=g[0],f=Q(n,m.name).data.find(function(e){return m.pointNearTool(n,e,a)});m.toolSelectedCallback(e,f,"mouse")}else if(i.length>0){var p=i.find(function(e){return"function"==typeof e.postMouseDownCallback});if(p)if(p.postMouseDownCallback(e))return}}}},Si=function(e){if(!S.isToolLocked){var t=e.detail,n=t.element,a=hi(n,k.mouseTools());if(0!==(a=a.filter(function(e){return Array.isArray(e.options.mouseButtonMask)&&e.options.mouseButtonMask.includes(t.buttons)&&e.options.isMouseActive})).length){var o=a[0];if("function"==typeof o.preMouseDownActivateCallback)if(o.preMouseDownActivateCallback(e))return;o.addNewMeasurement?o.addNewMeasurement(e,"mouse"):o instanceof Me&&function(e,t){e.preventDefault(),e.stopPropagation();var n=e.detail,a=n.element,o=t.createNewMeasurement(n);o&&(J(a,t.name,o),f.cornerstone.updateImage(a),(1===Object.keys(o.handles).length?me:ye)(n,t.name,o,o.handles.end,t.options,"mouse"))}(e,o)}}},ki=function(e){if(!S.isToolLocked){var t,n=e.detail,a=n.element;if(0!==(t=(t=(t=hi(a,k.mouseTools())).filter(function(e){return Array.isArray(e.options.mouseButtonMask)&&e.options.mouseButtonMask.includes(n.buttons)&&e.options.isMouseActive})).filter(function(e){return"function"==typeof e.mouseDragCallback})).length)t[0].mouseDragCallback(e)}},Pi=function(e){if(!S.isToolLocked){var t,n=e.detail,a=n.element,o=n.currentPoints;S.mousePositionImage=o.image;var i=(t=Ci(a,k.mouseTools())).filter(function(e){return"active"===e.mode&&e.options.isMouseActive}),r=!1;i.length>0&&(r=i.some(function(e){return e.hasCursor})),t=wi(a,t);for(var l=0;l<t.length;l++){var s=t[l];"function"==typeof s.mouseMoveCallback&&(r=s.mouseMoveCallback(e)||r)}!0===r&&f.cornerstone.updateImage(a)}},_i=Ei.bind(null,"Mouse","mouseClickCallback"),Oi=Ei.bind(null,"Mouse","doubleClickCallback"),Di=Ei.bind(null,"Mouse","mouseUpCallback"),Li=Ei.bind(null,"MouseWheel","mouseWheelCallback"),Ai=function(e){e.addEventListener(x.MOUSE_CLICK,_i),e.addEventListener(x.MOUSE_DOWN,Ii),e.addEventListener(x.MOUSE_DOWN_ACTIVATE,Si),e.addEventListener(x.MOUSE_DOUBLE_CLICK,Oi),e.addEventListener(x.MOUSE_DRAG,ki),e.addEventListener(x.MOUSE_MOVE,Pi),e.addEventListener(x.MOUSE_UP,Di),e.addEventListener(x.MOUSE_WHEEL,Li)},Hi=function(e){e.removeEventListener(x.MOUSE_CLICK,_i),e.removeEventListener(x.MOUSE_DOWN,Ii),e.removeEventListener(x.MOUSE_DOWN_ACTIVATE,Si),e.removeEventListener(x.MOUSE_DOUBLE_CLICK,Oi),e.removeEventListener(x.MOUSE_DRAG,ki),e.removeEventListener(x.MOUSE_MOVE,Pi),e.removeEventListener(x.MOUSE_UP,Di),e.removeEventListener(x.MOUSE_WHEEL,Li)},Ri=(_.modules.brush.setters,function(e){if(S.isToolLocked)return!1;var t=e.detail.element,n=S.tools.filter(function(e){return e.element===t&&("active"===e.mode||"passive"===e.mode||"enabled"===e.mode)});if(0===n.length)return!1;n.forEach(function(t){t.newImageCallback&&t.newImageCallback(e)}),n.filter(function(e){return e instanceof Dn}).length>0&&function(e){var t=e.detail,n=t.element,a=Q(n,Dn.getReferencedToolDataName());if(!a){for(var o=Dn.getNumberOfColors(),i=0;i<o;i++)J(n,Dn.getReferencedToolDataName(),{});a=Q(n,Dn.getReferencedToolDataName());var r=new Uint8ClampedArray(t.image.width*t.image.height);a.data[0].pixelData=r,a=Q(n,Dn.getReferencedToolDataName())}f.cornerstone.getEnabledElement(n);for(var l=Dn.getNumberOfColors(),s=0;s<l;s++)a.data[s]&&(a.data[s].invalidated=!0);f.cornerstone.updateImage(t.element)}(e)}),Ui=function(e){e.addEventListener(f.cornerstone.EVENTS.NEW_IMAGE,Ri)},Ni=function(e){e.removeEventListener(f.cornerstone.EVENTS.NEW_IMAGE,Ri)},Bi=function(e){if(S.isToolLocked)return!1;var t=e.detail,n=t.element,a=t.numPointers,o=S.tools.filter(function(e){return e.supportedInteractionTypes.includes("MultiTouch")});if(0===(o=(o=hi(n,o,"MultiTouch")).filter(function(e){return"function"==typeof e.multiTouchDragCallback&&a===e.configuration.touchPointers})).length)return!1;o[0].multiTouchDragCallback(e)},Fi=function(e){if(!S.isToolLocked){var t=e.detail.element,n=hi(t,k.touchTools());if(0!==(n=n.filter(function(e){return e.options.isTouchActive})).length){var a=n[0];a&&a.addNewMeasurement?a.addNewMeasurement(e,"touch"):a instanceof Me&&function(e,t){console.log("touch: addNewMeasurement"),e.preventDefault(),e.stopPropagation();var n=e.detail,a=n.element,o=t.createNewMeasurement(n);if(o){if(J(a,t.name,o),1===Object.keys(o.handles).length&&n.type===x.TAP)return o.active=!1,o.handles.end.active=!1,o.handles.end.highlight=!1,o.invalidated=!0,(S.deleteIfHandleOutsideImage||t.options.deleteIfHandleOutsideImage)&&re(n,o.handles)&&$(a,t.name,o),void f.cornerstone.updateImage(a);f.cornerstone.updateImage(a),ye(n,t.name,o,o.handles.end,t.options,"touch")}}(e,a)}}},Vi=function(e){if(e)for(var t=0;t<e.data.length;t++){var n=e.data[t];n.active=!1,n.handles&&ji(n.handles)}};function ji(e){Object.keys(e).forEach(function(t){e[t].active=!1})}var zi=function(e){if(!S.isToolLocked){var t,n=e.detail.element,a=e.detail.currentPoints.canvas;t=hi(n,k.touchTools());var o=(t=wi(n,t)).filter(function(e){for(var t=Q(n,e.name),o=0;o<t.data.length;o++)if(void 0!==oe(n,t.data[o].handles,a,28))return!0;return!1});if(o.length>0){var i=o[0],r=Q(n,i.name),l=r.data.find(function(e){return void 0!==oe(n,e.handles,a,28)});r.data.active=!0,l.active=!0,f.cornerstone.updateImage(n);var s=Object.assign({},{doneMovingCallback:function(){Vi(r)}},i.options);return me(e.detail,i.name,r.data,l,s,"touch"),e.stopImmediatePropagation(),void e.preventDefault()}var c=t.filter(function(e){var t=Q(n,e.name);return t&&t.data&&e.pointNearTool&&t.data.some(function(t){return e.pointNearTool(n,t,a)})});if(c.length>0){var u=c[0],d=Q(n,u.name),h=d.data.find(function(e){return u.pointNearTool(n,e,a)});h.active=!0,f.cornerstone.updateImage(n);var v=Object.assign({},{doneMovingCallback:function(){Vi(d)}},u.options);return de(e.detail,u.name,h,null,v,"touch"),e.stopImmediatePropagation(),void e.preventDefault()}var g=hi(n,k.touchTools());return g.length>0&&g[0].touchStartActiveCallback?g[0].touchStartActiveCallback(e):Fi(e),!1}},Wi=function(e){if(!S.isToolLocked){var t=e.detail,n=t.element,a=t.startPoints.canvas,o=Ci(n,k.touchTools()),i=o.filter(function(e){return"active"===e.mode&&e.options.isTouchActive});if(i.length>0){var r=i.find(function(e){return"function"==typeof e.preTouchStartCallback});if(r)if(r.preTouchStartCallback(e))return}var l=wi(n,o),s=Mi(n,l,a,"touch");if(s.length>0){var c=s[0],u=Q(n,c.name),d=be(n,u,c.name,a,"touch"),h=d.handle,v=d.data;c.handleSelectedCallback(e,v,h,"touch")}else{var g=l.filter(function(e){var t=Q(n,e.name);return t&&t.data&&e.pointNearTool&&t.data.some(function(t){return e.pointNearTool(n,t,a,"touch")})});if(g.length>0){var m=g[0],f=Q(n,m.name).data.find(function(e){return m.pointNearTool(n,e,a)});m.toolSelectedCallback(e,f,"touch")}else if(i.length>0){var p=i.find(function(e){return"function"==typeof e.postTouchStartCallback});if(p)if(p.postTouchStartCallback(e))return}}}},Gi=Ei.bind(null,"DoubleTap","doubleTapCallback"),qi=Ei.bind(null,"Touch","touchDragCallback"),Yi=Ei.bind(null,"Touch","touchEndCallback"),Xi=Ei.bind(null,"TouchPinch","touchPinchCallback"),Ki=Ei.bind(null,"Touch","touchPressCallback"),Zi=Ei.bind(null,"TouchRotate","touchRotateCallback"),Ji=function(e){e.addEventListener(x.TAP,zi),e.addEventListener(x.TOUCH_START,Wi,{passive:!1}),e.addEventListener(x.TOUCH_DRAG,qi,{passive:!1}),e.addEventListener(x.TOUCH_END,Yi),e.addEventListener(x.TOUCH_START_ACTIVE,Fi),e.addEventListener(x.TOUCH_PRESS,Ki),e.addEventListener(x.DOUBLE_TAP,Gi),e.addEventListener(x.TOUCH_PINCH,Xi),e.addEventListener(x.TOUCH_ROTATE,Zi),e.addEventListener(x.MULTI_TOUCH_DRAG,Bi)},Qi=function(e){e.removeEventListener(x.TAP,zi),e.removeEventListener(x.TOUCH_START,Wi),e.removeEventListener(x.TOUCH_DRAG,qi),e.removeEventListener(x.TOUCH_END,Yi),e.removeEventListener(x.TOUCH_START_ACTIVE,Fi),e.removeEventListener(x.TOUCH_PRESS,Ki),e.removeEventListener(x.DOUBLE_TAP,Gi),e.removeEventListener(x.TOUCH_PINCH,Xi),e.removeEventListener(x.TOUCH_ROTATE,Zi),e.removeEventListener(x.MULTI_TOUCH_DRAG,Bi)},$i=function(e,t,n){var a=new t(n);O(e,a.name)?console.warn("".concat(a.name," has already been added to the target element")):(a.element=e,_.state.tools.push(a))},er=function(e,t){tr(e,t),_.state.enabledElements.forEach(function(n){$i(n,e,t)})},tr=function(e,t){if(_.modules.globalConfiguration.state.globalToolSyncEnabled){var n=new e(t);void 0!==_.state.globalTools[n.name]?console.warn("".concat(n.name," has already been added globally")):_.state.globalTools[n.name]={tool:e,configuration:t,activeBindings:[]}}},nr=function(e){console.log("EVENT:ELEMENT_ENABLED");var t=e.detail.element;Ti(t),Ui(t),_.modules.globalConfiguration.state.mouseEnabled&&(Po.enable(t),Ho.enable(t),Ai(t)),_.modules.globalConfiguration.state.touchEnabled&&(di.enable(t),Ji(t)),ar(t)},ar=function(e){_.state.enabledElements.push(e),_.modules&&function(e){var t=_.modules;Object.keys(t).forEach(function(n){"function"==typeof t[n].enabledElementCallback&&t[n].enabledElementCallback(e)})}(e),function(e){if(!_.modules.globalConfiguration.state.globalToolSyncEnabled)return;Object.keys(_.state.globalTools).forEach(function(t){var n=_.state.globalTools[t],a=n.tool,o=n.configuration;$i(e,a,o)})}(e),function(e){if(!_.modules.globalConfiguration.state.globalToolSyncEnabled)return;var t={active:D,passive:N,enabled:R,disabled:A};_.state.globalToolChangeHistory.forEach(function(n){var a=n.args.slice(0);a.unshift(e),t[n.mode].apply(null,a)})}(e)};var or=function(e){console.info("EVENT:ELEMENT_DISABLED");var t=e.detail.element;bi(t),Ni(t),_.modules.globalConfiguration.state.mouseEnabled&&(Po.disable(t),Ho.disable(t),Hi(t)),_.modules.globalConfiguration.state.touchEnabled&&(di.disable(t),Qi(t)),ir(t),rr(t)},ir=function(e){_.state.tools=_.state.tools.filter(function(t){return t.element!==e})},rr=function(e){_.modules&&function(e){var t=_.modules;Object.keys(t).forEach(function(n){"function"==typeof t[n].removeEnabledElementCallback&&t[n].removeEnabledElementCallback(e)})}(e);var t=_.state.enabledElements.findIndex(function(t){return t===e});t>-1?_.state.enabledElements.splice(t,1):console.warn("unable to remove element")};var lr,sr=function(){window.removeEventListener("resize",cr,!1)};function cr(){lr||(lr=setTimeout(function(){lr=null,ur()},66))}var ur=function(){S.enabledElements.forEach(function(e){f.cornerstone.resize(e)})},dr=function(){sr(),window.addEventListener("resize",cr,!1)},hr=function(e){var t;!function(){!function(){var e=f.cornerstone,t=e.EVENTS.ELEMENT_ENABLED,n=e.EVENTS.ELEMENT_DISABLED;e.events.removeEventListener(t,nr),e.events.removeEventListener(n,or)}();var e=f.cornerstone,t=e.EVENTS.ELEMENT_ENABLED,n=e.EVENTS.ELEMENT_DISABLED;e.events.addEventListener(t,nr),e.events.addEventListener(n,or)}(),t=_.modules,Object.keys(t).forEach(function(e){"function"==typeof t[e].onRegisterCallback&&t[e].onRegisterCallback()}),dr(),_.modules.globalConfiguration.state=Object.assign({},_.modules.globalConfiguration.state,e)};var vr,gr="stackPrefetch",mr="prefetch",fr={maxImagesToPrefetch:1/0},pr=10;var yr=function(e){return Math.max.apply(null,e)},xr=function(e){return Math.min.apply(null,e)};function Tr(e){var t=Q(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0],a=Q(e,gr);if(a){var o=a.data[0]||{};if(o.indicesToRequest&&o.indicesToRequest.length||(o.enabled=!1),!1!==o.enabled)if(a.data[0].indicesToRequest.sort(function(e,t){return e-t}),o.indicesToRequest.slice().forEach(function(e){var t=n.imageIds[e];t&&(f.cornerstone.imageCache.getImageLoadObject(t)&&b(e))}),o.indicesToRequest.length){ja.clearRequestStack(mr);for(var i,r,l,s,c,u,d=(i=o.indicesToRequest,r=n.currentImageIdIndex,l=[],s=[],i.forEach(function(e){e<r?l.push(e):e>r&&s.push(e)}),{low:i.indexOf(yr(l)),high:i.indexOf(xr(s))}),h=Wn.getErrorLoadingHandler(),v=d.low,g=d.high;v>=0||g<o.indicesToRequest.length;){var m=n.currentImageIdIndex,p=m-o.indicesToRequest[v]>fr.maxImagesToPrefetch,y=o.indicesToRequest[g]-m>fr.maxImagesToPrefetch,x=!p&&v>=0,T=!y&&g<o.indicesToRequest.length;if(!T&&!x)break;x&&(u=o.indicesToRequest[v--],c=n.imageIds[u],ja.addRequest(e,c,mr,!1,E,M)),T&&(u=o.indicesToRequest[g++],c=n.imageIds[u],ja.addRequest(e,c,mr,!1,E,M))}ja.startGrabbing()}}}function b(e){var t=o.indicesToRequest.indexOf(e);t>-1&&o.indicesToRequest.splice(t,1)}function E(e){b(n.imageIds.indexOf(e.imageId))}function M(t){console.log("prefetch errored: ".concat(t)),h&&h(e,c,t,"stackPrefetch")}}function br(e){return function(t){var n,a=t.detail;try{n=Q(e,"stack")}catch(e){return}if(n&&n.data&&n.data.length){var o=n.data[0].imageIds.indexOf(a.imageId);if(!(o<0)){var i=Q(e,gr);i&&i.data&&i.data.length&&i.data[0].indicesToRequest.push(o)}}}}function Er(e){clearTimeout(vr),vr=setTimeout(function(){var t=e.target;try{Tr(t)}catch(e){return}},pr)}var Mr={enable:function(e){Q(e,gr).data=[];var t=Q(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0];if(!0!==n.preventCache){var a={indicesToRequest:function(e,t){e=Math.round(e)||0;var n=[],a=(t=Math.round(t)||0)-e+1;if(a<=0)return n;for(;a--;)n[a]=t--;return n}(0,n.imageIds.length-1),enabled:!0,direction:1},o=a.indicesToRequest.indexOf(n.currentImageIdIndex);a.indicesToRequest.splice(o,1),J(e,gr,a),Tr(e),e.removeEventListener(f.cornerstone.EVENTS.NEW_IMAGE,Er),e.addEventListener(f.cornerstone.EVENTS.NEW_IMAGE,Er);var i=br(e);f.cornerstone.events.removeEventListener(f.cornerstone.EVENTS.IMAGE_CACHE_PROMISE_REMOVED,i),f.cornerstone.events.addEventListener(f.cornerstone.EVENTS.IMAGE_CACHE_PROMISE_REMOVED,i)}else console.warn("A stack that should not be cached was given the stackPrefetch")}},disable:function(e){clearTimeout(vr),e.removeEventListener(f.cornerstone.EVENTS.NEW_IMAGE,Er);var t=br(e);f.cornerstone.events.removeEventListener(f.cornerstone.EVENTS.IMAGE_CACHE_PROMISE_REMOVED,t);var n=Q(e,gr);n&&n.data.length&&(n.data[0].enabled=!1,ja.clearRequestStack(mr))},getConfiguration:function(){return fr},setConfiguration:function(e){var t;fr=e,e.maxSimultaneousRequests&&(t=e.maxSimultaneousRequests,pa=t)}},Cr=function(){function e(){o()(this,e),this.currentImageIdIndex=0,this.layerIds=[],this.findImageFn=void 0}return r()(e,[{key:"render",value:function(e,t){var n=this;if(!Number.isInteger(this.currentImageIdIndex))throw new Error("FusionRenderer: render - Image ID Index is not an integer");if(!this.findImageFn)throw new Error("No findImage function has been defined");t||(t=Q(e,"stack").data);var a=f.cornerstone,o=t[0],i=o.imageIds[this.currentImageIdIndex],r=t.slice(1,t.length);a.loadAndCacheImage(i).then(function(t){var l=n.layerIds[0];l?a.setLayerImage(e,t,l):(l=a.addLayer(e,t,o.options),n.layerIds.push(l)),a.displayImage(e,t),r.forEach(function(t,o){var r=n.findImageFn(t.imageIds,i),s=o+1,c=n.layerIds[s];c||(c=a.addLayer(e,void 0,t.options),n.layerIds.push(c)),r?a.loadAndCacheImage(r).then(function(t){a.setLayerImage(e,t,c),a.updateImage(e)}):(a.setLayerImage(e,void 0,c),a.setActiveLayer(e,l),a.updateImage(e))})})}}]),e}(),wr={};wr.FusionRenderer=Cr;var Ir=wr,Sr="playClip";function kr(e){var t=e.intervalId;void 0!==t&&(e.intervalId=void 0,e.usingFrameTimeVector?clearTimeout(t):clearInterval(t))}function Pr(e,t){var n,a;if(void 0===e)throw new Error("playClip: element must not be undefined");var o=Q(e,"stack");if(o&&o.data&&o.data.length){var i,r=f.cornerstone;if(o.data.length>1){var l=Q(e,"stackRenderer");l&&l.data&&l.data.length&&(i=l.data[0])}var s=o.data[0],c=Q(e,Sr);c&&c.data&&c.data.length?kr(n=c.data[0]):J(e,Sr,n={intervalId:void 0,framesPerSecond:30,lastFrameTimeStamp:void 0,frameRate:0,frameTimeVector:void 0,ignoreFrameTimeVector:!1,usingFrameTimeVector:!1,speed:1,reverse:!1,loop:!0}),(t<0||t>0)&&(n.framesPerSecond=Number(t),n.reverse=n.framesPerSecond<0,n.ignoreFrameTimeVector=!0),!0!==n.ignoreFrameTimeVector&&n.frameTimeVector&&n.frameTimeVector.length===s.imageIds.length&&(a=function(e,t){var n,a,o,i=0,r=e.length,l=[];for(l.isTimeVarying=!1,("number"!=typeof t||t<=0)&&(t=1),n=1;n<r;n++)o=Number(e[n])/t|0,l.push(o),1===n?a=o:o!==a&&(l.isTimeVarying=!0),i+=o;return l.length>0&&(o=l.isTimeVarying?i/l.length|0:l[0],l.push(o)),l}(n.frameTimeVector,n.speed));var u=function(){var t,a,l,c=s.currentImageIdIndex,u=s.imageIds.length;if(n.reverse?c--:c++,!n.loop&&(c<0||c>=u))return kr(n),void function(e){var t={element:e};T(e,x.CLIP_STOPPED,t)}(e);c>=u&&(c=0),c<0&&(c=u-1),c!==s.currentImageIdIndex&&(t=Wn.getStartLoadHandler(),a=Wn.getEndLoadHandler(),l=Wn.getErrorLoadingHandler(),t&&t(e),(!0===s.preventCache?r.loadImage(s.imageIds[c]):r.loadAndCacheImage(s.imageIds[c])).then(function(t){try{s.currentImageIdIndex=c,i?(i.currentImageIdIndex=c,i.render(e,o.data)):r.displayImage(e,t),a&&a(e,t)}catch(e){return}},function(t){var n=s.imageIds[c];l&&l(e,n,t)}))};a&&a.length>0&&a.isTimeVarying?(n.usingFrameTimeVector=!0,n.intervalId=setTimeout(function e(){n.intervalId=setTimeout(e,a[s.currentImageIdIndex]),u()},0)):(n.usingFrameTimeVector=!1,n.intervalId=setInterval(u,1e3/Math.abs(n.framesPerSecond)))}}function _r(e){var t=Q(e,Sr);t&&t.data&&t.data.length&&kr(t.data[0])}var Or=function(e,t){var n=_.state.tools.findIndex(function(n){return n.element===e&&n.name===t});n>=0&&_.state.tools.splice(n,1)},Dr=function(e){Lr(e),_.state.enabledElements.forEach(function(t){Or(t,e)})},Lr=function(e){_.modules.globalConfiguration.state.globalToolSyncEnabled&&_.state.globalTools[e]&&delete _.state.globalTools[e]},Ar=function(e,t,n){var a=O(e,t);a&&a.mergeOptions(n)},Hr=function(e,t){S.enabledElements.forEach(function(e){Ar(e,t)})};function Rr(e,t){var n={};return{get:function(a,o){return e.indexOf(o)>=0?(!1===n.hasOwnProperty(o)&&(n[o]={data:[]}),n[o]):t.get(a,o)},add:function(a,o,i){if(!(e.indexOf(o)>=0))return t.add(a,o,i);!1===n.hasOwnProperty(o)&&(n[o]={data:[]}),n[o].data.push(i)},saveToolState:function(){return n},restoreToolState:function(e){n=e},toolState:n}}var Ur=[];function Nr(e,t){var n=Z(e);n||(n=K);var a=["stack","stackPrefetch","playClip","volume","slab","referenceLines","crosshairs","stackRenderer"];t&&(a=a.concat(t));var o=Rr(a,n);Ur.push(o),te(e,o)}var Br={newStackSpecificToolStateManager:Rr,addStackStateManager:Nr};function Fr(){var e={};return{get:function(t,n){if(!1!==e.hasOwnProperty(t)){var a=e[t];if(!1!==a.hasOwnProperty(n))return a[n]}},add:function(t,n,a){!1===e.hasOwnProperty(t)&&(e[t]={});var o=e[t];!1===o.hasOwnProperty(n)&&(o[n]={data:[]}),o[n].data.push(a)},remove:function(t,n,a){if(!1!==e.hasOwnProperty(t)){var o=e[t];if(!1!==o.hasOwnProperty(n)){for(var i=o[n],r=-1,l=0;l<i.data.length;l++)i.data[l]===a&&(r=l);-1!==r&&i.data.splice(r,1)}}}}}var Vr=Fr(),jr={getOrientationString:function(e){for(var t=Gn(e),n="",a=t.x<0?"R":"L",o=t.y<0?"A":"P",i=t.z<0?"F":"H",r=new f.cornerstoneMath.Vector3(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z)),l=0;l<3;l++)if(r.x>1e-4&&r.x>r.y&&r.x>r.z)n+=a,r.x=0;else if(r.y>1e-4&&r.y>r.x&&r.y>r.z)n+=o,r.y=0;else{if(!(r.z>1e-4&&r.z>r.x&&r.z>r.y))break;n+=i,r.z=0}return n},invertOrientationString:function(e){var t=e.replace("H","f");return t=(t=(t=(t=(t=(t=t.replace("F","h")).replace("R","l")).replace("L","r")).replace("A","p")).replace("P","a")).toUpperCase()}},zr=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"image/png",a=e.querySelector("canvas");if(a.msToBlob){var o=a.msToBlob();return window.navigator.msSaveBlob(o,t)}var i=document.createElement("a");if(i.download=t,i.href=a.toDataURL(n,1),document.createEvent){var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(r)}else i.fireEvent&&i.fireEvent("onclick")},Wr=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(function(e){return Object.keys(P).some(function(t){return t===e})}(e)){if(console.warn("A module with the name ".concat(e," is already registered")),!n)return;console.warn("Overwriting module ".concat(e))}P[e]=t};var Gr=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(function(e){return void 0!==q[e]}(e)){if(console.warn("mixins/".concat(e," is already registered")),!n)return;console.warn("Overwriting mixins/".concat(e))}q[e]=t,xo["mixins/".concat(e)]=q[e]};var qr=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(function(e,t){return void 0!==xo["".concat(e,"/").concat(t)]}(e,t)){if(console.warn("".concat(e,"/").concat(t," is already registered")),!a)return;console.warn("Overwriting ".concat(e,"/").concat(t))}xo["".concat(e,"/").concat(t)]=n};var Yr=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(function(e,t,n){if(!e)return console.warn("The type must be given in order to register."),!1;if(!t)return console.warn("The ".concat(e," must have a name in order to register.")),!1;if("object"!==y()(n)&&"function"!=typeof n)return console.warn("The ".concat(n," is a ").concat(y()(n),", it should be an Object or a function.")),!1;return!0}(e,t,n))switch(e){case"module":Wr(t,n,a);break;case"mixin":Gr(t,n,a);break;default:qr(e,t,n,a),console.warn("unrecognised type ".concat(e,", not registering ").concat(t))}};var Xr=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0;n<e.length;n++){var a=e[n],o=a.type,i=a.name,r=a.item;Yr(o,i,r,t)}},Kr=function(e,t,n){if(n!==t){var a=f.cornerstone,o=a.getViewport(t),i=a.getViewport(n);i.voi.windowWidth===o.voi.windowWidth&&i.voi.windowCenter===o.voi.windowCenter&&i.invert===o.invert||(i.voi.windowWidth=o.voi.windowWidth,i.voi.windowCenter=o.voi.windowCenter,i.invert=o.invert,e.setViewport(n,i))}},Zr=function(e,t,n){n!==t&&f.cornerstone.updateImage(n)};function Jr(e){return e.filter(function(e,t,n){return n.indexOf(e)===t})}var Qr=function(e,t){var n=f.cornerstone,a=this,o=[],i=[],r=!1,l={},s=t;function c(e,t){var n=!a.enabled,c=!o.length||!i.length;n||c||(r=!0,i.forEach(function(n){var r=i.indexOf(n);if(-1!==r){var c=l.imageIds.targetElements[r],u=o.indexOf(e);if(-1!==u){var d,h=l.imageIds.sourceElements[u];h===c?d=0:void 0!==l.distances[h]&&(d=l.distances[h][c]),s(a,e,n,t,d)}}}),r=!1)}function u(e){var t=e.detail;!0!==r&&c(e.currentTarget,t)}function d(e){var t=e.detail.element;a.remove(t),function(e){for(var t in Kn)Kn[t]=Kn[t].filter(function(t){return t.element!==e})}(t)}this.enabled=!0,this.setHandler=function(e){s=e},this.getHandler=function(){return s},this.getDistances=function(){o.length&&i.length&&(l.distances={},l.imageIds={sourceElements:[],targetElements:[]},o.forEach(function(e){var t=n.getEnabledElement(e);if(t&&t.image){var a=t.image.imageId,o=n.metaData.get("imagePlaneModule",a);if(o&&o.imagePositionPatient){var r=Gn(o.imagePositionPatient);l.hasOwnProperty(t)||(l.distances[a]={},l.imageIds.sourceElements.push(a),i.forEach(function(t){var o=n.getEnabledElement(t);if(o&&o.image){var i=o.image.imageId;if(l.imageIds.targetElements.push(i),e!==t&&a!==i&&!l.distances[a].hasOwnProperty(i)){var s=n.metaData.get("imagePlaneModule",i);if(s&&s.imagePositionPatient){var c=Gn(s.imagePositionPatient);l.distances[a][i]=c.clone().sub(r)}}}}),Object.keys(l.distances[a]).length||delete l.distances[a])}}}))},this.addSource=function(t){-1===o.indexOf(t)&&(o.push(t),e.split(" ").forEach(function(e){t.addEventListener(e,u)}),a.getDistances(),a.updateDisableHandlers())},this.addTarget=function(e){-1===i.indexOf(e)&&(i.push(e),a.getDistances(),s(a,e,e,0),a.updateDisableHandlers())},this.add=function(e){a.addSource(e),a.addTarget(e)},this.removeSource=function(t){var n=o.indexOf(t);-1!==n&&(o.splice(n,1),e.split(" ").forEach(function(e){t.removeEventListener(e,u)}),a.getDistances(),c(t),a.updateDisableHandlers())},this.removeTarget=function(e){var t=i.indexOf(e);-1!==t&&(i.splice(t,1),a.getDistances(),s(a,e,e,0),a.updateDisableHandlers())},this.remove=function(e){a.removeTarget(e),a.removeSource(e)},this.getSourceElements=function(){return o},this.getTargetElements=function(){return i},this.displayImage=function(e,t,a){r=!0,n.displayImage(e,t,a),r=!1},this.setViewport=function(e,t){r=!0,n.setViewport(e,t),r=!1},this.updateDisableHandlers=function(){Jr(o.concat(i)).forEach(function(e){e.removeEventListener(f.cornerstone.EVENTS.ELEMENT_DISABLED,d),e.addEventListener(f.cornerstone.EVENTS.ELEMENT_DISABLED,d)})},this.destroy=function(){Jr(o.concat(i)).forEach(function(e){a.remove(e)})}},$r=function(e,t,n,a){if(t!==n&&a&&a.direction){var o=f.cornerstone,i=Q(n,"stack").data[0],r=i.currentImageIdIndex+a.direction;if(r=le(r,0,i.imageIds.length-1),i.currentImageIdIndex!==r){var l=Wn.getStartLoadHandler(),s=Wn.getEndLoadHandler(),c=Wn.getErrorLoadingHandler();i.currentImageIdIndex=r;var u=i.imageIds[r];l&&l(n),(!0===i.preventCache?o.loadImage(u):o.loadAndCacheImage(u)).then(function(t){var a=o.getViewport(n);i.currentImageIdIndex===r&&(e.displayImage(n,t,a),s&&s(n,t))},function(e){var t=i.imageIds[r];c&&c(n,t,e)})}}},el=function(e,t,n){if(n!==t){var a=f.cornerstone,o=Q(t,"stack").data[0],i=o.imageIds[o.currentImageIdIndex],r=a.metaData.get("imagePlaneModule",i);if(void 0!==r&&void 0!==r.imagePositionPatient){var l=Gn(r.imagePositionPatient),s=Q(n,"stack").data[0],c=Number.MAX_VALUE,u=-1;if(s.imageIds.forEach(function(e,t){var n=a.metaData.get("imagePlaneModule",e);if(void 0!==n&&void 0!==n.imagePositionPatient){var o=Gn(n.imagePositionPatient).distanceToSquared(l);o<c&&(c=o,u=t)}}),u!==s.currentImageIdIndex){var d=Wn.getStartLoadHandler(),h=Wn.getEndLoadHandler(),v=Wn.getErrorLoadingHandler();s.currentImageIdIndex=u;var g=s.imageIds[u];if(d&&d(n),-1!==u)(!0===s.preventCache?a.loadImage(g):a.loadAndCacheImage(g)).then(function(t){var o=a.getViewport(n);s.currentImageIdIndex===u&&(e.displayImage(n,t,o),h&&h(n,t))},function(e){var t=s.imageIds[u];v&&v(n,t,e)})}}}},tl=function(e,t,n,a,o){if(n!==t){var i=f.cornerstone,r=Q(t,"stack").data[0],l=r.imageIds[r.currentImageIdIndex],s=i.metaData.get("imagePlaneModule",l);if(void 0!==s&&void 0!==s.imagePositionPatient){var c=Gn(s.imagePositionPatient),u=Q(n,"stack").data[0],d=Number.MAX_VALUE,h=-1;if(o){var v=c.clone().add(o);if(u.imageIds.forEach(function(e,t){var n=i.metaData.get("imagePlaneModule",e);if(void 0!==n&&void 0!==n.imagePositionPatient){var a=Gn(n.imagePositionPatient),o=v.distanceToSquared(a);o<d&&(d=o,h=t)}}),h!==u.currentImageIdIndex&&-1!==h){var g=Wn.getStartLoadHandler(),m=Wn.getEndLoadHandler(),p=Wn.getErrorLoadingHandler();u.currentImageIdIndex=h;var y=u.imageIds[h];g&&g(n),(!0===u.preventCache?i.loadImage(y):i.loadAndCacheImage(y)).then(function(t){var a=i.getViewport(n);u.currentImageIdIndex===h&&(e.displayImage(n,t,a),m&&m(n,t))},function(e){var t=u.imageIds[h];p&&p(n,t,e)})}}}}},nl=function(e,t,n){if(n!==t){var a=f.cornerstone,o=Q(t,"stack").data[0],i=Q(n,"stack").data[0],r=o.currentImageIdIndex;if((r=le(r,0,i.imageIds.length-1))!==i.currentImageIdIndex){var l=Wn.getStartLoadHandler(),s=Wn.getEndLoadHandler(),c=Wn.getErrorLoadingHandler();l&&l(n),(!0===i.preventCache?a.loadImage(i.imageIds[r]):a.loadAndCacheImage(i.imageIds[r])).then(function(t){var o=a.getViewport(n);i.currentImageIdIndex=r,e.displayImage(n,t,o),s&&s(n,t)},function(e){var t=i.imageIds[r];c&&c(n,t,e)})}}},al=function(e,t,n){if(n!==t){var a=f.cornerstone,o=a.getViewport(t),i=a.getViewport(n);i.scale===o.scale&&i.translation.x===o.translation.x&&i.translation.y===o.translation.y||(i.scale=o.scale,i.translation.x=o.translation.x,i.translation.y=o.translation.y,e.setViewport(n,i))}};n.d(t,"AngleTool",function(){return ot}),n.d(t,"ArrowAnnotateTool",function(){return it}),n.d(t,"BidirectionalTool",function(){return At}),n.d(t,"CobbAngleTool",function(){return Ht}),n.d(t,"EllipticalRoiTool",function(){return Gt}),n.d(t,"FreehandMouseTool",function(){return pn}),n.d(t,"LengthTool",function(){return xn}),n.d(t,"ProbeTool",function(){return bn}),n.d(t,"RectangleRoiTool",function(){return En}),n.d(t,"TextMarkerTool",function(){return Sn}),n.d(t,"BrushTool",function(){return Un}),n.d(t,"CrosshairsTool",function(){return Qn}),n.d(t,"DoubleTapFitToWindowTool",function(){return $n}),n.d(t,"DragProbeTool",function(){return ea}),n.d(t,"EraserTool",function(){return aa}),n.d(t,"FreehandSculpterMouseTool",function(){return ia}),n.d(t,"MagnifyTool",function(){return ra}),n.d(t,"OverlayTool",function(){return la}),n.d(t,"PanMultiTouchTool",function(){return sa}),n.d(t,"PanTool",function(){return ca}),n.d(t,"ReferenceLinesTool",function(){return ya}),n.d(t,"RotateTool",function(){return Ta}),n.d(t,"RotateTouchTool",function(){return Ca}),n.d(t,"ScaleOverlayTool",function(){return wa}),n.d(t,"StackScrollMouseWheelTool",function(){return qa}),n.d(t,"StackScrollMultiTouchTool",function(){return Ya}),n.d(t,"StackScrollTool",function(){return Xa}),n.d(t,"WwwcRegionTool",function(){return Za}),n.d(t,"WwwcTool",function(){return eo}),n.d(t,"ZoomMouseWheelTool",function(){return oo}),n.d(t,"ZoomTool",function(){return lo}),n.d(t,"ZoomTouchPinchTool",function(){return go}),n.d(t,"init",function(){return hr}),n.d(t,"stackPrefetch",function(){return Mr}),n.d(t,"stackRenderers",function(){return Ir}),n.d(t,"playClip",function(){return Pr}),n.d(t,"stopClip",function(){return _r}),n.d(t,"store",function(){return _}),n.d(t,"getToolForElement",function(){return O}),n.d(t,"addTool",function(){return er}),n.d(t,"addToolForElement",function(){return $i}),n.d(t,"removeTool",function(){return Dr}),n.d(t,"removeToolForElement",function(){return Or}),n.d(t,"setToolOptions",function(){return Hr}),n.d(t,"setToolOptionsForElement",function(){return Ar}),n.d(t,"setToolActive",function(){return L}),n.d(t,"setToolActiveForElement",function(){return D}),n.d(t,"setToolEnabled",function(){return U}),n.d(t,"setToolEnabledForElement",function(){return R}),n.d(t,"setToolDisabled",function(){return H}),n.d(t,"setToolDisabledForElement",function(){return A}),n.d(t,"setToolPassive",function(){return B}),n.d(t,"setToolPassiveForElement",function(){return N}),n.d(t,"addToolState",function(){return J}),n.d(t,"getToolState",function(){return Q}),n.d(t,"removeToolState",function(){return $}),n.d(t,"clearToolState",function(){return ee}),n.d(t,"setElementToolStateManager",function(){return te}),n.d(t,"getElementToolStateManager",function(){return Z}),n.d(t,"textStyle",function(){return ze}),n.d(t,"toolStyle",function(){return Ie}),n.d(t,"toolColors",function(){return _e}),n.d(t,"toolCoordinates",function(){return xt}),n.d(t,"stackSpecificStateManager",function(){return Br}),n.d(t,"newStackSpecificToolStateManager",function(){return Rr}),n.d(t,"addStackStateManager",function(){return Nr}),n.d(t,"loadHandlerManager",function(){return Wn}),n.d(t,"newImageIdSpecificToolStateManager",function(){return X}),n.d(t,"globalImageIdSpecificToolStateManager",function(){return K}),n.d(t,"newFrameOfReferenceSpecificToolStateManager",function(){return Fr}),n.d(t,"globalFrameOfReferenceSpecificToolStateManager",function(){return Vr}),n.d(t,"forceEnabledElementResize",function(){return ur}),n.d(t,"orientation",function(){return jr}),n.d(t,"SaveAs",function(){return zr}),n.d(t,"register",function(){return Yr}),n.d(t,"registerSome",function(){return Xr}),n.d(t,"wwwcSynchronizer",function(){return Kr}),n.d(t,"updateImageSynchronizer",function(){return Zr}),n.d(t,"Synchronizer",function(){return Qr}),n.d(t,"stackScrollSynchronizer",function(){return $r}),n.d(t,"stackImagePositionSynchronizer",function(){return el}),n.d(t,"stackImagePositionOffsetSynchronizer",function(){return tl}),n.d(t,"stackImageIndexSynchronizer",function(){return nl}),n.d(t,"panZoomSynchronizer",function(){return al}),n.d(t,"requestPoolManager",function(){return ja}),n.d(t,"external",function(){return f}),n.d(t,"EVENTS",function(){return x}),n.d(t,"version",function(){return"3.0.2"}),n.d(t,"import",function(){return To});var ol={AngleTool:ot,ArrowAnnotateTool:it,BidirectionalTool:At,CobbAngleTool:Ht,EllipticalRoiTool:Gt,FreehandMouseTool:pn,LengthTool:xn,ProbeTool:bn,RectangleRoiTool:En,TextMarkerTool:Sn,BrushTool:Un,CrosshairsTool:Qn,DoubleTapFitToWindowTool:$n,DragProbeTool:ea,EraserTool:aa,FreehandSculpterMouseTool:ia,MagnifyTool:ra,OverlayTool:la,PanMultiTouchTool:sa,PanTool:ca,ReferenceLinesTool:ya,RotateTool:Ta,RotateTouchTool:Ca,ScaleOverlayTool:wa,StackScrollMouseWheelTool:qa,StackScrollMultiTouchTool:Ya,StackScrollTool:Xa,WwwcRegionTool:Za,WwwcTool:eo,ZoomMouseWheelTool:oo,ZoomTool:lo,ZoomTouchPinchTool:go,init:hr,stackPrefetch:Mr,stackRenderers:Ir,playClip:Pr,stopClip:_r,store:_,getToolForElement:O,addTool:er,addToolForElement:$i,removeTool:Dr,removeToolForElement:Or,setToolOptions:Hr,setToolOptionsForElement:Ar,setToolActive:L,setToolActiveForElement:D,setToolEnabled:U,setToolEnabledForElement:R,setToolDisabled:H,setToolDisabledForElement:A,setToolPassive:B,setToolPassiveForElement:N,addToolState:J,getToolState:Q,removeToolState:$,clearToolState:ee,setElementToolStateManager:te,getElementToolStateManager:Z,textStyle:ze,toolStyle:Ie,toolColors:_e,toolCoordinates:xt,stackSpecificStateManager:Br,newStackSpecificToolStateManager:Rr,addStackStateManager:Nr,loadHandlerManager:Wn,newImageIdSpecificToolStateManager:X,globalImageIdSpecificToolStateManager:K,newFrameOfReferenceSpecificToolStateManager:Fr,globalFrameOfReferenceSpecificToolStateManager:Vr,forceEnabledElementResize:ur,orientation:jr,SaveAs:zr,import:To,register:Yr,registerSome:Xr,wwwcSynchronizer:Kr,updateImageSynchronizer:Zr,Synchronizer:Qr,stackScrollSynchronizer:$r,stackImagePositionSynchronizer:el,stackImagePositionOffsetSynchronizer:tl,stackImageIndexSynchronizer:nl,panZoomSynchronizer:al,requestPoolManager:ja,external:f,EVENTS:x,version:"3.0.2"};t.default=ol},function(e,t){!function(t){"use strict";var n,a=Object.prototype,o=a.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},r=i.iterator||"@@iterator",l=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag",c="object"==typeof e,u=t.regeneratorRuntime;if(u)c&&(e.exports=u);else{(u=t.regeneratorRuntime=c?e.exports:{}).wrap=T;var d="suspendedStart",h="suspendedYield",v="executing",g="completed",m={},f={};f[r]=function(){return this};var p=Object.getPrototypeOf,y=p&&p(p(O([])));y&&y!==a&&o.call(y,r)&&(f=y);var x=C.prototype=E.prototype=Object.create(f);M.prototype=x.constructor=C,C.constructor=M,C[s]=M.displayName="GeneratorFunction",u.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===M||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,C):(e.__proto__=C,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(x),e},u.awrap=function(e){return{__await:e}},w(I.prototype),I.prototype[l]=function(){return this},u.AsyncIterator=I,u.async=function(e,t,n,a){var o=new I(T(e,t,n,a));return u.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},w(x),x[s]="Generator",x[r]=function(){return this},x.toString=function(){return"[object Generator]"},u.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},u.values=O,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(P),!e)for(var t in this)"t"===t.charAt(0)&&o.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function a(a,o){return l.type="throw",l.arg=e,t.next=a,o&&(t.method="next",t.arg=n),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i],l=r.completion;if("root"===r.tryLoc)return a("end");if(r.tryLoc<=this.prev){var s=o.call(r,"catchLoc"),c=o.call(r,"finallyLoc");if(s&&c){if(this.prev<r.catchLoc)return a(r.catchLoc,!0);if(this.prev<r.finallyLoc)return a(r.finallyLoc)}else if(s){if(this.prev<r.catchLoc)return a(r.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return a(r.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&o.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var r=i?i.completion:{};return r.type=e,r.arg=t,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(r)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var o=a.arg;P(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,a){return this.delegate={iterator:O(e),resultName:t,nextLoc:a},"next"===this.method&&(this.arg=n),m}}}function T(e,t,n,a){var o=t&&t.prototype instanceof E?t:E,i=Object.create(o.prototype),r=new _(a||[]);return i._invoke=function(e,t,n){var a=d;return function(o,i){if(a===v)throw new Error("Generator is already running");if(a===g){if("throw"===o)throw i;return D()}for(n.method=o,n.arg=i;;){var r=n.delegate;if(r){var l=S(r,n);if(l){if(l===m)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=v;var s=b(e,t,n);if("normal"===s.type){if(a=n.done?g:h,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=g,n.method="throw",n.arg=s.arg)}}}(e,n,r),i}function b(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function E(){}function M(){}function C(){}function w(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function I(e){var t;this._invoke=function(n,a){function i(){return new Promise(function(t,i){!function t(n,a,i,r){var l=b(e[n],e,a);if("throw"!==l.type){var s=l.arg,c=s.value;return c&&"object"==typeof c&&o.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,i,r)},function(e){t("throw",e,i,r)}):Promise.resolve(c).then(function(e){s.value=e,i(s)},function(e){return t("throw",e,i,r)})}r(l.arg)}(n,a,t,i)})}return t=t?t.then(i,i):i()}}function S(e,t){var a=e.iterator[t.method];if(a===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,S(e,t),"throw"===t.method))return m;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var o=b(a,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,m;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,m):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function O(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,i=function t(){for(;++a<e.length;)if(o.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=n,t.done=!0,t};return i.next=i}}return{next:D}}function D(){return{value:n,done:!0}}}(function(){return this||"object"==typeof self&&self}()||Function("return this")())},function(e,t,n){var a=function(){return this||"object"==typeof self&&self}()||Function("return this")(),o=a.regeneratorRuntime&&Object.getOwnPropertyNames(a).indexOf("regeneratorRuntime")>=0,i=o&&a.regeneratorRuntime;if(a.regeneratorRuntime=void 0,e.exports=n(11),o)a.regeneratorRuntime=i;else try{delete a.regeneratorRuntime}catch(e){a.regeneratorRuntime=void 0}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){function n(t,a){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,a)}e.exports=n}])});
3
- //# sourceMappingURL=cornerstoneTools.min.js.map