@cornerstonejs/tools 2.0.0-beta.2 → 2.0.0-beta.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 (396) hide show
  1. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +1 -1
  2. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  3. package/dist/cjs/enums/Events.d.ts +1 -0
  4. package/dist/cjs/enums/Events.js +1 -0
  5. package/dist/cjs/enums/Events.js.map +1 -1
  6. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
  7. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
  8. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
  9. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +41 -0
  10. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
  11. package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
  12. package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +39 -0
  13. package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
  14. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +1 -1
  15. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +1 -1
  16. package/dist/cjs/eventListeners/keyboard/keyDownListener.js +1 -2
  17. package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -1
  18. package/dist/cjs/eventListeners/mouse/mouseDownListener.js +5 -1
  19. package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
  20. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +5 -1
  21. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  22. package/dist/cjs/index.d.ts +2 -2
  23. package/dist/cjs/index.js +5 -2
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +4 -8
  26. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  27. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +2 -3
  28. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  29. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -1
  30. package/dist/cjs/stateManagement/segmentation/addSegmentations.js +1 -5
  31. package/dist/cjs/stateManagement/segmentation/addSegmentations.js.map +1 -1
  32. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +2 -0
  33. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +36 -2
  34. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  35. package/dist/cjs/store/state.js +1 -5
  36. package/dist/cjs/store/state.js.map +1 -1
  37. package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +1 -1
  38. package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
  39. package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.d.ts +1 -1
  40. package/dist/cjs/tools/AdvancedMagnifyTool.d.ts +36 -0
  41. package/dist/cjs/tools/AdvancedMagnifyTool.js +448 -0
  42. package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -0
  43. package/dist/cjs/tools/AdvancedMagnifyViewport.d.ts +76 -0
  44. package/dist/cjs/tools/AdvancedMagnifyViewport.js +352 -0
  45. package/dist/cjs/tools/AdvancedMagnifyViewport.js.map +1 -0
  46. package/dist/cjs/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
  47. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js +133 -0
  48. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js.map +1 -0
  49. package/dist/cjs/tools/MagnifyTool.js +2 -2
  50. package/dist/cjs/tools/MagnifyTool.js.map +1 -1
  51. package/dist/cjs/tools/OrientationMarkerTool.d.ts +88 -0
  52. package/dist/cjs/tools/OrientationMarkerTool.js +193 -0
  53. package/dist/cjs/tools/OrientationMarkerTool.js.map +1 -0
  54. package/dist/cjs/tools/OverlayGridTool.d.ts +31 -0
  55. package/dist/cjs/tools/OverlayGridTool.js +170 -0
  56. package/dist/cjs/tools/OverlayGridTool.js.map +1 -0
  57. package/dist/cjs/tools/ReferenceLinesTool.d.ts +3 -0
  58. package/dist/cjs/tools/ReferenceLinesTool.js +71 -2
  59. package/dist/cjs/tools/ReferenceLinesTool.js.map +1 -1
  60. package/dist/cjs/tools/annotation/AngleTool.js +2 -1
  61. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  62. package/dist/cjs/tools/annotation/BidirectionalTool.js +1 -1
  63. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  64. package/dist/cjs/tools/annotation/CircleROITool.d.ts +1 -2
  65. package/dist/cjs/tools/annotation/CircleROITool.js +8 -8
  66. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  67. package/dist/cjs/tools/annotation/CobbAngleTool.d.ts +31 -5
  68. package/dist/cjs/tools/annotation/CobbAngleTool.js +268 -71
  69. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  70. package/dist/cjs/tools/annotation/DragProbeTool.js +4 -3
  71. package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
  72. package/dist/cjs/tools/annotation/EllipticalROITool.d.ts +2 -3
  73. package/dist/cjs/tools/annotation/EllipticalROITool.js +20 -16
  74. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  75. package/dist/cjs/tools/annotation/LengthTool.js +1 -1
  76. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  77. package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +1 -2
  78. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +22 -9
  79. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  80. package/dist/cjs/tools/annotation/ProbeTool.d.ts +1 -2
  81. package/dist/cjs/tools/annotation/ProbeTool.js +10 -9
  82. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  83. package/dist/cjs/tools/annotation/RectangleROITool.d.ts +1 -1
  84. package/dist/cjs/tools/annotation/RectangleROITool.js +9 -9
  85. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  86. package/dist/cjs/tools/base/AnnotationDisplayTool.js +4 -0
  87. package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
  88. package/dist/cjs/tools/base/AnnotationTool.d.ts +1 -1
  89. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  90. package/dist/cjs/tools/displayTools/Contour/contourConfigCache.d.ts +1 -1
  91. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +3 -0
  92. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  93. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
  94. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  95. package/dist/cjs/tools/index.d.ts +4 -1
  96. package/dist/cjs/tools/index.js +7 -1
  97. package/dist/cjs/tools/index.js.map +1 -1
  98. package/dist/cjs/tools/segmentation/strategies/eraseCircle.d.ts +1 -1
  99. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  100. package/dist/cjs/tools/segmentation/strategies/eraseSphere.d.ts +1 -1
  101. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +1 -1
  102. package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  103. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +1 -1
  104. package/dist/cjs/types/AnnotationGroupSelector.d.ts +1 -1
  105. package/dist/cjs/types/AnnotationStyle.d.ts +7 -7
  106. package/dist/cjs/types/AnnotationTypes.d.ts +4 -4
  107. package/dist/cjs/types/BoundsIJK.d.ts +1 -1
  108. package/dist/cjs/types/CINETypes.d.ts +2 -2
  109. package/dist/cjs/types/CalculatorTypes.d.ts +1 -1
  110. package/dist/cjs/types/ContourTypes.d.ts +3 -3
  111. package/dist/cjs/types/CursorTypes.d.ts +2 -2
  112. package/dist/cjs/types/EventTypes.d.ts +88 -80
  113. package/dist/cjs/types/FloodFillTypes.d.ts +5 -5
  114. package/dist/cjs/types/IDistance.d.ts +1 -1
  115. package/dist/cjs/types/IPoints.d.ts +1 -1
  116. package/dist/cjs/types/ISetToolModeOptions.d.ts +5 -5
  117. package/dist/cjs/types/IToolClassReference.d.ts +1 -1
  118. package/dist/cjs/types/IToolGroup.d.ts +3 -0
  119. package/dist/cjs/types/ITouchPoints.d.ts +1 -1
  120. package/dist/cjs/types/InteractionTypes.d.ts +1 -1
  121. package/dist/cjs/types/InternalToolTypes.d.ts +3 -3
  122. package/dist/cjs/types/JumpToSliceOptions.d.ts +1 -1
  123. package/dist/cjs/types/LabelmapTypes.d.ts +3 -3
  124. package/dist/cjs/types/PlanarBoundingBox.d.ts +1 -1
  125. package/dist/cjs/types/SVGDrawingHelper.d.ts +1 -1
  126. package/dist/cjs/types/ScrollOptions.d.ts +1 -1
  127. package/dist/cjs/types/SegmentationStateTypes.d.ts +15 -15
  128. package/dist/cjs/types/ToolAction.d.ts +8 -0
  129. package/dist/cjs/types/ToolAction.js +3 -0
  130. package/dist/cjs/types/ToolAction.js.map +1 -0
  131. package/dist/cjs/types/ToolHandle.d.ts +3 -3
  132. package/dist/cjs/types/ToolProps.d.ts +4 -4
  133. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +55 -0
  134. package/dist/cjs/types/index.d.ts +2 -1
  135. package/dist/cjs/utilities/getModalityUnit.d.ts +1 -1
  136. package/dist/cjs/utilities/getModalityUnit.js +5 -2
  137. package/dist/cjs/utilities/getModalityUnit.js.map +1 -1
  138. package/dist/cjs/utilities/getToolsWithModesForElement.d.ts +1 -1
  139. package/dist/cjs/utilities/index.d.ts +2 -2
  140. package/dist/cjs/utilities/index.js +4 -3
  141. package/dist/cjs/utilities/index.js.map +1 -1
  142. package/dist/cjs/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  143. package/dist/cjs/utilities/math/angle/angleBetweenLines.js +18 -1
  144. package/dist/cjs/utilities/math/angle/angleBetweenLines.js.map +1 -1
  145. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js.map +1 -1
  146. package/dist/cjs/utilities/math/circle/_types.d.ts +1 -1
  147. package/dist/cjs/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +1 -1
  148. package/dist/cjs/utilities/math/ellipse/pointInEllipse.d.ts +1 -1
  149. package/dist/cjs/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +1 -1
  150. package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +3 -3
  151. package/dist/cjs/utilities/math/sphere/pointInSphere.d.ts +1 -1
  152. package/dist/cjs/utilities/pointInShapeCallback.d.ts +3 -3
  153. package/dist/cjs/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.d.ts +1 -1
  154. package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +8 -8
  155. package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -2
  156. package/dist/cjs/utilities/segmentation/createLabelmapVolumeForViewport.js.map +1 -1
  157. package/dist/cjs/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +2 -2
  158. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
  159. package/dist/cjs/utilities/segmentation/utilities.d.ts +1 -1
  160. package/dist/cjs/utilities/stackPrefetch/index.d.ts +3 -2
  161. package/dist/cjs/utilities/stackPrefetch/index.js +8 -6
  162. package/dist/cjs/utilities/stackPrefetch/index.js.map +1 -1
  163. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
  164. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js +227 -0
  165. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
  166. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
  167. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js +23 -93
  168. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
  169. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
  170. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js +85 -0
  171. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
  172. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
  173. package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  174. package/dist/esm/enums/Events.d.ts +1 -0
  175. package/dist/esm/enums/Events.js +1 -0
  176. package/dist/esm/enums/Events.js.map +1 -1
  177. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
  178. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
  179. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
  180. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +35 -0
  181. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
  182. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
  183. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +32 -0
  184. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
  185. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +1 -1
  186. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +1 -1
  187. package/dist/esm/eventListeners/keyboard/keyDownListener.js +1 -2
  188. package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
  189. package/dist/esm/eventListeners/mouse/mouseDownListener.js +5 -1
  190. package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
  191. package/dist/esm/eventListeners/mouse/mouseMoveListener.js +5 -1
  192. package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  193. package/dist/esm/index.d.ts +2 -2
  194. package/dist/esm/index.js +2 -2
  195. package/dist/esm/index.js.map +1 -1
  196. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +4 -5
  197. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  198. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +2 -3
  199. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  200. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -1
  201. package/dist/esm/stateManagement/segmentation/addSegmentations.js +1 -2
  202. package/dist/esm/stateManagement/segmentation/addSegmentations.js.map +1 -1
  203. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -0
  204. package/dist/esm/store/ToolGroupManager/ToolGroup.js +36 -3
  205. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  206. package/dist/esm/store/state.js +9 -2
  207. package/dist/esm/store/state.js.map +1 -1
  208. package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +1 -1
  209. package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
  210. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +1 -1
  211. package/dist/esm/tools/AdvancedMagnifyTool.d.ts +36 -0
  212. package/dist/esm/tools/AdvancedMagnifyTool.js +440 -0
  213. package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -0
  214. package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +76 -0
  215. package/dist/esm/tools/AdvancedMagnifyViewport.js +346 -0
  216. package/dist/esm/tools/AdvancedMagnifyViewport.js.map +1 -0
  217. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
  218. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +128 -0
  219. package/dist/esm/tools/AdvancedMagnifyViewportManager.js.map +1 -0
  220. package/dist/esm/tools/MagnifyTool.js +2 -2
  221. package/dist/esm/tools/MagnifyTool.js.map +1 -1
  222. package/dist/esm/tools/OrientationMarkerTool.d.ts +88 -0
  223. package/dist/esm/tools/OrientationMarkerTool.js +185 -0
  224. package/dist/esm/tools/OrientationMarkerTool.js.map +1 -0
  225. package/dist/esm/tools/OverlayGridTool.d.ts +31 -0
  226. package/dist/esm/tools/OverlayGridTool.js +165 -0
  227. package/dist/esm/tools/OverlayGridTool.js.map +1 -0
  228. package/dist/esm/tools/ReferenceLinesTool.d.ts +3 -0
  229. package/dist/esm/tools/ReferenceLinesTool.js +71 -2
  230. package/dist/esm/tools/ReferenceLinesTool.js.map +1 -1
  231. package/dist/esm/tools/annotation/AngleTool.js +2 -1
  232. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  233. package/dist/esm/tools/annotation/BidirectionalTool.js +1 -1
  234. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  235. package/dist/esm/tools/annotation/CircleROITool.d.ts +1 -2
  236. package/dist/esm/tools/annotation/CircleROITool.js +8 -8
  237. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  238. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +31 -5
  239. package/dist/esm/tools/annotation/CobbAngleTool.js +275 -72
  240. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  241. package/dist/esm/tools/annotation/DragProbeTool.js +4 -3
  242. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  243. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +2 -3
  244. package/dist/esm/tools/annotation/EllipticalROITool.js +20 -16
  245. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  246. package/dist/esm/tools/annotation/LengthTool.js +1 -1
  247. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  248. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +1 -2
  249. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +22 -9
  250. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  251. package/dist/esm/tools/annotation/ProbeTool.d.ts +1 -2
  252. package/dist/esm/tools/annotation/ProbeTool.js +10 -9
  253. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  254. package/dist/esm/tools/annotation/RectangleROITool.d.ts +1 -1
  255. package/dist/esm/tools/annotation/RectangleROITool.js +9 -9
  256. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  257. package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -0
  258. package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
  259. package/dist/esm/tools/base/AnnotationTool.d.ts +1 -1
  260. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  261. package/dist/esm/tools/displayTools/Contour/contourConfigCache.d.ts +1 -1
  262. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -1
  263. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  264. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
  265. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  266. package/dist/esm/tools/index.d.ts +4 -1
  267. package/dist/esm/tools/index.js +4 -1
  268. package/dist/esm/tools/index.js.map +1 -1
  269. package/dist/esm/tools/segmentation/strategies/eraseCircle.d.ts +1 -1
  270. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  271. package/dist/esm/tools/segmentation/strategies/eraseSphere.d.ts +1 -1
  272. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +1 -1
  273. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  274. package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +1 -1
  275. package/dist/esm/types/AnnotationGroupSelector.d.ts +1 -1
  276. package/dist/esm/types/AnnotationStyle.d.ts +7 -7
  277. package/dist/esm/types/AnnotationTypes.d.ts +4 -4
  278. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  279. package/dist/esm/types/CINETypes.d.ts +2 -2
  280. package/dist/esm/types/CalculatorTypes.d.ts +1 -1
  281. package/dist/esm/types/ContourTypes.d.ts +3 -3
  282. package/dist/esm/types/CursorTypes.d.ts +2 -2
  283. package/dist/esm/types/EventTypes.d.ts +88 -80
  284. package/dist/esm/types/FloodFillTypes.d.ts +5 -5
  285. package/dist/esm/types/IDistance.d.ts +1 -1
  286. package/dist/esm/types/IPoints.d.ts +1 -1
  287. package/dist/esm/types/ISetToolModeOptions.d.ts +5 -5
  288. package/dist/esm/types/IToolClassReference.d.ts +1 -1
  289. package/dist/esm/types/IToolGroup.d.ts +3 -0
  290. package/dist/esm/types/ITouchPoints.d.ts +1 -1
  291. package/dist/esm/types/InteractionTypes.d.ts +1 -1
  292. package/dist/esm/types/InternalToolTypes.d.ts +3 -3
  293. package/dist/esm/types/JumpToSliceOptions.d.ts +1 -1
  294. package/dist/esm/types/LabelmapTypes.d.ts +3 -3
  295. package/dist/esm/types/PlanarBoundingBox.d.ts +1 -1
  296. package/dist/esm/types/SVGDrawingHelper.d.ts +1 -1
  297. package/dist/esm/types/ScrollOptions.d.ts +1 -1
  298. package/dist/esm/types/SegmentationStateTypes.d.ts +15 -15
  299. package/dist/esm/types/ToolAction.d.ts +8 -0
  300. package/dist/esm/types/ToolAction.js +2 -0
  301. package/dist/esm/types/ToolAction.js.map +1 -0
  302. package/dist/esm/types/ToolHandle.d.ts +3 -3
  303. package/dist/esm/types/ToolProps.d.ts +4 -4
  304. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +55 -0
  305. package/dist/esm/types/index.d.ts +2 -1
  306. package/dist/esm/utilities/getModalityUnit.d.ts +1 -1
  307. package/dist/esm/utilities/getModalityUnit.js +5 -2
  308. package/dist/esm/utilities/getModalityUnit.js.map +1 -1
  309. package/dist/esm/utilities/getToolsWithModesForElement.d.ts +1 -1
  310. package/dist/esm/utilities/index.d.ts +2 -2
  311. package/dist/esm/utilities/index.js +2 -2
  312. package/dist/esm/utilities/index.js.map +1 -1
  313. package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  314. package/dist/esm/utilities/math/angle/angleBetweenLines.js +19 -2
  315. package/dist/esm/utilities/math/angle/angleBetweenLines.js.map +1 -1
  316. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js.map +1 -1
  317. package/dist/esm/utilities/math/circle/_types.d.ts +1 -1
  318. package/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.d.ts +1 -1
  319. package/dist/esm/utilities/math/ellipse/pointInEllipse.d.ts +1 -1
  320. package/dist/esm/utilities/math/ellipse/pointInEllipsoidWithConstraint.d.ts +1 -1
  321. package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +3 -3
  322. package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +1 -1
  323. package/dist/esm/utilities/pointInShapeCallback.d.ts +3 -3
  324. package/dist/esm/utilities/rectangleROITool/getBoundsIJKFromRectangleAnnotations.d.ts +1 -1
  325. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +8 -8
  326. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -2
  327. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js.map +1 -1
  328. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +2 -2
  329. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
  330. package/dist/esm/utilities/segmentation/utilities.d.ts +1 -1
  331. package/dist/esm/utilities/stackPrefetch/index.d.ts +3 -2
  332. package/dist/esm/utilities/stackPrefetch/index.js +3 -2
  333. package/dist/esm/utilities/stackPrefetch/index.js.map +1 -1
  334. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
  335. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +220 -0
  336. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
  337. package/dist/esm/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
  338. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +12 -79
  339. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
  340. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
  341. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +77 -0
  342. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
  343. package/dist/umd/index.js +1 -1
  344. package/dist/umd/index.js.map +1 -1
  345. package/package.json +3 -3
  346. package/src/drawingSvg/getSvgDrawingHelper.ts +4 -1
  347. package/src/enums/Events.ts +9 -0
  348. package/src/eventDispatchers/mouseEventHandlers/mouseDown.ts +11 -2
  349. package/src/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.ts +72 -0
  350. package/src/eventDispatchers/shared/getToolsWithActionsForMouseEvent.ts +66 -0
  351. package/src/eventListeners/keyboard/keyDownListener.ts +1 -2
  352. package/src/eventListeners/mouse/mouseDownListener.ts +7 -1
  353. package/src/eventListeners/mouse/mouseMoveListener.ts +7 -1
  354. package/src/index.ts +6 -0
  355. package/src/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.ts +4 -5
  356. package/src/stateManagement/segmentation/SegmentationStateManager.ts +2 -3
  357. package/src/stateManagement/segmentation/addSegmentationRepresentations.ts +0 -1
  358. package/src/stateManagement/segmentation/addSegmentations.ts +1 -2
  359. package/src/store/ToolGroupManager/ToolGroup.ts +80 -4
  360. package/src/store/state.ts +9 -3
  361. package/src/synchronizers/callbacks/stackImageSyncCallback.ts +1 -1
  362. package/src/tools/AdvancedMagnifyTool.ts +725 -0
  363. package/src/tools/AdvancedMagnifyViewport.ts +624 -0
  364. package/src/tools/AdvancedMagnifyViewportManager.ts +291 -0
  365. package/src/tools/MagnifyTool.ts +2 -2
  366. package/src/tools/OrientationMarkerTool.ts +235 -0
  367. package/src/tools/OverlayGridTool.ts +357 -0
  368. package/src/tools/ReferenceLinesTool.ts +131 -3
  369. package/src/tools/annotation/AngleTool.ts +4 -1
  370. package/src/tools/annotation/BidirectionalTool.ts +1 -1
  371. package/src/tools/annotation/CircleROITool.ts +13 -20
  372. package/src/tools/annotation/CobbAngleTool.ts +422 -99
  373. package/src/tools/annotation/DragProbeTool.ts +6 -13
  374. package/src/tools/annotation/EllipticalROITool.ts +28 -29
  375. package/src/tools/annotation/LengthTool.ts +1 -1
  376. package/src/tools/annotation/PlanarFreehandROITool.ts +35 -20
  377. package/src/tools/annotation/ProbeTool.ts +17 -30
  378. package/src/tools/annotation/RectangleROITool.ts +15 -19
  379. package/src/tools/base/AnnotationDisplayTool.ts +4 -0
  380. package/src/tools/base/AnnotationTool.ts +2 -1
  381. package/src/tools/displayTools/Contour/contourDisplay.ts +8 -0
  382. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +1 -1
  383. package/src/tools/index.ts +6 -0
  384. package/src/types/EventTypes.ts +23 -0
  385. package/src/types/IToolGroup.ts +7 -0
  386. package/src/types/ToolAction.ts +54 -0
  387. package/src/types/ToolSpecificAnnotationTypes.ts +58 -0
  388. package/src/types/index.ts +2 -0
  389. package/src/utilities/getModalityUnit.ts +8 -2
  390. package/src/utilities/index.ts +2 -1
  391. package/src/utilities/math/angle/angleBetweenLines.ts +39 -9
  392. package/src/utilities/segmentation/createLabelmapVolumeForViewport.ts +9 -10
  393. package/src/utilities/stackPrefetch/index.ts +3 -7
  394. package/src/utilities/stackPrefetch/stackContextPrefetch.ts +380 -0
  395. package/src/utilities/stackPrefetch/stackPrefetch.ts +29 -151
  396. package/src/utilities/stackPrefetch/stackPrefetchUtils.ts +114 -0
