@cornerstonejs/tools 2.0.0-beta.1 → 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 (565) hide show
  1. package/dist/cjs/drawingSvg/drawCircle.js +9 -5
  2. package/dist/cjs/drawingSvg/drawCircle.js.map +1 -1
  3. package/dist/cjs/drawingSvg/drawEllipse.js +4 -4
  4. package/dist/cjs/drawingSvg/drawEllipse.js.map +1 -1
  5. package/dist/cjs/drawingSvg/drawHandles.js +4 -4
  6. package/dist/cjs/drawingSvg/drawHandles.js.map +1 -1
  7. package/dist/cjs/drawingSvg/drawLine.js +4 -4
  8. package/dist/cjs/drawingSvg/drawLine.js.map +1 -1
  9. package/dist/cjs/drawingSvg/drawPolyline.js +4 -4
  10. package/dist/cjs/drawingSvg/drawPolyline.js.map +1 -1
  11. package/dist/cjs/drawingSvg/drawRect.js +4 -4
  12. package/dist/cjs/drawingSvg/drawRect.js.map +1 -1
  13. package/dist/cjs/drawingSvg/drawTextBox.js +4 -4
  14. package/dist/cjs/drawingSvg/drawTextBox.js.map +1 -1
  15. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +1 -1
  16. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  17. package/dist/cjs/drawingSvg/index.d.ts +3 -1
  18. package/dist/cjs/drawingSvg/index.js +5 -1
  19. package/dist/cjs/drawingSvg/index.js.map +1 -1
  20. package/dist/cjs/drawingSvg/setAttributesIfNecessary.d.ts +2 -0
  21. package/dist/cjs/drawingSvg/{_setAttributesIfNecessary.js → setAttributesIfNecessary.js} +5 -5
  22. package/dist/cjs/drawingSvg/setAttributesIfNecessary.js.map +1 -0
  23. package/dist/cjs/drawingSvg/setNewAttributesIfValid.d.ts +2 -0
  24. package/dist/cjs/drawingSvg/{_setNewAttributesIfValid.js → setNewAttributesIfValid.js} +5 -5
  25. package/dist/cjs/drawingSvg/setNewAttributesIfValid.js.map +1 -0
  26. package/dist/cjs/enums/Events.d.ts +2 -0
  27. package/dist/cjs/enums/Events.js +2 -0
  28. package/dist/cjs/enums/Events.js.map +1 -1
  29. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
  30. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
  31. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
  32. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +41 -0
  33. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
  34. package/dist/cjs/eventDispatchers/shared/getMouseModifier.js +10 -5
  35. package/dist/cjs/eventDispatchers/shared/getMouseModifier.js.map +1 -1
  36. package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
  37. package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +39 -0
  38. package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
  39. package/dist/cjs/eventListeners/keyboard/keyDownListener.js +8 -0
  40. package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -1
  41. package/dist/cjs/eventListeners/mouse/mouseDownListener.js +7 -2
  42. package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
  43. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +5 -1
  44. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  45. package/dist/cjs/eventListeners/touch/touchStartListener.js +10 -5
  46. package/dist/cjs/eventListeners/touch/touchStartListener.js.map +1 -1
  47. package/dist/cjs/index.d.ts +2 -2
  48. package/dist/cjs/index.js +6 -2
  49. package/dist/cjs/index.js.map +1 -1
  50. package/dist/cjs/stateManagement/annotation/config/ToolStyle.js +1 -0
  51. package/dist/cjs/stateManagement/annotation/config/ToolStyle.js.map +1 -1
  52. package/dist/cjs/stateManagement/annotation/config/getState.js +6 -3
  53. package/dist/cjs/stateManagement/annotation/config/getState.js.map +1 -1
  54. package/dist/cjs/stateManagement/annotation/config/helpers.js +4 -2
  55. package/dist/cjs/stateManagement/annotation/config/helpers.js.map +1 -1
  56. package/dist/cjs/store/SynchronizerManager/Synchronizer.js +10 -2
  57. package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
  58. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +5 -3
  59. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +44 -2
  60. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  61. package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js +2 -1
  62. package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -1
  63. package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +25 -22
  64. package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
  65. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +1 -1
  66. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
  67. package/dist/cjs/tools/AdvancedMagnifyTool.d.ts +36 -0
  68. package/dist/cjs/tools/AdvancedMagnifyTool.js +448 -0
  69. package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -0
  70. package/dist/cjs/tools/AdvancedMagnifyViewport.d.ts +76 -0
  71. package/dist/cjs/tools/AdvancedMagnifyViewport.js +352 -0
  72. package/dist/cjs/tools/AdvancedMagnifyViewport.js.map +1 -0
  73. package/dist/cjs/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
  74. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js +133 -0
  75. package/dist/cjs/tools/AdvancedMagnifyViewportManager.js.map +1 -0
  76. package/dist/cjs/tools/MIPJumpToClickTool.js +4 -2
  77. package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
  78. package/dist/cjs/tools/MagnifyTool.js +2 -2
  79. package/dist/cjs/tools/MagnifyTool.js.map +1 -1
  80. package/dist/cjs/tools/OrientationMarkerTool.d.ts +88 -0
  81. package/dist/cjs/tools/OrientationMarkerTool.js +193 -0
  82. package/dist/cjs/tools/OrientationMarkerTool.js.map +1 -0
  83. package/dist/cjs/tools/OverlayGridTool.d.ts +31 -0
  84. package/dist/cjs/tools/OverlayGridTool.js +170 -0
  85. package/dist/cjs/tools/OverlayGridTool.js.map +1 -0
  86. package/dist/cjs/tools/PlanarRotateTool.js +2 -1
  87. package/dist/cjs/tools/PlanarRotateTool.js.map +1 -1
  88. package/dist/cjs/tools/ReferenceCursors.js +58 -29
  89. package/dist/cjs/tools/ReferenceCursors.js.map +1 -1
  90. package/dist/cjs/tools/ReferenceLinesTool.d.ts +3 -0
  91. package/dist/cjs/tools/ReferenceLinesTool.js +71 -2
  92. package/dist/cjs/tools/ReferenceLinesTool.js.map +1 -1
  93. package/dist/cjs/tools/ScaleOverlayTool.js +2 -1
  94. package/dist/cjs/tools/ScaleOverlayTool.js.map +1 -1
  95. package/dist/cjs/tools/annotation/AngleTool.d.ts +0 -1
  96. package/dist/cjs/tools/annotation/AngleTool.js +33 -15
  97. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  98. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +15 -1
  99. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  100. package/dist/cjs/tools/annotation/BidirectionalTool.d.ts +0 -1
  101. package/dist/cjs/tools/annotation/BidirectionalTool.js +30 -15
  102. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  103. package/dist/cjs/tools/annotation/CircleROITool.d.ts +1 -3
  104. package/dist/cjs/tools/annotation/CircleROITool.js +63 -60
  105. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  106. package/dist/cjs/tools/annotation/CobbAngleTool.d.ts +31 -6
  107. package/dist/cjs/tools/annotation/CobbAngleTool.js +294 -82
  108. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  109. package/dist/cjs/tools/annotation/DragProbeTool.js +17 -4
  110. package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
  111. package/dist/cjs/tools/annotation/EllipticalROITool.d.ts +2 -4
  112. package/dist/cjs/tools/annotation/EllipticalROITool.js +67 -61
  113. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  114. package/dist/cjs/tools/annotation/LengthTool.d.ts +0 -1
  115. package/dist/cjs/tools/annotation/LengthTool.js +27 -12
  116. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  117. package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +1 -3
  118. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +72 -60
  119. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  120. package/dist/cjs/tools/annotation/ProbeTool.d.ts +1 -3
  121. package/dist/cjs/tools/annotation/ProbeTool.js +28 -22
  122. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  123. package/dist/cjs/tools/annotation/RectangleROITool.d.ts +1 -2
  124. package/dist/cjs/tools/annotation/RectangleROITool.js +55 -57
  125. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  126. package/dist/cjs/tools/base/AnnotationDisplayTool.js +4 -0
  127. package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
  128. package/dist/cjs/tools/base/AnnotationTool.d.ts +3 -2
  129. package/dist/cjs/tools/base/AnnotationTool.js +27 -16
  130. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  131. package/dist/cjs/tools/base/index.d.ts +2 -1
  132. package/dist/cjs/tools/base/index.js +3 -1
  133. package/dist/cjs/tools/base/index.js.map +1 -1
  134. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +3 -0
  135. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  136. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
  137. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  138. package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js +3 -0
  139. package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -1
  140. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +5 -6
  141. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  142. package/dist/cjs/tools/index.d.ts +5 -2
  143. package/dist/cjs/tools/index.js +8 -1
  144. package/dist/cjs/tools/index.js.map +1 -1
  145. package/dist/cjs/tools/segmentation/BrushTool.js +24 -17
  146. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  147. package/dist/cjs/tools/segmentation/PaintFillTool.js +4 -2
  148. package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
  149. package/dist/cjs/tools/segmentation/strategies/eraseSphere.d.ts +2 -0
  150. package/dist/cjs/tools/segmentation/strategies/eraseSphere.js.map +1 -1
  151. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +5 -7
  152. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
  153. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +3 -0
  154. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +38 -10
  155. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
  156. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +3 -0
  157. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js +10 -0
  158. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -0
  159. package/dist/cjs/types/CINETypes.d.ts +2 -0
  160. package/dist/cjs/types/CalculatorTypes.d.ts +6 -0
  161. package/dist/cjs/types/CalculatorTypes.js +3 -0
  162. package/dist/cjs/types/CalculatorTypes.js.map +1 -0
  163. package/dist/cjs/types/EventTypes.d.ts +16 -1
  164. package/dist/cjs/types/ISetToolModeOptions.d.ts +2 -2
  165. package/dist/cjs/types/IToolGroup.d.ts +6 -2
  166. package/dist/cjs/types/ToolAction.d.ts +8 -0
  167. package/dist/cjs/types/ToolAction.js +3 -0
  168. package/dist/cjs/types/ToolAction.js.map +1 -0
  169. package/dist/cjs/types/ToolProps.d.ts +5 -1
  170. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +55 -0
  171. package/dist/cjs/types/index.d.ts +4 -2
  172. package/dist/cjs/utilities/cine/playClip.js +13 -3
  173. package/dist/cjs/utilities/cine/playClip.js.map +1 -1
  174. package/dist/cjs/utilities/dynamicVolume/getDataInTime.js +7 -4
  175. package/dist/cjs/utilities/dynamicVolume/getDataInTime.js.map +1 -1
  176. package/dist/cjs/utilities/getCalibratedUnits.js +10 -5
  177. package/dist/cjs/utilities/getCalibratedUnits.js.map +1 -1
  178. package/dist/cjs/utilities/getModalityUnit.js +5 -2
  179. package/dist/cjs/utilities/getModalityUnit.js.map +1 -1
  180. package/dist/cjs/utilities/index.d.ts +2 -2
  181. package/dist/cjs/utilities/index.js +4 -3
  182. package/dist/cjs/utilities/index.js.map +1 -1
  183. package/dist/cjs/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  184. package/dist/cjs/utilities/math/angle/angleBetweenLines.js +18 -1
  185. package/dist/cjs/utilities/math/angle/angleBetweenLines.js.map +1 -1
  186. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.d.ts +14 -0
  187. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js +44 -0
  188. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js.map +1 -0
  189. package/dist/cjs/utilities/math/basic/Calculator.d.ts +8 -0
  190. package/dist/cjs/utilities/math/basic/Calculator.js +6 -0
  191. package/dist/cjs/utilities/math/basic/Calculator.js.map +1 -0
  192. package/dist/cjs/utilities/math/basic/index.d.ts +3 -0
  193. package/dist/cjs/utilities/math/basic/index.js +11 -0
  194. package/dist/cjs/utilities/math/basic/index.js.map +1 -0
  195. package/dist/cjs/utilities/math/index.d.ts +2 -1
  196. package/dist/cjs/utilities/math/index.js +3 -1
  197. package/dist/cjs/utilities/math/index.js.map +1 -1
  198. package/dist/cjs/utilities/math/midPoint.js +2 -1
  199. package/dist/cjs/utilities/math/midPoint.js.map +1 -1
  200. package/dist/cjs/utilities/math/polyline/pointInPolyline.js +2 -1
  201. package/dist/cjs/utilities/math/polyline/pointInPolyline.js.map +1 -1
  202. package/dist/cjs/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
  203. package/dist/cjs/utilities/math/vec2/liangBarksyClip.js +10 -5
  204. package/dist/cjs/utilities/math/vec2/liangBarksyClip.js.map +1 -1
  205. package/dist/cjs/utilities/pointInShapeCallback.d.ts +7 -1
  206. package/dist/cjs/utilities/pointInShapeCallback.js +6 -1
  207. package/dist/cjs/utilities/pointInShapeCallback.js.map +1 -1
  208. package/dist/cjs/utilities/roundNumber.js +4 -2
  209. package/dist/cjs/utilities/roundNumber.js.map +1 -1
  210. package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -2
  211. package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.js +4 -4
  212. package/dist/cjs/utilities/segmentation/brushSizeForToolGroup.js.map +1 -1
  213. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +2 -1
  214. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  215. package/dist/cjs/utilities/segmentation/utilities.d.ts +1 -2
  216. package/dist/cjs/utilities/segmentation/utilities.js +4 -1
  217. package/dist/cjs/utilities/segmentation/utilities.js.map +1 -1
  218. package/dist/cjs/utilities/stackPrefetch/index.d.ts +3 -2
  219. package/dist/cjs/utilities/stackPrefetch/index.js +8 -6
  220. package/dist/cjs/utilities/stackPrefetch/index.js.map +1 -1
  221. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
  222. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js +227 -0
  223. package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
  224. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
  225. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js +25 -95
  226. package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
  227. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
  228. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js +85 -0
  229. package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
  230. package/dist/esm/drawingSvg/drawCircle.js +9 -5
  231. package/dist/esm/drawingSvg/drawCircle.js.map +1 -1
  232. package/dist/esm/drawingSvg/drawEllipse.js +4 -4
  233. package/dist/esm/drawingSvg/drawEllipse.js.map +1 -1
  234. package/dist/esm/drawingSvg/drawHandles.js +4 -4
  235. package/dist/esm/drawingSvg/drawHandles.js.map +1 -1
  236. package/dist/esm/drawingSvg/drawLine.js +4 -4
  237. package/dist/esm/drawingSvg/drawLine.js.map +1 -1
  238. package/dist/esm/drawingSvg/drawPolyline.js +4 -4
  239. package/dist/esm/drawingSvg/drawPolyline.js.map +1 -1
  240. package/dist/esm/drawingSvg/drawRect.js +4 -4
  241. package/dist/esm/drawingSvg/drawRect.js.map +1 -1
  242. package/dist/esm/drawingSvg/drawTextBox.js +4 -4
  243. package/dist/esm/drawingSvg/drawTextBox.js.map +1 -1
  244. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
  245. package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  246. package/dist/esm/drawingSvg/index.d.ts +3 -1
  247. package/dist/esm/drawingSvg/index.js +3 -1
  248. package/dist/esm/drawingSvg/index.js.map +1 -1
  249. package/dist/esm/drawingSvg/setAttributesIfNecessary.d.ts +2 -0
  250. package/dist/esm/drawingSvg/{_setAttributesIfNecessary.js → setAttributesIfNecessary.js} +3 -3
  251. package/dist/esm/drawingSvg/setAttributesIfNecessary.js.map +1 -0
  252. package/dist/esm/drawingSvg/setNewAttributesIfValid.d.ts +2 -0
  253. package/dist/esm/drawingSvg/{_setNewAttributesIfValid.js → setNewAttributesIfValid.js} +3 -3
  254. package/dist/esm/drawingSvg/setNewAttributesIfValid.js.map +1 -0
  255. package/dist/esm/enums/Events.d.ts +2 -0
  256. package/dist/esm/enums/Events.js +2 -0
  257. package/dist/esm/enums/Events.js.map +1 -1
  258. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
  259. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
  260. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
  261. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +35 -0
  262. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
  263. package/dist/esm/eventDispatchers/shared/getMouseModifier.js +10 -5
  264. package/dist/esm/eventDispatchers/shared/getMouseModifier.js.map +1 -1
  265. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
  266. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +32 -0
  267. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
  268. package/dist/esm/eventListeners/keyboard/keyDownListener.js +8 -0
  269. package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
  270. package/dist/esm/eventListeners/mouse/mouseDownListener.js +7 -2
  271. package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
  272. package/dist/esm/eventListeners/mouse/mouseMoveListener.js +5 -1
  273. package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  274. package/dist/esm/eventListeners/touch/touchStartListener.js +10 -5
  275. package/dist/esm/eventListeners/touch/touchStartListener.js.map +1 -1
  276. package/dist/esm/index.d.ts +2 -2
  277. package/dist/esm/index.js +2 -2
  278. package/dist/esm/index.js.map +1 -1
  279. package/dist/esm/stateManagement/annotation/config/ToolStyle.js +1 -0
  280. package/dist/esm/stateManagement/annotation/config/ToolStyle.js.map +1 -1
  281. package/dist/esm/stateManagement/annotation/config/getState.js +6 -3
  282. package/dist/esm/stateManagement/annotation/config/getState.js.map +1 -1
  283. package/dist/esm/stateManagement/annotation/config/helpers.js +4 -2
  284. package/dist/esm/stateManagement/annotation/config/helpers.js.map +1 -1
  285. package/dist/esm/store/SynchronizerManager/Synchronizer.js +10 -2
  286. package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
  287. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +5 -3
  288. package/dist/esm/store/ToolGroupManager/ToolGroup.js +45 -4
  289. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  290. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +2 -1
  291. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -1
  292. package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +26 -23
  293. package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
  294. package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +1 -1
  295. package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
  296. package/dist/esm/tools/AdvancedMagnifyTool.d.ts +36 -0
  297. package/dist/esm/tools/AdvancedMagnifyTool.js +440 -0
  298. package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -0
  299. package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +76 -0
  300. package/dist/esm/tools/AdvancedMagnifyViewport.js +346 -0
  301. package/dist/esm/tools/AdvancedMagnifyViewport.js.map +1 -0
  302. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
  303. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +128 -0
  304. package/dist/esm/tools/AdvancedMagnifyViewportManager.js.map +1 -0
  305. package/dist/esm/tools/MIPJumpToClickTool.js +4 -2
  306. package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
  307. package/dist/esm/tools/MagnifyTool.js +2 -2
  308. package/dist/esm/tools/MagnifyTool.js.map +1 -1
  309. package/dist/esm/tools/OrientationMarkerTool.d.ts +88 -0
  310. package/dist/esm/tools/OrientationMarkerTool.js +185 -0
  311. package/dist/esm/tools/OrientationMarkerTool.js.map +1 -0
  312. package/dist/esm/tools/OverlayGridTool.d.ts +31 -0
  313. package/dist/esm/tools/OverlayGridTool.js +165 -0
  314. package/dist/esm/tools/OverlayGridTool.js.map +1 -0
  315. package/dist/esm/tools/PlanarRotateTool.js +2 -1
  316. package/dist/esm/tools/PlanarRotateTool.js.map +1 -1
  317. package/dist/esm/tools/ReferenceCursors.js +58 -29
  318. package/dist/esm/tools/ReferenceCursors.js.map +1 -1
  319. package/dist/esm/tools/ReferenceLinesTool.d.ts +3 -0
  320. package/dist/esm/tools/ReferenceLinesTool.js +71 -2
  321. package/dist/esm/tools/ReferenceLinesTool.js.map +1 -1
  322. package/dist/esm/tools/ScaleOverlayTool.js +2 -1
  323. package/dist/esm/tools/ScaleOverlayTool.js.map +1 -1
  324. package/dist/esm/tools/annotation/AngleTool.d.ts +0 -1
  325. package/dist/esm/tools/annotation/AngleTool.js +33 -15
  326. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  327. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +15 -1
  328. package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  329. package/dist/esm/tools/annotation/BidirectionalTool.d.ts +0 -1
  330. package/dist/esm/tools/annotation/BidirectionalTool.js +30 -15
  331. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  332. package/dist/esm/tools/annotation/CircleROITool.d.ts +1 -3
  333. package/dist/esm/tools/annotation/CircleROITool.js +62 -60
  334. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  335. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +31 -6
  336. package/dist/esm/tools/annotation/CobbAngleTool.js +301 -83
  337. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  338. package/dist/esm/tools/annotation/DragProbeTool.js +17 -4
  339. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  340. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +2 -4
  341. package/dist/esm/tools/annotation/EllipticalROITool.js +66 -61
  342. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  343. package/dist/esm/tools/annotation/LengthTool.d.ts +0 -1
  344. package/dist/esm/tools/annotation/LengthTool.js +27 -12
  345. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  346. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +1 -3
  347. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +71 -60
  348. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  349. package/dist/esm/tools/annotation/ProbeTool.d.ts +1 -3
  350. package/dist/esm/tools/annotation/ProbeTool.js +28 -22
  351. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  352. package/dist/esm/tools/annotation/RectangleROITool.d.ts +1 -2
  353. package/dist/esm/tools/annotation/RectangleROITool.js +54 -57
  354. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  355. package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -0
  356. package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
  357. package/dist/esm/tools/base/AnnotationTool.d.ts +3 -2
  358. package/dist/esm/tools/base/AnnotationTool.js +26 -16
  359. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  360. package/dist/esm/tools/base/index.d.ts +2 -1
  361. package/dist/esm/tools/base/index.js +2 -1
  362. package/dist/esm/tools/base/index.js.map +1 -1
  363. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -1
  364. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  365. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
  366. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  367. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +4 -1
  368. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -1
  369. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +5 -6
  370. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  371. package/dist/esm/tools/index.d.ts +5 -2
  372. package/dist/esm/tools/index.js +5 -2
  373. package/dist/esm/tools/index.js.map +1 -1
  374. package/dist/esm/tools/segmentation/BrushTool.js +25 -18
  375. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  376. package/dist/esm/tools/segmentation/PaintFillTool.js +4 -2
  377. package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
  378. package/dist/esm/tools/segmentation/strategies/eraseSphere.d.ts +2 -0
  379. package/dist/esm/tools/segmentation/strategies/eraseSphere.js.map +1 -1
  380. package/dist/esm/tools/segmentation/strategies/fillCircle.js +1 -6
  381. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
  382. package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +3 -0
  383. package/dist/esm/tools/segmentation/strategies/fillSphere.js +33 -9
  384. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
  385. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +3 -0
  386. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js +8 -0
  387. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -0
  388. package/dist/esm/types/CINETypes.d.ts +2 -0
  389. package/dist/esm/types/CalculatorTypes.d.ts +6 -0
  390. package/dist/esm/types/CalculatorTypes.js +2 -0
  391. package/dist/esm/types/CalculatorTypes.js.map +1 -0
  392. package/dist/esm/types/EventTypes.d.ts +16 -1
  393. package/dist/esm/types/ISetToolModeOptions.d.ts +2 -2
  394. package/dist/esm/types/IToolGroup.d.ts +6 -2
  395. package/dist/esm/types/ToolAction.d.ts +8 -0
  396. package/dist/esm/types/ToolAction.js +2 -0
  397. package/dist/esm/types/ToolAction.js.map +1 -0
  398. package/dist/esm/types/ToolProps.d.ts +5 -1
  399. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +55 -0
  400. package/dist/esm/types/index.d.ts +4 -2
  401. package/dist/esm/utilities/cine/playClip.js +13 -4
  402. package/dist/esm/utilities/cine/playClip.js.map +1 -1
  403. package/dist/esm/utilities/dynamicVolume/getDataInTime.js +7 -4
  404. package/dist/esm/utilities/dynamicVolume/getDataInTime.js.map +1 -1
  405. package/dist/esm/utilities/getCalibratedUnits.js +10 -5
  406. package/dist/esm/utilities/getCalibratedUnits.js.map +1 -1
  407. package/dist/esm/utilities/getModalityUnit.js +5 -2
  408. package/dist/esm/utilities/getModalityUnit.js.map +1 -1
  409. package/dist/esm/utilities/index.d.ts +2 -2
  410. package/dist/esm/utilities/index.js +2 -2
  411. package/dist/esm/utilities/index.js.map +1 -1
  412. package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +3 -1
  413. package/dist/esm/utilities/math/angle/angleBetweenLines.js +19 -2
  414. package/dist/esm/utilities/math/angle/angleBetweenLines.js.map +1 -1
  415. package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +14 -0
  416. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +36 -0
  417. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js.map +1 -0
  418. package/dist/esm/utilities/math/basic/Calculator.d.ts +8 -0
  419. package/dist/esm/utilities/math/basic/Calculator.js +4 -0
  420. package/dist/esm/utilities/math/basic/Calculator.js.map +1 -0
  421. package/dist/esm/utilities/math/basic/index.d.ts +3 -0
  422. package/dist/esm/utilities/math/basic/index.js +4 -0
  423. package/dist/esm/utilities/math/basic/index.js.map +1 -0
  424. package/dist/esm/utilities/math/index.d.ts +2 -1
  425. package/dist/esm/utilities/math/index.js +2 -1
  426. package/dist/esm/utilities/math/index.js.map +1 -1
  427. package/dist/esm/utilities/math/midPoint.js +2 -1
  428. package/dist/esm/utilities/math/midPoint.js.map +1 -1
  429. package/dist/esm/utilities/math/polyline/pointInPolyline.js +2 -1
  430. package/dist/esm/utilities/math/polyline/pointInPolyline.js.map +1 -1
  431. package/dist/esm/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
  432. package/dist/esm/utilities/math/vec2/liangBarksyClip.js +10 -5
  433. package/dist/esm/utilities/math/vec2/liangBarksyClip.js.map +1 -1
  434. package/dist/esm/utilities/pointInShapeCallback.d.ts +7 -1
  435. package/dist/esm/utilities/pointInShapeCallback.js +6 -1
  436. package/dist/esm/utilities/pointInShapeCallback.js.map +1 -1
  437. package/dist/esm/utilities/roundNumber.js +4 -2
  438. package/dist/esm/utilities/roundNumber.js.map +1 -1
  439. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.d.ts +2 -2
  440. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +4 -4
  441. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js.map +1 -1
  442. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +2 -1
  443. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  444. package/dist/esm/utilities/segmentation/utilities.d.ts +1 -2
  445. package/dist/esm/utilities/segmentation/utilities.js +4 -1
  446. package/dist/esm/utilities/segmentation/utilities.js.map +1 -1
  447. package/dist/esm/utilities/stackPrefetch/index.d.ts +3 -2
  448. package/dist/esm/utilities/stackPrefetch/index.js +3 -2
  449. package/dist/esm/utilities/stackPrefetch/index.js.map +1 -1
  450. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
  451. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +220 -0
  452. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
  453. package/dist/esm/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
  454. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +14 -81
  455. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
  456. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
  457. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +77 -0
  458. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
  459. package/dist/umd/index.js +1 -1
  460. package/dist/umd/index.js.map +1 -1
  461. package/package.json +3 -3
  462. package/src/drawingSvg/drawCircle.ts +17 -5
  463. package/src/drawingSvg/drawEllipse.ts +4 -4
  464. package/src/drawingSvg/drawHandles.ts +4 -4
  465. package/src/drawingSvg/drawLine.ts +4 -4
  466. package/src/drawingSvg/drawPolyline.ts +4 -4
  467. package/src/drawingSvg/drawRect.ts +4 -4
  468. package/src/drawingSvg/drawTextBox.ts +4 -4
  469. package/src/drawingSvg/getSvgDrawingHelper.ts +4 -1
  470. package/src/drawingSvg/index.ts +4 -0
  471. package/src/drawingSvg/{_setAttributesIfNecessary.ts → setAttributesIfNecessary.ts} +2 -2
  472. package/src/drawingSvg/{_setNewAttributesIfValid.ts → setNewAttributesIfValid.ts} +2 -2
  473. package/src/enums/Events.ts +22 -0
  474. package/src/eventDispatchers/mouseEventHandlers/mouseDown.ts +11 -2
  475. package/src/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.ts +72 -0
  476. package/src/eventDispatchers/shared/getMouseModifier.ts +15 -5
  477. package/src/eventDispatchers/shared/getToolsWithActionsForMouseEvent.ts +66 -0
  478. package/src/eventListeners/keyboard/keyDownListener.ts +13 -0
  479. package/src/eventListeners/mouse/mouseDownListener.ts +10 -2
  480. package/src/eventListeners/mouse/mouseMoveListener.ts +7 -1
  481. package/src/eventListeners/touch/touchStartListener.ts +15 -5
  482. package/src/index.ts +8 -0
  483. package/src/stateManagement/annotation/config/ToolStyle.ts +1 -0
  484. package/src/stateManagement/annotation/config/getState.ts +7 -3
  485. package/src/stateManagement/annotation/config/helpers.ts +6 -2
  486. package/src/store/SynchronizerManager/Synchronizer.ts +16 -8
  487. package/src/store/ToolGroupManager/ToolGroup.ts +99 -6
  488. package/src/store/ToolGroupManager/getToolGroupsWithToolName.ts +3 -1
  489. package/src/synchronizers/callbacks/stackImageSyncCallback.ts +63 -68
  490. package/src/synchronizers/callbacks/voiSyncCallback.ts +1 -1
  491. package/src/tools/AdvancedMagnifyTool.ts +725 -0
  492. package/src/tools/AdvancedMagnifyViewport.ts +624 -0
  493. package/src/tools/AdvancedMagnifyViewportManager.ts +291 -0
  494. package/src/tools/MIPJumpToClickTool.ts +6 -2
  495. package/src/tools/MagnifyTool.ts +2 -2
  496. package/src/tools/OrientationMarkerTool.ts +235 -0
  497. package/src/tools/OverlayGridTool.ts +357 -0
  498. package/src/tools/PlanarRotateTool.ts +3 -1
  499. package/src/tools/ReferenceCursors.ts +85 -29
  500. package/src/tools/ReferenceLinesTool.ts +131 -3
  501. package/src/tools/ScaleOverlayTool.ts +3 -1
  502. package/src/tools/annotation/AngleTool.ts +42 -20
  503. package/src/tools/annotation/ArrowAnnotateTool.ts +16 -1
  504. package/src/tools/annotation/BidirectionalTool.ts +38 -24
  505. package/src/tools/annotation/CircleROITool.ts +94 -107
  506. package/src/tools/annotation/CobbAngleTool.ts +452 -114
  507. package/src/tools/annotation/DragProbeTool.ts +25 -14
  508. package/src/tools/annotation/EllipticalROITool.ts +88 -97
  509. package/src/tools/annotation/LengthTool.ts +33 -18
  510. package/src/tools/annotation/PlanarFreehandROITool.ts +90 -78
  511. package/src/tools/annotation/ProbeTool.ts +43 -49
  512. package/src/tools/annotation/RectangleROITool.ts +80 -92
  513. package/src/tools/base/AnnotationDisplayTool.ts +4 -0
  514. package/src/tools/base/AnnotationTool.ts +41 -18
  515. package/src/tools/base/index.ts +2 -1
  516. package/src/tools/displayTools/Contour/contourDisplay.ts +8 -0
  517. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +4 -1
  518. package/src/tools/displayTools/Labelmap/removeLabelmapFromElement.ts +6 -1
  519. package/src/tools/displayTools/SegmentationDisplayTool.ts +12 -18
  520. package/src/tools/index.ts +8 -1
  521. package/src/tools/segmentation/BrushTool.ts +42 -19
  522. package/src/tools/segmentation/PaintFillTool.ts +10 -3
  523. package/src/tools/segmentation/strategies/eraseSphere.ts +2 -0
  524. package/src/tools/segmentation/strategies/fillCircle.ts +1 -13
  525. package/src/tools/segmentation/strategies/fillSphere.ts +56 -8
  526. package/src/tools/segmentation/strategies/utils/isWithinThreshold.ts +16 -0
  527. package/src/types/CINETypes.ts +8 -2
  528. package/src/types/CalculatorTypes.ts +7 -0
  529. package/src/types/EventTypes.ts +43 -0
  530. package/src/types/ISetToolModeOptions.ts +2 -2
  531. package/src/types/IToolGroup.ts +13 -3
  532. package/src/types/ToolAction.ts +54 -0
  533. package/src/types/ToolProps.ts +7 -1
  534. package/src/types/ToolSpecificAnnotationTypes.ts +58 -0
  535. package/src/types/index.ts +11 -1
  536. package/src/utilities/cine/playClip.ts +20 -3
  537. package/src/utilities/dynamicVolume/getDataInTime.ts +9 -6
  538. package/src/utilities/getCalibratedUnits.ts +15 -5
  539. package/src/utilities/getModalityUnit.ts +8 -2
  540. package/src/utilities/index.ts +2 -1
  541. package/src/utilities/math/angle/angleBetweenLines.ts +39 -9
  542. package/src/utilities/math/basic/BasicStatsCalculator.ts +60 -0
  543. package/src/utilities/math/basic/Calculator.ts +8 -0
  544. package/src/utilities/math/basic/index.ts +4 -0
  545. package/src/utilities/math/index.ts +10 -1
  546. package/src/utilities/math/midPoint.ts +3 -1
  547. package/src/utilities/math/polyline/pointInPolyline.ts +3 -1
  548. package/src/utilities/math/vec2/liangBarksyClip.ts +15 -5
  549. package/src/utilities/pointInShapeCallback.ts +15 -3
  550. package/src/utilities/roundNumber.ts +6 -2
  551. package/src/utilities/segmentation/brushSizeForToolGroup.ts +22 -4
  552. package/src/utilities/segmentation/thresholdVolumeByRange.ts +3 -1
  553. package/src/utilities/segmentation/utilities.ts +8 -1
  554. package/src/utilities/stackPrefetch/index.ts +3 -7
  555. package/src/utilities/stackPrefetch/stackContextPrefetch.ts +380 -0
  556. package/src/utilities/stackPrefetch/stackPrefetch.ts +37 -153
  557. package/src/utilities/stackPrefetch/stackPrefetchUtils.ts +114 -0
  558. package/dist/cjs/drawingSvg/_setAttributesIfNecessary.d.ts +0 -2
  559. package/dist/cjs/drawingSvg/_setAttributesIfNecessary.js.map +0 -1
  560. package/dist/cjs/drawingSvg/_setNewAttributesIfValid.d.ts +0 -2
  561. package/dist/cjs/drawingSvg/_setNewAttributesIfValid.js.map +0 -1
  562. package/dist/esm/drawingSvg/_setAttributesIfNecessary.d.ts +0 -2
  563. package/dist/esm/drawingSvg/_setAttributesIfNecessary.js.map +0 -1
  564. package/dist/esm/drawingSvg/_setNewAttributesIfValid.d.ts +0 -2
  565. package/dist/esm/drawingSvg/_setNewAttributesIfValid.js.map +0 -1
