@cornerstonejs/tools 2.0.0-beta.2 → 2.0.0-beta.3

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 (265) 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/eventListeners/mouse/mouseDownListener.js +5 -1
  15. package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
  16. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +5 -1
  17. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  18. package/dist/cjs/index.d.ts +2 -2
  19. package/dist/cjs/index.js +5 -2
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +2 -0
  22. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +35 -0
  23. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  24. package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +1 -1
  25. package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
  26. package/dist/cjs/tools/AdvancedMagnifyTool.d.ts +36 -0
  27. package/dist/cjs/tools/AdvancedMagnifyTool.js +448 -0
  28. package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -0
  29. package/dist/cjs/tools/AdvancedMagnifyViewport.d.ts +76 -0
  30. package/dist/cjs/tools/AdvancedMagnifyViewport.js +352 -0
  31. package/dist/cjs/tools/AdvancedMagnifyViewport.js.map +1 -0
  32. package/dist/cjs/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
  33. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js +133 -0
  34. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js.map +1 -0
  35. package/dist/cjs/tools/MagnifyTool.js +2 -2
  36. package/dist/cjs/tools/MagnifyTool.js.map +1 -1
  37. package/dist/cjs/tools/OrientationMarkerTool.d.ts +88 -0
  38. package/dist/cjs/tools/OrientationMarkerTool.js +193 -0
  39. package/dist/cjs/tools/OrientationMarkerTool.js.map +1 -0
  40. package/dist/cjs/tools/OverlayGridTool.d.ts +31 -0
  41. package/dist/cjs/tools/OverlayGridTool.js +170 -0
  42. package/dist/cjs/tools/OverlayGridTool.js.map +1 -0
  43. package/dist/cjs/tools/ReferenceLinesTool.d.ts +3 -0
  44. package/dist/cjs/tools/ReferenceLinesTool.js +71 -2
  45. package/dist/cjs/tools/ReferenceLinesTool.js.map +1 -1
  46. package/dist/cjs/tools/annotation/AngleTool.js +2 -1
  47. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  48. package/dist/cjs/tools/annotation/BidirectionalTool.js +1 -1
  49. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  50. package/dist/cjs/tools/annotation/CircleROITool.d.ts +1 -2
  51. package/dist/cjs/tools/annotation/CircleROITool.js +8 -8
  52. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  53. package/dist/cjs/tools/annotation/CobbAngleTool.d.ts +31 -5
  54. package/dist/cjs/tools/annotation/CobbAngleTool.js +268 -71
  55. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  56. package/dist/cjs/tools/annotation/DragProbeTool.js +4 -3
  57. package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
  58. package/dist/cjs/tools/annotation/EllipticalROITool.d.ts +2 -3
  59. package/dist/cjs/tools/annotation/EllipticalROITool.js +20 -16
  60. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  61. package/dist/cjs/tools/annotation/LengthTool.js +1 -1
  62. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  63. package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +1 -2
  64. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +22 -9
  65. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  66. package/dist/cjs/tools/annotation/ProbeTool.d.ts +1 -2
  67. package/dist/cjs/tools/annotation/ProbeTool.js +10 -9
  68. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  69. package/dist/cjs/tools/annotation/RectangleROITool.d.ts +1 -1
  70. package/dist/cjs/tools/annotation/RectangleROITool.js +9 -9
  71. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  72. package/dist/cjs/tools/base/AnnotationDisplayTool.js +4 -0
  73. package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
  74. package/dist/cjs/tools/base/AnnotationTool.d.ts +1 -1
  75. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  76. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +3 -0
  77. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  78. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
  79. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  80. package/dist/cjs/tools/index.d.ts +4 -1
  81. package/dist/cjs/tools/index.js +7 -1
  82. package/dist/cjs/tools/index.js.map +1 -1
  83. package/dist/cjs/types/EventTypes.d.ts +9 -1
  84. package/dist/cjs/types/IToolGroup.d.ts +3 -0
  85. package/dist/cjs/types/ToolAction.d.ts +8 -0
  86. package/dist/cjs/types/ToolAction.js +3 -0
  87. package/dist/cjs/types/ToolAction.js.map +1 -0
  88. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +55 -0
  89. package/dist/cjs/types/index.d.ts +2 -1
  90. package/dist/cjs/utilities/getModalityUnit.js +5 -2
  91. package/dist/cjs/utilities/getModalityUnit.js.map +1 -1
  92. package/dist/cjs/utilities/index.d.ts +2 -2
  93. package/dist/cjs/utilities/index.js +4 -3
  94. package/dist/cjs/utilities/index.js.map +1 -1
  95. package/dist/cjs/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  96. package/dist/cjs/utilities/math/angle/angleBetweenLines.js +18 -1
  97. package/dist/cjs/utilities/math/angle/angleBetweenLines.js.map +1 -1
  98. package/dist/cjs/utilities/stackPrefetch/index.d.ts +3 -2
  99. package/dist/cjs/utilities/stackPrefetch/index.js +8 -6
  100. package/dist/cjs/utilities/stackPrefetch/index.js.map +1 -1
  101. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
  102. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js +227 -0
  103. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
  104. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
  105. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js +23 -93
  106. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
  107. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
  108. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js +85 -0
  109. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
  110. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
  111. package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  112. package/dist/esm/enums/Events.d.ts +1 -0
  113. package/dist/esm/enums/Events.js +1 -0
  114. package/dist/esm/enums/Events.js.map +1 -1
  115. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
  116. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
  117. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
  118. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +35 -0
  119. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
  120. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
  121. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +32 -0
  122. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
  123. package/dist/esm/eventListeners/mouse/mouseDownListener.js +5 -1
  124. package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
  125. package/dist/esm/eventListeners/mouse/mouseMoveListener.js +5 -1
  126. package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  127. package/dist/esm/index.d.ts +2 -2
  128. package/dist/esm/index.js +2 -2
  129. package/dist/esm/index.js.map +1 -1
  130. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -0
  131. package/dist/esm/store/ToolGroupManager/ToolGroup.js +35 -1
  132. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  133. package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +1 -1
  134. package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
  135. package/dist/esm/tools/AdvancedMagnifyTool.d.ts +36 -0
  136. package/dist/esm/tools/AdvancedMagnifyTool.js +440 -0
  137. package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -0
  138. package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +76 -0
  139. package/dist/esm/tools/AdvancedMagnifyViewport.js +346 -0
  140. package/dist/esm/tools/AdvancedMagnifyViewport.js.map +1 -0
  141. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
  142. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +128 -0
  143. package/dist/esm/tools/AdvancedMagnifyViewportManager.js.map +1 -0
  144. package/dist/esm/tools/MagnifyTool.js +2 -2
  145. package/dist/esm/tools/MagnifyTool.js.map +1 -1
  146. package/dist/esm/tools/OrientationMarkerTool.d.ts +88 -0
  147. package/dist/esm/tools/OrientationMarkerTool.js +185 -0
  148. package/dist/esm/tools/OrientationMarkerTool.js.map +1 -0
  149. package/dist/esm/tools/OverlayGridTool.d.ts +31 -0
  150. package/dist/esm/tools/OverlayGridTool.js +165 -0
  151. package/dist/esm/tools/OverlayGridTool.js.map +1 -0
  152. package/dist/esm/tools/ReferenceLinesTool.d.ts +3 -0
  153. package/dist/esm/tools/ReferenceLinesTool.js +71 -2
  154. package/dist/esm/tools/ReferenceLinesTool.js.map +1 -1
  155. package/dist/esm/tools/annotation/AngleTool.js +2 -1
  156. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  157. package/dist/esm/tools/annotation/BidirectionalTool.js +1 -1
  158. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  159. package/dist/esm/tools/annotation/CircleROITool.d.ts +1 -2
  160. package/dist/esm/tools/annotation/CircleROITool.js +8 -8
  161. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  162. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +31 -5
  163. package/dist/esm/tools/annotation/CobbAngleTool.js +275 -72
  164. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  165. package/dist/esm/tools/annotation/DragProbeTool.js +4 -3
  166. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  167. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +2 -3
  168. package/dist/esm/tools/annotation/EllipticalROITool.js +20 -16
  169. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  170. package/dist/esm/tools/annotation/LengthTool.js +1 -1
  171. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  172. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +1 -2
  173. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +22 -9
  174. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  175. package/dist/esm/tools/annotation/ProbeTool.d.ts +1 -2
  176. package/dist/esm/tools/annotation/ProbeTool.js +10 -9
  177. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  178. package/dist/esm/tools/annotation/RectangleROITool.d.ts +1 -1
  179. package/dist/esm/tools/annotation/RectangleROITool.js +9 -9
  180. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  181. package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -0
  182. package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
  183. package/dist/esm/tools/base/AnnotationTool.d.ts +1 -1
  184. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  185. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -1
  186. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  187. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
  188. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  189. package/dist/esm/tools/index.d.ts +4 -1
  190. package/dist/esm/tools/index.js +4 -1
  191. package/dist/esm/tools/index.js.map +1 -1
  192. package/dist/esm/types/EventTypes.d.ts +9 -1
  193. package/dist/esm/types/IToolGroup.d.ts +3 -0
  194. package/dist/esm/types/ToolAction.d.ts +8 -0
  195. package/dist/esm/types/ToolAction.js +2 -0
  196. package/dist/esm/types/ToolAction.js.map +1 -0
  197. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +55 -0
  198. package/dist/esm/types/index.d.ts +2 -1
  199. package/dist/esm/utilities/getModalityUnit.js +5 -2
  200. package/dist/esm/utilities/getModalityUnit.js.map +1 -1
  201. package/dist/esm/utilities/index.d.ts +2 -2
  202. package/dist/esm/utilities/index.js +2 -2
  203. package/dist/esm/utilities/index.js.map +1 -1
  204. package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  205. package/dist/esm/utilities/math/angle/angleBetweenLines.js +19 -2
  206. package/dist/esm/utilities/math/angle/angleBetweenLines.js.map +1 -1
  207. package/dist/esm/utilities/stackPrefetch/index.d.ts +3 -2
  208. package/dist/esm/utilities/stackPrefetch/index.js +3 -2
  209. package/dist/esm/utilities/stackPrefetch/index.js.map +1 -1
  210. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
  211. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +220 -0
  212. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
  213. package/dist/esm/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
  214. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +12 -79
  215. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
  216. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
  217. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +77 -0
  218. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
  219. package/dist/umd/index.js +1 -1
  220. package/dist/umd/index.js.map +1 -1
  221. package/package.json +3 -3
  222. package/src/drawingSvg/getSvgDrawingHelper.ts +4 -1
  223. package/src/enums/Events.ts +9 -0
  224. package/src/eventDispatchers/mouseEventHandlers/mouseDown.ts +11 -2
  225. package/src/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.ts +72 -0
  226. package/src/eventDispatchers/shared/getToolsWithActionsForMouseEvent.ts +66 -0
  227. package/src/eventListeners/mouse/mouseDownListener.ts +7 -1
  228. package/src/eventListeners/mouse/mouseMoveListener.ts +7 -1
  229. package/src/index.ts +6 -0
  230. package/src/store/ToolGroupManager/ToolGroup.ts +79 -2
  231. package/src/synchronizers/callbacks/stackImageSyncCallback.ts +1 -1
  232. package/src/tools/AdvancedMagnifyTool.ts +725 -0
  233. package/src/tools/AdvancedMagnifyViewport.ts +624 -0
  234. package/src/tools/AdvancedMagnifyViewportManager.ts +291 -0
  235. package/src/tools/MagnifyTool.ts +2 -2
  236. package/src/tools/OrientationMarkerTool.ts +235 -0
  237. package/src/tools/OverlayGridTool.ts +357 -0
  238. package/src/tools/ReferenceLinesTool.ts +131 -3
  239. package/src/tools/annotation/AngleTool.ts +4 -1
  240. package/src/tools/annotation/BidirectionalTool.ts +1 -1
  241. package/src/tools/annotation/CircleROITool.ts +13 -20
  242. package/src/tools/annotation/CobbAngleTool.ts +422 -99
  243. package/src/tools/annotation/DragProbeTool.ts +6 -13
  244. package/src/tools/annotation/EllipticalROITool.ts +28 -29
  245. package/src/tools/annotation/LengthTool.ts +1 -1
  246. package/src/tools/annotation/PlanarFreehandROITool.ts +35 -20
  247. package/src/tools/annotation/ProbeTool.ts +17 -30
  248. package/src/tools/annotation/RectangleROITool.ts +15 -19
  249. package/src/tools/base/AnnotationDisplayTool.ts +4 -0
  250. package/src/tools/base/AnnotationTool.ts +2 -1
  251. package/src/tools/displayTools/Contour/contourDisplay.ts +8 -0
  252. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +1 -1
  253. package/src/tools/index.ts +6 -0
  254. package/src/types/EventTypes.ts +23 -0
  255. package/src/types/IToolGroup.ts +7 -0
  256. package/src/types/ToolAction.ts +54 -0
  257. package/src/types/ToolSpecificAnnotationTypes.ts +58 -0
  258. package/src/types/index.ts +2 -0
  259. package/src/utilities/getModalityUnit.ts +8 -2
  260. package/src/utilities/index.ts +2 -1
  261. package/src/utilities/math/angle/angleBetweenLines.ts +39 -9
  262. package/src/utilities/stackPrefetch/index.ts +3 -7
  263. package/src/utilities/stackPrefetch/stackContextPrefetch.ts +380 -0
  264. package/src/utilities/stackPrefetch/stackPrefetch.ts +29 -151
  265. package/src/utilities/stackPrefetch/stackPrefetchUtils.ts +114 -0