@@ -8,7 +8,7 @@ import { isAnnotationLocked } from '../../stateManagement/annotation/annotationL
8
8
  import * as lineSegment from '../../utilities/math/line';
9
9
  import angleBetweenLines from '../../utilities/math/angle/angleBetweenLines';
10
10
  import { midPoint2 } from '../../utilities/math/midPoint';
11
- import { drawHandles as drawHandlesSvg, drawLine as drawLineSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, } from '../../drawingSvg';
11
+ import { drawHandles as drawHandlesSvg, drawLine as drawLineSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, drawTextBox as drawTextBoxSvg, } from '../../drawingSvg';
12
12
  import { state } from '../../store';
13
13
  import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters';
14
14
  import { getTextBoxCoordsCanvas } from '../../utilities/drawing';
@@ -88,52 +88,39 @@ class CobbAngleTool extends AnnotationTool {
88
88
  const enabledElement = getEnabledElement(element);
89
89
  const { viewport } = enabledElement;
90
90
  const { data } = annotation;
91
- const [point1, point2, point3, point4] = data.handles.points;
92
- const canvasPoint1 = viewport.worldToCanvas(point1);
93
- const canvasPoint2 = viewport.worldToCanvas(point2);
94
- const canvasPoint3 = viewport.worldToCanvas(point3);
95
- const canvasPoint4 = viewport.worldToCanvas(point4);
96
- const line1 = {
97
- start: {
98
- x: canvasPoint1[0],
99
- y: canvasPoint1[1],
100
- },
101
- end: {
102
- x: canvasPoint2[0],
103
- y: canvasPoint2[1],
104
- },
105
- };
106
- const line2 = {
107
- start: {
108
- x: canvasPoint3[0],
109
- y: canvasPoint3[1],
110
- },
111
- end: {
112
- x: canvasPoint4[0],
113
- y: canvasPoint4[1],
114
- },
115
- };
116
- const distanceToPoint = lineSegment.distanceToPoint([line1.start.x, line1.start.y], [line1.end.x, line1.end.y], [canvasCoords[0], canvasCoords[1]]);
117
- const distanceToPoint2 = lineSegment.distanceToPoint([line2.start.x, line2.start.y], [line2.end.x, line2.end.y], [canvasCoords[0], canvasCoords[1]]);
91
+ const { distanceToPoint, distanceToPoint2 } = this.distanceToLines({
92
+ viewport,
93
+ points: data.handles.points,
94
+ canvasCoords,
95
+ proximity,
96
+ });
118
97
  if (distanceToPoint <= proximity || distanceToPoint2 <= proximity) {
119
98
  return true;
120
99
  }
121
100
  return false;
122
101
  };