@@ -43,14 +43,16 @@ class ReferenceCursors extends AnnotationDisplayTool {
43
43
  };
44
44
  this.createInitialAnnotation = (worldPos, element) => {
45
45
  const enabledElement = getEnabledElement(element);
46
- if (!enabledElement)
46
+ if (!enabledElement) {
47
47
  throw new Error('No enabled element found');
48
+ }
48
49
  const { viewport, renderingEngine } = enabledElement;
49
50
  this.isDrawing = true;
50
51
  const camera = viewport.getCamera();
51
52
  const { viewPlaneNormal, viewUp } = camera;
52
- if (!viewPlaneNormal || !viewUp)
53
+ if (!viewPlaneNormal || !viewUp) {
53
54
  throw new Error('Camera not found');
55
+ }
54
56
  const referencedImageId = this.getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp);
55
57
  const FrameOfReferenceUID = viewport.getFrameOfReferenceUID();
56
58
  const annotation = {
@@ -82,11 +84,13 @@ class ReferenceCursors extends AnnotationDisplayTool {
82
84
  },
83
85
  };
84
86
  const annotations = getAnnotations(this.getToolName(), element);
85
- if (annotations.length > 0)
87
+ if (annotations.length > 0) {
86
88
  return null;
89
+ }
87
90
  const annotationId = addAnnotation(annotation, element);