@@ -116,52 +116,39 @@ class CobbAngleTool extends base_1.AnnotationTool {
116
116
  const enabledElement = (0, core_1.getEnabledElement)(element);
117
117
  const { viewport } = enabledElement;
118
118
  const { data } = annotation;
119
- const [point1, point2, point3, point4] = data.handles.points;
120
- const canvasPoint1 = viewport.worldToCanvas(point1);
121
- const canvasPoint2 = viewport.worldToCanvas(point2);
122
- const canvasPoint3 = viewport.worldToCanvas(point3);
123
- const canvasPoint4 = viewport.worldToCanvas(point4);
124
- const line1 = {
125
- start: {
126
- x: canvasPoint1[0],
127
- y: canvasPoint1[1],
128
- },
129
- end: {
130
- x: canvasPoint2[0],
131
- y: canvasPoint2[1],
132
- },
133
- };
134
- const line2 = {
135
- start: {
136
- x: canvasPoint3[0],
137
- y: canvasPoint3[1],
138
- },
139
- end: {
140
- x: canvasPoint4[0],
141
- y: canvasPoint4[1],
142
- },
143
- };
144
- const distanceToPoint = lineSegment.distanceToPoint([line1.start.x, line1.start.y], [line1.end.x, line1.end.y], [canvasCoords[0], canvasCoords[1]]);
145
- const distanceToPoint2 = lineSegment.distanceToPoint([line2.start.x, line2.start.y], [line2.end.x, line2.end.y], [canvasCoords[0], canvasCoords[1]]);
119
+ const { distanceToPoint, distanceToPoint2 } = this.distanceToLines({
120
+ viewport,
121
+ points: data.handles.points,
122
+ canvasCoords,
123
+ proximity,
124
+ });
146
125
  if (distanceToPoint <= proximity || distanceToPoint2 <= proximity) {
147
126
  return true;
148
127
  }
149
128
  return false;
150
129
  };
