@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
@@ -0,0 +1,13 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import { Spline } from './Spline';
3
+ import type { SplineCurveSegment } from '../../../types';
4
+ declare abstract class CubicSpline extends Spline {
5
+ protected getPreviewCurveSegments(controlPointPreview: Types.Point2, closeSpline: boolean): SplineCurveSegment[];
6
+ protected getSplineCurves(): SplineCurveSegment[];
7
+ private _getNumCurveSegments;
8
+ private _getPoint;
9
+ private _getCurveSegmentPoints;
10
+ private _getLineSegments;
11
+ private _getCurveSegment;
12
+ }
13
+ export { CubicSpline as default, CubicSpline };
@@ -0,0 +1,164 @@
1
+ import { vec4 } from 'gl-matrix';
2
+ import { Spline } from './Spline';
3
+ import * as math from '../../../utilities/math';
4
+ const MAX_U_ERROR = 1e-8;
5
+ class CubicSpline extends Spline {
6
+ getPreviewCurveSegments(controlPointPreview, closeSpline) {
7
+ const previewNumCurveSegments = this._getNumCurveSegments() + 1;
8
+ const startCurveSegIndex = Math.max(0, previewNumCurveSegments - 2);
9
+ const endCurveSegIndex = closeSpline
10
+ ? previewNumCurveSegments
11
+ : previewNumCurveSegments - 1;
12
+ const transformMatrix = this.getTransformMatrix();
13
+ const controlPoints = [...this.controlPoints];
14
+ const curveSegments = [];
15
+ if (!closeSpline) {
16
+ controlPoints.push(controlPointPreview);
17
+ }
18
+ for (let i = startCurveSegIndex; i <= endCurveSegIndex; i++) {
19
+ const curveSegment = this._getCurveSegment(i, transformMatrix, controlPoints, closeSpline);
20
+ curveSegments.push(curveSegment);
21
+ }
22
+ return curveSegments;
23
+ }
24
+ getSplineCurves() {
25
+ const numCurveSegments = this._getNumCurveSegments();
26
+ const curveSegments = new Array(numCurveSegments);
27
+ if (numCurveSegments <= 0) {
28
+ return [];
29
+ }
30
+ const transformMatrix = this.getTransformMatrix();
31
+ let previousCurveSegmentsLength = 0;
32
+ for (let i = 0; i < numCurveSegments; i++) {
33
+ const curveSegment = this._getCurveSegment(i, transformMatrix);
34
+ curveSegment.previousCurveSegmentsLength = previousCurveSegmentsLength;
35
+ curveSegments[i] = curveSegment;
36
+ previousCurveSegmentsLength += curveSegment.length;
37
+ }
38
+ return curveSegments;
39
+ }
40
+ _getNumCurveSegments(controlPoints = this.controlPoints, closed = this.closed) {
41
+ return closed
42
+ ? controlPoints.length
43
+ : Math.max(0, controlPoints.length - 1);
44
+ }
45
+ _getPoint(u, transformMatrix, controlPoints = this.controlPoints, closed = this.closed) {
46
+ const numCurveSegments = this._getNumCurveSegments(controlPoints, closed);
47
+ const uInt = Math.floor(u);
48
+ let curveSegmentIndex = uInt % numCurveSegments;
49
+ const t = u - uInt;
50
+ const curveSegmentIndexOutOfBounds = curveSegmentIndex < 0 || curveSegmentIndex >= numCurveSegments;
51
+ if (curveSegmentIndexOutOfBounds) {
52
+ if (this.closed) {
53
+ curveSegmentIndex =
54
+ (numCurveSegments + curveSegmentIndex) % numCurveSegments;
55
+ }
56
+ else {
57
+ return;
58
+ }
59
+ }
60
+ const { p0, p1, p2, p3 } = this._getCurveSegmentPoints(curveSegmentIndex, controlPoints, closed);
61
+ const tt = t * t;
62
+ const ttt = tt * t;
63
+ const tValues = vec4.fromValues(1, t, tt, ttt);
64
+ const qValues = vec4.transformMat4(vec4.create(), tValues, transformMatrix);
65
+ return [
66
+ vec4.dot(qValues, vec4.fromValues(p0[0], p1[0], p2[0], p3[0])),
67
+ vec4.dot(qValues, vec4.fromValues(p0[1], p1[1], p2[1], p3[1])),
68
+ ];
69
+ }
70
+ _getCurveSegmentPoints(curveSegmentIndex, controlPoints = this.controlPoints, closed = this.closed) {
71
+ const numCurveSegments = this._getNumCurveSegments(controlPoints, closed);
72
+ const p1Index = curveSegmentIndex;
73
+ const p0Index = p1Index - 1;
74
+ const p2Index = closed ? (p1Index + 1) % numCurveSegments : p1Index + 1;
75
+ const p3Index = p2Index + 1;
76
+ const p1 = controlPoints[p1Index];
77
+ const p2 = controlPoints[p2Index];
78
+ let p0;
79
+ let p3;
80
+ if (p0Index >= 0) {
81
+ p0 = controlPoints[p0Index];
82
+ }
83
+ else {
84
+ p0 = closed
85
+ ? controlPoints[controlPoints.length - 1]
86
+ : math.point.mirror(p2, p1);
87
+ }
88
+ if (p3Index < controlPoints.length) {
89
+ p3 = controlPoints[p3Index];
90
+ }
91
+ else {
92
+ p3 = closed ? controlPoints[0] : math.point.mirror(p1, p2);
93
+ }
94
+ return { p0, p1, p2, p3 };
95
+ }
96
+ _getLineSegments(curveSegmentIndex, transformMatrix, controlPoints = this.controlPoints, closed = this.closed) {
97
+ const numCurveSegments = this._getNumCurveSegments(controlPoints, closed);
98
+ const numLineSegments = this.resolution + 1;
99
+ const inc = 1 / numLineSegments;
100
+ const minU = curveSegmentIndex;
101
+ let maxU = minU + 1;
102
+ if (!closed && curveSegmentIndex === numCurveSegments - 1) {
103
+ maxU -= MAX_U_ERROR;
104
+ }
105
+ const lineSegments = [];
106
+ let startPoint;
107
+ let endPoint;
108
+ let previousLineSegmentsLength = 0;
109
+ for (let i = 0, u = minU; i <= numLineSegments; i++, u += inc) {
110
+ u = u > maxU ? maxU : u;
111
+ const point = this._getPoint(u, transformMatrix, controlPoints, closed);
112
+ if (!i) {
113
+ startPoint = point;
114
+ continue;
115
+ }
116
+ endPoint = point;
117
+ const dx = endPoint[0] - startPoint[0];
118
+ const dy = endPoint[1] - startPoint[1];
119
+ const length = Math.sqrt(dx ** 2 + dy ** 2);
120
+ const aabb = {
121
+ minX: startPoint[0] <= endPoint[0] ? startPoint[0] : endPoint[0],
122
+ maxX: startPoint[0] >= endPoint[0] ? startPoint[0] : endPoint[0],
123
+ minY: startPoint[1] <= endPoint[1] ? startPoint[1] : endPoint[1],
124
+ maxY: startPoint[1] >= endPoint[1] ? startPoint[1] : endPoint[1],
125
+ };
126
+ lineSegments.push({
127
+ points: {
128
+ start: startPoint,
129
+ end: endPoint,
130
+ },
131
+ aabb,
132
+ length,
133
+ previousLineSegmentsLength,
134
+ });
135
+ startPoint = endPoint;
136
+ previousLineSegmentsLength += length;
137
+ }
138
+ return lineSegments;
139
+ }
140
+ _getCurveSegment(curveSegmentIndex, transformMatrix = this.getTransformMatrix(), controlPoints = this.controlPoints, closed = this.closed) {
141
+ const { p0, p1, p2, p3 } = this._getCurveSegmentPoints(curveSegmentIndex, controlPoints, closed);
142
+ const lineSegments = this._getLineSegments(curveSegmentIndex, transformMatrix, controlPoints, closed);
143
+ let curveSegmentLength = 0;
144
+ let minX = Infinity;
145
+ let minY = Infinity;
146
+ let maxX = -Infinity;
147
+ let maxY = -Infinity;
148
+ lineSegments.forEach(({ aabb: lineSegAABB, length: lineSegLength }) => {
149
+ minX = Math.min(minX, lineSegAABB.minX);
150
+ minY = Math.min(minY, lineSegAABB.minY);
151
+ maxX = Math.max(maxX, lineSegAABB.maxX);
152
+ maxY = Math.max(maxY, lineSegAABB.maxY);
153
+ curveSegmentLength += lineSegLength;
154
+ });
155
+ return {
156
+ controlPoints: { p0, p1, p2, p3 },
157
+ aabb: { minX, minY, maxX, maxY },
158
+ length: curveSegmentLength,
159
+ previousCurveSegmentsLength: 0,
160
+ lineSegments,
161
+ };
162
+ }
163
+ }
164
+ export { CubicSpline as default, CubicSpline };
@@ -0,0 +1,5 @@
1
+ import { CardinalSpline } from './CardinalSpline';
2
+ declare class LinearSpline extends CardinalSpline {
3
+ constructor();
4
+ }
5
+ export { LinearSpline as default, LinearSpline };
@@ -0,0 +1,7 @@
1
+ import { CardinalSpline } from './CardinalSpline';
2
+ class LinearSpline extends CardinalSpline {
3
+ constructor() {
4
+ super({ resolution: 0, fixedResolution: true, scale: 0, fixedScale: true });
5
+ }
6
+ }
7
+ export { LinearSpline as default, LinearSpline };
@@ -0,0 +1,6 @@
1
+ import { QuadraticSpline } from './QuadraticSpline';
2
+ declare class QuadraticBezier extends QuadraticSpline {
3
+ hasTangentPoints(): boolean;
4
+ protected getTransformMatrix(): number[];
5
+ }
6
+ export { QuadraticBezier as default, QuadraticBezier };
@@ -0,0 +1,15 @@
1
+ import { QuadraticSpline } from './QuadraticSpline';
2
+ const TRANSFORM_MATRIX = [
3
+ 1, 0, 0,
4
+ -2, 2, 0,
5
+ 1, -2, 1,
6
+ ];
7
+ class QuadraticBezier extends QuadraticSpline {
8
+ hasTangentPoints() {
9
+ return true;
10
+ }
11
+ getTransformMatrix() {
12
+ return TRANSFORM_MATRIX;
13
+ }
14
+ }
15
+ export { QuadraticBezier as default, QuadraticBezier };
@@ -0,0 +1,9 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import { Spline } from './Spline';
3
+ import type { SplineLineSegment, SplineCurveSegment } from '../../../types/';
4
+ declare abstract class QuadraticSpline extends Spline {
5
+ protected getSplineCurves(): SplineCurveSegment[];
6
+ protected getLineSegments(): SplineLineSegment[];
7
+ getPreviewCurveSegments(controlPointPreview: Types.Point2, closeSpline: boolean): SplineCurveSegment[];
8
+ }
9
+ export { QuadraticSpline as default, QuadraticSpline };
@@ -0,0 +1,13 @@
1
+ import { Spline } from './Spline';
2
+ class QuadraticSpline extends Spline {
3
+ getSplineCurves() {
4
+ return [];
5
+ }
6
+ getLineSegments() {
7
+ return [];
8
+ }
9
+ getPreviewCurveSegments(controlPointPreview, closeSpline) {
10
+ return [];
11
+ }
12
+ }
13
+ export { QuadraticSpline as default, QuadraticSpline };
@@ -0,0 +1,51 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import type { ISpline, SplineProps, ClosestControlPoint, ClosestSplinePoint, ClosestPoint, ControlPointInfo, SplineCurveSegment } from '../../../types';
3
+ declare abstract class Spline implements ISpline {
4
+ private _controlPoints;
5
+ private _resolution;
6
+ private _fixedResolution;
7
+ private _closed;
8
+ private _invalidated;
9
+ private _curveSegments;
10
+ private _aabb;
11
+ private _length;
12
+ constructor(props?: SplineProps);
13
+ protected get controlPoints(): Types.Point2[];
14
+ get numControlPoints(): number;
15
+ get resolution(): number;
16
+ set resolution(resolution: number);
17
+ get fixedResolution(): boolean;
18
+ get closed(): boolean;
19
+ set closed(closed: boolean);
20
+ get aabb(): Types.AABB2;
21
+ get length(): number;
22
+ get invalidated(): boolean;
23
+ protected set invalidated(invalidated: boolean);
24
+ hasTangentPoints(): boolean;
25
+ addControlPoint(point: Types.Point2): void;
26
+ addControlPoints(points: Types.Point2[]): void;
27
+ addControlPointAtU(u: number): ControlPointInfo;
28
+ deleteControlPointByIndex(index: number): boolean;
29
+ clearControlPoints(): void;
30
+ setControlPoints(points: Types.Point2[]): void;
31
+ updateControlPoint(index: number, newControlPoint: Types.Point2): void;
32
+ getControlPoints(): Types.Point2[];
33
+ getClosestControlPoint(point: Types.Point2): ClosestControlPoint;
34
+ getClosestControlPointWithinDistance(point: Types.Point2, maxDist: number): ClosestControlPoint;
35
+ getClosestPoint(point: Types.Point2): ClosestSplinePoint;
36
+ getClosestPointOnControlPointLines(point: Types.Point2): ClosestPoint;
37
+ getPolylinePoints(): Types.Point2[];
38
+ getPreviewPolylinePoints(controlPointPreview: Types.Point2, closeDistance: number): Types.Point2[];
39
+ isPointNearCurve(point: Types.Point2, maxDist: number): boolean;
40
+ containsPoint(point: Types.Point2): boolean;
41
+ protected abstract getTransformMatrix(): number[];
42
+ protected abstract getSplineCurves(): SplineCurveSegment[];
43
+ protected abstract getPreviewCurveSegments(controlPointPreview: Types.Point2, closeSpline: boolean): SplineCurveSegment[];
44
+ private _update;
45
+ private _convertCurveSegmentsToPolyline;
46
+ private _getCurveSegmmentsDistanceSquaredInfo;
47
+ private _getCurveSegmmentsWithinDistance;
48
+ private _getLineSegmentAt;
49
+ private _getClosingCurveSegmentWithStraightLineSegment;
50
+ }
51
+ export { Spline as default, Spline };
@@ -0,0 +1,395 @@
1
+ import * as math from '../../../utilities/math';
2
+ class Spline {
3
+ constructor(props) {
4
+ this._controlPoints = [];
5
+ this._invalidated = false;
6
+ this._length = 0;
7
+ this._controlPoints = [];
8
+ this._resolution = props?.resolution ?? 20;
9
+ this._fixedResolution = props?.fixedResolution ?? false;
10
+ this._closed = props?.closed ?? false;
11
+ this._invalidated = true;
12
+ }
13
+ get controlPoints() {
14
+ return this._controlPoints;
15
+ }
16
+ get numControlPoints() {
17
+ return this._controlPoints.length;
18
+ }
19
+ get resolution() {
20
+ return this._resolution;
21
+ }
22
+ set resolution(resolution) {
23
+ if (this._fixedResolution || this._resolution === resolution) {
24
+ return;
25
+ }
26
+ this._resolution = resolution;
27
+ this.invalidated = true;
28
+ }
29
+ get fixedResolution() {
30
+ return this._fixedResolution;
31
+ }
32
+ get closed() {
33
+ return this._closed;
34
+ }
35
+ set closed(closed) {
36
+ if (this._closed === closed) {
37
+ return;
38
+ }
39
+ this._closed = closed;
40
+ this.invalidated = true;
41
+ }
42
+ get aabb() {
43
+ this._update();
44
+ return this._aabb;
45
+ }
46
+ get length() {
47
+ this._update();
48
+ return this._length;
49
+ }
50
+ get invalidated() {
51
+ return this._invalidated;
52
+ }
53
+ set invalidated(invalidated) {
54
+ this._invalidated = invalidated;
55
+ }
56
+ hasTangentPoints() {
57
+ return false;
58
+ }
59
+ addControlPoint(point) {
60
+ this._controlPoints.push([point[0], point[1]]);
61
+ this.invalidated = true;
62
+ }
63
+ addControlPoints(points) {
64
+ points.forEach((point) => this.addControlPoint(point));
65
+ }
66
+ addControlPointAtU(u) {
67
+ const lineSegment = this._getLineSegmentAt(u);
68
+ const { start: startPoint, end: endPoint } = lineSegment.points;
69
+ const curveSegmentIndex = Math.floor(u);
70
+ const curveSegment = this._curveSegments[curveSegmentIndex];
71
+ const t = u - Math.floor(curveSegmentIndex);
72
+ const controlPointPos = [
73
+ startPoint[0] + t * (endPoint[0] - startPoint[0]),
74
+ startPoint[1] + t * (endPoint[1] - startPoint[1]),
75
+ ];
76
+ const insertIndex = this._controlPoints.indexOf(curveSegment.controlPoints.p1) + 1;
77
+ this._controlPoints.splice(insertIndex, 0, controlPointPos);
78
+ this.invalidated = true;
79
+ return {
80
+ index: insertIndex,
81
+ point: controlPointPos,
82
+ };
83
+ }
84
+ deleteControlPointByIndex(index) {
85
+ const minControlPoints = this._closed ? 3 : 1;
86
+ const canDelete = index >= 0 &&
87
+ index < this._controlPoints.length &&
88
+ this._controlPoints.length > minControlPoints;
89
+ if (!canDelete) {
90
+ return false;
91
+ }
92
+ this._controlPoints.splice(index, 1);
93
+ this.invalidated = true;
94
+ return true;
95
+ }
96
+ clearControlPoints() {
97
+ this._controlPoints = [];
98
+ this.invalidated = true;
99
+ }
100
+ setControlPoints(points) {
101
+ this.clearControlPoints();
102
+ this.addControlPoints(points);
103
+ }
104
+ updateControlPoint(index, newControlPoint) {
105
+ if (index < 0 || index >= this._controlPoints.length) {
106
+ throw new Error('Index out of bounds');
107
+ }
108
+ this._controlPoints[index] = [...newControlPoint];
109
+ this.invalidated = true;
110
+ }
111
+ getControlPoints() {
112
+ return this._controlPoints.map((controlPoint) => [
113
+ controlPoint[0],
114
+ controlPoint[1],
115
+ ]);
116
+ }
117
+ getClosestControlPoint(point) {
118
+ const controlPoints = this._controlPoints;
119
+ let minSquaredDist = Infinity;
120
+ let closestPointIndex = -1;
121
+ for (let i = 0, len = controlPoints.length; i < len; i++) {
122
+ const controlPoint = controlPoints[i];
123
+ const dx = point[0] - controlPoint[0];
124
+ const dy = point[1] - controlPoint[1];
125
+ const squaredDist = dx * dx + dy * dy;
126
+ if (squaredDist < minSquaredDist) {
127
+ minSquaredDist = squaredDist;
128
+ closestPointIndex = i;
129
+ }
130
+ }
131
+ return {
132
+ index: closestPointIndex,
133
+ point: closestPointIndex === -1
134
+ ? undefined
135
+ : [...controlPoints[closestPointIndex]],
136
+ distance: Math.sqrt(minSquaredDist),
137
+ };
138
+ }
139
+ getClosestControlPointWithinDistance(point, maxDist) {
140
+ const closestControlPoint = this.getClosestControlPoint(point);
141
+ return closestControlPoint.distance <= maxDist
142
+ ? closestControlPoint
143
+ : undefined;
144
+ }
145
+ getClosestPoint(point) {
146
+ this._update();
147
+ const curveSegmentsDistInfo = this._getCurveSegmmentsDistanceSquaredInfo(point);
148
+ if (!curveSegmentsDistInfo.length) {
149
+ return;
150
+ }
151
+ curveSegmentsDistInfo.sort((csA, csB) => csA.distanceSquared - csB.distanceSquared);
152
+ let closestPoint;
153
+ let closestPointCurveSegmentIndex = -1;
154
+ let minDistSquared = Infinity;
155
+ let minDistCurveSegment;
156
+ let minDistLineSegment;
157
+ for (let i = 0; i < curveSegmentsDistInfo.length; i++) {
158
+ const curveSegmentDistInfo = curveSegmentsDistInfo[i];
159
+ if (curveSegmentDistInfo.distanceSquared > minDistSquared) {
160
+ continue;
161
+ }
162
+ const { curveSegmentIndex, curveSegment } = curveSegmentDistInfo;
163
+ const { lineSegments } = curveSegment;
164
+ for (let j = 0; j < lineSegments.length; j++) {
165
+ const lineSegment = lineSegments[j];
166
+ const { point: lineSegPoint, distanceSquared: lineSegDistSquared } = math.lineSegment.distanceToPointSquaredInfo(lineSegment.points.start, lineSegment.points.end, point);
167
+ if (lineSegDistSquared < minDistSquared) {
168
+ minDistLineSegment = lineSegment;
169
+ closestPointCurveSegmentIndex = curveSegmentIndex;
170
+ minDistCurveSegment = curveSegmentDistInfo.curveSegment;
171
+ closestPoint = lineSegPoint;
172
+ minDistSquared = lineSegDistSquared;
173
+ }
174
+ }
175
+ }
176
+ const curveSegmentLengthToPoint = minDistLineSegment.previousLineSegmentsLength +
177
+ math.point.distanceToPoint(minDistLineSegment.points.start, closestPoint);
178
+ const t = curveSegmentLengthToPoint / minDistCurveSegment.length;
179
+ const u = closestPointCurveSegmentIndex + t;
180
+ return {
181
+ point: closestPoint,
182
+ uValue: u,
183
+ distance: Math.sqrt(minDistSquared),
184
+ };
185
+ }
186
+ getClosestPointOnControlPointLines(point) {
187
+ const linePoints = [...this._controlPoints];
188
+ if (this._closed) {
189
+ linePoints.push(this._controlPoints[0]);
190
+ }
191
+ if (!linePoints.length) {
192
+ return;
193
+ }
194
+ let closestPoint;
195
+ let minDistSquared = Infinity;
196
+ let startPoint = linePoints[0];
197
+ for (let i = 1, len = linePoints.length; i < len; i++) {
198
+ const endPoint = linePoints[i];
199
+ const { point: lineSegPoint, distanceSquared: lineSegDistSquared } = math.lineSegment.distanceToPointSquaredInfo(startPoint, endPoint, point);
200
+ if (lineSegDistSquared < minDistSquared) {
201
+ closestPoint = lineSegPoint;
202
+ minDistSquared = lineSegDistSquared;
203
+ }
204
+ startPoint = endPoint;
205
+ }
206
+ return {
207
+ point: closestPoint,
208
+ distance: Math.sqrt(minDistSquared),
209
+ };
210
+ }
211
+ getPolylinePoints() {
212
+ this._update();
213
+ return this._convertCurveSegmentsToPolyline(this._curveSegments);
214
+ }
215
+ getPreviewPolylinePoints(controlPointPreview, closeDistance) {
216
+ if (this._closed) {
217
+ return [];
218
+ }
219
+ this._update();
220
+ const closestControlPoint = this.getClosestControlPointWithinDistance(controlPointPreview, closeDistance);
221
+ const closeSpline = closestControlPoint?.index === 0;
222
+ const previewCurveSegments = this.getPreviewCurveSegments(controlPointPreview, closeSpline);
223
+ return previewCurveSegments?.length
224
+ ? this._convertCurveSegmentsToPolyline(previewCurveSegments)
225
+ : [];
226
+ }
227
+ isPointNearCurve(point, maxDist) {
228
+ this._update();
229
+ const curveSegments = this._getCurveSegmmentsWithinDistance(point, maxDist);
230
+ const maxDistSquared = maxDist * maxDist;
231
+ for (let i = 0; i < curveSegments.length; i++) {
232
+ const { lineSegments } = curveSegments[i];
233
+ for (let j = 0; j < lineSegments.length; j++) {
234
+ const lineSegment = lineSegments[j];
235
+ const lineDistSquared = math.lineSegment.distanceToPointSquared(lineSegment.points.start, lineSegment.points.end, point);
236
+ if (lineDistSquared <= maxDistSquared) {
237
+ return true;
238
+ }
239
+ }
240
+ }
241
+ return false;
242
+ }
243
+ containsPoint(point) {
244
+ this._update();
245
+ const controlPoints = this._controlPoints;
246
+ if (controlPoints.length < 3) {
247
+ return false;
248
+ }
249
+ const curveSegments = [...this._curveSegments];
250
+ const closingCurveSegment = this._getClosingCurveSegmentWithStraightLineSegment();
251
+ if (closingCurveSegment) {
252
+ curveSegments.push(closingCurveSegment);
253
+ }
254
+ let numIntersections = 0;
255
+ for (let i = 0; i < curveSegments.length; i++) {
256
+ const curveSegment = curveSegments[i];
257
+ const { aabb: curveSegAABB } = curveSegment;
258
+ const mayIntersectCurveSegment = point[0] <= curveSegAABB.maxX &&
259
+ point[1] >= curveSegAABB.minY &&
260
+ point[1] < curveSegAABB.maxY;
261
+ if (!mayIntersectCurveSegment) {
262
+ continue;
263
+ }
264
+ const { lineSegments } = curveSegment;
265
+ for (let i = 0; i < lineSegments.length; i++) {
266
+ const lineSegment = lineSegments[i];
267
+ const { aabb: lineSegmentAABB } = lineSegment;
268
+ const mayIntersectLineSegment = point[0] <= lineSegmentAABB.maxX &&
269
+ point[1] >= lineSegmentAABB.minY &&
270
+ point[1] < lineSegmentAABB.maxY;
271
+ if (mayIntersectLineSegment) {
272
+ const { start: p1, end: p2 } = lineSegment.points;
273
+ const isVerticalLine = p1[0] === p2[0];
274
+ const xIntersection = ((point[1] - p1[1]) * (p2[0] - p1[0])) / (p2[1] - p1[1]) + p1[0];
275
+ numIntersections +=
276
+ isVerticalLine || point[0] <= xIntersection ? 1 : 0;
277
+ }
278
+ }
279
+ }
280
+ return numIntersections % 2 === 1;
281
+ }
282
+ _update() {
283
+ if (!this._invalidated) {
284
+ return;
285
+ }
286
+ const curveSegments = this.getSplineCurves();
287
+ let length = 0;
288
+ let minX = Infinity;
289
+ let minY = Infinity;
290
+ let maxX = -Infinity;
291
+ let maxY = -Infinity;
292
+ for (let i = 0, len = curveSegments.length; i < len; i++) {
293
+ const { aabb: curveSegAABB, length: curveSegLength } = curveSegments[i];
294
+ minX = minX <= curveSegAABB.minX ? minX : curveSegAABB.minX;
295
+ minY = minY <= curveSegAABB.minY ? minY : curveSegAABB.minY;
296
+ maxX = maxX >= curveSegAABB.maxX ? maxX : curveSegAABB.maxX;
297
+ maxY = maxY >= curveSegAABB.maxY ? maxY : curveSegAABB.maxY;
298
+ length += curveSegLength;
299
+ }
300
+ this._curveSegments = curveSegments;
301
+ this._aabb = { minX, minY, maxX, maxY };
302
+ this._length = length;
303
+ this._invalidated = false;
304
+ }
305
+ _convertCurveSegmentsToPolyline(curveSegments) {
306
+ this._update();
307
+ const polylinePoints = [];
308
+ curveSegments.forEach(({ lineSegments }, curveSegIndex) => {
309
+ lineSegments.forEach((lineSegment, lineSegIndex) => {
310
+ if (curveSegIndex === 0 && lineSegIndex === 0) {
311
+ polylinePoints.push([...lineSegment.points.start]);
312
+ }
313
+ polylinePoints.push([...lineSegment.points.end]);
314
+ });
315
+ });
316
+ return polylinePoints;
317
+ }
318
+ _getCurveSegmmentsDistanceSquaredInfo(point) {
319
+ this._update();
320
+ const curveSegmentsDistanceSquared = [];
321
+ const { _curveSegments: curveSegments } = this;
322
+ for (let i = 0; i < curveSegments.length; i++) {
323
+ const curveSegment = curveSegments[i];
324
+ const distanceSquared = math.aabb.distanceToPointSquared(curveSegment.aabb, point);
325
+ curveSegmentsDistanceSquared.push({
326
+ curveSegmentIndex: i,
327
+ curveSegment,
328
+ distanceSquared,
329
+ });
330
+ }
331
+ return curveSegmentsDistanceSquared;
332
+ }
333
+ _getCurveSegmmentsWithinDistance(point, maxDist) {
334
+ this._update();
335
+ const maxDistSquared = maxDist * maxDist;
336
+ if (math.aabb.distanceToPointSquared(this.aabb, point) > maxDistSquared) {
337
+ return [];
338
+ }
339
+ const curveSegmentsDistance = this._getCurveSegmmentsDistanceSquaredInfo(point);
340
+ const curveSegmentsWithinRange = [];
341
+ for (let i = 0, len = curveSegmentsDistance.length; i < len; i++) {
342
+ const { curveSegment, distanceSquared: curveSegmentDistSquared } = curveSegmentsDistance[i];
343
+ if (curveSegmentDistSquared <= maxDistSquared) {
344
+ curveSegmentsWithinRange.push(curveSegment);
345
+ }
346
+ }
347
+ return curveSegmentsWithinRange;
348
+ }
349
+ _getLineSegmentAt(u) {
350
+ this._update();
351
+ const curveSegmentIndex = Math.floor(u);
352
+ const t = u - curveSegmentIndex;
353
+ const curveSegment = this._curveSegments[curveSegmentIndex];
354
+ const { lineSegments } = curveSegment;
355
+ const pointLength = curveSegment.length * t;
356
+ for (let i = 0; i < lineSegments.length; i++) {
357
+ const lineSegment = lineSegments[i];
358
+ const lengthEnd = lineSegment.previousLineSegmentsLength + lineSegment.length;
359
+ if (pointLength >= lineSegment.previousLineSegmentsLength &&
360
+ pointLength <= lengthEnd) {
361
+ return lineSegment;
362
+ }
363
+ }
364
+ }
365
+ _getClosingCurveSegmentWithStraightLineSegment() {
366
+ if (this.closed) {
367
+ return;
368
+ }
369
+ const controlPoints = this._controlPoints;
370
+ const startControlPoint = controlPoints[0];
371
+ const endControlPoint = controlPoints[controlPoints.length - 1];
372
+ const closingLineSegment = {
373
+ points: {
374
+ start: [...startControlPoint],
375
+ end: [...endControlPoint],
376
+ },
377
+ aabb: {
378
+ minX: Math.min(startControlPoint[0], endControlPoint[0]),
379
+ minY: Math.min(startControlPoint[1], endControlPoint[1]),
380
+ maxX: Math.max(startControlPoint[0], endControlPoint[0]),
381
+ maxY: Math.max(startControlPoint[1], endControlPoint[1]),
382
+ },
383
+ };
384
+ return {
385
+ aabb: {
386
+ minX: closingLineSegment.aabb.minX,
387
+ minY: closingLineSegment.aabb.minY,
388
+ maxX: closingLineSegment.aabb.maxX,
389
+ maxY: closingLineSegment.aabb.maxY,
390
+ },
391
+ lineSegments: [closingLineSegment],
392
+ };
393
+ }
394
+ }
395
+ export { Spline as default, Spline };