123
- this.toolSelectedCallback = (evt, annotation, interactionType) => {
102
+ this.toolSelectedCallback = (evt, annotation, interactionType, canvasCoords, proximity = 6) => {
124
103
  const eventDetail = evt.detail;
125
104
  const { element } = eventDetail;
126
105
  annotation.highlighted = true;
127
106
  const viewportIdsToRender = getViewportIdsWithToolToRender(element, this.getToolName());
107
+ const enabledElement = getEnabledElement(element);
108
+ const { renderingEngine, viewport } = enabledElement;
109
+ const { isNearFirstLine, isNearSecondLine } = this.distanceToLines({
110
+ viewport,
111
+ points: annotation.data.handles.points,
112
+ canvasCoords,
113
+ proximity,
114
+ });
128
115
  this.editData = {
129
116
  annotation,
130
117
  viewportIdsToRender,
131
118
  movingTextBox: false,
119
+ isNearFirstLine,
120
+ isNearSecondLine,
132
121
  };
133
122
  this._activateModify(element);
134
123
  hideElementCursor(element);
135
- const enabledElement = getEnabledElement(element);
136
- const { renderingEngine } = enabledElement;
137
124
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
138
125
  evt.preventDefault();
139
126
  };
@@ -202,7 +189,7 @@ class CobbAngleTool extends AnnotationTool {
202
189
  this.isDrawing = true;
203
190
  const eventDetail = evt.detail;
204
191
  const { element } = eventDetail;
205
- const { annotation, viewportIdsToRender, handleIndex, movingTextBox } = this.editData;
192
+ const { annotation, viewportIdsToRender, handleIndex, movingTextBox, isNearFirstLine, isNearSecondLine, } = this.editData;
206
193
  const { data } = annotation;
207
194
  if (movingTextBox) {
208
195
  const { deltaPoints } = eventDetail;
@@ -214,15 +201,27 @@ class CobbAngleTool extends AnnotationTool {
214
201
  worldPosition[2] += worldPosDelta[2];
215
202
  textBox.hasMoved = true;
216
203
  }
217
- else if (handleIndex === undefined) {
204
+ else if (handleIndex === undefined &&
205
+ (isNearFirstLine || isNearSecondLine)) {
218
206
  const { deltaPoints } = eventDetail;
219
207
  const worldPosDelta = deltaPoints.world;
220
208
  const points = data.handles.points;
221
- points.forEach((point) => {
222
- point[0] += worldPosDelta[0];
223
- point[1] += worldPosDelta[1];
224
- point[2] += worldPosDelta[2];
225
- });
209
+ if (isNearFirstLine) {
210
+ const firstLinePoints = [points[0], points[1]];
211
+ firstLinePoints.forEach((point) => {
212
+ point[0] += worldPosDelta[0];
213
+ point[1] += worldPosDelta[1];
214
+ point[2] += worldPosDelta[2];
215
+ });
216
+ }
217
+ else if (isNearSecondLine) {
218
+ const secondLinePoints = [points[2], points[3]];
219
+ secondLinePoints.forEach((point) => {
220
+ point[0] += worldPosDelta[0];
221
+ point[1] += worldPosDelta[1];
222
+ point[2] += worldPosDelta[2];
223
+ });
224
+ }
226
225
  annotation.invalidated = true;
227
226
  }
228
227
  else {
@@ -237,29 +236,33 @@ class CobbAngleTool extends AnnotationTool {
237
236
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
238
237
  };
239
238
  this.cancel = (element) => {
240
- if (this.isDrawing) {
241
- this.isDrawing = false;
242
- this._deactivateDraw(element);
243
- this._deactivateModify(element);
244
- resetElementCursor(element);
245
- const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
246
- const { data } = annotation;
247
- annotation.highlighted = false;
248
- data.handles.activeHandleIndex = null;
249
- const enabledElement = getEnabledElement(element);
250
- const { renderingEngine } = enabledElement;
251
- triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
252
- if (newAnnotation) {
253
- const eventType = Events.ANNOTATION_COMPLETED;
254
- const eventDetail = {
255
- annotation,
256
- };
257
- triggerEvent(eventTarget, eventType, eventDetail);
258
- }
259
- this.editData = null;
260
- this.angleStartedNotYetCompleted = false;
261
- return annotation.annotationUID;
239
+ if (!this.isDrawing) {
240
+ return;
241
+ }
242
+ this.isDrawing = false;
243
+ this._deactivateDraw(element);
244
+ this._deactivateModify(element);
245
+ resetElementCursor(element);
246
+ const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
247
+ const { data } = annotation;
248
+ if (data.handles.points.length < 4) {
249
+ removeAnnotation(annotation.annotationUID);
262
250
  }
251
+ annotation.highlighted = false;
252
+ data.handles.activeHandleIndex = null;
253
+ const enabledElement = getEnabledElement(element);
254
+ const { renderingEngine } = enabledElement;
255
+ triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
256
+ if (newAnnotation) {
257
+ const eventType = Events.ANNOTATION_COMPLETED;
258
+ const eventDetail = {
259
+ annotation,
260
+ };
261
+ triggerEvent(eventTarget, eventType, eventDetail);
262
+ }
263
+ this.editData = null;
264
+ this.angleStartedNotYetCompleted = false;
265
+ return annotation.annotationUID;
263
266
  };
264
267
  this._activateModify = (element) => {
265
268
  state.isInteractingWithTool = true;
@@ -317,9 +320,30 @@ class CobbAngleTool extends AnnotationTool {
317
320
  const lineDash = this.getStyle('lineDash', styleSpecifier, annotation);
318
321
  const color = this.getStyle('color', styleSpecifier, annotation);
319
322
  const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
320
- if (!data.cachedStats[targetId]) {
323
+ if (!data.cachedStats[targetId] ||
324
+ data.cachedStats[targetId].angle == null) {
321
325
  data.cachedStats[targetId] = {
322
326
  angle: null,
327
+ arc1Angle: null,
328
+ arc2Angle: null,
329
+ points: {
330
+ world: {
331
+ arc1Start: null,
332
+ arc1End: null,
333
+ arc2Start: null,
334
+ arc2End: null,
335
+ arc1Angle: null,
336
+ arc2Angle: null,
337
+ },
338
+ canvas: {
339
+ arc1Start: null,
340
+ arc1End: null,
341
+ arc2Start: null,
342
+ arc2End: null,
343
+ arc1Angle: null,
344
+ arc2Angle: null,
345
+ },
346
+ },
323
347
  };
324
348
  this._calculateCachedStats(annotation, renderingEngine, enabledElement);
325
349
  }
@@ -344,8 +368,10 @@ class CobbAngleTool extends AnnotationTool {
344
368
  lineWidth,
345
369
  });
346
370
  }
347
- let lineUID = '1';
348
- drawLineSvg(svgDrawingHelper, annotationUID, lineUID, canvasCoordinates[0], canvasCoordinates[1], {
371
+ const firstLine = [canvasCoordinates[0], canvasCoordinates[1]];
372
+ const secondLine = [canvasCoordinates[2], canvasCoordinates[3]];
373
+ let lineUID = 'line1';
374
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, firstLine[0], firstLine[1], {
349
375
  color,
350
376
  width: lineWidth,
351
377
  lineDash,
@@ -354,20 +380,32 @@ class CobbAngleTool extends AnnotationTool {
354
380
  if (canvasCoordinates.length < 4) {
355
381
  return renderStatus;
356
382
  }
357
- lineUID = '2';
358
- drawLineSvg(svgDrawingHelper, annotationUID, lineUID, canvasCoordinates[2], canvasCoordinates[3], {
383
+ lineUID = 'line2';
384
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, secondLine[0], secondLine[1], {
359
385
  color,
360
386
  width: lineWidth,
361
387
  lineDash,
362
388
  });
363
- lineUID = '3';
364
- const mid1 = midPoint2(canvasCoordinates[0], canvasCoordinates[1]);
365
- const mid2 = midPoint2(canvasCoordinates[2], canvasCoordinates[3]);
389
+ lineUID = 'linkLine';
390
+ const mid1 = midPoint2(firstLine[0], firstLine[1]);
391
+ const mid2 = midPoint2(secondLine[0], secondLine[1]);
366
392
  drawLineSvg(svgDrawingHelper, annotationUID, lineUID, mid1, mid2, {
367
393
  color,
368
394
  lineWidth: '1',
369
395
  lineDash: '1,4',
370
396
  });
397
+ const { arc1Start, arc1End, arc2End, arc2Start } = data.cachedStats[targetId].points.canvas;
398
+ const { arc1Angle, arc2Angle } = data.cachedStats[targetId];
399
+ lineUID = 'arc1';
400
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, arc1Start, arc1End, {
401
+ color,
402
+ lineWidth: '1',
403
+ });
404
+ lineUID = 'arc2';
405
+ drawLineSvg(svgDrawingHelper, annotationUID, lineUID, arc2Start, arc2End, {
406
+ color,
407
+ lineWidth: '1',
408
+ });
371
409
  if (!data.cachedStats[targetId]?.angle) {
372
410
  continue;
373
411
  }
@@ -392,7 +430,7 @@ class CobbAngleTool extends AnnotationTool {
392
430
  viewport.canvasToWorld(canvasTextBoxCoords);
393
431
  }
394
432
  const textBoxPosition = viewport.worldToCanvas(data.handles.textBox.worldPosition);
395
- const textBoxUID = '1';
433
+ const textBoxUID = 'cobbAngleText';
396
434
  const boundingBox = drawLinkedTextBoxSvg(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, options);
397
435
  const { x: left, y: top, width, height } = boundingBox;
398
436
  data.handles.textBox.worldBoundingBox = {
@@ -401,10 +439,148 @@ class CobbAngleTool extends AnnotationTool {
401
439
  bottomLeft: viewport.canvasToWorld([left, top + height]),
402
440
  bottomRight: viewport.canvasToWorld([left + width, top + height]),
403
441
  };
442
+ const arc1TextBoxUID = 'arcAngle1';
443
+ const arc1TextLine = [
444
+ `${arc1Angle.toFixed(2)} ${String.fromCharCode(176)}`,
445
+ ];
446
+ const arch1TextPosCanvas = midPoint2(arc1Start, arc1End);
447
+ drawTextBoxSvg(svgDrawingHelper, annotationUID, arc1TextBoxUID, arc1TextLine, arch1TextPosCanvas, {
448
+ ...options,
449
+ padding: 3,
450
+ });
451
+ const arc2TextBoxUID = 'arcAngle2';
452
+ const arc2TextLine = [
453
+ `${arc2Angle.toFixed(2)} ${String.fromCharCode(176)}`,
454
+ ];
455
+ const arch2TextPosCanvas = midPoint2(arc2Start, arc2End);
456
+ drawTextBoxSvg(svgDrawingHelper, annotationUID, arc2TextBoxUID, arc2TextLine, arch2TextPosCanvas, {
457
+ ...options,
458
+ padding: 3,
459
+ });
404
460
  }
405
461
  return renderStatus;
406
462
  };
407
- this._throttledCalculateCachedStats = throttle(this._calculateCachedStats, 100, { trailing: true });
463
+ this.distanceToLines = ({ viewport, points, canvasCoords, proximity }) => {
464
+ const [point1, point2, point3, point4] = points;
465
+ const canvasPoint1 = viewport.worldToCanvas(point1);
466
+ const canvasPoint2 = viewport.worldToCanvas(point2);
467
+ const canvasPoint3 = viewport.worldToCanvas(point3);
468
+ const canvasPoint4 = viewport.worldToCanvas(point4);
469
+ const line1 = {
470
+ start: {
471
+ x: canvasPoint1[0],
472
+ y: canvasPoint1[1],
473
+ },
474
+ end: {
475
+ x: canvasPoint2[0],
476
+ y: canvasPoint2[1],
477
+ },
478
+ };
479
+ const line2 = {
480
+ start: {
481
+ x: canvasPoint3[0],
482
+ y: canvasPoint3[1],
483
+ },
484
+ end: {
485
+ x: canvasPoint4[0],
486
+ y: canvasPoint4[1],
487
+ },
488
+ };
489
+ const distanceToPoint = lineSegment.distanceToPoint([line1.start.x, line1.start.y], [line1.end.x, line1.end.y], [canvasCoords[0], canvasCoords[1]]);
490
+ const distanceToPoint2 = lineSegment.distanceToPoint([line2.start.x, line2.start.y], [line2.end.x, line2.end.y], [canvasCoords[0], canvasCoords[1]]);
491
+ let isNearFirstLine = false;
492
+ let isNearSecondLine = false;
493
+ if (distanceToPoint <= proximity) {
494
+ isNearFirstLine = true;
495
+ }
496
+ else if (distanceToPoint2 <= proximity) {
497
+ isNearSecondLine = true;
498
+ }
499
+ return {
500
+ distanceToPoint,
501
+ distanceToPoint2,
502
+ isNearFirstLine,
503
+ isNearSecondLine,
504
+ };
505
+ };
506
+ this.getArcsStartEndPoints = ({ firstLine, secondLine, mid1, mid2, }) => {
507
+ const linkLine = [mid1, mid2];
508
+ const arc1Angle = angleBetweenLines(firstLine, linkLine);
509
+ const arc2Angle = angleBetweenLines(secondLine, linkLine);
510
+ const arc1Side = arc1Angle > 90 ? 1 : 0;
511
+ const arc2Side = arc2Angle > 90 ? 0 : 1;
512
+ const midLinkLine = midPoint2(linkLine[0], linkLine[1]);
513
+ const linkLineLength = Math.sqrt((linkLine[1][0] - linkLine[0][0]) ** 2 +
514
+ (linkLine[1][1] - linkLine[0][1]) ** 2);
515
+ const ratio = 0.1;
516
+ const midFirstLine = midPoint2(firstLine[0], firstLine[1]);
517
+ const midSecondLine = midPoint2(secondLine[0], secondLine[1]);
518
+ const directionVectorStartArc1 = [
519
+ firstLine[arc1Side][0] - midFirstLine[0],
520
+ firstLine[arc1Side][1] - midFirstLine[1],
521
+ ];
522
+ const magnitudeStartArc1 = Math.sqrt(directionVectorStartArc1[0] ** 2 + directionVectorStartArc1[1] ** 2);
523
+ const normalizedDirectionStartArc1 = [
524
+ directionVectorStartArc1[0] / magnitudeStartArc1,
525
+ directionVectorStartArc1[1] / magnitudeStartArc1,
526
+ ];
527
+ const arc1Start = [
528
+ midFirstLine[0] +
529
+ normalizedDirectionStartArc1[0] * linkLineLength * ratio,
530
+ midFirstLine[1] +
531
+ normalizedDirectionStartArc1[1] * linkLineLength * ratio,
532
+ ];
533
+ const directionVectorEndArc1 = [
534
+ midLinkLine[0] - mid1[0],
535
+ midLinkLine[1] - mid1[1],
536
+ ];
537
+ const magnitudeEndArc1 = Math.sqrt(directionVectorEndArc1[0] ** 2 + directionVectorEndArc1[1] ** 2);
538
+ const normalizedDirectionEndArc1 = [
539
+ directionVectorEndArc1[0] / magnitudeEndArc1,
540
+ directionVectorEndArc1[1] / magnitudeEndArc1,
541
+ ];
542
+ const arc1End = [
543
+ mid1[0] + normalizedDirectionEndArc1[0] * linkLineLength * ratio,
544
+ mid1[1] + normalizedDirectionEndArc1[1] * linkLineLength * ratio,
545
+ ];
546
+ const directionVectorStartArc2 = [
547
+ secondLine[arc2Side][0] - midSecondLine[0],
548
+ secondLine[arc2Side][1] - midSecondLine[1],
549
+ ];
550
+ const magnitudeStartArc2 = Math.sqrt(directionVectorStartArc2[0] ** 2 + directionVectorStartArc2[1] ** 2);
551
+ const normalizedDirectionStartArc2 = [
552
+ directionVectorStartArc2[0] / magnitudeStartArc2,
553
+ directionVectorStartArc2[1] / magnitudeStartArc2,
554
+ ];
555
+ const arc2Start = [
556
+ midSecondLine[0] +
557
+ normalizedDirectionStartArc2[0] * linkLineLength * ratio,
558
+ midSecondLine[1] +
559
+ normalizedDirectionStartArc2[1] * linkLineLength * ratio,
560
+ ];
561
+ const directionVectorEndArc2 = [
562
+ midLinkLine[0] - mid2[0],
563
+ midLinkLine[1] - mid2[1],
564
+ ];
565
+ const magnitudeEndArc2 = Math.sqrt(directionVectorEndArc2[0] ** 2 + directionVectorEndArc2[1] ** 2);
566
+ const normalizedDirectionEndArc2 = [
567
+ directionVectorEndArc2[0] / magnitudeEndArc2,
568
+ directionVectorEndArc2[1] / magnitudeEndArc2,
569
+ ];
570
+ const arc2End = [
571
+ mid2[0] + normalizedDirectionEndArc2[0] * linkLineLength * ratio,
572
+ mid2[1] + normalizedDirectionEndArc2[1] * linkLineLength * ratio,
573
+ ];
574
+ return {
575
+ arc1Start,
576
+ arc1End,
577
+ arc2Start,
578
+ arc2End,
579
+ arc1Angle: arc1Angle > 90 ? 180 - arc1Angle : arc1Angle,
580
+ arc2Angle: arc2Angle > 90 ? 180 - arc2Angle : arc2Angle,
581
+ };
582
+ };
583
+ this._throttledCalculateCachedStats = throttle(this._calculateCachedStats, 25, { trailing: true });
408
584
  }
409
585
  handleSelectedCallback(evt, annotation, handle, interactionType = 'mouse') {
410
586
  const eventDetail = evt.detail;
@@ -454,13 +630,40 @@ class CobbAngleTool extends AnnotationTool {
454
630
  }
455
631
  }
456
632
  }
633
+ const { viewport } = enabledElement;
634
+ const canvasPoints = data.handles.points.map((p) => viewport.worldToCanvas(p));
635
+ const firstLine = [canvasPoints[0], canvasPoints[1]];
636
+ const secondLine = [canvasPoints[2], canvasPoints[3]];
637
+ const mid1 = midPoint2(firstLine[0], firstLine[1]);
638
+ const mid2 = midPoint2(secondLine[0], secondLine[1]);
639
+ const { arc1Start, arc1End, arc2End, arc2Start, arc1Angle, arc2Angle } = this.getArcsStartEndPoints({
640
+ firstLine,
641
+ secondLine,
642
+ mid1,
643
+ mid2,
644
+ });
457
645
  const { cachedStats } = data;
458
646
  const targetIds = Object.keys(cachedStats);
459
647
  for (let i = 0; i < targetIds.length; i++) {
460
648
  const targetId = targetIds[i];
461
- const angle = angleBetweenLines(seg1, seg2);
462
649
  cachedStats[targetId] = {
463
- angle,
650
+ angle: angleBetweenLines(seg1, seg2),
651
+ arc1Angle,
652
+ arc2Angle,
653
+ points: {
654
+ canvas: {
655
+ arc1Start,
656
+ arc1End,
657
+ arc2End,
658
+ arc2Start,
659
+ },
660
+ world: {
661
+ arc1Start: viewport.canvasToWorld(arc1Start),
662
+ arc1End: viewport.canvasToWorld(arc1End),
663
+ arc2End: viewport.canvasToWorld(arc2End),
664
+ arc2Start: viewport.canvasToWorld(arc2Start),
665
+ },
666
+ },
464
667
  };
465
668
  }
466
669
  annotation.invalidated = false;
@@ -1 +1 @@
1
- {"version":3,"file":"CobbAngleTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/CobbAngleTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CobbAngleTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/CobbAngleTool.ts"],"names":[],"mappings":"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"}
@@ -85,16 +85,17 @@ class DragProbeTool extends ProbeTool {
85
85
  isPreScaled: isViewportPreScaled(viewport, targetId),
86
86
  isSuvScaled: this.isSuvScaled(viewport, targetId, annotation.metadata.referencedImageId),
87
87
  };
88
- if (!data.cachedStats[targetId]) {
88
+ if (!data.cachedStats[targetId] ||
89
+ data.cachedStats[targetId].value == null) {
89
90
  data.cachedStats[targetId] = {
90
91
  Modality: null,
91
92
  index: null,
92
93
  value: null,
93
94
  };
94
- this._calculateCachedStats(annotation, renderingEngine, enabledElement, modalityUnitOptions);
95
+ this._calculateCachedStats(annotation, renderingEngine, enabledElement);
95
96
  }
96
97
  else if (annotation.invalidated) {
97
- this._calculateCachedStats(annotation, renderingEngine, enabledElement, modalityUnitOptions);
98
+ this._calculateCachedStats(annotation, renderingEngine, enabledElement);
98
99
  }
99
100
  if (!viewport.getRenderingEngine()) {
100
101
  console.warn('Rendering Engine has been destroyed');
@@ -1 +1 @@
1
- {"version":3,"file":"DragProbeTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/DragProbeTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DragProbeTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/DragProbeTool.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { AnnotationTool } from '../base';
2
2
  import type { Types } from '@cornerstonejs/core';
3
3
  import { EventTypes, ToolHandle, PublicToolProps, ToolProps, SVGDrawingHelper } from '../../types';
4
4
  import { EllipticalROIAnnotation } from '../../types/ToolSpecificAnnotationTypes';
5
- import { ModalityUnitOptions } from '../../utilities/getModalityUnit';
6
5
  declare class EllipticalROITool extends AnnotationTool {
7
6
  static toolName: any;
8
7
  touchDragCallback: any;
@@ -13,7 +12,7 @@ declare class EllipticalROITool extends AnnotationTool {
13
12
  viewportIdsToRender: Array<string>;
14
13
  handleIndex?: number;
15
14
  movingTextBox?: boolean;
16
- centerCanvas?: Array<number>;
15
+ centerWorld?: Array<number>;
17
16
  canvasWidth?: number;
18
17
  canvasHeight?: number;
19
18
  originalHandleCanvas?: Array<number>;
@@ -37,7 +36,7 @@ declare class EllipticalROITool extends AnnotationTool {
37
36
  _activateDraw: (element: any) => void;
38
37
  _deactivateDraw: (element: any) => void;
39
38
  renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper) => boolean;
40
- _calculateCachedStats: (annotation: any, viewport: any, renderingEngine: any, enabledElement: any, modalityUnitOptions: ModalityUnitOptions) => any;
39
+ _calculateCachedStats: (annotation: any, viewport: any, renderingEngine: any, enabledElement: any) => any;
41
40
  _isInsideVolume: (index1: any, index2: any, dimensions: any) => boolean;
42
41
  _pointInEllipseCanvas(ellipse: any, location: Types.Point2): boolean;
43
42
  _getCanvasEllipseCenter(ellipseCanvasPoints: Types.Point2[]): Types.Point2;