151
- this.toolSelectedCallback = (evt, annotation, interactionType) => {
130
+ this.toolSelectedCallback = (evt, annotation, interactionType, canvasCoords, proximity = 6) => {
152
131
  const eventDetail = evt.detail;
153
132
  const { element } = eventDetail;
154
133
  annotation.highlighted = true;
155
134
  const viewportIdsToRender = (0, viewportFilters_1.getViewportIdsWithToolToRender)(element, this.getToolName());
135
+ const enabledElement = (0, core_1.getEnabledElement)(element);
136
+ const { renderingEngine, viewport } = enabledElement;
137
+ const { isNearFirstLine, isNearSecondLine } = this.distanceToLines({
138
+ viewport,
139
+ points: annotation.data.handles.points,
140
+ canvasCoords,
141
+ proximity,
142
+ });
156
143
  this.editData = {
157
144
  annotation,
158
145
  viewportIdsToRender,
159
146
  movingTextBox: false,
147
+ isNearFirstLine,
148
+ isNearSecondLine,
160
149
  };
161
150
  this._activateModify(element);
162
151
  (0, elementCursor_1.hideElementCursor)(element);
163
- const enabledElement = (0, core_1.getEnabledElement)(element);
164
- const { renderingEngine } = enabledElement;
165
152
  (0, triggerAnnotationRenderForViewportIds_1.default)(renderingEngine, viewportIdsToRender);
166
153
  evt.preventDefault();
167
154
  };
@@ -230,7 +217,7 @@ class CobbAngleTool extends base_1.AnnotationTool {
230
217
  this.isDrawing = true;
231
218
  const eventDetail = evt.detail;
232
219
  const { element } = eventDetail;
233
- const { annotation, viewportIdsToRender, handleIndex, movingTextBox } = this.editData;
220
+ const { annotation, viewportIdsToRender, handleIndex, movingTextBox, isNearFirstLine, isNearSecondLine, } = this.editData;
234
221
  const { data } = annotation;
235
222
  if (movingTextBox) {
236
223
  const { deltaPoints } = eventDetail;
@@ -242,15 +229,27 @@ class CobbAngleTool extends base_1.AnnotationTool {
242
229
  worldPosition[2] += worldPosDelta[2];
243
230
  textBox.hasMoved = true;
244
231
  }
245
- else if (handleIndex === undefined) {
232
+ else if (handleIndex === undefined &&
233
+ (isNearFirstLine || isNearSecondLine)) {
246
234
  const { deltaPoints } = eventDetail;
247
235
  const worldPosDelta = deltaPoints.world;
248
236
  const points = data.handles.points;
249
- points.forEach((point) => {
250
- point[0] += worldPosDelta[0];
251
- point[1] += worldPosDelta[1];
252
- point[2] += worldPosDelta[2];
253
- });
237
+ if (isNearFirstLine) {
238
+ const firstLinePoints = [points[0], points[1]];
239
+ firstLinePoints.forEach((point) => {
240
+ point[0] += worldPosDelta[0];
241
+ point[1] += worldPosDelta[1];
242
+ point[2] += worldPosDelta[2];
243
+ });
244
+ }
245
+ else if (isNearSecondLine) {
246
+ const secondLinePoints = [points[2], points[3]];
247
+ secondLinePoints.forEach((point) => {
248
+ point[0] += worldPosDelta[0];
249
+ point[1] += worldPosDelta[1];
250
+ point[2] += worldPosDelta[2];
251
+ });
252
+ }
254
253
  annotation.invalidated = true;
255
254
  }
256
255
  else {
@@ -265,29 +264,33 @@ class CobbAngleTool extends base_1.AnnotationTool {
265
264
  (0, triggerAnnotationRenderForViewportIds_1.default)(renderingEngine, viewportIdsToRender);
266
265
  };
267
266
  this.cancel = (element) => {
268
- if (this.isDrawing) {
269
- this.isDrawing = false;
270
- this._deactivateDraw(element);
271
- this._deactivateModify(element);
272
- (0, elementCursor_1.resetElementCursor)(element);
273
- const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
274
- const { data } = annotation;
275
- annotation.highlighted = false;
276
- data.handles.activeHandleIndex = null;
277
- const enabledElement = (0, core_1.getEnabledElement)(element);
278
- const { renderingEngine } = enabledElement;
279
- (0, triggerAnnotationRenderForViewportIds_1.default)(renderingEngine, viewportIdsToRender);
280
- if (newAnnotation) {
281
- const eventType = enums_1.Events.ANNOTATION_COMPLETED;
282
- const eventDetail = {
283
- annotation,
284
- };
285
- (0, core_1.triggerEvent)(core_1.eventTarget, eventType, eventDetail);
286
- }
287
- this.editData = null;
288
- this.angleStartedNotYetCompleted = false;
289
- return annotation.annotationUID;
267
+ if (!this.isDrawing) {
268
+ return;
290
269
  }
270
+ this.isDrawing = false;
271
+ this._deactivateDraw(element);
272
+ this._deactivateModify(element);
273
+ (0, elementCursor_1.resetElementCursor)(element);
274
+ const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
275
+ const { data } = annotation;
276
+ if (data.handles.points.length < 4) {
277
+ (0, annotationState_1.removeAnnotation)(annotation.annotationUID);
278
+ }
279
+ annotation.highlighted = false;
280
+ data.handles.activeHandleIndex = null;
281
+ const enabledElement = (0, core_1.getEnabledElement)(element);
282
+ const { renderingEngine } = enabledElement;
283
+ (0, triggerAnnotationRenderForViewportIds_1.default)(renderingEngine, viewportIdsToRender);
284
+ if (newAnnotation) {
285
+ const eventType = enums_1.Events.ANNOTATION_COMPLETED;
286
+ const eventDetail = {
287
+ annotation,
288
+ };
289
+ (0, core_1.triggerEvent)(core_1.eventTarget, eventType, eventDetail);
290
+ }
291
+ this.editData = null;
292
+ this.angleStartedNotYetCompleted = false;
293
+ return annotation.annotationUID;
291
294
  };
292
295
  this._activateModify = (element) => {
293
296
  store_1.state.isInteractingWithTool = true;
@@ -346,9 +349,30 @@ class CobbAngleTool extends base_1.AnnotationTool {
346
349
  const lineDash = this.getStyle('lineDash', styleSpecifier, annotation);
347
350
  const color = this.getStyle('color', styleSpecifier, annotation);
348
351
  const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
349
- if (!data.cachedStats[targetId]) {
352
+ if (!data.cachedStats[targetId] ||
353
+ data.cachedStats[targetId].angle == null) {
350
354
  data.cachedStats[targetId] = {
351
355
  angle: null,
356
+ arc1Angle: null,
357
+ arc2Angle: null,
358
+ points: {
359
+ world: {
360
+ arc1Start: null,
361
+ arc1End: null,
362
+ arc2Start: null,
363
+ arc2End: null,
364
+ arc1Angle: null,
365
+ arc2Angle: null,
366
+ },
367
+ canvas: {
368
+ arc1Start: null,
369
+ arc1End: null,
370
+ arc2Start: null,
371
+ arc2End: null,
372
+ arc1Angle: null,
373
+ arc2Angle: null,
374
+ },
375
+ },
352
376
  };
353
377
  this._calculateCachedStats(annotation, renderingEngine, enabledElement);
354
378
  }
@@ -373,8 +397,10 @@ class CobbAngleTool extends base_1.AnnotationTool {
373
397
  lineWidth,
374
398
  });
375
399
  }
376
- let lineUID = '1';
377
- (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, lineUID, canvasCoordinates[0], canvasCoordinates[1], {
400
+ const firstLine = [canvasCoordinates[0], canvasCoordinates[1]];
401
+ const secondLine = [canvasCoordinates[2], canvasCoordinates[3]];
402
+ let lineUID = 'line1';
403
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, lineUID, firstLine[0], firstLine[1], {
378
404
  color,
379
405
  width: lineWidth,
380
406
  lineDash,
@@ -383,20 +409,32 @@ class CobbAngleTool extends base_1.AnnotationTool {
383
409
  if (canvasCoordinates.length < 4) {
384
410
  return renderStatus;
385
411
  }
386
- lineUID = '2';
387
- (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, lineUID, canvasCoordinates[2], canvasCoordinates[3], {
412
+ lineUID = 'line2';
413
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, lineUID, secondLine[0], secondLine[1], {
388
414
  color,
389
415
  width: lineWidth,
390
416
  lineDash,
391
417
  });
392
- lineUID = '3';
393
- const mid1 = (0, midPoint_1.midPoint2)(canvasCoordinates[0], canvasCoordinates[1]);
394
- const mid2 = (0, midPoint_1.midPoint2)(canvasCoordinates[2], canvasCoordinates[3]);
418
+ lineUID = 'linkLine';
419
+ const mid1 = (0, midPoint_1.midPoint2)(firstLine[0], firstLine[1]);
420
+ const mid2 = (0, midPoint_1.midPoint2)(secondLine[0], secondLine[1]);
395
421
  (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, lineUID, mid1, mid2, {
396
422
  color,
397
423
  lineWidth: '1',
398
424
  lineDash: '1,4',
399
425
  });
426
+ const { arc1Start, arc1End, arc2End, arc2Start } = data.cachedStats[targetId].points.canvas;
427
+ const { arc1Angle, arc2Angle } = data.cachedStats[targetId];
428
+ lineUID = 'arc1';
429
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, lineUID, arc1Start, arc1End, {
430
+ color,
431
+ lineWidth: '1',
432
+ });
433
+ lineUID = 'arc2';
434
+ (0, drawingSvg_1.drawLine)(svgDrawingHelper, annotationUID, lineUID, arc2Start, arc2End, {
435
+ color,
436
+ lineWidth: '1',
437
+ });
400
438
  if (!((_a = data.cachedStats[targetId]) === null || _a === void 0 ? void 0 : _a.angle)) {
401
439
  continue;
402
440
  }
@@ -421,7 +459,7 @@ class CobbAngleTool extends base_1.AnnotationTool {
421
459
  viewport.canvasToWorld(canvasTextBoxCoords);
422
460
  }
423
461
  const textBoxPosition = viewport.worldToCanvas(data.handles.textBox.worldPosition);
424
- const textBoxUID = '1';
462
+ const textBoxUID = 'cobbAngleText';
425
463
  const boundingBox = (0, drawingSvg_1.drawLinkedTextBox)(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, options);
426
464
  const { x: left, y: top, width, height } = boundingBox;
427
465
  data.handles.textBox.worldBoundingBox = {
@@ -430,10 +468,142 @@ class CobbAngleTool extends base_1.AnnotationTool {
430
468
  bottomLeft: viewport.canvasToWorld([left, top + height]),
431
469
  bottomRight: viewport.canvasToWorld([left + width, top + height]),
432
470
  };
471
+ const arc1TextBoxUID = 'arcAngle1';
472
+ const arc1TextLine = [
473
+ `${arc1Angle.toFixed(2)} ${String.fromCharCode(176)}`,
474
+ ];
475
+ const arch1TextPosCanvas = (0, midPoint_1.midPoint2)(arc1Start, arc1End);
476
+ (0, drawingSvg_1.drawTextBox)(svgDrawingHelper, annotationUID, arc1TextBoxUID, arc1TextLine, arch1TextPosCanvas, Object.assign(Object.assign({}, options), { padding: 3 }));
477
+ const arc2TextBoxUID = 'arcAngle2';
478
+ const arc2TextLine = [
479
+ `${arc2Angle.toFixed(2)} ${String.fromCharCode(176)}`,
480
+ ];
481
+ const arch2TextPosCanvas = (0, midPoint_1.midPoint2)(arc2Start, arc2End);
482
+ (0, drawingSvg_1.drawTextBox)(svgDrawingHelper, annotationUID, arc2TextBoxUID, arc2TextLine, arch2TextPosCanvas, Object.assign(Object.assign({}, options), { padding: 3 }));
433
483
  }
434
484
  return renderStatus;
435
485
  };
436
- this._throttledCalculateCachedStats = (0, throttle_1.default)(this._calculateCachedStats, 100, { trailing: true });
486
+ this.distanceToLines = ({ viewport, points, canvasCoords, proximity }) => {
487
+ const [point1, point2, point3, point4] = points;
488
+ const canvasPoint1 = viewport.worldToCanvas(point1);
489
+ const canvasPoint2 = viewport.worldToCanvas(point2);
490
+ const canvasPoint3 = viewport.worldToCanvas(point3);
491
+ const canvasPoint4 = viewport.worldToCanvas(point4);
492
+ const line1 = {
493
+ start: {
494
+ x: canvasPoint1[0],
495
+ y: canvasPoint1[1],
496
+ },
497
+ end: {
498
+ x: canvasPoint2[0],
499
+ y: canvasPoint2[1],
500
+ },
501
+ };
502
+ const line2 = {
503
+ start: {
504
+ x: canvasPoint3[0],
505
+ y: canvasPoint3[1],
506
+ },
507
+ end: {
508
+ x: canvasPoint4[0],
509
+ y: canvasPoint4[1],
510
+ },
511
+ };
512
+ const distanceToPoint = lineSegment.distanceToPoint([line1.start.x, line1.start.y], [line1.end.x, line1.end.y], [canvasCoords[0], canvasCoords[1]]);
513
+ const distanceToPoint2 = lineSegment.distanceToPoint([line2.start.x, line2.start.y], [line2.end.x, line2.end.y], [canvasCoords[0], canvasCoords[1]]);
514
+ let isNearFirstLine = false;
515
+ let isNearSecondLine = false;
516
+ if (distanceToPoint <= proximity) {
517
+ isNearFirstLine = true;
518
+ }
519
+ else if (distanceToPoint2 <= proximity) {
520
+ isNearSecondLine = true;
521
+ }
522
+ return {
523
+ distanceToPoint,
524
+ distanceToPoint2,
525
+ isNearFirstLine,
526
+ isNearSecondLine,
527
+ };
528
+ };
529
+ this.getArcsStartEndPoints = ({ firstLine, secondLine, mid1, mid2, }) => {
530
+ const linkLine = [mid1, mid2];
531
+ const arc1Angle = (0, angleBetweenLines_1.default)(firstLine, linkLine);
532
+ const arc2Angle = (0, angleBetweenLines_1.default)(secondLine, linkLine);
533
+ const arc1Side = arc1Angle > 90 ? 1 : 0;
534
+ const arc2Side = arc2Angle > 90 ? 0 : 1;
535
+ const midLinkLine = (0, midPoint_1.midPoint2)(linkLine[0], linkLine[1]);
536
+ const linkLineLength = Math.sqrt(Math.pow((linkLine[1][0] - linkLine[0][0]), 2) +
537
+ Math.pow((linkLine[1][1] - linkLine[0][1]), 2));
538
+ const ratio = 0.1;
539
+ const midFirstLine = (0, midPoint_1.midPoint2)(firstLine[0], firstLine[1]);
540
+ const midSecondLine = (0, midPoint_1.midPoint2)(secondLine[0], secondLine[1]);
541
+ const directionVectorStartArc1 = [
542
+ firstLine[arc1Side][0] - midFirstLine[0],
543
+ firstLine[arc1Side][1] - midFirstLine[1],
544
+ ];
545
+ const magnitudeStartArc1 = Math.sqrt(Math.pow(directionVectorStartArc1[0], 2) + Math.pow(directionVectorStartArc1[1], 2));
546
+ const normalizedDirectionStartArc1 = [
547
+ directionVectorStartArc1[0] / magnitudeStartArc1,
548
+ directionVectorStartArc1[1] / magnitudeStartArc1,
549
+ ];
550
+ const arc1Start = [
551
+ midFirstLine[0] +
552
+ normalizedDirectionStartArc1[0] * linkLineLength * ratio,
553
+ midFirstLine[1] +
554
+ normalizedDirectionStartArc1[1] * linkLineLength * ratio,
555
+ ];
556
+ const directionVectorEndArc1 = [
557
+ midLinkLine[0] - mid1[0],
558
+ midLinkLine[1] - mid1[1],
559
+ ];
560
+ const magnitudeEndArc1 = Math.sqrt(Math.pow(directionVectorEndArc1[0], 2) + Math.pow(directionVectorEndArc1[1], 2));
561
+ const normalizedDirectionEndArc1 = [
562
+ directionVectorEndArc1[0] / magnitudeEndArc1,
563
+ directionVectorEndArc1[1] / magnitudeEndArc1,
564
+ ];
565
+ const arc1End = [
566
+ mid1[0] + normalizedDirectionEndArc1[0] * linkLineLength * ratio,
567
+ mid1[1] + normalizedDirectionEndArc1[1] * linkLineLength * ratio,
568
+ ];
569
+ const directionVectorStartArc2 = [
570
+ secondLine[arc2Side][0] - midSecondLine[0],
571
+ secondLine[arc2Side][1] - midSecondLine[1],
572
+ ];
573
+ const magnitudeStartArc2 = Math.sqrt(Math.pow(directionVectorStartArc2[0], 2) + Math.pow(directionVectorStartArc2[1], 2));
574
+ const normalizedDirectionStartArc2 = [
575
+ directionVectorStartArc2[0] / magnitudeStartArc2,
576
+ directionVectorStartArc2[1] / magnitudeStartArc2,
577
+ ];
578
+ const arc2Start = [
579
+ midSecondLine[0] +
580
+ normalizedDirectionStartArc2[0] * linkLineLength * ratio,
581
+ midSecondLine[1] +
582
+ normalizedDirectionStartArc2[1] * linkLineLength * ratio,
583
+ ];
584
+ const directionVectorEndArc2 = [
585
+ midLinkLine[0] - mid2[0],
586
+ midLinkLine[1] - mid2[1],
587
+ ];
588
+ const magnitudeEndArc2 = Math.sqrt(Math.pow(directionVectorEndArc2[0], 2) + Math.pow(directionVectorEndArc2[1], 2));
589
+ const normalizedDirectionEndArc2 = [
590
+ directionVectorEndArc2[0] / magnitudeEndArc2,
591
+ directionVectorEndArc2[1] / magnitudeEndArc2,
592
+ ];
593
+ const arc2End = [
594
+ mid2[0] + normalizedDirectionEndArc2[0] * linkLineLength * ratio,
595
+ mid2[1] + normalizedDirectionEndArc2[1] * linkLineLength * ratio,
596
+ ];
597
+ return {
598
+ arc1Start,
599
+ arc1End,
600
+ arc2Start,
601
+ arc2End,
602
+ arc1Angle: arc1Angle > 90 ? 180 - arc1Angle : arc1Angle,
603
+ arc2Angle: arc2Angle > 90 ? 180 - arc2Angle : arc2Angle,
604
+ };
605
+ };
606
+ this._throttledCalculateCachedStats = (0, throttle_1.default)(this._calculateCachedStats, 25, { trailing: true });
437
607
  }
438
608
  handleSelectedCallback(evt, annotation, handle, interactionType = 'mouse') {
439
609
  const eventDetail = evt.detail;
@@ -483,13 +653,40 @@ class CobbAngleTool extends base_1.AnnotationTool {
483
653
  }
484
654
  }
485
655
  }
656
+ const { viewport } = enabledElement;
657
+ const canvasPoints = data.handles.points.map((p) => viewport.worldToCanvas(p));
658
+ const firstLine = [canvasPoints[0], canvasPoints[1]];
659
+ const secondLine = [canvasPoints[2], canvasPoints[3]];
660
+ const mid1 = (0, midPoint_1.midPoint2)(firstLine[0], firstLine[1]);
661
+ const mid2 = (0, midPoint_1.midPoint2)(secondLine[0], secondLine[1]);
662
+ const { arc1Start, arc1End, arc2End, arc2Start, arc1Angle, arc2Angle } = this.getArcsStartEndPoints({
663
+ firstLine,
664
+ secondLine,
665
+ mid1,
666
+ mid2,
667
+ });
486
668
  const { cachedStats } = data;
487
669
  const targetIds = Object.keys(cachedStats);
488
670
  for (let i = 0; i < targetIds.length; i++) {
489
671
  const targetId = targetIds[i];
490
- const angle = (0, angleBetweenLines_1.default)(seg1, seg2);
491
672
  cachedStats[targetId] = {
492
- angle,
673
+ angle: (0, angleBetweenLines_1.default)(seg1, seg2),
674
+ arc1Angle,
675
+ arc2Angle,
676
+ points: {
677
+ canvas: {
678
+ arc1Start,
679
+ arc1End,
680
+ arc2End,
681
+ arc2Start,
682
+ },
683
+ world: {
684
+ arc1Start: viewport.canvasToWorld(arc1Start),
685
+ arc1End: viewport.canvasToWorld(arc1End),
686
+ arc2End: viewport.canvasToWorld(arc2End),
687
+ arc2Start: viewport.canvasToWorld(arc2Start),
688
+ },
689
+ },
493
690
  };
494
691
  }
495
692
  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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"}
@@ -90,16 +90,17 @@ class DragProbeTool extends ProbeTool_1.default {
90
90
  isPreScaled: (0, isViewportPreScaled_1.isViewportPreScaled)(viewport, targetId),
91
91
  isSuvScaled: this.isSuvScaled(viewport, targetId, annotation.metadata.referencedImageId),
92
92
  };
93
- if (!data.cachedStats[targetId]) {
93
+ if (!data.cachedStats[targetId] ||
94
+ data.cachedStats[targetId].value == null) {
94
95
  data.cachedStats[targetId] = {
95
96
  Modality: null,
96
97
  index: null,
97
98
  value: null,
98
99
  };
99
- this._calculateCachedStats(annotation, renderingEngine, enabledElement, modalityUnitOptions);
100
+ this._calculateCachedStats(annotation, renderingEngine, enabledElement);
100
101
  }
101
102
  else if (annotation.invalidated) {
102
- this._calculateCachedStats(annotation, renderingEngine, enabledElement, modalityUnitOptions);
103
+ this._calculateCachedStats(annotation, renderingEngine, enabledElement);
103
104
  }
104
105
  if (!viewport.getRenderingEngine()) {
105
106
  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":";;;;;AACA,8CAAwD;AAGxD,iDAG0B;AAC1B,qEAAiF;AACjF,+DAAgE;AAOhE,kIAA0G;AAC1G,4DAAoC;AAGpC,sFAAmF;AAEnF,MAAM,aAAc,SAAQ,mBAAS;IAiBnC,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,yBAAyB,EAAE,KAAK;YAChC,YAAY,EAAE,mBAAmB;SAClC;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAGrC,0BAAqB,GAAG,CACtB,GAAoC,EACnB,EAAE;YACnB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;YAErC,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAErD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAE3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CACjD,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,MAAM,CACP,CAAC;YAEF,MAAM,UAAU,GAAoB;gBAClC,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC5B,eAAe,EAAgB,CAAC,GAAG,eAAe,CAAC;oBACnD,MAAM,EAAgB,CAAC,GAAG,MAAM,CAAC;oBACjC,mBAAmB,EAAE,QAAQ,CAAC,sBAAsB,EAAE;oBACtD,iBAAiB;iBAClB;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE,EAAE,MAAM,EAAE,CAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE;oBAClD,WAAW,EAAE,EAAE;iBAChB;aACF,CAAC;YAEF,MAAM,mBAAmB,GAAG,IAAA,gDAA8B,EACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,aAAa,EAAE,IAAI;gBACnB,mBAAmB;aACpB,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAA,iCAAiB,EAAC,OAAO,CAAC,CAAC;YAE3B,GAAG,CAAC,cAAc,EAAE,CAAC;YAErB,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QAEF,2BAAsB,GAAG,CACvB,GAAoC,EACnB,EAAE;YACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,qBAAgB,GAAG,CACjB,cAAqC,EACrC,gBAAkC,EACzB,EAAE;YACX,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YAEpC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,uCAAuC,CAC9D,QAAQ,CAAC,OAAO,EAChB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC3B,CAAC;YAEF,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;gBACxB,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAEtD,MAAM,cAAc,GAAmB;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC5B,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;aACvC,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5C,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAExD,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;YAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YAEjE,MAAM,mBAAmB,GAAG;gBAC1B,WAAW,EAAE,IAAA,yCAAmB,EAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEpD,WAAW,EAAE,IAAI,CAAC,WAAW,CAC3B,QAAQ,EACR,QAAQ,EACR,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CACtC;aACF,CAAC;YAEF,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,IAAI,EACxC;gBACA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG;oBAC3B,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;iBACZ,CAAC;gBAEF,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;aACzE;iBAAM,IAAI,UAAU,CAAC,WAAW,EAAE;gBACjC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;aACzE;YAGD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE;gBAClC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACpD,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,cAAc,GAAG,GAAG,CAAC;YAE3B,IAAA,wBAAc,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,CAAC,iBAAiB,CAAC,EACnB,EAAE,KAAK,EAAE,CACV,CAAC;YAEF,YAAY,GAAG,IAAI,CAAC;YAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE;gBACb,MAAM,qBAAqB,GAAG;oBAC5B,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC;oBACxB,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC;iBACzB,CAAC;gBAEF,MAAM,OAAO,GAAG,GAAG,CAAC;gBACpB,IAAA,wBAAc,EACZ,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,EACT,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EACpD,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,CACvD,CAAC;aACH;YAED,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;IAzKF,CAAC;CA0KF;AAED,SAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ;IACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC;IAEzD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO;KACR;IAED,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1D,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;IAEtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,aAAa,CAAC,QAAQ,GAAG,WAAW,CAAC;AACrC,kBAAe,aAAa,CAAC"}
@@ -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;