88
- if (annotationId === null)
91
+ if (annotationId === null) {
89
92
  return;
93
+ }
90
94
  const viewportIdsToRender = getViewportIdsWithToolToRender(element, this.getToolName(), false);
91
95
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
92
96
  };
@@ -95,20 +99,24 @@ class ReferenceCursors extends AnnotationDisplayTool {
95
99
  const { element, previousCamera, camera } = eventDetail;
96
100
  const enabledElement = getEnabledElement(element);
97
101
  const viewport = enabledElement.viewport;
98
- if (element !== this._elementWithCursor)
102
+ if (element !== this._elementWithCursor) {
99
103
  return;
104
+ }
100
105
  const oldFocalPoint = previousCamera.focalPoint;
101
106
  const cameraNormal = camera.viewPlaneNormal;
102
107
  const newFocalPoint = camera.focalPoint;
103
108
  const deltaCameraFocalPoint = [0, 0, 0];
104
109
  vtkMath.subtract(newFocalPoint, oldFocalPoint, deltaCameraFocalPoint);
105
- if (deltaCameraFocalPoint.reduce((a, b) => a + b, 0) === 0)
110
+ if (deltaCameraFocalPoint.reduce((a, b) => a + b, 0) === 0) {
106
111
  return;
112
+ }
107
113
  const dotProduct = vtkMath.dot(deltaCameraFocalPoint, cameraNormal);
108
- if (Math.abs(dotProduct) < 1e-2)
114
+ if (Math.abs(dotProduct) < 1e-2) {
109
115
  return;
110
- if (!this._currentCanvasPosition)
116
+ }
117
+ if (!this._currentCanvasPosition) {
111
118
  return;
119
+ }
112
120
  const newWorldPos = viewport.canvasToWorld(this._currentCanvasPosition);
113
121
  this._currentCursorWorldPosition = newWorldPos;
114
122
  this.updateAnnotationPosition(element, this.getActiveAnnotation(element));
@@ -139,8 +147,9 @@ class ReferenceCursors extends AnnotationDisplayTool {
139
147
  const { annotationUID, data } = annotation;
140
148
  const { handles } = data;
141
149
  const { points } = handles;
142
- if (!annotationUID)
150
+ if (!annotationUID) {
143
151
  return renderStatus;
152
+ }
144
153
  styleSpecifier.annotationUID = annotationUID;
145
154
  const lineWidthBase = parseFloat(this.getStyle('lineWidth', styleSpecifier, annotation));
146
155
  const lineWidth = typeof lineWidthBase === 'number' && isElementWithCursor
@@ -148,8 +157,9 @@ class ReferenceCursors extends AnnotationDisplayTool {
148
157
  : lineWidthBase;
149
158
  const lineDash = this.getStyle('lineDash', styleSpecifier, annotation);
150
159
  const color = this.getStyle('color', styleSpecifier, annotation);
151
- if (points[0].some((e) => isNaN(e)))
160
+ if (points[0].some((e) => isNaN(e))) {
152
161
  return renderStatus;
162
+ }
153
163
  const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
154
164
  if (!viewport.getRenderingEngine()) {
155
165
  console.warn('Rendering Engine has been destroyed');
@@ -179,27 +189,33 @@ class ReferenceCursors extends AnnotationDisplayTool {
179
189
  }
180
190
  onSetToolActive() {
181
191
  this._disableCursorEnabled = this.configuration.disableCursor;
182
- if (!this._disableCursorEnabled)
192
+ if (!this._disableCursorEnabled) {
183
193
  return;
194
+ }
184
195
  const viewportIds = getToolGroup(this.toolGroupId).viewportsInfo;
185
- if (!viewportIds)
196
+ if (!viewportIds) {
186
197
  return;
198
+ }
187
199
  const enabledElements = viewportIds.map((e) => getEnabledElementByIds(e.viewportId, e.renderingEngineId));
188
200
  enabledElements.forEach((element) => {
189
- if (element)
201
+ if (element) {
190
202
  hideElementCursor(element.viewport.element);
203
+ }
191
204
  });
192
205
  }
193
206
  onSetToolDisabled() {
194
- if (!this._disableCursorEnabled)
207
+ if (!this._disableCursorEnabled) {
195
208
  return;
209
+ }
196
210
  const viewportIds = getToolGroup(this.toolGroupId).viewportsInfo;
197
- if (!viewportIds)
211
+ if (!viewportIds) {
198
212
  return;
213
+ }
199
214
  const enabledElements = viewportIds.map((e) => getEnabledElementByIds(e.viewportId, e.renderingEngineId));
200
215
  enabledElements.forEach((element) => {
201
- if (element)
216
+ if (element) {
202
217
  resetElementCursor(element.viewport.element);
218
+ }
203
219
  });
204
220
  }
205
221
  getActiveAnnotation(element) {
@@ -212,33 +228,40 @@ class ReferenceCursors extends AnnotationDisplayTool {
212
228
  }
213
229
  updateAnnotationPosition(element, annotation) {
214
230
  const worldPos = this._currentCursorWorldPosition;
215
- if (!worldPos)
231
+ if (!worldPos) {
216
232
  return;
217
- if (!annotation.data?.handles?.points)
233
+ }
234
+ if (!annotation.data?.handles?.points) {
218
235
  return;
236
+ }
219
237
  annotation.data.handles.points = [[...worldPos]];
220
238
  annotation.invalidated = true;
221
239
  const viewportIdsToRender = getViewportIdsWithToolToRender(element, this.getToolName(), false);
222
240
  const enabledElement = getEnabledElement(element);
223
- if (!enabledElement)
241
+ if (!enabledElement) {
224
242
  return;
243
+ }
225
244
  const { renderingEngine } = enabledElement;
226
245
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
227
246
  }
228
247
  filterInteractableAnnotationsForElement(element, annotations) {
229
- if (!(annotations instanceof Array) || annotations.length === 0)
248
+ if (!(annotations instanceof Array) || annotations.length === 0) {
230
249
  return [];
250
+ }
231
251
  const annotation = annotations[0];
232
252
  const viewport = getEnabledElement(element)?.viewport;
233
- if (!viewport)
253
+ if (!viewport) {
234
254
  return [];
255
+ }
235
256
  const camera = viewport.getCamera();
236
257
  const { viewPlaneNormal, focalPoint } = camera;
237
- if (!viewPlaneNormal || !focalPoint)
258
+ if (!viewPlaneNormal || !focalPoint) {
238
259
  return [];
260
+ }
239
261
  const points = annotation.data?.handles?.points;
240
- if (!(points instanceof Array) || points.length !== 1)
262
+ if (!(points instanceof Array) || points.length !== 1) {
241
263
  return [];
264
+ }
242
265
  const worldPos = points[0];
243
266
  const plane = utilities.planar.planeEquation(viewPlaneNormal, focalPoint);
244
267
  const distance = utilities.planar.planeDistanceToPoint(plane, worldPos);
@@ -246,23 +269,28 @@ class ReferenceCursors extends AnnotationDisplayTool {
246
269
  }
247
270
  updateViewportImage(viewport) {
248
271
  const currentMousePosition = this._currentCursorWorldPosition;
249
- if (!currentMousePosition || currentMousePosition.some((e) => isNaN(e)))
272
+ if (!currentMousePosition || currentMousePosition.some((e) => isNaN(e))) {
250
273
  return;
274
+ }
251
275
  if (viewport instanceof StackViewport) {
252
276
  const closestIndex = utilities.getClosestStackImageIndexForPoint(currentMousePosition, viewport);
253
- if (closestIndex === null)
277
+ if (closestIndex === null) {
254
278
  return;
255
- if (closestIndex !== viewport.getCurrentImageIdIndex())
279
+ }
280
+ if (closestIndex !== viewport.getCurrentImageIdIndex()) {
256
281
  viewport.setImageIdIndex(closestIndex);
282
+ }
257
283
  }
258
284
  else if (viewport instanceof VolumeViewport) {
259
285
  const { focalPoint, viewPlaneNormal } = viewport.getCamera();
260
- if (!focalPoint || !viewPlaneNormal)
286
+ if (!focalPoint || !viewPlaneNormal) {
261
287
  return;
288
+ }
262
289
  const plane = utilities.planar.planeEquation(viewPlaneNormal, focalPoint);
263
290
  const currentDistance = utilities.planar.planeDistanceToPoint(plane, currentMousePosition, true);
264
- if (Math.abs(currentDistance) < 0.5)
291
+ if (Math.abs(currentDistance) < 0.5) {
265
292
  return;
293
+ }
266
294
  const normalizedViewPlane = vec3.normalize(vec3.create(), vec3.fromValues(...viewPlaneNormal));
267
295
  const scaledPlaneNormal = vec3.scale(vec3.create(), normalizedViewPlane, currentDistance);
268
296
  const newFocalPoint = vec3.add(vec3.create(), vec3.fromValues(...focalPoint), scaledPlaneNormal);
@@ -270,8 +298,9 @@ class ReferenceCursors extends AnnotationDisplayTool {
270
298
  if (isInBounds) {
271
299
  viewport.setCamera({ focalPoint: newFocalPoint });
272
300
  const renderingEngine = viewport.getRenderingEngine();
273
- if (renderingEngine)
301
+ if (renderingEngine) {
274
302
  renderingEngine.renderViewport(viewport.id);
303
+ }
275
304
  }
276
305
  }
277
306
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceCursors.js","sourceRoot":"","sources":["../../../src/tools/ReferenceCursors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReferenceCursors.js","sourceRoot":"","sources":["../../../src/tools/ReferenceCursors.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ declare class ReferenceLines extends AnnotationDisplayTool {
20
20
  onCameraModified: (evt: Types.EventTypes.CameraModifiedEvent) => void;
21
21
  renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper) => boolean;
22
22
  isPerpendicular: (vec1: Types.Point3, vec2: Types.Point3) => boolean;
23
+ private handleFullDimension;
24
+ intersectInfiniteLines(line1Start: Types.Point2, line1End: Types.Point2, line2Start: Types.Point2, line2End: Types.Point2): number[];
23
25
  isParallel(vec1: Types.Point3, vec2: Types.Point3): boolean;
26
+ isInBound(point: number[], dimensions: Types.Point3): boolean;
24
27
  }
25
28
  export default ReferenceLines;
@@ -11,6 +11,7 @@ class ReferenceLines extends AnnotationDisplayTool {
11
11
  supportedInteractionTypes: ['Mouse', 'Touch'],
12
12
  configuration: {
13
13
  sourceViewportId: '',
14
+ showFullDimension: false,
14
15
  },
15
16
  }) {
16
17
  super(toolProps, defaultToolProps);
@@ -93,7 +94,7 @@ class ReferenceLines extends AnnotationDisplayTool {
93
94
  const topRight = annotation.data.handles.points[1];
94
95
  const bottomLeft = annotation.data.handles.points[2];
95
96
  const bottomRight = annotation.data.handles.points[3];
96
- const { focalPoint, viewPlaneNormal } = targetViewport.getCamera();
97
+ const { focalPoint, viewPlaneNormal, viewUp } = targetViewport.getCamera();
97
98
  const { viewPlaneNormal: sourceViewPlaneNormal } = sourceViewport.getCamera();
98
99
  if (this.isParallel(viewPlaneNormal, sourceViewPlaneNormal)) {
99
100
  return renderStatus;
@@ -121,7 +122,10 @@ class ReferenceLines extends AnnotationDisplayTool {
121
122
  const lineDash = this.getStyle('lineDash', styleSpecifier, annotation);
122
123
  const color = this.getStyle('color', styleSpecifier, annotation);
123
124
  const shadow = this.getStyle('shadow', styleSpecifier, annotation);
124
- const canvasCoordinates = [lineStartWorld, lineEndWorld].map((world) => targetViewport.worldToCanvas(world));
125
+ let canvasCoordinates = [lineStartWorld, lineEndWorld].map((world) => targetViewport.worldToCanvas(world));
126
+ if (this.configuration.showFullDimension) {
127
+ canvasCoordinates = this.handleFullDimension(targetViewport, lineStartWorld, viewPlaneNormal, viewUp, lineEndWorld, canvasCoordinates);
128
+ }
125
129
  const dataId = `${annotationUID}-line`;
126
130
  const lineUID = '1';
127
131
  drawLineSvg(svgDrawingHelper, annotationUID, lineUID, canvasCoordinates[0], canvasCoordinates[1], {
@@ -138,9 +142,74 @@ class ReferenceLines extends AnnotationDisplayTool {
138
142
  return Math.abs(dot) < EPSILON;
139
143
  };
140
144
  }
145
+ handleFullDimension(targetViewport, lineStartWorld, viewPlaneNormal, viewUp, lineEndWorld, canvasCoordinates) {
146
+ const renderingEngine = targetViewport.getRenderingEngine();
147
+ const targetId = this.getTargetId(targetViewport);
148
+ const targetImage = this.getTargetIdImage(targetId, renderingEngine);
149
+ const referencedImageId = this.getReferencedImageId(targetViewport, lineStartWorld, viewPlaneNormal, viewUp);
150
+ if (referencedImageId && targetImage) {
151
+ try {
152
+ const { imageData, dimensions } = targetImage;
153
+ const [topLeftImageCoord, topRightImageCoord, bottomRightImageCoord, bottomLeftImageCoord,] = [
154
+ imageData.indexToWorld([0, 0, 0]),
155
+ imageData.indexToWorld([dimensions[0] - 1, 0, 0]),
156
+ imageData.indexToWorld([
157
+ dimensions[0] - 1,
158
+ dimensions[1] - 1,
159
+ 0,
160
+ ]),
161
+ imageData.indexToWorld([0, dimensions[1] - 1, 0]),
162
+ ].map((world) => csUtils.worldToImageCoords(referencedImageId, world));
163
+ const [lineStartImageCoord, lineEndImageCoord] = [
164
+ lineStartWorld,
165
+ lineEndWorld,
166
+ ].map((world) => csUtils.worldToImageCoords(referencedImageId, world));
167
+ canvasCoordinates = [
168
+ [topLeftImageCoord, topRightImageCoord],
169
+ [topRightImageCoord, bottomRightImageCoord],
170
+ [bottomLeftImageCoord, bottomRightImageCoord],
171
+ [topLeftImageCoord, bottomLeftImageCoord],
172
+ ]
173
+ .map(([start, end]) => this.intersectInfiniteLines(start, end, lineStartImageCoord, lineEndImageCoord))
174
+ .filter((point) => point && this.isInBound(point, dimensions))
175
+ .map((point) => {
176
+ const world = csUtils.imageToWorldCoords(referencedImageId, point);
177
+ return targetViewport.worldToCanvas(world);
178
+ });
179
+ }
180
+ catch (err) {
181
+ console.log(err);
182
+ }
183
+ }
184
+ return canvasCoordinates;
185
+ }
186
+ intersectInfiniteLines(line1Start, line1End, line2Start, line2End) {
187
+ const [x1, y1] = line1Start;
188
+ const [x2, y2] = line1End;
189
+ const [x3, y3] = line2Start;
190
+ const [x4, y4] = line2End;
191
+ const a1 = y2 - y1;
192
+ const b1 = x1 - x2;
193
+ const c1 = x2 * y1 - x1 * y2;
194
+ const a2 = y4 - y3;
195
+ const b2 = x3 - x4;
196
+ const c2 = x4 * y3 - x3 * y4;
197
+ if (Math.abs(a1 * b2 - a2 * b1) < EPSILON) {
198
+ return;
199
+ }
200
+ const x = (b1 * c2 - b2 * c1) / (a1 * b2 - a2 * b1);
201
+ const y = (a2 * c1 - a1 * c2) / (a1 * b2 - a2 * b1);
202
+ return [x, y];
203
+ }
141
204
  isParallel(vec1, vec2) {
142
205
  return Math.abs(vec3.dot(vec1, vec2)) > 1 - EPSILON;
143
206
  }
207
+ isInBound(point, dimensions) {
208
+ return (point[0] >= 0 &&
209
+ point[0] <= dimensions[0] &&
210
+ point[1] >= 0 &&
211
+ point[1] <= dimensions[1]);
212
+ }
144
213
  }
145
214
  ReferenceLines.toolName = 'ReferenceLines';
146
215
  export default ReferenceLines;
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceLinesTool.js","sourceRoot":"","sources":["../../../src/tools/ReferenceLinesTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReferenceLinesTool.js","sourceRoot":"","sources":["../../../src/tools/ReferenceLinesTool.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,9 @@ class ScaleOverlayTool extends AnnotationDisplayTool {
22
22
  return;
23
23
  }
24
24
  const viewportIds = getToolGroup(this.toolGroupId).viewportsInfo;
25
- if (!viewportIds)
25
+ if (!viewportIds) {
26
26
  return;
27
+ }
27
28
  const enabledElements = viewportIds.map((e) => getEnabledElementByIds(e.viewportId, e.renderingEngineId));
28
29
  let { viewport } = enabledElements[0];
29
30
  const { FrameOfReferenceUID } = enabledElements[0];
@@ -1 +1 @@
1
- {"version":3,"file":"ScaleOverlayTool.js","sourceRoot":"","sources":["../../../src/tools/ScaleOverlayTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScaleOverlayTool.js","sourceRoot":"","sources":["../../../src/tools/ScaleOverlayTool.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,6 @@ declare class AngleTool extends AnnotationTool {
31
31
  _activateDraw: (element: HTMLDivElement) => void;
32
32
  _deactivateDraw: (element: HTMLDivElement) => void;
33
33
  renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper) => boolean;
34
- _getTextLines(data: any, targetId: any): string[];
35
34
  _calculateCachedStats(annotation: any, renderingEngine: any, enabledElement: any): any;
36
35
  }
37
36
  export default AngleTool;
@@ -18,6 +18,7 @@ class AngleTool extends AnnotationTool {
18
18
  configuration: {
19
19
  shadow: true,
20
20
  preventHandleOutsideImage: false,
21
+ getTextLines: defaultGetTextLines,
21
22
  },
22
23
  }) {
23
24
  super(toolProps, defaultToolProps);
@@ -99,10 +100,12 @@ class AngleTool extends AnnotationTool {
99
100
  },
100
101
  };
101
102
  const distanceToPoint = lineSegment.distanceToPoint([line1.start.x, line1.start.y], [line1.end.x, line1.end.y], [canvasCoords[0], canvasCoords[1]]);
102
- if (distanceToPoint <= proximity)
103
+ if (distanceToPoint <= proximity) {
103
104
  return true;
104
- if (!point3)
105
+ }
106
+ if (!point3) {
105
107
  return false;
108
+ }
106
109
  const canvasPoint3 = viewport.worldToCanvas(point3);
107
110
  const line2 = {
108
111
  start: {
@@ -300,7 +303,8 @@ class AngleTool extends AnnotationTool {
300
303
  const lineDash = this.getStyle('lineDash', styleSpecifier, annotation);
301
304
  const color = this.getStyle('color', styleSpecifier, annotation);
302
305
  const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
303
- if (!data.cachedStats[targetId]) {
306
+ if (!data.cachedStats[targetId] ||
307
+ data.cachedStats[targetId].angle == null) {
304
308
  data.cachedStats[targetId] = {
305
309
  angle: null,
306
310
  };
@@ -346,7 +350,21 @@ class AngleTool extends AnnotationTool {
346
350
  if (!data.cachedStats[targetId]?.angle) {
347
351
  continue;
348
352
  }
349
- const textLines = this._getTextLines(data, targetId);
353
+ const options = this.getLinkedTextBoxStyle(styleSpecifier, annotation);
354
+ if (!options.visibility) {
355
+ data.handles.textBox = {
356
+ hasMoved: false,
357
+ worldPosition: [0, 0, 0],
358
+ worldBoundingBox: {
359
+ topLeft: [0, 0, 0],
360
+ topRight: [0, 0, 0],
361
+ bottomLeft: [0, 0, 0],
362
+ bottomRight: [0, 0, 0],
363
+ },
364
+ };
365
+ continue;
366
+ }
367
+ const textLines = this.configuration.getTextLines(data, targetId);
350
368
  if (!data.handles.textBox.hasMoved) {
351
369
  const canvasTextBoxCoords = canvasCoordinates[1];
352
370
  data.handles.textBox.worldPosition =
@@ -354,7 +372,7 @@ class AngleTool extends AnnotationTool {
354
372
  }
355
373
  const textBoxPosition = viewport.worldToCanvas(data.handles.textBox.worldPosition);
356
374
  const textBoxUID = '1';
357
- const boundingBox = drawLinkedTextBoxSvg(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, this.getLinkedTextBoxStyle(styleSpecifier, annotation));
375
+ const boundingBox = drawLinkedTextBoxSvg(svgDrawingHelper, annotationUID, textBoxUID, textLines, textBoxPosition, canvasCoordinates, {}, options);
358
376
  const { x: left, y: top, width, height } = boundingBox;
359
377
  data.handles.textBox.worldBoundingBox = {
360
378
  topLeft: viewport.canvasToWorld([left, top]),
@@ -394,15 +412,6 @@ class AngleTool extends AnnotationTool {
394
412
  triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
395
413
  evt.preventDefault();
396
414
  }
397
- _getTextLines(data, targetId) {
398
- const cachedVolumeStats = data.cachedStats[targetId];
399
- const { angle } = cachedVolumeStats;
400
- if (angle === undefined) {
401
- return;
402
- }
403
- const textLines = [`${roundNumber(angle)} ${String.fromCharCode(176)}`];
404
- return textLines;
405
- }
406
415
  _calculateCachedStats(annotation, renderingEngine, enabledElement) {
407
416
  const data = annotation.data;
408
417
  const { viewportId, renderingEngineId } = enabledElement;
@@ -418,7 +427,7 @@ class AngleTool extends AnnotationTool {
418
427
  const targetId = targetIds[i];
419
428
  const angle = angleBetweenLines([worldPos1, worldPos2], [worldPos2, worldPos3]);
420
429
  cachedStats[targetId] = {
421
- angle,
430
+ angle: isNaN(angle) ? 'Incomplete Angle' : angle,
422
431
  };
423
432
  }
424
433
  annotation.invalidated = false;
@@ -432,6 +441,15 @@ class AngleTool extends AnnotationTool {
432
441
  return cachedStats;
433
442
  }
434
443
  }
444
+ function defaultGetTextLines(data, targetId) {
445
+ const cachedVolumeStats = data.cachedStats[targetId];
446
+ const { angle } = cachedVolumeStats;
447
+ if (angle === undefined) {
448
+ return;
449
+ }
450
+ const textLines = [`${roundNumber(angle)} ${String.fromCharCode(176)}`];
451
+ return textLines;
452
+ }
435
453
  AngleTool.toolName = 'Angle';
436
454
  export default AngleTool;
437
455
  //# sourceMappingURL=AngleTool.js.map