@cornerstonejs/tools 0.1.4 → 0.4.2

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 (507) hide show
  1. package/dist/cjs/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.d.ts +0 -0
  2. package/dist/cjs/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.js +0 -0
  3. package/dist/{esm/stateManagement/segmentation/helpers → cjs/constants}/COLOR_LUT.js.map +1 -1
  4. package/dist/cjs/constants/index.d.ts +2 -0
  5. package/dist/cjs/constants/index.js +9 -0
  6. package/dist/cjs/constants/index.js.map +1 -0
  7. package/dist/cjs/cursors/SVGCursorDescriptor.js +5 -5
  8. package/dist/cjs/enums/Events.d.ts +3 -2
  9. package/dist/cjs/enums/Events.js +3 -2
  10. package/dist/cjs/enums/Events.js.map +1 -1
  11. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
  12. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
  13. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js +1 -1
  14. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
  15. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseMove.js +9 -0
  16. package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseMove.js.map +1 -1
  17. package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js +1 -1
  18. package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
  19. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +1 -1
  20. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
  21. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +1 -1
  22. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  23. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +1 -1
  24. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
  25. package/dist/cjs/eventListeners/index.d.ts +2 -2
  26. package/dist/cjs/eventListeners/index.js +4 -2
  27. package/dist/cjs/eventListeners/index.js.map +1 -1
  28. package/dist/cjs/eventListeners/segmentation/index.d.ts +4 -2
  29. package/dist/cjs/eventListeners/segmentation/index.js +7 -3
  30. package/dist/cjs/eventListeners/segmentation/index.js.map +1 -1
  31. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +16 -15
  32. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  33. package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +3 -0
  34. package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.js +18 -0
  35. package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.js.map +1 -0
  36. package/dist/cjs/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +3 -0
  37. package/dist/cjs/eventListeners/segmentation/{segmentationStateModifiedEventListener.js → segmentationRepresentationModifiedEventListener.js} +3 -3
  38. package/dist/cjs/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js.map +1 -0
  39. package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +3 -0
  40. package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +12 -0
  41. package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js.map +1 -0
  42. package/dist/cjs/index.d.ts +3 -2
  43. package/dist/cjs/index.js +8 -5
  44. package/dist/cjs/index.js.map +1 -1
  45. package/dist/cjs/init.js +14 -18
  46. package/dist/cjs/init.js.map +1 -1
  47. package/dist/cjs/stateManagement/index.d.ts +2 -2
  48. package/dist/cjs/stateManagement/index.js +2 -2
  49. package/dist/cjs/stateManagement/index.js.map +1 -1
  50. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +15 -18
  51. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +87 -120
  52. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  53. package/dist/cjs/stateManagement/segmentation/activeSegmentation.d.ts +4 -7
  54. package/dist/cjs/stateManagement/segmentation/activeSegmentation.js +15 -15
  55. package/dist/cjs/stateManagement/segmentation/activeSegmentation.js.map +1 -1
  56. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.d.ts +3 -0
  57. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.js +41 -0
  58. package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -0
  59. package/dist/cjs/stateManagement/segmentation/addSegmentations.d.ts +3 -0
  60. package/dist/cjs/stateManagement/segmentation/addSegmentations.js +17 -0
  61. package/dist/cjs/stateManagement/segmentation/addSegmentations.js.map +1 -0
  62. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js +5 -5
  63. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
  64. package/dist/cjs/stateManagement/segmentation/helpers/index.d.ts +2 -4
  65. package/dist/cjs/stateManagement/segmentation/helpers/index.js +3 -7
  66. package/dist/cjs/stateManagement/segmentation/helpers/index.js.map +1 -1
  67. package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +3 -0
  68. package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +18 -0
  69. package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -0
  70. package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +3 -0
  71. package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js +45 -0
  72. package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -0
  73. package/dist/cjs/stateManagement/segmentation/index.d.ts +3 -2
  74. package/dist/cjs/stateManagement/segmentation/index.js +5 -3
  75. package/dist/cjs/stateManagement/segmentation/index.js.map +1 -1
  76. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
  77. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +21 -16
  78. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
  79. package/dist/cjs/stateManagement/segmentation/segmentIndex.d.ts +2 -2
  80. package/dist/cjs/stateManagement/segmentation/segmentIndex.js +22 -22
  81. package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
  82. package/dist/cjs/stateManagement/segmentation/segmentLocking.d.ts +3 -3
  83. package/dist/cjs/stateManagement/segmentation/segmentLocking.js +26 -26
  84. package/dist/cjs/stateManagement/segmentation/segmentLocking.js.map +1 -1
  85. package/dist/cjs/stateManagement/segmentation/segmentationColor.d.ts +3 -3
  86. package/dist/cjs/stateManagement/segmentation/segmentationColor.js +5 -5
  87. package/dist/cjs/stateManagement/segmentation/segmentationColor.js.map +1 -1
  88. package/dist/cjs/stateManagement/segmentation/segmentationConfig.d.ts +8 -12
  89. package/dist/cjs/stateManagement/segmentation/segmentationConfig.js +16 -42
  90. package/dist/cjs/stateManagement/segmentation/segmentationConfig.js.map +1 -1
  91. package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +16 -19
  92. package/dist/cjs/stateManagement/segmentation/segmentationState.js +80 -97
  93. package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
  94. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
  95. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js +12 -10
  96. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
  97. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -4
  98. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js +37 -21
  99. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
  100. package/dist/cjs/store/SynchronizerManager/destroySynchronizer.d.ts +2 -0
  101. package/dist/cjs/store/SynchronizerManager/{destroySynchronizerById.js → destroySynchronizer.js} +3 -3
  102. package/dist/cjs/store/SynchronizerManager/destroySynchronizer.js.map +1 -0
  103. package/dist/cjs/store/SynchronizerManager/getSynchronizer.d.ts +3 -0
  104. package/dist/cjs/store/SynchronizerManager/{getSynchronizerById.js → getSynchronizer.js} +3 -3
  105. package/dist/cjs/store/SynchronizerManager/getSynchronizer.js.map +1 -0
  106. package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.d.ts +3 -0
  107. package/dist/cjs/store/SynchronizerManager/{getSynchronizers.js → getSynchronizersForViewport.js} +3 -3
  108. package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -0
  109. package/dist/cjs/store/SynchronizerManager/index.d.ts +4 -4
  110. package/dist/cjs/store/SynchronizerManager/index.js +7 -7
  111. package/dist/cjs/store/SynchronizerManager/index.js.map +1 -1
  112. package/dist/cjs/store/ToolGroupManager/destroy.js +2 -2
  113. package/dist/cjs/store/ToolGroupManager/destroy.js.map +1 -1
  114. package/dist/cjs/store/ToolGroupManager/destroyToolGroup.d.ts +2 -0
  115. package/dist/cjs/store/ToolGroupManager/{destroyToolGroupByToolGroupId.js → destroyToolGroup.js} +3 -3
  116. package/dist/cjs/store/ToolGroupManager/destroyToolGroup.js.map +1 -0
  117. package/dist/cjs/store/ToolGroupManager/getToolGroup.d.ts +1 -1
  118. package/dist/cjs/store/ToolGroupManager/getToolGroup.js +2 -11
  119. package/dist/cjs/store/ToolGroupManager/getToolGroup.js.map +1 -1
  120. package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.d.ts +3 -0
  121. package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.js +17 -0
  122. package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.js.map +1 -0
  123. package/dist/cjs/store/ToolGroupManager/index.d.ts +3 -3
  124. package/dist/cjs/store/ToolGroupManager/index.js +5 -5
  125. package/dist/cjs/store/ToolGroupManager/index.js.map +1 -1
  126. package/dist/cjs/store/removeEnabledElement.js +4 -4
  127. package/dist/cjs/store/removeEnabledElement.js.map +1 -1
  128. package/dist/{esm/tools/annotation/EllipticalRoiTool.d.ts → cjs/tools/annotation/EllipticalROITool.d.ts} +6 -6
  129. package/dist/cjs/tools/annotation/{EllipticalRoiTool.js → EllipticalROITool.js} +14 -14
  130. package/dist/cjs/tools/annotation/{EllipticalRoiTool.js.map → EllipticalROITool.js.map} +1 -1
  131. package/dist/{esm/tools/annotation/RectangleRoiTool.d.ts → cjs/tools/annotation/RectangleROITool.d.ts} +8 -8
  132. package/dist/cjs/tools/annotation/{RectangleRoiTool.js → RectangleROITool.js} +14 -14
  133. package/dist/cjs/tools/annotation/{RectangleRoiTool.js.map → RectangleROITool.js.map} +1 -1
  134. package/dist/cjs/tools/base/AnnotationTool.d.ts +1 -1
  135. package/dist/cjs/tools/base/AnnotationTool.js +3 -0
  136. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  137. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -0
  138. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +29 -0
  139. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -0
  140. package/dist/cjs/tools/displayTools/Labelmap/index.d.ts +3 -3
  141. package/dist/cjs/tools/displayTools/Labelmap/index.js +5 -5
  142. package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.d.ts +5 -0
  143. package/dist/cjs/tools/displayTools/Labelmap/{LabelmapConfig.js → labelmapConfig.js} +1 -1
  144. package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -0
  145. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.d.ts +11 -0
  146. package/dist/cjs/tools/displayTools/Labelmap/{LabelmapDisplay.js → labelmapDisplay.js} +68 -59
  147. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -0
  148. package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +2 -0
  149. package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js +12 -0
  150. package/dist/cjs/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -0
  151. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.d.ts +3 -0
  152. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js +18 -0
  153. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -0
  154. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
  155. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +20 -19
  156. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  157. package/dist/cjs/tools/index.d.ts +6 -5
  158. package/dist/cjs/tools/index.js +11 -9
  159. package/dist/cjs/tools/index.js.map +1 -1
  160. package/dist/cjs/tools/segmentation/BrushTool.d.ts +17 -0
  161. package/dist/cjs/tools/segmentation/BrushTool.js +285 -0
  162. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -0
  163. package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +2 -2
  164. package/dist/cjs/tools/segmentation/CircleScissorsTool.js +13 -10
  165. package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
  166. package/dist/cjs/tools/segmentation/{RectangleRoiStartEndThresholdTool.d.ts → RectangleROIStartEndThresholdTool.d.ts} +4 -4
  167. package/dist/cjs/tools/segmentation/{RectangleRoiStartEndThresholdTool.js → RectangleROIStartEndThresholdTool.js} +12 -12
  168. package/dist/cjs/tools/segmentation/{RectangleRoiStartEndThresholdTool.js.map → RectangleROIStartEndThresholdTool.js.map} +1 -1
  169. package/dist/cjs/tools/segmentation/{RectangleRoiThresholdTool.d.ts → RectangleROIThresholdTool.d.ts} +4 -4
  170. package/dist/cjs/tools/segmentation/{RectangleRoiThresholdTool.js → RectangleROIThresholdTool.js} +13 -13
  171. package/dist/cjs/tools/segmentation/{RectangleRoiThresholdTool.js.map → RectangleROIThresholdTool.js.map} +1 -1
  172. package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +2 -2
  173. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +16 -13
  174. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  175. package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +2 -2
  176. package/dist/cjs/tools/segmentation/SphereScissorsTool.js +13 -10
  177. package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
  178. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +1 -2
  179. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +2 -2
  180. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  181. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +1 -2
  182. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +6 -3
  183. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
  184. package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +1 -2
  185. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +2 -2
  186. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  187. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +1 -2
  188. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +2 -2
  189. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
  190. package/dist/cjs/types/EventTypes.d.ts +14 -8
  191. package/dist/cjs/types/LabelmapTypes.d.ts +19 -0
  192. package/dist/cjs/types/{SegmentationRepresentationTypes.js → LabelmapTypes.js} +1 -1
  193. package/dist/cjs/types/LabelmapTypes.js.map +1 -0
  194. package/dist/cjs/types/SegmentationStateTypes.d.ts +41 -32
  195. package/dist/cjs/types/index.d.ts +2 -3
  196. package/dist/cjs/utilities/getAnnotationNearPoint.js +1 -1
  197. package/dist/cjs/utilities/getAnnotationNearPoint.js.map +1 -1
  198. package/dist/cjs/utilities/getToolsWithModesForElement.js +1 -1
  199. package/dist/cjs/utilities/getToolsWithModesForElement.js.map +1 -1
  200. package/dist/cjs/utilities/segmentation/getBoundingBoxUtils.js +3 -3
  201. package/dist/cjs/utilities/segmentation/getBoundingBoxUtils.js.map +1 -1
  202. package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.d.ts +2 -1
  203. package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.js +4 -3
  204. package/dist/cjs/utilities/segmentation/getDefaultRepresentationConfig.js.map +1 -1
  205. package/dist/cjs/utilities/segmentation/index.d.ts +1 -2
  206. package/dist/cjs/utilities/segmentation/index.js +1 -3
  207. package/dist/cjs/utilities/segmentation/index.js.map +1 -1
  208. package/dist/cjs/utilities/segmentation/isValidRepresentationConfig.js +2 -2
  209. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +2 -2
  210. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +10 -9
  211. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  212. package/dist/cjs/utilities/triggerSegmentationRender.js +2 -2
  213. package/dist/cjs/utilities/triggerSegmentationRender.js.map +1 -1
  214. package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
  215. package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
  216. package/dist/esm/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.d.ts +0 -0
  217. package/dist/esm/{stateManagement/segmentation/helpers → constants}/COLOR_LUT.js +0 -0
  218. package/dist/esm/constants/COLOR_LUT.js.map +1 -0
  219. package/dist/esm/constants/index.d.ts +2 -0
  220. package/dist/esm/constants/index.js +3 -0
  221. package/dist/esm/constants/index.js.map +1 -0
  222. package/dist/esm/cursors/SVGCursorDescriptor.js +5 -5
  223. package/dist/esm/enums/Events.d.ts +3 -2
  224. package/dist/esm/enums/Events.js +3 -2
  225. package/dist/esm/enums/Events.js.map +1 -1
  226. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
  227. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
  228. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +1 -1
  229. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
  230. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +9 -0
  231. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js.map +1 -1
  232. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +1 -1
  233. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
  234. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +1 -1
  235. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
  236. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +1 -1
  237. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  238. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +1 -1
  239. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
  240. package/dist/esm/eventListeners/index.d.ts +2 -2
  241. package/dist/esm/eventListeners/index.js +2 -2
  242. package/dist/esm/eventListeners/index.js.map +1 -1
  243. package/dist/esm/eventListeners/segmentation/index.d.ts +4 -2
  244. package/dist/esm/eventListeners/segmentation/index.js +4 -2
  245. package/dist/esm/eventListeners/segmentation/index.js.map +1 -1
  246. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +16 -15
  247. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  248. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +3 -0
  249. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +16 -0
  250. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js.map +1 -0
  251. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +3 -0
  252. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +7 -0
  253. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js.map +1 -0
  254. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +3 -0
  255. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +7 -0
  256. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js.map +1 -0
  257. package/dist/esm/index.d.ts +3 -2
  258. package/dist/esm/index.js +3 -2
  259. package/dist/esm/index.js.map +1 -1
  260. package/dist/esm/init.js +15 -19
  261. package/dist/esm/init.js.map +1 -1
  262. package/dist/esm/stateManagement/index.d.ts +2 -2
  263. package/dist/esm/stateManagement/index.js +2 -2
  264. package/dist/esm/stateManagement/index.js.map +1 -1
  265. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +15 -18
  266. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +87 -122
  267. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  268. package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +4 -7
  269. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +14 -14
  270. package/dist/esm/stateManagement/segmentation/activeSegmentation.js.map +1 -1
  271. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +3 -0
  272. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +23 -0
  273. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js.map +1 -0
  274. package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +3 -0
  275. package/dist/esm/stateManagement/segmentation/addSegmentations.js +12 -0
  276. package/dist/esm/stateManagement/segmentation/addSegmentations.js.map +1 -0
  277. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js +6 -6
  278. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
  279. package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +2 -4
  280. package/dist/esm/stateManagement/segmentation/helpers/index.js +2 -4
  281. package/dist/esm/stateManagement/segmentation/helpers/index.js.map +1 -1
  282. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +3 -0
  283. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +18 -0
  284. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -0
  285. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +3 -0
  286. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js +21 -0
  287. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -0
  288. package/dist/esm/stateManagement/segmentation/index.d.ts +3 -2
  289. package/dist/esm/stateManagement/segmentation/index.js +3 -2
  290. package/dist/esm/stateManagement/segmentation/index.js.map +1 -1
  291. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
  292. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +23 -18
  293. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
  294. package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
  295. package/dist/esm/stateManagement/segmentation/segmentIndex.js +25 -25
  296. package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
  297. package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +3 -3
  298. package/dist/esm/stateManagement/segmentation/segmentLocking.js +29 -29
  299. package/dist/esm/stateManagement/segmentation/segmentLocking.js.map +1 -1
  300. package/dist/esm/stateManagement/segmentation/segmentationColor.d.ts +3 -3
  301. package/dist/esm/stateManagement/segmentation/segmentationColor.js +5 -5
  302. package/dist/esm/stateManagement/segmentation/segmentationColor.js.map +1 -1
  303. package/dist/esm/stateManagement/segmentation/segmentationConfig.d.ts +8 -12
  304. package/dist/esm/stateManagement/segmentation/segmentationConfig.js +12 -46
  305. package/dist/esm/stateManagement/segmentation/segmentationConfig.js.map +1 -1
  306. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +16 -19
  307. package/dist/esm/stateManagement/segmentation/segmentationState.js +68 -91
  308. package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
  309. package/dist/esm/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
  310. package/dist/esm/stateManagement/segmentation/segmentationVisibility.js +14 -12
  311. package/dist/esm/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
  312. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -4
  313. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +35 -20
  314. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
  315. package/dist/esm/store/SynchronizerManager/destroySynchronizer.d.ts +2 -0
  316. package/dist/esm/store/SynchronizerManager/{destroySynchronizerById.js → destroySynchronizer.js} +3 -3
  317. package/dist/esm/store/SynchronizerManager/destroySynchronizer.js.map +1 -0
  318. package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +3 -0
  319. package/dist/esm/store/SynchronizerManager/getSynchronizer.js +6 -0
  320. package/dist/esm/store/SynchronizerManager/getSynchronizer.js.map +1 -0
  321. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +3 -0
  322. package/dist/esm/store/SynchronizerManager/{getSynchronizers.js → getSynchronizersForViewport.js} +3 -3
  323. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -0
  324. package/dist/esm/store/SynchronizerManager/index.d.ts +4 -4
  325. package/dist/esm/store/SynchronizerManager/index.js +4 -4
  326. package/dist/esm/store/SynchronizerManager/index.js.map +1 -1
  327. package/dist/esm/store/ToolGroupManager/destroy.js +2 -2
  328. package/dist/esm/store/ToolGroupManager/destroy.js.map +1 -1
  329. package/dist/esm/store/ToolGroupManager/destroyToolGroup.d.ts +2 -0
  330. package/dist/esm/store/ToolGroupManager/{destroyToolGroupByToolGroupId.js → destroyToolGroup.js} +3 -3
  331. package/dist/esm/store/ToolGroupManager/destroyToolGroup.js.map +1 -0
  332. package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
  333. package/dist/esm/store/ToolGroupManager/getToolGroup.js +2 -11
  334. package/dist/esm/store/ToolGroupManager/getToolGroup.js.map +1 -1
  335. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +3 -0
  336. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +15 -0
  337. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js.map +1 -0
  338. package/dist/esm/store/ToolGroupManager/index.d.ts +3 -3
  339. package/dist/esm/store/ToolGroupManager/index.js +3 -3
  340. package/dist/esm/store/ToolGroupManager/index.js.map +1 -1
  341. package/dist/esm/store/removeEnabledElement.js +4 -4
  342. package/dist/esm/store/removeEnabledElement.js.map +1 -1
  343. package/dist/{cjs/tools/annotation/EllipticalRoiTool.d.ts → esm/tools/annotation/EllipticalROITool.d.ts} +6 -6
  344. package/dist/esm/tools/annotation/{EllipticalRoiTool.js → EllipticalROITool.js} +13 -13
  345. package/dist/esm/tools/annotation/{EllipticalRoiTool.js.map → EllipticalROITool.js.map} +1 -1
  346. package/dist/{cjs/tools/annotation/RectangleRoiTool.d.ts → esm/tools/annotation/RectangleROITool.d.ts} +8 -8
  347. package/dist/esm/tools/annotation/{RectangleRoiTool.js → RectangleROITool.js} +13 -13
  348. package/dist/esm/tools/annotation/{RectangleRoiTool.js.map → RectangleROITool.js.map} +1 -1
  349. package/dist/esm/tools/base/AnnotationTool.d.ts +1 -1
  350. package/dist/esm/tools/base/AnnotationTool.js +3 -0
  351. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  352. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -0
  353. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +16 -0
  354. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -0
  355. package/dist/esm/tools/displayTools/Labelmap/index.d.ts +3 -3
  356. package/dist/esm/tools/displayTools/Labelmap/index.js +3 -3
  357. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +5 -0
  358. package/dist/esm/tools/displayTools/Labelmap/{LabelmapConfig.js → labelmapConfig.js} +1 -1
  359. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -0
  360. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +11 -0
  361. package/dist/esm/tools/displayTools/Labelmap/{LabelmapDisplay.js → labelmapDisplay.js} +70 -61
  362. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -0
  363. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +2 -0
  364. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +10 -0
  365. package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js.map +1 -0
  366. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.d.ts +3 -0
  367. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js +16 -0
  368. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -0
  369. package/dist/esm/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
  370. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +24 -23
  371. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  372. package/dist/esm/tools/index.d.ts +6 -5
  373. package/dist/esm/tools/index.js +6 -5
  374. package/dist/esm/tools/index.js.map +1 -1
  375. package/dist/esm/tools/segmentation/BrushTool.d.ts +17 -0
  376. package/dist/esm/tools/segmentation/BrushTool.js +279 -0
  377. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -0
  378. package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +2 -2
  379. package/dist/esm/tools/segmentation/CircleScissorsTool.js +13 -10
  380. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
  381. package/dist/esm/tools/segmentation/{RectangleRoiStartEndThresholdTool.d.ts → RectangleROIStartEndThresholdTool.d.ts} +4 -4
  382. package/dist/esm/tools/segmentation/{RectangleRoiStartEndThresholdTool.js → RectangleROIStartEndThresholdTool.js} +11 -11
  383. package/dist/esm/tools/segmentation/{RectangleRoiStartEndThresholdTool.js.map → RectangleROIStartEndThresholdTool.js.map} +1 -1
  384. package/dist/esm/tools/segmentation/{RectangleRoiThresholdTool.d.ts → RectangleROIThresholdTool.d.ts} +4 -4
  385. package/dist/esm/tools/segmentation/{RectangleRoiThresholdTool.js → RectangleROIThresholdTool.js} +12 -12
  386. package/dist/esm/tools/segmentation/{RectangleRoiThresholdTool.js.map → RectangleROIThresholdTool.js.map} +1 -1
  387. package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +2 -2
  388. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +16 -13
  389. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  390. package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +2 -2
  391. package/dist/esm/tools/segmentation/SphereScissorsTool.js +13 -10
  392. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
  393. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -2
  394. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +2 -2
  395. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  396. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +1 -2
  397. package/dist/esm/tools/segmentation/strategies/fillCircle.js +6 -3
  398. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
  399. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -2
  400. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +2 -2
  401. package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  402. package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +1 -2
  403. package/dist/esm/tools/segmentation/strategies/fillSphere.js +2 -2
  404. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
  405. package/dist/esm/types/EventTypes.d.ts +14 -8
  406. package/dist/esm/types/LabelmapTypes.d.ts +19 -0
  407. package/dist/esm/types/LabelmapTypes.js +2 -0
  408. package/dist/esm/types/LabelmapTypes.js.map +1 -0
  409. package/dist/esm/types/SegmentationStateTypes.d.ts +41 -32
  410. package/dist/esm/types/index.d.ts +2 -3
  411. package/dist/esm/utilities/getAnnotationNearPoint.js +1 -1
  412. package/dist/esm/utilities/getAnnotationNearPoint.js.map +1 -1
  413. package/dist/esm/utilities/getToolsWithModesForElement.js +1 -1
  414. package/dist/esm/utilities/getToolsWithModesForElement.js.map +1 -1
  415. package/dist/esm/utilities/segmentation/getBoundingBoxUtils.js +3 -3
  416. package/dist/esm/utilities/segmentation/getBoundingBoxUtils.js.map +1 -1
  417. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +2 -1
  418. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js +3 -2
  419. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js.map +1 -1
  420. package/dist/esm/utilities/segmentation/index.d.ts +1 -2
  421. package/dist/esm/utilities/segmentation/index.js +1 -2
  422. package/dist/esm/utilities/segmentation/index.js.map +1 -1
  423. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.js +1 -1
  424. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +2 -2
  425. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +10 -9
  426. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  427. package/dist/esm/utilities/triggerSegmentationRender.js +3 -3
  428. package/dist/esm/utilities/triggerSegmentationRender.js.map +1 -1
  429. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
  430. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
  431. package/dist/umd/index.js +1 -1
  432. package/dist/umd/index.js.map +1 -1
  433. package/package.json +7 -6
  434. package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.d.ts +0 -3
  435. package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +0 -1
  436. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +0 -3
  437. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js +0 -59
  438. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +0 -1
  439. package/dist/cjs/stateManagement/segmentation/helpers/COLOR_LUT.js.map +0 -1
  440. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.d.ts +0 -3
  441. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +0 -14
  442. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +0 -1
  443. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.d.ts +0 -3
  444. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +0 -43
  445. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +0 -1
  446. package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.d.ts +0 -3
  447. package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js +0 -23
  448. package/dist/cjs/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js.map +0 -1
  449. package/dist/cjs/store/SynchronizerManager/destroySynchronizerById.d.ts +0 -2
  450. package/dist/cjs/store/SynchronizerManager/destroySynchronizerById.js.map +0 -1
  451. package/dist/cjs/store/SynchronizerManager/getSynchronizerById.d.ts +0 -3
  452. package/dist/cjs/store/SynchronizerManager/getSynchronizerById.js.map +0 -1
  453. package/dist/cjs/store/SynchronizerManager/getSynchronizers.d.ts +0 -3
  454. package/dist/cjs/store/SynchronizerManager/getSynchronizers.js.map +0 -1
  455. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +0 -2
  456. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +0 -1
  457. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +0 -3
  458. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js +0 -8
  459. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +0 -1
  460. package/dist/cjs/tools/displayTools/Labelmap/LabelmapConfig.d.ts +0 -13
  461. package/dist/cjs/tools/displayTools/Labelmap/LabelmapConfig.js.map +0 -1
  462. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +0 -11
  463. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js.map +0 -1
  464. package/dist/cjs/types/SegmentationRepresentationTypes.d.ts +0 -11
  465. package/dist/cjs/types/SegmentationRepresentationTypes.js.map +0 -1
  466. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +0 -11
  467. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js +0 -111
  468. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js.map +0 -1
  469. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.d.ts +0 -3
  470. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js +0 -7
  471. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +0 -1
  472. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +0 -3
  473. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js +0 -40
  474. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +0 -1
  475. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.d.ts +0 -3
  476. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +0 -12
  477. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +0 -1
  478. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.d.ts +0 -3
  479. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +0 -27
  480. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +0 -1
  481. package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.d.ts +0 -3
  482. package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js +0 -18
  483. package/dist/esm/stateManagement/segmentation/helpers/internalRemoveSegmentationFromElement.js.map +0 -1
  484. package/dist/esm/store/SynchronizerManager/destroySynchronizerById.d.ts +0 -2
  485. package/dist/esm/store/SynchronizerManager/destroySynchronizerById.js.map +0 -1
  486. package/dist/esm/store/SynchronizerManager/getSynchronizerById.d.ts +0 -3
  487. package/dist/esm/store/SynchronizerManager/getSynchronizerById.js +0 -6
  488. package/dist/esm/store/SynchronizerManager/getSynchronizerById.js.map +0 -1
  489. package/dist/esm/store/SynchronizerManager/getSynchronizers.d.ts +0 -3
  490. package/dist/esm/store/SynchronizerManager/getSynchronizers.js.map +0 -1
  491. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +0 -2
  492. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +0 -1
  493. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +0 -3
  494. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js +0 -6
  495. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +0 -1
  496. package/dist/esm/tools/displayTools/Labelmap/LabelmapConfig.d.ts +0 -13
  497. package/dist/esm/tools/displayTools/Labelmap/LabelmapConfig.js.map +0 -1
  498. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +0 -11
  499. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js.map +0 -1
  500. package/dist/esm/tsdoc-metadata.json +0 -11
  501. package/dist/esm/types/SegmentationRepresentationTypes.d.ts +0 -11
  502. package/dist/esm/types/SegmentationRepresentationTypes.js +0 -2
  503. package/dist/esm/types/SegmentationRepresentationTypes.js.map +0 -1
  504. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +0 -11
  505. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js +0 -86
  506. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js.map +0 -1
  507. package/dist/tools.d.ts +0 -3887
package/dist/tools.d.ts DELETED
@@ -1,3887 +0,0 @@
1
- import type { mat4 } from 'gl-matrix';
2
- import type { vtkColorTransferFunction } from 'vtk.js/Sources/Rendering/Core/ColorTransferFunction';
3
- import type { vtkImageData } from 'vtk.js/Sources/Common/DataModel/ImageData';
4
- import type { vtkPiecewiseFunction } from 'vtk.js/Sources/Common/DataModel/PiecewiseFunction';
5
- import type { vtkVolume } from 'vtk.js/Sources/Rendering/Core/Volume';
6
-
7
- declare namespace activeSegmentation {
8
- export {
9
- getActiveSegmentationInfo,
10
- setActiveSegmentation
11
- }
12
- }
13
-
14
- /**
15
- * Cornerstone Actor Entry including actor uid, actual volumeActor, and
16
- * slabThickness for the actor. Note: actor (and actorEntry) are not
17
- * the same as volumeActor which is vtkVolume. ActorEntry is the object that
18
- * is retrieved from viewport when calling viewport.getActor(s)
19
- */
20
- declare type ActorEntry = {
21
- uid: string
22
- volumeActor: VolumeActor
23
- slabThickness?: number
24
- }
25
-
26
- declare function addAnnotation(element: HTMLElement, annotation: Annotation): void;
27
-
28
- declare function addColorLUT(colorLut: ColorLUT, index: number): void;
29
-
30
- declare function addColorLUT_2(colorLUT: ColorLUT, colorLUTIndex: number): void;
31
-
32
- declare function addGlobalSegmentationData(segmentationData: GlobalSegmentationData, suppressEvents?: boolean): void;
33
-
34
- declare function addSegmentationData(toolGroupId: string, segmentationData: ToolGroupSpecificSegmentationData, suppressEvents?: boolean): void;
35
-
36
- declare function addSegmentationsForToolGroup(toolGroupId: string, segmentationDataArray: SegmentationDataInput[], toolGroupSpecificConfig?: SegmentationConfig): Promise<void>;
37
-
38
- export declare function addTool(ToolClass: any): void;
39
-
40
- declare type Annotation = {
41
- annotationUID?: string;
42
- highlighted?: boolean;
43
- isLocked?: boolean;
44
- invalidated?: boolean;
45
- metadata: {
46
- cameraPosition?: Types_2.Point3;
47
- cameraFocalPoint?: Types_2.Point3;
48
- viewPlaneNormal?: Types_2.Point3;
49
- viewUp?: Types_2.Point3;
50
- FrameOfReferenceUID: string;
51
- toolName: string;
52
- referencedImageId?: string;
53
- volumeId?: string;
54
- };
55
- data: {
56
- handles?: {
57
- points?: Types_2.Point3[];
58
- activeHandleIndex?: number | null;
59
- textBox?: {
60
- hasMoved: boolean;
61
- worldPosition: Types_2.Point3;
62
- worldBoundingBox: {
63
- topLeft: Types_2.Point3;
64
- topRight: Types_2.Point3;
65
- bottomLeft: Types_2.Point3;
66
- bottomRight: Types_2.Point3;
67
- };
68
- };
69
- [key: string]: any;
70
- };
71
- cachedStats?: unknown;
72
- };
73
- };
74
-
75
- declare namespace annotation {
76
- export {
77
- config,
78
- locking,
79
- selection,
80
- state
81
- }
82
- }
83
- export { annotation }
84
-
85
- declare type AnnotationAddedEventDetail = {
86
- viewportId: string;
87
- renderingEngineId: string;
88
- annotation: Annotation;
89
- };
90
-
91
- declare type AnnotationAddedEventType = Types_2.CustomEventType<AnnotationAddedEventDetail>;
92
-
93
- declare type AnnotationForThresholding = {
94
- metadata: {
95
- enabledElement: Types_2.IEnabledElement;
96
- };
97
- data: {
98
- handles: {
99
- points: Types_2.Point3[];
100
- };
101
- cachedStats: {
102
- projectionPoints: Types_2.Point3[][];
103
- };
104
- };
105
- };
106
-
107
- declare type AnnotationHandle = Types_2.Point3;
108
-
109
- declare type AnnotationLockChangeEventDetail = {
110
- added: Array<Annotation>;
111
- removed: Array<Annotation>;
112
- locked: Array<Annotation>;
113
- };
114
-
115
- declare type AnnotationLockChangeEventType = Types_2.CustomEventType<AnnotationLockChangeEventDetail>;
116
-
117
- declare type AnnotationModifiedEventDetail = {
118
- viewportId: string;
119
- renderingEngineId: string;
120
- annotation: Annotation;
121
- };
122
-
123
- declare type AnnotationModifiedEventType = Types_2.CustomEventType<AnnotationModifiedEventDetail>;
124
-
125
- declare type AnnotationRemovedEventDetail = {
126
- viewportId: string;
127
- renderingEngineId: string;
128
- annotation: Annotation;
129
- };
130
-
131
- declare type AnnotationRemovedEventType = Types_2.CustomEventType<AnnotationRemovedEventDetail>;
132
-
133
- declare type AnnotationRenderedEventDetail = {
134
- element: HTMLElement;
135
- viewportId: string;
136
- renderingEngineId: string;
137
- };
138
-
139
- declare type AnnotationRenderedEventType = Types_2.CustomEventType<AnnotationRenderedEventDetail>;
140
-
141
- declare type Annotations = Array<Annotation>;
142
-
143
- declare type AnnotationSelectionChangeEventDetail = {
144
- added: Array<Annotation>;
145
- removed: Array<Annotation>;
146
- selection: Array<Annotation>;
147
- };
148
-
149
- declare type AnnotationSelectionChangeEventType = Types_2.CustomEventType<AnnotationSelectionChangeEventDetail>;
150
-
151
- declare type AnnotationState = {
152
- [key: string]: FrameOfReferenceSpecificAnnotations;
153
- };
154
-
155
- declare enum AnnotationStyleStates {
156
- Default = "",
157
- Highlighted = "Highlighted",
158
- Selected = "Selected",
159
- Locked = "Locked"
160
- }
161
-
162
- export declare abstract class AnnotationTool extends BaseTool {
163
- static toolName: string;
164
- abstract addNewAnnotation(evt: EventTypes_2.MouseDownActivateEventType, interactionType: InteractionTypes): Annotation;
165
- abstract renderAnnotation(enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any): any;
166
- abstract cancel(element: HTMLElement): any;
167
- abstract handleSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: Annotation, handle: ToolHandle, interactionType: InteractionTypes): void;
168
- abstract toolSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: Annotation, interactionType: InteractionTypes): void;
169
- abstract isPointNearTool(element: HTMLElement, annotation: Annotation, canvasCoords: Types_2.Point2, proximity: number, interactionType: string): boolean;
170
- filterInteractableAnnotationsForElement(element: HTMLElement, annotations: Annotations): Annotations | undefined;
171
- mouseMoveCallback: (evt: EventTypes_2.MouseMoveEventType, filteredAnnotations: Annotations) => boolean;
172
- onImageSpacingCalibrated: (evt: Types_2.EventTypes.ImageSpacingCalibratedEvent) => void;
173
- getHandleNearImagePoint(element: HTMLElement, annotation: Annotation, canvasCoords: Types_2.Point2, proximity: number): ToolHandle | undefined;
174
- getStyle(settings: Settings, property: string, annotation?: Annotation): unknown;
175
- getLinkedTextBoxStyle(settings: Settings, annotation?: Annotation): Record<string, unknown>;
176
- private _imagePointNearToolOrHandle;
177
- }
178
-
179
- export declare abstract class BaseTool implements IBaseTool {
180
- static toolName: string;
181
- supportedInteractionTypes: InteractionTypes[];
182
- configuration: Record<string, any>;
183
- toolGroupId: string;
184
- mode: ToolModes;
185
- constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps);
186
- getToolName(): string;
187
- applyActiveStrategy(enabledElement: Types_2.IEnabledElement, operationData: unknown): any;
188
- setConfiguration(newConfiguration: Record<string, any>): void;
189
- setActiveStrategy(strategyName: string): void;
190
- private getTargetVolumeId;
191
- protected getTargetIdViewportAndImage(targetId: string, renderingEngine: Types_2.IRenderingEngine): {
192
- viewport: Types_2.IViewport;
193
- image: Types_2.IImageData;
194
- };
195
- protected getTargetId(viewport: Types_2.IViewport): string | undefined;
196
- }
197
-
198
- declare interface BidirectionalAnnotation extends Annotation {
199
- data: {
200
- handles: {
201
- points: Types_2.Point3[];
202
- activeHandleIndex: number | null;
203
- textBox: {
204
- hasMoved: boolean;
205
- worldPosition: Types_2.Point3;
206
- worldBoundingBox: {
207
- topLeft: Types_2.Point3;
208
- topRight: Types_2.Point3;
209
- bottomLeft: Types_2.Point3;
210
- bottomRight: Types_2.Point3;
211
- };
212
- };
213
- };
214
- label: string;
215
- cachedStats: {
216
- [targetId: string]: {
217
- length: number;
218
- width: number;
219
- };
220
- };
221
- };
222
- }
223
-
224
- export declare class BidirectionalTool extends AnnotationTool {
225
- static toolName: string;
226
- touchDragCallback: any;
227
- mouseDragCallback: any;
228
- _throttledCalculateCachedStats: any;
229
- editData: {
230
- annotation: any;
231
- viewportIdsToRender: string[];
232
- handleIndex?: number;
233
- movingTextBox: boolean;
234
- newAnnotation?: boolean;
235
- hasMoved?: boolean;
236
- } | null;
237
- isDrawing: boolean;
238
- isHandleOutsideImage: boolean;
239
- preventHandleOutsideImage: boolean;
240
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
241
- addNewAnnotation(evt: EventTypes_2.MouseDownActivateEventType): BidirectionalAnnotation;
242
- isPointNearTool: (element: HTMLElement, annotation: BidirectionalAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
243
- toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: BidirectionalAnnotation, interactionType: InteractionTypes) => void;
244
- handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: BidirectionalAnnotation, handle: ToolHandle, interactionType?: string) => void;
245
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
246
- _mouseDragDrawCallback: (evt: MouseMoveEventType | MouseDragEventType) => void;
247
- _mouseDragModifyCallback: (evt: MouseDragEventType) => void;
248
- _mouseDragModifyHandle: (evt: any) => void;
249
- cancel: (element: HTMLElement) => any;
250
- _activateDraw: (element: any) => void;
251
- _deactivateDraw: (element: any) => void;
252
- _activateModify: (element: any) => void;
253
- _deactivateModify: (element: any) => void;
254
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
255
- _movingLongAxisWouldPutItThroughShortAxis: (proposedFirstLineSegment: any, secondLineSegment: any) => boolean;
256
- _getTextLines: (data: any, targetId: any) => string[];
257
- _calculateLength(pos1: any, pos2: any): number;
258
- _calculateCachedStats: (annotation: any, renderingEngine: any, enabledElement: any) => any;
259
- _isInsideVolume: (index1: any, index2: any, index3: any, index4: any, dimensions: any) => boolean;
260
- }
261
-
262
- /**
263
- * Enums for blendModes for viewport images based on vtk.js
264
- *
265
- * It should be noted that if crosshairs are enabled and can modify the slab thickness,
266
- * then it will not show any difference unless MAXIMUM_INTENSITY_BLEND is set on the viewport
267
- * as the blend.
268
- */
269
- declare enum BlendModes {
270
- /** composite blending - suitable for compositing multiple images */
271
- COMPOSITE = BlendMode.COMPOSITE,
272
- /** maximum intensity projection */
273
- MAXIMUM_INTENSITY_BLEND = BlendMode.MAXIMUM_INTENSITY_BLEND,
274
- /** minimum intensity projection */
275
- MINIMUM_INTENSITY_BLEND = BlendMode.MINIMUM_INTENSITY_BLEND,
276
- /** average intensity projection */
277
- AVERAGE_INTENSITY_BLEND = BlendMode.AVERAGE_INTENSITY_BLEND,
278
- }
279
-
280
- declare type BoundsIJK = [Types_2.Point2, Types_2.Point2, Types_2.Point2];
281
-
282
- declare function calibrateImageSpacing(imageId: string, renderingEngine: Types_2.IRenderingEngine, rowPixelSpacing: number, columnPixelSpacing: number): void;
283
-
284
- /**
285
- * CameraModified Event type
286
- */
287
- declare type CameraModifiedEvent = CustomEvent_2<CameraModifiedEventDetail>
288
-
289
- /**
290
- * CAMERA_MODIFIED Event's data
291
- */
292
- declare type CameraModifiedEventDetail = {
293
- /** Previous camera properties */
294
- previousCamera: ICamera
295
- /** Current camera properties */
296
- camera: ICamera
297
- /** Viewport HTML element in the DOM */
298
- element: HTMLElement
299
- /** Viewport Unique ID in the renderingEngine */
300
- viewportId: string
301
- /** Unique ID for the renderingEngine */
302
- renderingEngineId: string
303
- }
304
-
305
- export declare function cancelActiveManipulations(element: HTMLElement): string | undefined;
306
-
307
- declare type canvasCoordinates = [
308
- Types_2.Point2,
309
- Types_2.Point2,
310
- Types_2.Point2,
311
- Types_2.Point2
312
- ];
313
-
314
- declare function checkAndDefineIsLockedProperty(annotation: Annotation): void;
315
-
316
- export declare class CircleScissorsTool extends BaseTool {
317
- static toolName: string;
318
- editData: {
319
- annotation: any;
320
- segmentation: any;
321
- segmentIndex: number;
322
- segmentationDataUID: string;
323
- segmentsLocked: number[];
324
- segmentColor: [number, number, number, number];
325
- viewportIdsToRender: string[];
326
- handleIndex?: number;
327
- movingTextBox: boolean;
328
- newAnnotation?: boolean;
329
- hasMoved?: boolean;
330
- centerCanvas?: Array<number>;
331
- } | null;
332
- isDrawing: boolean;
333
- isHandleOutsideImage: boolean;
334
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
335
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => void;
336
- _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType) => void;
337
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
338
- _activateDraw: (element: any) => void;
339
- _deactivateDraw: (element: any) => void;
340
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
341
- }
342
-
343
- declare function clip(a: any, b: any, box: any, da?: any, db?: any): 0 | 1;
344
-
345
- declare type Color = [number, number, number, number];
346
-
347
- declare type ColorLUT = Array<Color>;
348
-
349
- declare namespace config {
350
- export {
351
- getState,
352
- getStyle,
353
- getFont,
354
- setAnnotationStyle,
355
- setGlobalStyle,
356
- setToolStyle
357
- }
358
- }
359
-
360
- declare interface CPUFallbackColormap {
361
- /** Get id of colormap */
362
- getId: () => string
363
- getColorSchemeName: () => string
364
- setColorSchemeName: (name: string) => void
365
- getNumberOfColors: () => number
366
- setNumberOfColors: (numColors: number) => void
367
- getColor: (index: number) => Point4
368
- getColorRepeating: (index: number) => Point4
369
- setColor: (index: number, rgba: Point4) => void
370
- addColor: (rgba: Point4) => void
371
- insertColor: (index: number, rgba: Point4) => void
372
- removeColor: (index: number) => void
373
- clearColors: () => void
374
- buildLookupTable: (lut: CPUFallbackLookupTable) => void
375
- createLookupTable: () => CPUFallbackLookupTable
376
- isValidIndex: (index: number) => boolean
377
- }
378
-
379
- declare type CPUFallbackColormapData = {
380
- name: string;
381
- numOfColors?: number;
382
- colors?: Point4[];
383
- segmentedData?: unknown;
384
- numColors?: number;
385
- gamma?: number;
386
- };
387
-
388
- declare type CPUFallbackColormapsData = {
389
- [key: string]: CPUFallbackColormapData;
390
- };
391
-
392
- declare interface CPUFallbackEnabledElement {
393
- scale?: number
394
- pan?: Point2
395
- zoom?: number
396
- rotation?: number
397
- image?: IImage
398
- canvas?: HTMLCanvasElement
399
- viewport?: CPUFallbackViewport
400
- colormap?: CPUFallbackColormap
401
- options?: {
402
- [key: string]: unknown
403
- colormap?: CPUFallbackColormap
404
- }
405
- renderingTools?: CPUFallbackRenderingTools
406
- transform?: CPUFallbackTransform
407
- invalid?: boolean
408
- needsRedraw?: boolean
409
- metadata?: {
410
- direction?: Float32Array
411
- /** Last index is always 1 for CPU */
412
- dimensions?: Point3
413
- /** Last spacing is always EPSILON for CPU */
414
- spacing?: Point3
415
- origin?: Point3
416
- imagePlaneModule?: {
417
- frameOfReferenceUID: string
418
- rows: number
419
- columns: number
420
- imageOrientationPatient: number[]
421
- rowCosines: Point3
422
- columnCosines: Point3
423
- imagePositionPatient: number[]
424
- sliceThickness?: number
425
- sliceLocation?: number
426
- pixelSpacing: Point2
427
- rowPixelSpacing: number
428
- columnPixelSpacing: number
429
- }
430
- imagePixelModule?: {
431
- samplesPerPixel: number
432
- photometricInterpretation: string
433
- rows: number
434
- columns: number
435
- bitsAllocated: number
436
- bitsStored: number
437
- highBit: number
438
- pixelRepresentation: number
439
- planarConfiguration?: number
440
- pixelAspectRatio?: number
441
- smallestPixelValue?: number
442
- largestPixelValue?: number
443
- redPaletteColorLookupTableDescriptor?: number[]
444
- greenPaletteColorLookupTableDescriptor?: number[]
445
- bluePaletteColorLookupTableDescriptor?: number[]
446
- redPaletteColorLookupTableData: number[]
447
- greenPaletteColorLookupTableData: number[]
448
- bluePaletteColorLookupTableData: number[]
449
- }
450
- }
451
- }
452
-
453
- declare interface CPUFallbackLookupTable {
454
- setNumberOfTableValues: (number: number) => void;
455
- setRamp: (ramp: string) => void;
456
- setTableRange: (start: number, end: number) => void;
457
- setHueRange: (start: number, end: number) => void;
458
- setSaturationRange: (start: number, end: number) => void;
459
- setValueRange: (start: number, end: number) => void;
460
- setRange: (start: number, end: number) => void;
461
- setAlphaRange: (start: number, end: number) => void;
462
- getColor: (scalar: number) => Point4;
463
- build: (force: boolean) => void;
464
- setTableValue(index: number, rgba: Point4);
465
- }
466
-
467
- declare type CPUFallbackLUT = {
468
- lut: number[];
469
- };
470
-
471
- declare type CPUFallbackRenderingTools = {
472
- renderCanvas?: HTMLCanvasElement;
473
- lastRenderedIsColor?: boolean;
474
- lastRenderedImageId?: string;
475
- lastRenderedViewport?: {
476
- windowWidth: number | number[];
477
- windowCenter: number | number[];
478
- invert: boolean;
479
- rotation: number;
480
- hflip: boolean;
481
- vflip: boolean;
482
- modalityLUT: CPUFallbackLUT;
483
- voiLUT: CPUFallbackLUT;
484
- colormap: unknown;
485
- };
486
- renderCanvasContext?: {
487
- putImageData: (
488
- renderCanvasData: unknown,
489
- dx: number,
490
- dy: number
491
- ) => unknown;
492
- };
493
- colormapId?: string;
494
- colorLut?: CPUFallbackLookupTable;
495
- renderCanvasData?: {
496
- data: Uint8ClampedArray;
497
- };
498
- };
499
-
500
- declare interface CPUFallbackTransform {
501
- reset: () => void;
502
- clone: () => CPUFallbackTransform;
503
- multiply: (matrix: TransformMatrix2D) => void;
504
- getMatrix: () => TransformMatrix2D;
505
- invert: () => void;
506
- rotate: (rad: number) => void;
507
- translate: (x: number, y: number) => void;
508
- scale: (sx: number, sy: number) => void;
509
- transformPoint: (point: Point2) => Point2;
510
- }
511
-
512
- declare type CPUFallbackViewport = {
513
- scale?: number;
514
- translation?: {
515
- x: number;
516
- y: number;
517
- };
518
- voi?: {
519
- windowWidth: number;
520
- windowCenter: number;
521
- };
522
- invert?: boolean;
523
- pixelReplication?: boolean;
524
- rotation?: number;
525
- hflip?: boolean;
526
- vflip?: boolean;
527
- modalityLUT?: CPUFallbackLUT;
528
- voiLUT?: CPUFallbackLUT;
529
- colormap?: CPUFallbackColormap;
530
- displayedArea?: CPUFallbackViewportDisplayedArea;
531
- modality?: string;
532
- };
533
-
534
- declare type CPUFallbackViewportDisplayedArea = {
535
- tlhc: {
536
- x: number;
537
- y: number;
538
- };
539
- brhc: {
540
- x: number;
541
- y: number;
542
- };
543
- rowPixelSpacing: number;
544
- columnPixelSpacing: number;
545
- presentationSizeMode: string;
546
- };
547
-
548
- declare type CPUIImageData = {
549
- dimensions: Point3
550
- direction: Float32Array
551
- spacing: Point3
552
- origin: Point3
553
- imageData: CPUImageData
554
- metadata: { Modality: string }
555
- scalarData: number[]
556
- scaling: Scaling
557
- }
558
-
559
- declare type CPUImageData = {
560
- worldToIndex?: (point: Point3) => Point3
561
- indexToWorld?: (point: Point3) => Point3
562
- getWorldToIndex?: () => Point3
563
- getIndexToWorld?: () => Point3
564
- /** Last spacing is always EPSILON */
565
- getSpacing?: () => Point3
566
- getDirection?: () => Float32Array
567
- getScalarData?: () => number[]
568
- /** Last index is always 1 */
569
- getDimensions?: () => Point3
570
- }
571
-
572
- declare function createCameraPositionSynchronizer(synchronizerName: string): Synchronizer;
573
-
574
- declare function createMergedLabelmapForIndex(labelmaps: Array<Types_2.IImageVolume>, segmentIndex?: number, volumeId?: string): Types_2.IImageVolume;
575
-
576
- declare function createNewSegmentationForToolGroup(toolGroupId: string, options?: {
577
- volumeId?: string;
578
- scalarData?: Float32Array | Uint8Array;
579
- targetBuffer?: {
580
- type: 'Float32Array' | 'Uint8Array';
581
- };
582
- metadata?: any;
583
- dimensions?: Types_2.Point3;
584
- spacing?: Types_2.Point3;
585
- origin?: Types_2.Point3;
586
- direction?: Float32Array;
587
- }): Promise<string>;
588
-
589
- declare function createSynchronizer(synchronizerId: string, eventName: string, eventHandler: ISynchronizerEventHandler): Synchronizer;
590
-
591
- declare function createToolGroup(toolGroupId: string): IToolGroup | undefined;
592
-
593
- declare function createVOISynchronizer(synchronizerName: string): Synchronizer;
594
-
595
- declare interface CrosshairsAnnotation extends Annotation {
596
- data: {
597
- handles: {
598
- rotationPoints: any[];
599
- slabThicknessPoints: any[];
600
- activeOperation: number | null;
601
- toolCenter: Types_2.Point3;
602
- };
603
- activeViewportIds: string[];
604
- viewportId: string;
605
- };
606
- }
607
-
608
- export declare class CrosshairsTool extends AnnotationTool {
609
- static toolName: string;
610
- toolCenter: Types_2.Point3;
611
- _getReferenceLineColor?: (viewportId: string) => string;
612
- _getReferenceLineControllable?: (viewportId: string) => boolean;
613
- _getReferenceLineDraggableRotatable?: (viewportId: string) => boolean;
614
- _getReferenceLineSlabThicknessControlsOn?: (viewportId: string) => boolean;
615
- editData: {
616
- annotation: any;
617
- } | null;
618
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
619
- initializeViewport: ({ renderingEngineId, viewportId, }: Types_2.IViewportId) => {
620
- normal: Types_2.Point3;
621
- point: Types_2.Point3;
622
- };
623
- init: (viewports: ViewportInputs) => void;
624
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType, interactionType: string) => CrosshairsAnnotation;
625
- cancel: () => void;
626
- getHandleNearImagePoint(element: HTMLElement, annotation: Annotation, canvasCoords: Types_2.Point2, proximity: number): ToolHandle | undefined;
627
- handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: Annotation, handle: ToolHandle, interactionType?: string) => void;
628
- isPointNearTool: (element: HTMLElement, annotation: CrosshairsAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
629
- toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: Annotation, interactionType: InteractionTypes) => void;
630
- onCameraModified: (evt: any) => void;
631
- mouseMoveCallback: (evt: EventTypes_2.MouseMoveEventType, filteredToolAnnotations: Annotations) => boolean;
632
- filterInteractableAnnotationsForElement: (element: any, annotations: any) => any;
633
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
634
- _autoPanViewportIfNecessary(viewportId: string, renderingEngine: Types_2.IRenderingEngine): void;
635
- _areViewportIdArraysEqual: (viewportIdArrayOne: any, viewportIdArrayTwo: any) => boolean;
636
- _getAnnotationsForViewportsWithDifferentCameras: (enabledElement: any, annotations: any) => any;
637
- _filterLinkedViewportWithSameOrientationAndScene: (enabledElement: any, annotations: any) => any;
638
- _filterAnnotationsByUniqueViewportOrientations: (enabledElement: any, annotations: any) => any[];
639
- _checkIfViewportsRenderingSameScene: (viewport: any, otherViewport: any) => boolean;
640
- _jump: (enabledElement: any, jumpWorld: any) => boolean;
641
- _activateModify: (element: any) => void;
642
- _deactivateModify: (element: any) => void;
643
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
644
- _mouseDragCallback: (evt: MouseDragEventType) => void;
645
- _isClockWise(a: any, b: any, c: any): boolean;
646
- _applyDeltaShiftToSelectedViewportCameras(renderingEngine: any, viewportsAnnotationsToUpdate: any, delta: any): void;
647
- _applyDeltaShiftToViewportCamera(renderingEngine: Types_2.IRenderingEngine, annotation: any, delta: any): void;
648
- _pointNearReferenceLine: (annotation: any, canvasCoords: any, proximity: any, lineViewport: any) => boolean;
649
- _getRotationHandleNearImagePoint(viewport: any, annotation: any, canvasCoords: any, proximity: any): any;
650
- _getSlabThicknessHandleNearImagePoint(viewport: any, annotation: any, canvasCoords: any, proximity: any): any;
651
- _pointNearTool(element: any, annotation: any, canvasCoords: any, proximity: any): boolean;
652
- }
653
-
654
- declare const CursorNames: string[];
655
-
656
- declare namespace cursors {
657
- export {
658
- MouseCursor,
659
- ImageMouseCursor,
660
- SVGMouseCursor,
661
- elementCursor,
662
- registerCursor,
663
- CursorNames,
664
- setCursorForElement
665
- }
666
- }
667
- export { cursors }
668
-
669
- declare interface CustomEvent_2<T = any> extends Event {
670
- /**
671
- * Returns any custom data event was created with. Typically used for synthetic events.
672
- */
673
- readonly detail: T
674
- initCustomEvent(
675
- typeArg: string,
676
- canBubbleArg: boolean,
677
- cancelableArg: boolean,
678
- detailArg: T
679
- ): void
680
- }
681
-
682
- declare function debounce(func: Function, wait?: number, options?: {
683
- leading?: boolean;
684
- maxWait?: number;
685
- trailing?: boolean;
686
- }): Function;
687
-
688
- declare function deepmerge(target?: {}, source?: {}, optionsArgument?: any): any;
689
-
690
- declare const _default: {
691
- filterAnnotationsWithinSlice: typeof filterAnnotationsWithinSlice;
692
- getWorldWidthAndHeightFromCorners: typeof getWorldWidthAndHeightFromCorners;
693
- filterAnnotationsForDisplay: typeof filterAnnotationsForDisplay;
694
- getPointInLineOfSightWithCriteria: typeof getPointInLineOfSightWithCriteria;
695
- };
696
-
697
- declare const _default_2: {
698
- snapFocalPointToSlice: typeof snapFocalPointToSlice;
699
- getSliceRange: typeof getSliceRange;
700
- scrollThroughStack: typeof scrollThroughStack;
701
- };
702
-
703
- export declare function destroy(): void;
704
-
705
- declare function destroy_2(): void;
706
-
707
- declare function destroy_3(): void;
708
-
709
- declare function destroySynchronizerById(synchronizerId: string): void;
710
-
711
- declare function destroyToolGroupByToolGroupId(toolGroupId: string): void;
712
-
713
- declare function distanceToPoint(lineStart: Types_2.Point2, lineEnd: Types_2.Point2, point: Types_2.Point2): number;
714
-
715
- declare function distanceToPoint_2(rect: number[], point: Types_2.Point2): number;
716
-
717
- declare function distanceToPointSquared(lineStart: Types_2.Point2, lineEnd: Types_2.Point2, point: Types_2.Point2): number;
718
-
719
- declare function draw(element: HTMLElement, fn: (svgDrawingElement: any) => any): void;
720
-
721
- declare function drawCircle(svgDrawingHelper: any, toolName: string, annotationUID: string, circleUID: string, center: Types_2.Point2, radius: number, options?: {}): void;
722
-
723
- declare function drawEllipse(svgDrawingHelper: any, toolName: string, annotationUID: string, ellipseUID: string, corner1: Types_2.Point2, corner2: Types_2.Point2, options?: {}): void;
724
-
725
- declare function drawHandles(svgDrawingHelper: any, toolName: string, annotationUID: string, handleGroupUID: string, handlePoints: Array<Types_2.Point2>, options?: {}): void;
726
-
727
- declare namespace drawing {
728
- export {
729
- draw,
730
- drawCircle,
731
- drawEllipse,
732
- drawHandles,
733
- drawLine,
734
- drawLinkedTextBox,
735
- drawRect,
736
- drawTextBox
737
- }
738
- }
739
- export { drawing }
740
-
741
- declare namespace drawing_2 {
742
- export {
743
- getTextBoxCoordsCanvas
744
- }
745
- }
746
-
747
- declare function drawLine(svgDrawingHelper: any, toolName: string, annotationUID: string, lineUID: string, start: Types_2.Point2, end: Types_2.Point2, options?: {}): void;
748
-
749
- declare function drawLinkedTextBox(svgDrawingHelper: Record<string, unknown>, toolName: string, annotationUID: string, textBoxUID: string, textLines: Array<string>, textBoxPosition: Types_2.Point2, annotationAnchorPoints: Array<Types_2.Point2>, textBox: unknown, options?: {}): SVGRect;
750
-
751
- declare function drawRect(svgDrawingHelper: any, toolName: string, annotationUID: string, rectangleUID: string, start: Types_2.Point2, end: Types_2.Point2, options?: {}): void;
752
-
753
- declare function drawTextBox(svgDrawingHelper: Record<string, unknown>, toolName: string, annotationUID: string, textUID: string, textLines: Array<string>, position: Types_2.Point2, options?: {}): SVGRect;
754
-
755
- declare namespace elementCursor {
756
- export {
757
- initElementCursor,
758
- resetElementCursor,
759
- hideElementCursor,
760
- _setElementCursor as setElementCursor
761
- }
762
- }
763
-
764
- /**
765
- * ELEMENT_DISABLED Event type
766
- */
767
- declare type ElementDisabledEvent = CustomEvent_2<ElementDisabledEventDetail>
768
-
769
- /**
770
- * ELEMENT_DISABLED Event's data
771
- */
772
- declare type ElementDisabledEventDetail = {
773
- /** Viewport HTML element in the DOM */
774
- element: HTMLElement
775
- /** Viewport Unique ID in the renderingEngine */
776
- viewportId: string
777
- /** Unique ID for the renderingEngine */
778
- renderingEngineId: string
779
- }
780
-
781
- /**
782
- * ELEMENT_ENABLED Event type
783
- */
784
- declare type ElementEnabledEvent = CustomEvent_2<ElementEnabledEventDetail>
785
-
786
- /**
787
- * ELEMENT_Enabled Event's data
788
- */
789
- declare type ElementEnabledEventDetail = {
790
- /** Viewport HTML element in the DOM */
791
- element: HTMLElement
792
- /** Viewport Unique ID in the renderingEngine */
793
- viewportId: string
794
- /** Unique ID for the renderingEngine */
795
- renderingEngineId: string
796
- }
797
-
798
- declare type Ellipse = {
799
- center: Types_2.Point3;
800
- xRadius: number;
801
- yRadius: number;
802
- zRadius: number;
803
- };
804
-
805
- declare namespace ellipse {
806
- export {
807
- pointInEllipse,
808
- getCanvasEllipseCorners
809
- }
810
- }
811
-
812
- declare interface EllipticalRoiAnnotation extends Annotation {
813
- data: {
814
- handles: {
815
- points: [Types_2.Point3, Types_2.Point3, Types_2.Point3, Types_2.Point3];
816
- activeHandleIndex: number | null;
817
- textBox?: {
818
- hasMoved: boolean;
819
- worldPosition: Types_2.Point3;
820
- worldBoundingBox: {
821
- topLeft: Types_2.Point3;
822
- topRight: Types_2.Point3;
823
- bottomLeft: Types_2.Point3;
824
- bottomRight: Types_2.Point3;
825
- };
826
- };
827
- };
828
- label: string;
829
- cachedStats?: {
830
- [targetId: string]: {
831
- Modality: string;
832
- area: number;
833
- max: number;
834
- mean: number;
835
- stdDev: number;
836
- };
837
- };
838
- };
839
- }
840
-
841
- export declare class EllipticalRoiTool extends AnnotationTool {
842
- static toolName: string;
843
- touchDragCallback: any;
844
- mouseDragCallback: any;
845
- _throttledCalculateCachedStats: any;
846
- editData: {
847
- annotation: any;
848
- viewportIdsToRender: Array<string>;
849
- handleIndex?: number;
850
- movingTextBox?: boolean;
851
- centerCanvas?: Array<number>;
852
- canvasWidth?: number;
853
- canvasHeight?: number;
854
- originalHandleCanvas?: Array<number>;
855
- newAnnotation?: boolean;
856
- hasMoved?: boolean;
857
- } | null;
858
- isDrawing: boolean;
859
- isHandleOutsideImage: boolean;
860
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
861
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => EllipticalRoiAnnotation;
862
- isPointNearTool: (element: HTMLElement, annotation: EllipticalRoiAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
863
- toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: EllipticalRoiAnnotation, interactionType: InteractionTypes) => void;
864
- handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: EllipticalRoiAnnotation, handle: ToolHandle, interactionType?: string) => void;
865
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
866
- _mouseDragDrawCallback: (evt: MouseMoveEventType | MouseDragEventType) => void;
867
- _mouseDragModifyCallback: (evt: MouseDragEventType) => void;
868
- _dragHandle: (evt: any) => void;
869
- cancel: (element: HTMLElement) => any;
870
- _activateModify: (element: any) => void;
871
- _deactivateModify: (element: any) => void;
872
- _activateDraw: (element: any) => void;
873
- _deactivateDraw: (element: any) => void;
874
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
875
- _getTextLines: (data: any, targetId: any) => any[];
876
- _calculateCachedStats: (annotation: any, viewport: any, renderingEngine: any, enabledElement: any) => any;
877
- _isInsideVolume: (index1: any, index2: any, dimensions: any) => boolean;
878
- _pointInEllipseCanvas(ellipse: any, location: Types_2.Point2): boolean;
879
- }
880
-
881
- export declare const Enums: {
882
- MouseBindings: typeof MouseBindings;
883
- KeyboardBindings: typeof KeyboardBindings;
884
- ToolModes: typeof ToolModes;
885
- Events: typeof Events;
886
- SegmentationRepresentations: typeof SegmentationRepresentations;
887
- };
888
-
889
- declare enum Events {
890
- ANNOTATION_ADDED = "CORNERSTONE_TOOLS_ANNOTATION_ADDED",
891
- ANNOTATION_MODIFIED = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED",
892
- ANNOTATION_REMOVED = "CORNERSTONE_TOOLS_ANNOTATION_REMOVED",
893
- ANNOTATION_SELECTION_CHANGE = "CORNERSTONE_TOOLS_ANNOTATION_SELECTION_CHANGE",
894
- ANNOTATION_LOCK_CHANGE = "CORNERSTONE_TOOLS_ANNOTATION_LOCK_CHANGE",
895
- ANNOTATION_RENDERED = "CORNERSTONE_TOOLS_ANNOTATION_RENDERED",
896
- SEGMENTATION_RENDERED = "CORNERSTONE_TOOLS_SEGMENTATION_RENDERED",
897
- SEGMENTATION_STATE_MODIFIED = "CORNERSTONE_TOOLS_SEGMENTATION_STATE_MODIFIED",
898
- SEGMENTATION_GLOBAL_STATE_MODIFIED = "CORNERSTONE_TOOLS_SEGMENTATION_GLOBAL_STATE_MODIFIED",
899
- SEGMENTATION_DATA_MODIFIED = "CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED",
900
- KEY_DOWN = "CORNERSTONE_TOOLS_KEY_DOWN",
901
- KEY_UP = "CORNERSTONE_TOOLS_KEY_UP",
902
- MOUSE_DOWN = "CORNERSTONE_TOOLS_MOUSE_DOWN",
903
- MOUSE_UP = "CORNERSTONE_TOOLS_MOUSE_UP",
904
- MOUSE_DOWN_ACTIVATE = "CORNERSTONE_TOOLS_MOUSE_DOWN_ACTIVATE",
905
- MOUSE_DRAG = "CORNERSTONE_TOOLS_MOUSE_DRAG",
906
- MOUSE_MOVE = "CORNERSTONE_TOOLS_MOUSE_MOVE",
907
- MOUSE_CLICK = "CORNERSTONE_TOOLS_MOUSE_CLICK",
908
- MOUSE_DOUBLE_CLICK = "CORNERSTONE_TOOLS_MOUSE_DOUBLE_CLICK",
909
- MOUSE_WHEEL = "CORNERSTONE_TOOLS_MOUSE_WHEEL"
910
- }
911
-
912
- declare namespace EventTypes {
913
- export {
914
- CameraModifiedEventDetail,
915
- CameraModifiedEvent,
916
- VoiModifiedEvent,
917
- VoiModifiedEventDetail,
918
- ElementDisabledEvent,
919
- ElementDisabledEventDetail,
920
- ElementEnabledEvent,
921
- ElementEnabledEventDetail,
922
- ImageRenderedEventDetail,
923
- ImageRenderedEvent,
924
- ImageVolumeModifiedEvent,
925
- ImageVolumeModifiedEventDetail,
926
- ImageLoadedEvent,
927
- ImageLoadedEventDetail,
928
- ImageLoadedFailedEventDetail,
929
- ImageLoadedFailedEvent,
930
- VolumeLoadedEvent,
931
- VolumeLoadedEventDetail,
932
- VolumeLoadedFailedEvent,
933
- VolumeLoadedFailedEventDetail,
934
- ImageCacheImageAddedEvent,
935
- ImageCacheImageAddedEventDetail,
936
- ImageCacheImageRemovedEvent,
937
- ImageCacheImageRemovedEventDetail,
938
- VolumeCacheVolumeAddedEvent,
939
- VolumeCacheVolumeAddedEventDetail,
940
- VolumeCacheVolumeRemovedEvent,
941
- VolumeCacheVolumeRemovedEventDetail,
942
- StackNewImageEvent,
943
- StackNewImageEventDetail,
944
- ImageSpacingCalibratedEvent,
945
- ImageSpacingCalibratedEventDetail,
946
- ImageLoadProgressEvent,
947
- ImageLoadProgressEventDetail
948
- }
949
- }
950
-
951
- declare namespace EventTypes_2 {
952
- export {
953
- NormalizedMouseEventDetail,
954
- NormalizedMouseEventType,
955
- AnnotationAddedEventDetail,
956
- AnnotationAddedEventType,
957
- AnnotationModifiedEventDetail,
958
- AnnotationModifiedEventType,
959
- AnnotationRemovedEventDetail,
960
- AnnotationRemovedEventType,
961
- AnnotationSelectionChangeEventDetail,
962
- AnnotationSelectionChangeEventType,
963
- AnnotationRenderedEventDetail,
964
- AnnotationRenderedEventType,
965
- AnnotationLockChangeEventDetail,
966
- AnnotationLockChangeEventType,
967
- SegmentationDataModifiedEventType,
968
- SegmentationStateModifiedEventDetail,
969
- SegmentationStateModifiedEventType,
970
- SegmentationDataModifiedEventDetail,
971
- SegmentationRenderedEventType,
972
- SegmentationRenderedEventDetail,
973
- SegmentationGlobalStateModifiedEventType,
974
- SegmentationGlobalStateModifiedEventDetail,
975
- KeyDownEventDetail,
976
- KeyDownEventType,
977
- KeyUpEventDetail,
978
- KeyUpEventType,
979
- MouseDownEventDetail,
980
- MouseDownEventType,
981
- MouseDownActivateEventDetail,
982
- MouseDownActivateEventType,
983
- MouseDragEventDetail,
984
- MouseDragEventType,
985
- MouseUpEventDetail,
986
- MouseUpEventType,
987
- MouseClickEventDetail,
988
- MouseClickEventType,
989
- MouseMoveEventDetail,
990
- MouseMoveEventType,
991
- MouseDoubleClickEventDetail,
992
- MouseDoubleClickEventType,
993
- MouseWheelEventDetail,
994
- MouseWheelEventType
995
- }
996
- }
997
-
998
- declare function extend2DBoundingBoxInViewAxis(boundsIJK: [Types_2.Point2, Types_2.Point2, Types_2.Point2], numSlicesToProject: number): [Types_2.Point2, Types_2.Point2, Types_2.Point2];
999
-
1000
- declare function filterAnnotationsForDisplay(viewport: Types_2.IViewport, annotations: Annotations): Annotations;
1001
-
1002
- declare function filterAnnotationsWithinSlice(annotations: Annotations, camera: Types_2.ICamera, spacingInNormalDirection: number): Annotations;
1003
-
1004
- declare interface FilterInterface {
1005
- FrameOfReferenceUID?: string;
1006
- toolName?: string;
1007
- }
1008
-
1009
- declare function filterViewportsWithFrameOfReferenceUID(viewports: Array<Types_2.IStackViewport | Types_2.IVolumeViewport>, FrameOfReferenceUID: string): Array<Types_2.IStackViewport | Types_2.IVolumeViewport>;
1010
-
1011
- declare function filterViewportsWithToolEnabled(viewports: Array<Types_2.IStackViewport | Types_2.IVolumeViewport>, toolName: string): Array<Types_2.IStackViewport | Types_2.IVolumeViewport>;
1012
-
1013
- declare function findClosestPoint(sourcePoints: Array<Types_2.Point2>, targetPoint: Types_2.Point2): Types_2.Point2;
1014
-
1015
- /**
1016
- * Flip direction which can be horizontal or vertical.
1017
- */
1018
- declare type FlipDirection = {
1019
- flipHorizontal?: boolean
1020
- flipVertical?: boolean
1021
- }
1022
-
1023
- declare class FrameOfReferenceSpecificAnnotationManager {
1024
- private annotations;
1025
- readonly uid: string;
1026
- constructor(uid?: string);
1027
- _imageVolumeModifiedHandler: (evt: Types_2.EventTypes.ImageVolumeModifiedEvent) => void;
1028
- getFramesOfReference: () => Array<string>;
1029
- getFrameOfReferenceAnnotations: (FrameOfReferenceUID: string) => FrameOfReferenceSpecificAnnotations;
1030
- get: (FrameOfReferenceUID: string, toolName: string) => Annotations | undefined;
1031
- getAnnotation: (annotationUID: string, filter?: FilterInterface) => Annotation | undefined;
1032
- addAnnotation: (annotation: Annotation) => void;
1033
- removeAnnotation: (annotationUID: string, filter?: FilterInterface) => void;
1034
- saveAnnotations: (FrameOfReferenceUID?: string, toolName?: string) => AnnotationState | FrameOfReferenceSpecificAnnotations | Annotations;
1035
- restoreAnnotations: (state: AnnotationState | FrameOfReferenceSpecificAnnotations | Annotations, FrameOfReferenceUID?: string, toolName?: string) => void;
1036
- private _getToolSpecificAnnotationsAndIndex;
1037
- }
1038
-
1039
- declare type FrameOfReferenceSpecificAnnotations = {
1040
- [key: string]: Annotations;
1041
- };
1042
-
1043
- declare function getActiveSegmentationData(toolGroupId: string): ToolGroupSpecificSegmentationData | undefined;
1044
-
1045
- declare function getActiveSegmentationInfo(toolGroupId: string): {
1046
- volumeId: string;
1047
- segmentationDataUID: string;
1048
- activeSegmentIndex: number;
1049
- };
1050
-
1051
- declare function getActiveSegmentIndex(toolGroupId: string): number | undefined;
1052
-
1053
- declare function getActiveSegmentIndexForSegmentation(segmentationUID: string): number | undefined;
1054
-
1055
- declare function getAllSynchronizers(): Array<Synchronizer>;
1056
-
1057
- declare function getAllToolGroups(): Array<IToolGroup>;
1058
-
1059
- declare function getAnnotation(annotationUID: string, element?: HTMLElement): Annotation;
1060
-
1061
- declare function getAnnotationNearPoint(element: HTMLElement, canvasPoint: Types_2.Point2, proximity?: number): Annotation | null;
1062
-
1063
- declare function getAnnotationNearPointOnEnabledElement(enabledElement: Types_2.IEnabledElement, point: Types_2.Point2, proximity: number): Annotation | null;
1064
-
1065
- declare function getAnnotations(element: HTMLElement, toolName: string): Annotations;
1066
-
1067
- declare function getAnnotationSelected(annotationUID: string): Annotation;
1068
-
1069
- declare function getAnnotationsLocked(): Array<Annotation>;
1070
-
1071
- declare function getAnnotationsLockedCount(): number;
1072
-
1073
- declare function getAnnotationsSelected(): Array<Annotation>;
1074
-
1075
- declare function getAnnotationsSelectedByToolName(toolName: string): Array<Annotation>;
1076
-
1077
- declare function getAnnotationsSelectedCount(): number;
1078
-
1079
- declare function getBoundingBoxAroundShape(vertices: Types_2.Point3[], dimensions?: Types_2.Point3): [Types_2.Point2, Types_2.Point2, Types_2.Point2];
1080
-
1081
- declare function getCanvasEllipseCorners(ellipseCanvasPoints: canvasCoordinates): Array<Types_2.Point2>;
1082
-
1083
- declare function getColorForSegmentIndex(toolGroupId: string, segmentationDataUID: string, segmentIndex: number): Color;
1084
-
1085
- declare function getColorLut(index: number): ColorLUT | undefined;
1086
-
1087
- declare function getDefaultAnnotationManager(): FrameOfReferenceSpecificAnnotationManager;
1088
-
1089
- declare function getDefaultRepresentationConfig(representationType: string): LabelmapConfig;
1090
-
1091
- declare function getDefaultSegmentationStateManager(): SegmentationStateManager;
1092
-
1093
- declare function getFont(settings?: Settings, state?: AnnotationStyleStates, mode?: ToolModes): string;
1094
-
1095
- declare function getGlobalRepresentationConfig(representationType: SegmentationRepresentations): RepresentationConfig;
1096
-
1097
- declare function getGlobalSegmentationConfig(): SegmentationConfig;
1098
-
1099
- declare function getGlobalSegmentationConfig_2(): SegmentationConfig;
1100
-
1101
- declare function getGlobalSegmentationDataByUID(segmentationUID: string): GlobalSegmentationData;
1102
-
1103
- declare function getGlobalSegmentationState(): GlobalSegmentationState | [];
1104
-
1105
- declare function getPointInLineOfSightWithCriteria(viewport: Types_2.IVolumeViewport, worldPos: Types_2.Point3, targetVolumeId: string, criteriaFunction: (intensity: number, point: Types_2.Point3) => Types_2.Point3, stepSize?: number): Types_2.Point3;
1106
-
1107
- declare function getRepresentationConfig(toolGroupId: string, representationType: SegmentationRepresentations): RepresentationConfig;
1108
-
1109
- declare function getSegmentationConfig(toolGroupId: string): SegmentationConfig;
1110
-
1111
- declare function getSegmentationConfig_2(toolGroupId: string): SegmentationConfig;
1112
-
1113
- declare function getSegmentationDataByUID(toolGroupId: string, segmentationDataUID: string): ToolGroupSpecificSegmentationData | undefined;
1114
-
1115
- declare function getSegmentationState(toolGroupId: string): ToolGroupSpecificSegmentationState | [];
1116
-
1117
- declare function getSegmentationVisibility(toolGroupId: string, segmentationDataUID: string): boolean | undefined;
1118
-
1119
- declare function getSegmentIndexLocked(toolGroupId: string, segmentIndex: number): boolean;
1120
-
1121
- declare function getSegmentIndexLockedForSegmentation(segmentationUID: string, segmentIndex: number): boolean;
1122
-
1123
- declare function getSegmentsLockedForSegmentation(segmentationUID: string): number[] | [];
1124
-
1125
- declare function getSliceRange(volumeActor: Types_2.VolumeActor, viewPlaneNormal: Types_2.Point3, focalPoint: Types_2.Point3): {
1126
- min: number;
1127
- max: number;
1128
- current: number;
1129
- };
1130
-
1131
- declare function getState(annotation?: Annotation): AnnotationStyleStates;
1132
-
1133
- declare function getStyle(toolName?: string, annotation?: Record<string, unknown>): Settings;
1134
-
1135
- declare function getSynchronizerById(synchronizerId: string): Synchronizer | void;
1136
-
1137
- declare function getSynchronizers(renderingEngineId: string, viewportId: string): Array<Synchronizer>;
1138
-
1139
- declare function getTextBoxCoordsCanvas(annotationCanvasPoints: Array<Types_2.Point2>): Types_2.Point2;
1140
-
1141
- declare function getToolGroup(viewportId: string, renderingEngineId: string): IToolGroup | undefined;
1142
-
1143
- declare function getToolGroupByToolGroupId(toolGroupId: string): IToolGroup | undefined;
1144
-
1145
- declare function getToolGroups(): string[];
1146
-
1147
- declare function getToolGroupsWithSegmentation(segmentationUID: string): string[];
1148
-
1149
- declare function getViewportIdsWithToolToRender(element: HTMLElement, toolName: string, requireSameOrientation?: boolean): string[];
1150
-
1151
- declare function getViewportSpecificAnnotationManager(element?: Types_2.IEnabledElement | HTMLElement): FrameOfReferenceSpecificAnnotationManager;
1152
-
1153
- declare function getWorldWidthAndHeightFromCorners(viewPlaneNormal: Types_2.Point3, viewUp: Types_2.Point3, topLeftWorld: Types_2.Point3, bottomRightWorld: Types_2.Point3): {
1154
- worldWidth: number;
1155
- worldHeight: number;
1156
- };
1157
-
1158
- declare type GlobalSegmentationData = {
1159
- volumeId: string;
1160
- label: string;
1161
- referenceVolumeId?: string;
1162
- referenceImageId?: string;
1163
- activeSegmentIndex: number;
1164
- segmentsLocked: Set<number>;
1165
- cachedStats: {
1166
- [key: string]: number;
1167
- };
1168
- };
1169
-
1170
- declare type GlobalSegmentationState = GlobalSegmentationData[];
1171
-
1172
- declare type GlobalSegmentationStateWithConfig = {
1173
- segmentations: GlobalSegmentationState;
1174
- config: SegmentationConfig;
1175
- };
1176
-
1177
- declare function hideElementCursor(element: HTMLElement): void;
1178
-
1179
- declare interface IBaseTool {
1180
- toolGroupId: string;
1181
- supportedInteractionTypes: InteractionTypes[];
1182
- mode: ToolModes;
1183
- configuration: {
1184
- preventHandleOutsideImage?: boolean;
1185
- strategies?: Record<string, any>;
1186
- defaultStrategy?: string;
1187
- activeStrategy?: string;
1188
- strategyOptions?: Record<string, unknown>;
1189
- };
1190
- }
1191
-
1192
- declare interface ICache {
1193
- /** Set the maximum cache size */
1194
- setMaxCacheSize: (maxCacheSize: number) => void
1195
- /** Get the maximum cache size */
1196
- getMaxCacheSize: () => number
1197
- /** Get the current cache size */
1198
- getCacheSize: () => number
1199
- /** Stores the imageLoad Object inside the cache */
1200
- putImageLoadObject: (
1201
- imageId: string,
1202
- imageLoadObject: IImageLoadObject
1203
- ) => Promise<any>
1204
- /** Retrieves the imageLoad Object from the cache */
1205
- getImageLoadObject: (imageId: string) => IImageLoadObject | void
1206
- /** Stores the volumeLoad Object inside the cache */
1207
- putVolumeLoadObject: (
1208
- volumeId: string,
1209
- volumeLoadObject: IVolumeLoadObject
1210
- ) => Promise<any>
1211
- /** Retrieves the volumeLoad Object from the cache */
1212
- getVolumeLoadObject: (volumeId: string) => IVolumeLoadObject | void
1213
- /** Purge cache both image and volume */
1214
- purgeCache: () => void
1215
- }
1216
-
1217
- declare interface ICachedImage {
1218
- image?: IImage
1219
- imageId: string
1220
- imageLoadObject: IImageLoadObject
1221
- loaded: boolean
1222
- sharedCacheKey?: string
1223
- timeStamp: number
1224
- sizeInBytes: number
1225
- }
1226
-
1227
- declare interface ICachedVolume {
1228
- volume?: IImageVolume
1229
- volumeId: string
1230
- volumeLoadObject: IVolumeLoadObject
1231
- loaded: boolean
1232
- timeStamp: number
1233
- sizeInBytes: number
1234
- }
1235
-
1236
- /**
1237
- * Camera Interface. See {@link https://kitware.github.io/vtk-examples/site/VTKBook/03Chapter3/#35-cameras} if you
1238
- * want to know more about the camera.
1239
- */
1240
- declare interface ICamera {
1241
- /** Camera Clipping range*/
1242
- clippingRange?: Point2
1243
- /** Camera Focal point */
1244
- focalPoint?: Point3
1245
- /** Camera Parallel Projection flag - whether camera is using parallel projection */
1246
- parallelProjection?: boolean
1247
- /** Camera parallel scale - used for parallel projection zoom, smaller values zoom in */
1248
- parallelScale?: number
1249
- /** Camera position */
1250
- position?: Point3
1251
- /** Camera view angle - 90 degrees is orthographic */
1252
- viewAngle?: number
1253
- /** Camera viewPlaneNormal - negative of the direction the camera is pointing or directionOfProjection*/
1254
- viewPlaneNormal?: Point3
1255
- /** Camera viewUp - the direction of viewUP in camera */
1256
- viewUp?: Point3
1257
- /** Camera Slab Thickness */
1258
- slabThickness?: number
1259
- }
1260
-
1261
- /**
1262
- * Cornerstone Enabled Element interface
1263
- */
1264
- declare interface IEnabledElement {
1265
- /** Cornerstone Viewport instance - can be Stack or Volume Viewport as of now */
1266
- viewport: IStackViewport | IVolumeViewport
1267
- /** Cornerstone Rendering Engine instance */
1268
- renderingEngine: IRenderingEngine
1269
- /** Unique ID of the viewport in the renderingEngine */
1270
- viewportId: string
1271
- /** Unique ID of the renderingEngine */
1272
- renderingEngineId: string
1273
- /** FrameOfReference the enabledElement is rendering inside */
1274
- FrameOfReferenceUID: string
1275
- }
1276
-
1277
- /**
1278
- * Cornerstone Image interface, it is used for both CPU and GPU rendering
1279
- */
1280
- declare interface IImage {
1281
- /** Image Id */
1282
- imageId: string
1283
- sharedCacheKey?: string
1284
- /** minimum pixel value of the image */
1285
- minPixelValue: number
1286
- /* maximum pixel value of the image */
1287
- maxPixelValue: number
1288
- /** slope from metadata for scaling */
1289
- slope: number
1290
- /** intercept from metadata for scaling */
1291
- intercept: number
1292
- /** windowCenter from metadata */
1293
- windowCenter: number[] | number
1294
- /** windowWidth from metadata */
1295
- windowWidth: number[] | number
1296
- /** function that returns the pixelData as an array */
1297
- getPixelData: () => Array<number>
1298
- getCanvas: () => HTMLCanvasElement
1299
- /** image number of rows */
1300
- rows: number
1301
- /** image number of columns */
1302
- columns: number
1303
- /** image height */
1304
- height: number
1305
- /** image width */
1306
- width: number
1307
- /** is image a color image */
1308
- color: boolean
1309
- /** is image rgb and alpha */
1310
- rgba: boolean
1311
- /** number of components in the image */
1312
- numComps: number
1313
- /** CPU: custom render method for the image */
1314
- render?: (
1315
- enabledElement: CPUFallbackEnabledElement,
1316
- invalidated: boolean
1317
- ) => unknown
1318
- /** column pixel spacing */
1319
- columnPixelSpacing: number
1320
- /** row pixel spacing */
1321
- rowPixelSpacing: number
1322
- /** slice thickness */
1323
- sliceThickness?: number
1324
- /** whether image pixels are inverted in color */
1325
- invert: boolean
1326
- /** image size in number of bytes */
1327
- sizeInBytes: number
1328
- /** CPU: custom modality LUT for image */
1329
- modalityLUT?: CPUFallbackLUT
1330
- /** CPU: custom VOI LUT for image */
1331
- voiLUT?: CPUFallbackLUT
1332
- /** CPU: custom color map for image */
1333
- colormap?: CPUFallbackColormap
1334
- /** image scaling metadata - including PT suv values */
1335
- scaling?: {
1336
- PET?: {
1337
- // @TODO: Do these values exist?
1338
- SUVlbmFactor?: number
1339
- SUVbsaFactor?: number
1340
- // accessed in ProbeTool
1341
- suvbwToSuvlbm?: number
1342
- suvbwToSuvbsa?: number
1343
- }
1344
- }
1345
- /** CPU: image statistics for rendering */
1346
- stats?: {
1347
- lastStoredPixelDataToCanvasImageDataTime?: number
1348
- lastGetPixelDataTime?: number
1349
- lastPutImageDataTime?: number
1350
- lastLutGenerateTime?: number
1351
- lastRenderedViewport?: unknown
1352
- lastRenderTime?: number
1353
- }
1354
- /** CPU: image cached LUT */
1355
- cachedLut?: {
1356
- windowWidth?: number | number[]
1357
- windowCenter?: number | number[]
1358
- invert?: boolean
1359
- lutArray?: Uint8ClampedArray
1360
- modalityLUT?: unknown
1361
- voiLUT?: CPUFallbackLUT
1362
- }
1363
- }
1364
-
1365
- /**
1366
- * IImageData of an image, which stores actual scalarData and metaData about the image.
1367
- * IImageData is different from vtkImageData.
1368
- */
1369
- declare interface IImageData {
1370
- /** image dimensions */
1371
- dimensions: Point3
1372
- /** image direction */
1373
- direction: Float32Array
1374
- /** image spacing */
1375
- spacing: Point3
1376
- /** image origin */
1377
- origin: Point3
1378
- /** image scalarData which stores the array of pixelData */
1379
- scalarData: Float32Array
1380
- /** vtkImageData object */
1381
- imageData: vtkImageData
1382
- /** image metadata - currently only modality */
1383
- metadata: { Modality: string }
1384
- /** image scaling for scaling pixelArray */
1385
- scaling?: Scaling
1386
- }
1387
-
1388
- /**
1389
- * ImageLoadObject interface which any imageLoader should return
1390
- */
1391
- declare interface IImageLoadObject {
1392
- /** promise that resolves to an image */
1393
- promise: Promise<IImage>
1394
- /** optional cancel function for loading*/
1395
- cancel?: () => void
1396
- /** optional decache function */
1397
- decache?: () => void
1398
- }
1399
-
1400
- /**
1401
- * Cornerstone ImageVolume interface. Todo: we should define new IVolume class
1402
- * with appropriate typings for the other types of volume that don't have images (nrrd, nifti)
1403
- */
1404
- declare interface IImageVolume {
1405
- /** unique identifier of the volume in the cache */
1406
- readonly volumeId: string
1407
- /** volume dimensions */
1408
- dimensions: Point3
1409
- /** volume direction */
1410
- direction: Float32Array
1411
- /** volume metadata */
1412
- metadata: Metadata
1413
- /** volume origin - set to the imagePositionPatient of the last image in the volume */
1414
- origin: Point3
1415
- /** volume scalar data */
1416
- scalarData: any
1417
- /** volume scaling metadata */
1418
- scaling?: {
1419
- PET?: {
1420
- SUVlbmFactor?: number
1421
- SUVbsaFactor?: number
1422
- suvbwToSuvlbm?: number
1423
- suvbwToSuvbsa?: number
1424
- }
1425
- }
1426
- /** volume size in bytes */
1427
- sizeInBytes?: number
1428
- /** volume spacing */
1429
- spacing: Point3
1430
- /** number of voxels in the volume */
1431
- numVoxels: number
1432
- /** volume image data as vtkImageData */
1433
- imageData?: vtkImageData
1434
- /** openGL texture for the volume */
1435
- vtkOpenGLTexture: any
1436
- /** loading status object for the volume containing loaded/loading statuses */
1437
- loadStatus?: Record<string, any>
1438
- /** imageIds of the volume (if it is built of separate imageIds) */
1439
- imageIds?: Array<string>
1440
- /** volume referenceVolumeId (if it is derived from another volume) */
1441
- referenceVolumeId?: string // if volume is derived from another volume
1442
- /** method to convert the volume data in the volume cache, to separate images in the image cache */
1443
- convertToCornerstoneImage?: (
1444
- imageId: string,
1445
- imageIdIndex: number
1446
- ) => IImageLoadObject
1447
- }
1448
-
1449
- /**
1450
- * IMAGE_CACHE_IMAGE_ADDED Event type
1451
- */
1452
- declare type ImageCacheImageAddedEvent =
1453
- CustomEvent_2<ImageCacheImageAddedEventDetail>
1454
-
1455
- /**
1456
- * IMAGE_CACHE_IMAGE_ADDED Event's data
1457
- */
1458
- declare type ImageCacheImageAddedEventDetail = {
1459
- /** the added image */
1460
- image: ICachedImage
1461
- }
1462
-
1463
- /**
1464
- * IMAGE_CACHE_IMAGE_REMOVED Event type
1465
- */
1466
- declare type ImageCacheImageRemovedEvent =
1467
- CustomEvent_2<ImageCacheImageRemovedEventDetail>
1468
-
1469
- /**
1470
- * IMAGE_CACHE_IMAGE_REMOVED Event's data
1471
- */
1472
- declare type ImageCacheImageRemovedEventDetail = {
1473
- /** the removed image id */
1474
- imageId: string
1475
- }
1476
-
1477
- /**
1478
- * IMAGE_LOADED Event type
1479
- */
1480
- declare type ImageLoadedEvent = CustomEvent_2<ImageLoadedEventDetail>
1481
-
1482
- /**
1483
- * IMAGE_LOADED Event's data
1484
- */
1485
- declare type ImageLoadedEventDetail = {
1486
- /** the loaded image */
1487
- image: IImage
1488
- }
1489
-
1490
- /**
1491
- * IMAGE_LOADED_FAILED Event type
1492
- */
1493
- declare type ImageLoadedFailedEvent = CustomEvent_2<ImageLoadedFailedEventDetail>
1494
-
1495
- /**
1496
- * IMAGE_LOADED_FAILED Event's data
1497
- */
1498
- declare type ImageLoadedFailedEventDetail = {
1499
- /** the imageId for the image */
1500
- imageId: string
1501
- error: unknown
1502
- }
1503
-
1504
- /**
1505
- * Any imageLoader function should implement a loading given the imageId
1506
- * and returns a mandatory promise which will resolve to the loaded image object.
1507
- * Additional `cancelFn` and `decache` can be implemented.
1508
- */
1509
- declare type ImageLoaderFn = (
1510
- imageId: string,
1511
- options?: Record<string, any>
1512
- ) => {
1513
- /** Promise that resolves to the image object */
1514
- promise: Promise<Record<string, any>>
1515
- cancelFn?: () => void | undefined
1516
- decache?: () => void | undefined
1517
- }
1518
-
1519
- /**
1520
- * IMAGE_LOAD_PROGRESS
1521
- */
1522
- declare type ImageLoadProgressEvent = CustomEvent_2<ImageLoadProgressEventDetail>
1523
-
1524
- /**
1525
- * IMAGE_LOAD_PROGRESS Event's data. Note this is only for one image load and NOT volume load.
1526
- */
1527
- declare type ImageLoadProgressEventDetail = {
1528
- /** url we are loading from */
1529
- url: string
1530
- /** loading image image id */
1531
- imageId: string
1532
- /** the bytes browser receive */
1533
- loaded: number
1534
- /** the total bytes settled by the header */
1535
- total: number
1536
- /** loaded divided by total * 100 - shows the percentage of the image loaded */
1537
- percent: number
1538
- }
1539
-
1540
- declare class ImageMouseCursor extends MouseCursor {
1541
- private url;
1542
- private x;
1543
- private y;
1544
- constructor(url: string, x?: number, y?: number, name?: string | undefined, fallback?: MouseCursor | undefined);
1545
- getStyleProperty(): string;
1546
- static getUniqueInstanceName(prefix: string): string;
1547
- }
1548
-
1549
- /**
1550
- * IMAGE_RENDERED Event type
1551
- */
1552
- declare type ImageRenderedEvent = CustomEvent_2<ElementEnabledEventDetail>
1553
-
1554
- /**
1555
- * IMAGE_RENDERED Event's data
1556
- */
1557
- declare type ImageRenderedEventDetail = {
1558
- /** Viewport HTML element in the DOM */
1559
- element: HTMLElement
1560
- /** Viewport Unique ID in the renderingEngine */
1561
- viewportId: string
1562
- /** Unique ID for the renderingEngine */
1563
- renderingEngineId: string
1564
- /** Whether to suppress the event */
1565
- suppressEvents?: boolean
1566
- }
1567
-
1568
- /**
1569
- * IMAGE_SPACING_CALIBRATED
1570
- */
1571
- declare type ImageSpacingCalibratedEvent =
1572
- CustomEvent_2<ImageSpacingCalibratedEventDetail>
1573
-
1574
- /**
1575
- * IMAGE_SPACING_CALIBRATED Event's data
1576
- */
1577
- declare type ImageSpacingCalibratedEventDetail = {
1578
- element: HTMLElement
1579
- viewportId: string
1580
- renderingEngineId: string
1581
- imageId: string
1582
- rowScale: number
1583
- columnScale: number
1584
- imageData: vtkImageData
1585
- worldToIndex: mat4
1586
- }
1587
-
1588
- /** The base class for volume data. It includes the volume metadata
1589
- * and the volume data along with the loading status.
1590
- */
1591
- declare class ImageVolume implements IImageVolume {
1592
- /** Read-only unique identifier for the volume */
1593
- readonly volumeId: string
1594
- /** Dimensions of the volume */
1595
- dimensions: Point3
1596
- /** volume direction in world space */
1597
- direction: Float32Array
1598
- /** volume metadata */
1599
- metadata: Metadata
1600
- /** volume origin, Note this is an opinionated origin for the volume */
1601
- origin: Point3
1602
- /** volume scalar data */
1603
- scalarData: Float32Array | Uint8Array
1604
- /** volume scaling parameters if it contains scaled data */
1605
- scaling?: {
1606
- PET?: {
1607
- // @TODO: Do these values exist?
1608
- SUVlbmFactor?: number
1609
- SUVbsaFactor?: number
1610
- // accessed in ProbeTool
1611
- suvbwToSuvlbm?: number
1612
- suvbwToSuvbsa?: number
1613
- }
1614
- }
1615
- /** volume size in bytes */
1616
- sizeInBytes?: number // Seems weird to pass this in? Why not grab it from scalarData.byteLength
1617
- /** volume spacing in 3d world space */
1618
- spacing: Point3
1619
- /** volume number of voxels */
1620
- numVoxels: number
1621
- /** volume image data */
1622
- imageData?: any
1623
- /** open gl texture for the volume */
1624
- vtkOpenGLTexture: any // No good way of referencing vtk classes as they aren't classes.
1625
- /** load status object for the volume */
1626
- loadStatus?: Record<string, any>
1627
- /** optional image ids for the volume if it is made of separated images */
1628
- imageIds?: Array<string>
1629
- /** optional reference volume id if the volume is derived from another volume */
1630
- referenceVolumeId?: string
1631
-
1632
- constructor(props: IVolume) {
1633
- this.volumeId = props.volumeId
1634
- this.metadata = props.metadata
1635
- this.dimensions = props.dimensions
1636
- this.spacing = props.spacing
1637
- this.origin = props.origin
1638
- this.direction = props.direction
1639
- this.imageData = props.imageData
1640
- this.scalarData = props.scalarData
1641
- this.sizeInBytes = props.sizeInBytes
1642
- this.vtkOpenGLTexture = vtkStreamingOpenGLTexture.newInstance()
1643
- this.numVoxels =
1644
- this.dimensions[0] * this.dimensions[1] * this.dimensions[2]
1645
-
1646
- if (props.scaling) {
1647
- this.scaling = props.scaling
1648
- }
1649
-
1650
- if (props.referenceVolumeId) {
1651
- this.referenceVolumeId = props.referenceVolumeId
1652
- }
1653
- }
1654
- }
1655
-
1656
- /**
1657
- * IMAGE_VOLUME_MODIFIED Event type
1658
- */
1659
- declare type ImageVolumeModifiedEvent = CustomEvent_2<ImageVolumeModifiedEventDetail>
1660
-
1661
- /**
1662
- * IMAGE_VOLUME_MODIFIED Event's data
1663
- */
1664
- declare type ImageVolumeModifiedEventDetail = {
1665
- /** the modified volume */
1666
- imageVolume: IImageVolume
1667
- /** FrameOfReferenceUID where the volume belongs to */
1668
- FrameOfReferenceUID: string
1669
- }
1670
-
1671
- export declare function init(defaultConfiguration?: {}): void;
1672
-
1673
- declare function initElementCursor(element: HTMLElement, cursor: MouseCursor | null): void;
1674
-
1675
- declare type InteractionTypes = 'Mouse';
1676
-
1677
- /**
1678
- * Interpolation types for image rendering
1679
- */
1680
- declare enum InterpolationType {
1681
- /** nearest neighbor interpolation */
1682
- NEAREST,
1683
- /** linear interpolation - Default */
1684
- LINEAR,
1685
- /** */
1686
- FAST_LINEAR,
1687
- }
1688
-
1689
- declare function intersectLine(line1Start: Types_2.Point2, line1End: Types_2.Point2, line2Start: Types_2.Point2, line2End: Types_2.Point2): number[];
1690
-
1691
- declare type IPoints = {
1692
- page: Types_2.Point2;
1693
- client: Types_2.Point2;
1694
- canvas: Types_2.Point2;
1695
- world: Types_2.Point3;
1696
- };
1697
-
1698
- /**
1699
- * Register image loader interface
1700
- */
1701
- declare interface IRegisterImageLoader {
1702
- registerImageLoader: (scheme: string, imageLoader: ImageLoaderFn) => void
1703
- }
1704
-
1705
- declare interface IRenderingEngine {
1706
- id: string
1707
- hasBeenDestroyed: boolean
1708
- offscreenMultiRenderWindow: any
1709
- offScreenCanvasContainer: any
1710
- setViewports(viewports: Array<PublicViewportInput>): void
1711
- resize(): void
1712
- getViewport(id: string): IStackViewport | IVolumeViewport
1713
- getViewports(): Array<IStackViewport | IVolumeViewport>
1714
- render(): void
1715
- renderViewports(viewportIds: Array<string>): void
1716
- renderViewport(viewportId: string): void
1717
- renderFrameOfReference(FrameOfReferenceUID: string): void
1718
- fillCanvasWithBackgroundColor(
1719
- canvas: HTMLCanvasElement,
1720
- backgroundColor: [number, number, number]
1721
- ): void
1722
- enableElement(viewportInputEntry: PublicViewportInput): void
1723
- disableElement(viewportId: string): void
1724
- getStackViewports(): Array<IStackViewport>
1725
- getVolumeViewports(): Array<IVolumeViewport>
1726
- destroy(): void
1727
- _debugRender(): void
1728
- }
1729
-
1730
- declare function isAnnotationLocked(annotation: Annotation): boolean;
1731
-
1732
- declare function isAnnotationSelected(annotation: Annotation): boolean;
1733
-
1734
- declare function isObject(value: any): boolean;
1735
-
1736
- /**
1737
- * Interface for Stack Viewport
1738
- */
1739
- declare interface IStackViewport extends IViewport {
1740
- modality: string
1741
- /** Scaling parameters */
1742
- scaling: Scaling
1743
- /**
1744
- * Resizes the viewport - only used in CPU fallback for StackViewport. The
1745
- * GPU resizing happens inside the RenderingEngine.
1746
- */
1747
- resize: () => void
1748
- /**
1749
- * Returns the frame of reference UID, if the image doesn't have imagePlaneModule
1750
- * metadata, it returns undefined, otherwise, frameOfReferenceUID is returned.
1751
- */
1752
- getFrameOfReferenceUID: () => string
1753
- /**
1754
- * Sets the properties for the viewport on the default actor. Properties include
1755
- * setting the VOI, inverting the colors and setting the interpolation type, rotation
1756
- * and flipHorizontal/Vertical.
1757
- */
1758
- setProperties({
1759
- voiRange,
1760
- invert,
1761
- interpolationType,
1762
- rotation,
1763
- flipHorizontal,
1764
- flipVertical,
1765
- }: StackViewportProperties): void
1766
- /**
1767
- * Retrieve the viewport properties
1768
- */
1769
- getProperties: () => StackViewportProperties
1770
- /**
1771
- * canvasToWorld Returns the world coordinates of the given `canvasPos`
1772
- * projected onto the plane defined by the `Viewport`'s camera.
1773
- */
1774
- canvasToWorld: (canvasPos: Point2) => Point3
1775
- /**
1776
- * Returns the canvas coordinates of the given `worldPos`
1777
- * projected onto the `Viewport`'s `canvas`.
1778
- */
1779
- worldToCanvas: (worldPos: Point3) => Point2
1780
- /**
1781
- * Returns the index of the imageId being renderer
1782
- */
1783
- getCurrentImageIdIndex: () => number
1784
- /**
1785
- * Returns the list of image Ids for the current viewport
1786
- */
1787
- getImageIds: () => string[]
1788
- /**
1789
- * Returns the currently rendered imageId
1790
- */
1791
- getCurrentImageId: () => string
1792
- /**
1793
- * Custom rendering pipeline for the rendering for the CPU fallback
1794
- */
1795
- customRenderViewportToCanvas: () => {
1796
- canvas: HTMLCanvasElement
1797
- element: HTMLElement
1798
- viewportId: string
1799
- renderingEngineId: string
1800
- }
1801
- /**
1802
- * Returns the image and its properties that is being shown inside the
1803
- * stack viewport. It returns, the image dimensions, image direction,
1804
- * image scalar data, vtkImageData object, metadata, and scaling (e.g., PET suvbw)
1805
- */
1806
- getImageData(): IImageData | CPUIImageData
1807
- /**
1808
- * Reset the viewport properties to the default values
1809
- */
1810
- resetProperties(): void
1811
- /**
1812
- * If the user has selected CPU rendering, return the CPU camera, otherwise
1813
- * return the default camera
1814
- */
1815
- getCamera(): ICamera
1816
- /**
1817
- * Set the camera based on the provided camera object.
1818
- */
1819
- setCamera(cameraInterface: ICamera): void
1820
- /**
1821
- * Sets the imageIds to be visualized inside the stack viewport. It accepts
1822
- * list of imageIds, the index of the first imageId to be viewed. It is a
1823
- * asynchronous function that returns a promise resolving to imageId being
1824
- * displayed in the stack viewport.
1825
- */
1826
- setStack(
1827
- imageIds: Array<string>,
1828
- currentImageIdIndex?: number
1829
- ): Promise<string>
1830
- /**
1831
- * Centers Pan and resets the zoom for stack viewport.
1832
- */
1833
- resetCamera(resetPanZoomForViewPlane?: boolean): boolean
1834
- /**
1835
- * Loads the image based on the provided imageIdIndex. It is an Async function which
1836
- * returns a promise that resolves to the imageId.
1837
- */
1838
- setImageIdIndex(imageIdIndex: number): Promise<string>
1839
- /**
1840
- * Calibrates the image with new metadata that has been added for imageId. To calibrate
1841
- * a viewport, you should add your calibration data manually to
1842
- * calibratedPixelSpacingMetadataProvider and call viewport.calibrateSpacing
1843
- * for it get applied.
1844
- */
1845
- calibrateSpacing(imageId: string): void
1846
- /**
1847
- * If the renderer is CPU based, throw an error. Otherwise, returns the `vtkRenderer` responsible for rendering the `Viewport`.
1848
- */
1849
- getRenderer(): any
1850
- /**
1851
- * Sets the colormap for the current viewport.
1852
- * @param colormap - The colormap data to use.
1853
- */
1854
- setColormap(colormap: CPUFallbackColormapData): void
1855
- /**
1856
- * It sets the colormap to the default colormap.
1857
- */
1858
- unsetColormap(): void
1859
- }
1860
-
1861
- /**
1862
- * Cornerstone StreamingImageVolume which extends ImageVolume
1863
- */
1864
- declare interface IStreamingImageVolume extends ImageVolume {
1865
- /** method to load all the loading requests */
1866
- clearLoadCallbacks(): void
1867
- /** method to convert the volume data in the volume cache, to separate images in the image cache */
1868
- convertToCornerstoneImage(imageId: string, imageIdIndex: number): any
1869
- /** method to decache the volume from cache */
1870
- decache(completelyRemove: boolean): void
1871
- }
1872
-
1873
- declare interface IStreamingVolumeProperties {
1874
- /** imageIds of the volume */
1875
- imageIds: Array<string>
1876
- /** loading status object for the volume containing loaded/loading statuses */
1877
- loadStatus: {
1878
- loaded: boolean
1879
- loading: boolean
1880
- cachedFrames: Array<boolean>
1881
- callbacks: Array<() => void>
1882
- }
1883
- }
1884
-
1885
- declare function isValidRepresentationConfig(representationType: string, config: RepresentationConfig): boolean;
1886
-
1887
- declare interface ISynchronizerEventHandler {
1888
- (synchronizer: Synchronizer, sourceViewport: Types_2.IViewportId, targetViewport: Types_2.IViewportId, sourceEvent: any): void;
1889
- }
1890
-
1891
- declare type IToolBinding = {
1892
- mouseButton: ToolBindingMouseType;
1893
- modifierKey?: ToolBindingKeyboardType;
1894
- };
1895
-
1896
- declare interface IToolGroup {
1897
- _toolInstances: Record<string, any>;
1898
- id: string;
1899
- viewportsInfo: Array<Types_2.IViewportId>;
1900
- toolOptions: Record<string, any>;
1901
- getViewportIds: () => string[];
1902
- getToolInstance: {
1903
- (toolName: string): any;
1904
- };
1905
- addTool: {
1906
- (toolName: string, toolConfiguration?: any): void;
1907
- };
1908
- addViewport: {
1909
- (viewportId: string, renderingEngineId?: string): void;
1910
- };
1911
- removeViewports: {
1912
- (renderingEngineId: string, viewportId?: string): void;
1913
- };
1914
- setToolActive: {
1915
- (toolName: string, toolBindingsOption?: SetToolBindingsType): void;
1916
- };
1917
- setToolPassive: {
1918
- (toolName: string): void;
1919
- };
1920
- setToolEnabled: {
1921
- (toolName: string): void;
1922
- };
1923
- setToolDisabled: {
1924
- (toolName: string): void;
1925
- };
1926
- getToolOptions: {
1927
- (toolName: string): ToolOptionsType;
1928
- };
1929
- getActivePrimaryMouseButtonTool: {
1930
- (): undefined | string;
1931
- };
1932
- setViewportsCursorByToolName: {
1933
- (toolName: string, strategyName?: string): void;
1934
- };
1935
- }
1936
-
1937
- /**
1938
- * Viewport interface for cornerstone viewports
1939
- */
1940
- declare interface IViewport {
1941
- /** unique identifier of the viewport */
1942
- id: string
1943
- /** renderingEngineId the viewport belongs to */
1944
- renderingEngineId: string
1945
- /** viewport type, can be ORTHOGRAPHIC or STACK for now */
1946
- type: ViewportType
1947
- /** canvas associated to the viewport */
1948
- canvas: HTMLCanvasElement
1949
- /** public DOM element associated to the viewport */
1950
- element: HTMLElement
1951
- /** sx of the viewport on the offscreen canvas (if rendering using GPU) */
1952
- sx: number
1953
- /** sy of the viewport on the offscreen canvas (if rendering using GPU) */
1954
- sy: number
1955
- /** width of the viewport on the offscreen canvas (if rendering using GPU) */
1956
- sWidth: number
1957
- /** height of the viewport on the offscreen canvas (if rendering using GPU) */
1958
- sHeight: number
1959
- /** actors rendered in the viewport (volumeActors as of now) */
1960
- _actors: Map<string, any>
1961
- /** viewport default options including the axis, and background color */
1962
- defaultOptions: any
1963
- /** viewport options */
1964
- options: ViewportInputOptions
1965
- /** Suppress events */
1966
- suppressEvents: boolean
1967
- /** frameOfReferenceUID the viewport's default actor is rendering */
1968
- getFrameOfReferenceUID: () => string
1969
- /** method to convert canvas to world coordinates */
1970
- canvasToWorld: (canvasPos: Point2) => Point3
1971
- /** method to convert world to canvas coordinates */
1972
- worldToCanvas: (worldPos: Point3) => Point2
1973
- /** returns all the actors on the viewport which includes both volumeActor object and its uid */
1974
- getActors(): Array<ActorEntry>
1975
- /** returns specific actor by its uid */
1976
- getActor(actorUID: string): ActorEntry
1977
- /** set and overwrite actors in a viewport */
1978
- setActors(actors: Array<ActorEntry>): void
1979
- /** add actors to the list of actors */
1980
- addActors(actors: Array<ActorEntry>): void
1981
- /** add one actor */
1982
- addActor(actorEntry: ActorEntry): void
1983
- /** remove all actors from the viewport */
1984
- removeAllActors(): void
1985
- /** returns the renderingEngine instance the viewport belongs to */
1986
- getRenderingEngine(): any
1987
- /** returns the vtkRenderer (for GPU rendering) of the viewport */
1988
- getRenderer(): void
1989
- /** triggers render for all actors in the viewport */
1990
- render(): void
1991
- /** set options for the viewport */
1992
- setOptions(options: ViewportInputOptions, immediate: boolean): void
1993
- /** reset camera and options*/
1994
- reset(immediate: boolean): void
1995
- /** returns the canvas */
1996
- getCanvas(): HTMLCanvasElement
1997
- /** returns camera object */
1998
- getCamera(): ICamera
1999
- /** sets the camera */
2000
- setCamera(cameraInterface: ICamera): void
2001
- /** whether the viewport has custom rendering */
2002
- customRenderViewportToCanvas: () => unknown
2003
- _getCorners(bounds: Array<number>): Array<number>[]
2004
- }
2005
-
2006
- /**
2007
- * Interface to uniquely define a viewport in cornerstone. Note: viewportIds
2008
- * can be shared between different rendering engines, but having a renderingEngineId
2009
- * and a viewportId is required to uniquely define a viewport.
2010
- */
2011
- declare interface IViewportId {
2012
- renderingEngineId: string
2013
- viewportId: string
2014
- }
2015
-
2016
- /**
2017
- * Cornerstone ImageVolume interface.
2018
- */
2019
- declare interface IVolume {
2020
- /** unique identifier for the volume in the cache */
2021
- volumeId: string
2022
- /** volume metadata */
2023
- metadata: Metadata
2024
- /** volume dimensions */
2025
- dimensions: Point3
2026
- /** volume spacing */
2027
- spacing: Point3
2028
- /** volume origin */
2029
- origin: Point3
2030
- /** volume direction */
2031
- direction: Float32Array
2032
- /** volume scalarData */
2033
- scalarData: Float32Array | Uint8Array
2034
- /** volume size in bytes */
2035
- sizeInBytes?: number
2036
- /** volume image data as vtkImageData */
2037
- imageData?: vtkImageData
2038
- /** referenceVolumeId if volume is derived from another volume */
2039
- referenceVolumeId?: string
2040
- /** volume scaling metadata */
2041
- scaling?: {
2042
- PET?: {
2043
- // @TODO: Do these values exist?
2044
- SUVlbmFactor?: number
2045
- SUVbsaFactor?: number
2046
- // accessed in ProbeTool
2047
- suvbwToSuvlbm?: number
2048
- suvbwToSuvbsa?: number
2049
- }
2050
- }
2051
- }
2052
-
2053
- /**
2054
- * VolumeInput that can be used to add a volume to a viewport. It includes
2055
- * mandatory `volumeId` but other options such as `visibility`, `blendMode`,
2056
- * `slabThickness` and `callback` can also be provided
2057
- */
2058
- declare interface IVolumeInput {
2059
- /** Volume ID of the volume in the cache */
2060
- volumeId: string
2061
- // actorUID for segmentations, since two segmentations with the same volumeId
2062
- // can have different representations
2063
- actorUID?: string
2064
- /** Visibility of the volume - by default it is true */
2065
- visibility?: boolean
2066
- /** Callback to be called when the volume is added to the viewport */
2067
- callback?: VolumeInputCallback
2068
- /** Blend mode of the volume - by default it is `additive` */
2069
- blendMode?: BlendModes
2070
- /** Slab thickness of the volume - by default it is calculated by the image size*/
2071
- slabThickness?: number
2072
- }
2073
-
2074
- /**
2075
- * VolumeLoadObject interface which any volumeLoader should return
2076
- */
2077
- declare interface IVolumeLoadObject {
2078
- /** promise that resolves to an ImageVolume */
2079
- promise: Promise<ImageVolume>
2080
- /** optional cancel function for loading*/
2081
- cancel?: () => void
2082
- /** optional decache function */
2083
- decache?: () => void
2084
- }
2085
-
2086
- /**
2087
- * Interface for the Volume Viewport
2088
- */
2089
- declare interface IVolumeViewport extends IViewport {
2090
- useCPURendering: boolean
2091
- getFrameOfReferenceUID: () => string
2092
- getProperties: () => any
2093
- /**
2094
- * canvasToWorld Returns the world coordinates of the given `canvasPos`
2095
- * projected onto the plane defined by the `Viewport`'s `vtkCamera`'s focal point
2096
- * and the direction of projection.
2097
- */
2098
- canvasToWorld: (canvasPos: Point2) => Point3
2099
- /**
2100
- * Returns the canvas coordinates of the given `worldPos`
2101
- * projected onto the `Viewport`'s `canvas`.
2102
- */
2103
- worldToCanvas: (worldPos: Point3) => Point2
2104
- /**
2105
- * Uses viewport camera and volume actor to decide if the viewport
2106
- * is looking at the volume in the direction of acquisition (imageIds).
2107
- * If so, it uses the origin and focalPoint to calculate the slice index.
2108
- */
2109
- getCurrentImageIdIndex: () => number
2110
- /**
2111
- * Uses viewport camera and volume actor to decide if the viewport
2112
- * is looking at the volume in the direction of acquisition (imageIds).
2113
- * If so, it uses the origin and focalPoint to find which imageId is
2114
- * currently being viewed.
2115
- */
2116
- getCurrentImageId: () => string
2117
- /**
2118
- * Creates volume actors for all volumes defined in the `volumeInputArray`.
2119
- * For each entry, if a `callback` is supplied, it will be called with the new volume actor as input.
2120
- * For each entry, if a `blendMode` and/or `slabThickness` is defined, this will be set on the actor's
2121
- * `VolumeMapper`.
2122
- */
2123
- setVolumes(
2124
- volumeInputArray: Array<IVolumeInput>,
2125
- immediate?: boolean
2126
- ): Promise<void>
2127
- /**
2128
- * Creates and adds volume actors for all volumes defined in the `volumeInputArray`.
2129
- * For each entry, if a `callback` is supplied, it will be called with the new volume actor as input.
2130
- */
2131
- addVolumes(
2132
- volumeInputArray: Array<IVolumeInput>,
2133
- immediate?: boolean
2134
- ): Promise<void>
2135
- /**
2136
- * It removes the volume actor from the Viewport. If the volume actor is not in
2137
- * the viewport, it does nothing.
2138
- */
2139
- removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void
2140
- /**
2141
- * Given a point in world coordinates, return the intensity at that point
2142
- */
2143
- getIntensityFromWorld(point: Point3): number
2144
- /**
2145
- * getBounds gets the visible bounds of the viewport
2146
- */
2147
- getBounds(): any
2148
- /**
2149
- * Flip the viewport along the desired axis
2150
- */
2151
- flip(flipDirection: FlipDirection): void
2152
- /**
2153
- * Reset the camera for the volume viewport
2154
- */
2155
- resetCamera(resetPanZoomForViewPlane?: boolean): boolean
2156
- /**
2157
- * Sets the slab thickness option in the `Viewport`'s `options`.
2158
- */
2159
- setSlabThickness(slabThickness: number): void
2160
- /**
2161
- * Gets the slab thickness option in the `Viewport`'s `options`.
2162
- */
2163
- getSlabThickness(): number
2164
- /**
2165
- * Returns the image and its properties that is being shown inside the
2166
- * stack viewport. It returns, the image dimensions, image direction,
2167
- * image scalar data, vtkImageData object, metadata, and scaling (e.g., PET suvbw)
2168
- */
2169
- getImageData(): IImageData | undefined
2170
- }
2171
-
2172
- declare enum KeyboardBindings {
2173
- Shift = 16,
2174
- Ctrl = 18,
2175
- Alt = 17
2176
- }
2177
-
2178
- declare type KeyDownEventDetail = {
2179
- element: HTMLElement;
2180
- viewportId: string;
2181
- renderingEngineId: string;
2182
- key: string;
2183
- keyCode: number;
2184
- };
2185
-
2186
- declare type KeyDownEventType = Types_2.CustomEventType<KeyDownEventDetail>;
2187
-
2188
- declare type KeyUpEventDetail = KeyDownEventDetail;
2189
-
2190
- declare type KeyUpEventType = Types_2.CustomEventType<KeyUpEventDetail>;
2191
-
2192
- declare type LabelmapConfig = {
2193
- renderOutline?: boolean;
2194
- outlineWidth?: number;
2195
- outlineWidthActive?: number;
2196
- outlineWidthInactive?: number;
2197
- renderFill?: boolean;
2198
- fillAlpha?: number;
2199
- fillAlphaInactive?: number;
2200
- };
2201
-
2202
- declare type LabelmapRepresentation = {
2203
- type: typeof SegmentationRepresentations.Labelmap;
2204
- config: {
2205
- cfun?: vtkColorTransferFunction;
2206
- ofun?: vtkPiecewiseFunction;
2207
- };
2208
- };
2209
-
2210
- declare interface LengthAnnotation extends Annotation {
2211
- data: {
2212
- handles: {
2213
- points: Types_2.Point3[];
2214
- activeHandleIndex: number | null;
2215
- textBox: {
2216
- hasMoved: boolean;
2217
- worldPosition: Types_2.Point3;
2218
- worldBoundingBox: {
2219
- topLeft: Types_2.Point3;
2220
- topRight: Types_2.Point3;
2221
- bottomLeft: Types_2.Point3;
2222
- bottomRight: Types_2.Point3;
2223
- };
2224
- };
2225
- };
2226
- label: string;
2227
- cachedStats: {
2228
- [targetId: string]: {
2229
- length: number;
2230
- };
2231
- };
2232
- };
2233
- }
2234
-
2235
- export declare class LengthTool extends AnnotationTool {
2236
- static toolName: string;
2237
- touchDragCallback: any;
2238
- mouseDragCallback: any;
2239
- _throttledCalculateCachedStats: any;
2240
- editData: {
2241
- annotation: any;
2242
- viewportIdsToRender: string[];
2243
- handleIndex?: number;
2244
- movingTextBox?: boolean;
2245
- newAnnotation?: boolean;
2246
- hasMoved?: boolean;
2247
- } | null;
2248
- isDrawing: boolean;
2249
- isHandleOutsideImage: boolean;
2250
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2251
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => LengthAnnotation;
2252
- isPointNearTool: (element: HTMLElement, annotation: LengthAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
2253
- toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: LengthAnnotation, interactionType: InteractionTypes) => void;
2254
- handleSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: LengthAnnotation, handle: ToolHandle, interactionType?: string): void;
2255
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2256
- _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType | EventTypes_2.MouseMoveEventType) => void;
2257
- cancel: (element: HTMLElement) => any;
2258
- _activateModify: (element: HTMLElement) => void;
2259
- _deactivateModify: (element: HTMLElement) => void;
2260
- _activateDraw: (element: HTMLElement) => void;
2261
- _deactivateDraw: (element: HTMLElement) => void;
2262
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2263
- _getTextLines(data: any, targetId: any): string[];
2264
- _calculateLength(pos1: any, pos2: any): number;
2265
- _calculateCachedStats(annotation: any, renderingEngine: any, enabledElement: any): any;
2266
- _isInsideVolume(index1: any, index2: any, dimensions: any): boolean;
2267
- }
2268
-
2269
- declare namespace lineSegment {
2270
- export {
2271
- distanceToPoint,
2272
- distanceToPointSquared,
2273
- intersectLine
2274
- }
2275
- }
2276
-
2277
- declare namespace locking {
2278
- export {
2279
- setAnnotationLocked,
2280
- getAnnotationsLocked,
2281
- getAnnotationsLockedCount,
2282
- unlockAllAnnotations,
2283
- isAnnotationLocked,
2284
- checkAndDefineIsLockedProperty
2285
- }
2286
- }
2287
-
2288
- declare namespace math {
2289
- export {
2290
- vec2,
2291
- ellipse,
2292
- lineSegment,
2293
- rectangle
2294
- }
2295
- }
2296
-
2297
- /**
2298
- * Metadata for images, More information can be found in the
2299
- * {@link https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.3.html#table_C.7-11c}
2300
- */
2301
- declare type Metadata = {
2302
- /** Number of bits allocated for each pixel sample. Each sample shall have the same number of bits allocated */
2303
- BitsAllocated: number
2304
- /** Number of bits stored for each pixel sample */
2305
- BitsStored: number
2306
- SamplesPerPixel: number
2307
- /** Most significant bit for pixel sample data */
2308
- HighBit: number
2309
- /** Specifies the intended interpretation of the pixel data */
2310
- PhotometricInterpretation: string
2311
- /** Data representation of the pixel samples. */
2312
- PixelRepresentation: number
2313
- /** Image Modality */
2314
- Modality: string
2315
- /** The direction cosines of the first row and the first column with respect to the patient */
2316
- ImageOrientationPatient: Array<number>
2317
- /** Physical distance in the patient between the center of each pixel */
2318
- PixelSpacing: Array<number>
2319
- /** Uniquely identifies the Frame of Reference for a Series */
2320
- FrameOfReferenceUID: string
2321
- /** Number of columns in the image. */
2322
- Columns: number
2323
- /** Number of rows in the image. */
2324
- Rows: number
2325
- /** Window Level/Center for the image */
2326
- voiLut: Array<VOI>
2327
- }
2328
-
2329
- export declare class MIPJumpToClickTool extends BaseTool {
2330
- static toolName: string;
2331
- _bounds: any;
2332
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2333
- mouseClickCallback(evt: any): void;
2334
- }
2335
-
2336
- declare enum MouseBindings {
2337
- Primary = 1,
2338
- Secondary = 2,
2339
- Primary_And_Secondary = 3,
2340
- Auxiliary = 4,
2341
- Primary_And_Auxiliary = 5,
2342
- Secondary_And_Auxiliary = 6,
2343
- Primary_And_Secondary_And_Auxiliary = 7,
2344
- Fourth_Button = 8,
2345
- Fifth_Button = 16
2346
- }
2347
-
2348
- declare type MouseClickEventDetail = NormalizedMouseEventDetail & {
2349
- mouseButton: number;
2350
- startPoints: IPoints;
2351
- lastPoints: IPoints;
2352
- currentPoints: IPoints;
2353
- deltaPoints: IPoints;
2354
- };
2355
-
2356
- declare type MouseClickEventType = Types_2.CustomEventType<MouseClickEventDetail>;
2357
-
2358
- declare class MouseCursor {
2359
- private name;
2360
- private fallback;
2361
- constructor(name: string, fallback?: MouseCursor | undefined);
2362
- getName(): string;
2363
- addFallbackStyleProperty(style: string): string;
2364
- getStyleProperty(): string;
2365
- static getDefinedCursor(name: string): MouseCursor | undefined;
2366
- static setDefinedCursor(name: string, cursor: MouseCursor): boolean;
2367
- }
2368
-
2369
- declare type MouseDoubleClickEventDetail = NormalizedMouseEventDetail & {
2370
- startPoints: IPoints;
2371
- lastPoints: IPoints;
2372
- currentPoints: IPoints;
2373
- deltaPoints: IPoints;
2374
- };
2375
-
2376
- declare type MouseDoubleClickEventType = Types_2.CustomEventType<MouseDoubleClickEventDetail>;
2377
-
2378
- declare type MouseDownActivateEventDetail = NormalizedMouseEventDetail & {
2379
- mouseButton: number;
2380
- startPoints: IPoints;
2381
- lastPoints: IPoints;
2382
- currentPoints: IPoints;
2383
- deltaPoints: IPoints;
2384
- };
2385
-
2386
- declare type MouseDownActivateEventType = Types_2.CustomEventType<MouseDownActivateEventDetail>;
2387
-
2388
- declare type MouseDownEventDetail = NormalizedMouseEventDetail & {
2389
- mouseButton: number;
2390
- startPoints: IPoints;
2391
- lastPoints: IPoints;
2392
- currentPoints: IPoints;
2393
- deltaPoints: IPoints;
2394
- };
2395
-
2396
- declare type MouseDownEventType = Types_2.CustomEventType<MouseDownEventDetail>;
2397
-
2398
- declare type MouseDragEventDetail = NormalizedMouseEventDetail & {
2399
- mouseButton: number;
2400
- startPoints: IPoints;
2401
- lastPoints: IPoints;
2402
- currentPoints: IPoints;
2403
- deltaPoints: IPoints;
2404
- };
2405
-
2406
- declare type MouseDragEventType = Types_2.CustomEventType<MouseDragEventDetail>;
2407
-
2408
- declare type MouseMoveEventDetail = NormalizedMouseEventDetail & {
2409
- currentPoints: IPoints;
2410
- };
2411
-
2412
- declare type MouseMoveEventType = Types_2.CustomEventType<MouseMoveEventDetail>;
2413
-
2414
- declare type MouseUpEventDetail = NormalizedMouseEventDetail & {
2415
- mouseButton: number;
2416
- startPoints: IPoints;
2417
- lastPoints: IPoints;
2418
- currentPoints: IPoints;
2419
- deltaPoints: IPoints;
2420
- };
2421
-
2422
- declare type MouseUpEventType = Types_2.CustomEventType<MouseUpEventDetail>;
2423
-
2424
- declare type MouseWheelEventDetail = NormalizedMouseEventDetail & {
2425
- detail: Record<string, any>;
2426
- wheel: {
2427
- spinX: number;
2428
- spinY: number;
2429
- pixelX: number;
2430
- pixelY: number;
2431
- direction: number;
2432
- };
2433
- points: IPoints;
2434
- };
2435
-
2436
- declare type MouseWheelEventType = Types_2.CustomEventType<MouseWheelEventDetail>;
2437
-
2438
- declare type NormalizedMouseEventDetail = {
2439
- event: Record<string, unknown> | MouseEvent;
2440
- eventName: string;
2441
- renderingEngineId: string;
2442
- viewportId: string;
2443
- camera: Record<string, unknown>;
2444
- element: HTMLElement;
2445
- };
2446
-
2447
- declare type NormalizedMouseEventType = Types_2.CustomEventType<NormalizedMouseEventDetail>;
2448
-
2449
- declare type Orientation = {
2450
- /** Slice Normal for the viewport - the normal that points in the opposite direction of the slice normal out of screen and is negative of direction of projection */
2451
- sliceNormal: Point3
2452
- /** viewUp direction for the viewport - the vector that points from bottom to top of the viewport */
2453
- viewUp: Point3
2454
- }
2455
-
2456
- export declare class PanTool extends BaseTool {
2457
- static toolName: string;
2458
- touchDragCallback: () => void;
2459
- mouseDragCallback: () => void;
2460
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2461
- _dragCallback(evt: any): void;
2462
- }
2463
-
2464
- declare namespace planar {
2465
- export {
2466
- _default as default,
2467
- filterAnnotationsWithinSlice,
2468
- getWorldWidthAndHeightFromCorners,
2469
- filterAnnotationsForDisplay,
2470
- getPointInLineOfSightWithCriteria
2471
- }
2472
- }
2473
-
2474
- declare type PlanarBoundingBox = {
2475
- x: number;
2476
- y: number;
2477
- width: number;
2478
- height: number;
2479
- };
2480
-
2481
- /**
2482
- * Plane equation Ax+By+Cz=D, plane is defined by [A, B, C, D]
2483
- */
2484
- declare type Plane = [number, number, number, number]
2485
-
2486
- /**
2487
- * This duplicates the typing established in gl-matrix for a vec2
2488
- */
2489
- declare type Point2 = [number, number]
2490
-
2491
- /**
2492
- * This duplicates the typing established in gl-matrix for a vec3
2493
- */
2494
- declare type Point3 = [number, number, number]
2495
-
2496
- /**
2497
- * This represents a 4-vector or RGBA value.
2498
- */
2499
- declare type Point4 = [number, number, number, number];
2500
-
2501
- declare function pointInEllipse(ellipse: Ellipse, pointLPS: Types_2.Point3): boolean;
2502
-
2503
- declare type PointInShapeCallback = ({ value, index, pointIJK, pointLPS, }: {
2504
- value: number;
2505
- index: number;
2506
- pointIJK: Types_2.Point3;
2507
- pointLPS: Types_2.Point3;
2508
- }) => void;
2509
-
2510
- declare function pointInShapeCallback(imageData: vtkImageData | Types_2.CPUImageData, pointInShapeFn: ShapeFnCriteria, callback: PointInShapeCallback, boundsIJK?: BoundsIJK): void;
2511
-
2512
- declare function pointInSurroundingSphereCallback(viewport: Types_2.IVolumeViewport, imageData: vtkImageData, circlePoints: [Types_2.Point3, Types_2.Point3], callback: PointInShapeCallback): void;
2513
-
2514
- declare interface ProbeAnnotation extends Annotation {
2515
- data: {
2516
- handles: {
2517
- points: Types_2.Point3[];
2518
- };
2519
- cachedStats: {
2520
- [targetId: string]: {
2521
- Modality: string;
2522
- index: Types_2.Point3;
2523
- value: number;
2524
- };
2525
- };
2526
- label: string;
2527
- };
2528
- }
2529
-
2530
- export declare class ProbeTool extends AnnotationTool {
2531
- static toolName: string;
2532
- touchDragCallback: any;
2533
- mouseDragCallback: any;
2534
- editData: {
2535
- annotation: any;
2536
- viewportIdsToRender: string[];
2537
- } | null;
2538
- eventDispatchDetail: {
2539
- viewportId: string;
2540
- renderingEngineId: string;
2541
- };
2542
- isDrawing: boolean;
2543
- isHandleOutsideImage: boolean;
2544
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2545
- isPointNearTool(): boolean;
2546
- toolSelectedCallback(): void;
2547
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => ProbeAnnotation;
2548
- getHandleNearImagePoint(element: HTMLElement, annotation: ProbeAnnotation, canvasCoords: Types_2.Point2, proximity: number): ToolHandle | undefined;
2549
- handleSelectedCallback(evt: EventTypes_2.MouseDownEventType, annotation: ProbeAnnotation, handle: ToolHandle, interactionType?: string): void;
2550
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2551
- _mouseDragCallback: (evt: any) => void;
2552
- cancel: (element: HTMLElement) => any;
2553
- _activateModify: (element: any) => void;
2554
- _deactivateModify: (element: any) => void;
2555
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2556
- _getTextLines(data: any, targetId: any): any[];
2557
- _getValueForModality(value: any, imageVolume: any, modality: any): {};
2558
- _calculateCachedStats(annotation: any, renderingEngine: any, enabledElement: any): any;
2559
- }
2560
-
2561
- declare type PTScaling = {
2562
- /** suv body weight to suv lean body mass */
2563
- suvbwToSuvlbm?: number
2564
- /** suv body weight to suv body surface area */
2565
- suvbwToSuvbsa?: number
2566
- }
2567
-
2568
- declare type PublicToolProps = SharedToolProp & {
2569
- name?: string;
2570
- };
2571
-
2572
- /**
2573
- * Public Interface for viewport input to get enabled/disabled or set
2574
- */
2575
- declare type PublicViewportInput = {
2576
- /** HTML element in the DOM */
2577
- element: HTMLElement
2578
- /** unique id for the viewport in the renderingEngine */
2579
- viewportId: string
2580
- /** type of the viewport */
2581
- type: ViewportType
2582
- /** options for the viewport */
2583
- defaultOptions: ViewportInputOptions
2584
- }
2585
-
2586
- declare namespace rectangle {
2587
- export {
2588
- distanceToPoint_2 as distanceToPoint
2589
- }
2590
- }
2591
-
2592
- declare interface RectangleRoiAnnotation extends Annotation {
2593
- data: {
2594
- handles: {
2595
- points: Types_2.Point3[];
2596
- activeHandleIndex: number | null;
2597
- textBox: {
2598
- hasMoved: boolean;
2599
- worldPosition: Types_2.Point3;
2600
- worldBoundingBox: {
2601
- topLeft: Types_2.Point3;
2602
- topRight: Types_2.Point3;
2603
- bottomLeft: Types_2.Point3;
2604
- bottomRight: Types_2.Point3;
2605
- };
2606
- };
2607
- };
2608
- label: string;
2609
- cachedStats?: RectangleRoiCachedStats | {
2610
- projectionPoints?: Types_2.Point3[];
2611
- projectionPointsImageIds?: string[];
2612
- };
2613
- };
2614
- }
2615
-
2616
- declare interface RectangleRoiCachedStats {
2617
- [targetId: string]: {
2618
- Modality: string;
2619
- area: number;
2620
- max: number;
2621
- mean: number;
2622
- stdDev: number;
2623
- };
2624
- }
2625
-
2626
- declare interface RectangleRoiStartEndThresholdAnnotation extends Annotation {
2627
- metadata: {
2628
- cameraPosition?: Types_2.Point3;
2629
- cameraFocalPoint?: Types_2.Point3;
2630
- viewPlaneNormal?: Types_2.Point3;
2631
- viewUp?: Types_2.Point3;
2632
- annotationUID?: string;
2633
- FrameOfReferenceUID: string;
2634
- referencedImageId?: string;
2635
- toolName: string;
2636
- enabledElement: any;
2637
- volumeId: string;
2638
- spacingInNormal: number;
2639
- };
2640
- data: {
2641
- label: string;
2642
- startSlice: number;
2643
- endSlice: number;
2644
- cachedStats: {
2645
- projectionPoints: Types_2.Point3[][];
2646
- projectionPointsImageIds: string[];
2647
- };
2648
- handles: {
2649
- points: Types_2.Point3[];
2650
- activeHandleIndex: number | null;
2651
- };
2652
- };
2653
- }
2654
-
2655
- export declare class RectangleRoiStartEndThresholdTool extends RectangleRoiTool {
2656
- static toolName: string;
2657
- _throttledCalculateCachedStats: any;
2658
- editData: {
2659
- annotation: any;
2660
- viewportIdsToRender: string[];
2661
- handleIndex?: number;
2662
- newAnnotation?: boolean;
2663
- hasMoved?: boolean;
2664
- } | null;
2665
- isDrawing: boolean;
2666
- isHandleOutsideImage: boolean;
2667
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2668
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => {
2669
- highlighted: boolean;
2670
- invalidated: boolean;
2671
- metadata: {
2672
- viewPlaneNormal: Types_2.Point3;
2673
- enabledElement: Types_2.IEnabledElement;
2674
- viewUp: Types_2.Point3;
2675
- FrameOfReferenceUID: string;
2676
- referencedImageId: any;
2677
- toolName: string;
2678
- volumeId: any;
2679
- spacingInNormal: number;
2680
- };
2681
- data: {
2682
- label: string;
2683
- startSlice: number;
2684
- endSlice: number;
2685
- cachedStats: {
2686
- projectionPoints: any[];
2687
- projectionPointsImageIds: any[];
2688
- };
2689
- handles: {
2690
- textBox: {
2691
- hasMoved: boolean;
2692
- worldPosition: any;
2693
- worldBoundingBox: any;
2694
- };
2695
- points: Types_2.Point3[];
2696
- activeHandleIndex: any;
2697
- };
2698
- labelmapUID: any;
2699
- };
2700
- };
2701
- _computeProjectionPoints(annotation: RectangleRoiStartEndThresholdAnnotation, imageVolume: Types_2.IImageVolume): void;
2702
- _calculateCachedStatsTool(annotation: any, enabledElement: any): any;
2703
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2704
- _getEndSliceIndex(imageVolume: Types_2.IImageVolume, worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
2705
- }
2706
-
2707
- export declare class RectangleRoiThresholdTool extends RectangleRoiTool {
2708
- static toolName: string;
2709
- _throttledCalculateCachedStats: any;
2710
- editData: {
2711
- annotation: any;
2712
- viewportIdsToRender: string[];
2713
- handleIndex?: number;
2714
- newAnnotation?: boolean;
2715
- hasMoved?: boolean;
2716
- } | null;
2717
- isDrawing: boolean;
2718
- isHandleOutsideImage: boolean;
2719
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2720
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => {
2721
- highlighted: boolean;
2722
- invalidated: boolean;
2723
- metadata: {
2724
- viewPlaneNormal: Types_2.Point3;
2725
- enabledElement: Types_2.IEnabledElement;
2726
- viewUp: Types_2.Point3;
2727
- FrameOfReferenceUID: string;
2728
- referencedImageId: any;
2729
- toolName: string;
2730
- volumeId: any;
2731
- };
2732
- data: {
2733
- label: string;
2734
- handles: {
2735
- textBox: {
2736
- hasMoved: boolean;
2737
- worldPosition: any;
2738
- worldBoundingBox: any;
2739
- };
2740
- points: Types_2.Point3[];
2741
- activeHandleIndex: any;
2742
- };
2743
- segmentationUID: any;
2744
- };
2745
- };
2746
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2747
- }
2748
-
2749
- export declare class RectangleRoiTool extends AnnotationTool {
2750
- static toolName: string;
2751
- _throttledCalculateCachedStats: any;
2752
- editData: {
2753
- annotation: any;
2754
- viewportIdsToRender: string[];
2755
- handleIndex?: number;
2756
- movingTextBox?: boolean;
2757
- newAnnotation?: boolean;
2758
- hasMoved?: boolean;
2759
- } | null;
2760
- isDrawing: boolean;
2761
- isHandleOutsideImage: boolean;
2762
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2763
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => RectangleRoiAnnotation;
2764
- isPointNearTool: (element: HTMLElement, annotation: RectangleRoiAnnotation, canvasCoords: Types_2.Point2, proximity: number) => boolean;
2765
- toolSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: RectangleRoiAnnotation, interactionType: InteractionTypes) => void;
2766
- handleSelectedCallback: (evt: EventTypes_2.MouseDownEventType, annotation: RectangleRoiAnnotation, handle: ToolHandle, interactionType?: string) => void;
2767
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2768
- _mouseDragCallback: (evt: EventTypes_2.MouseMoveEventType | EventTypes_2.MouseDragEventType) => void;
2769
- cancel: (element: HTMLElement) => any;
2770
- _activateDraw: (element: any) => void;
2771
- _deactivateDraw: (element: any) => void;
2772
- _activateModify: (element: any) => void;
2773
- _deactivateModify: (element: any) => void;
2774
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2775
- _getRectangleImageCoordinates: (points: Array<Types_2.Point2>) => {
2776
- left: number;
2777
- top: number;
2778
- width: number;
2779
- height: number;
2780
- };
2781
- _getTextLines: (data: any, targetId: string) => any[];
2782
- _calculateCachedStats: (annotation: any, viewPlaneNormal: any, viewUp: any, renderingEngine: any, enabledElement: any) => any;
2783
- _isInsideVolume: (index1: any, index2: any, dimensions: any) => boolean;
2784
- }
2785
-
2786
- export declare class RectangleScissorsTool extends BaseTool {
2787
- static toolName: string;
2788
- _throttledCalculateCachedStats: any;
2789
- editData: {
2790
- annotation: any;
2791
- segmentationDataUID: string;
2792
- segmentation: any;
2793
- segmentIndex: number;
2794
- segmentsLocked: number[];
2795
- segmentColor: [number, number, number, number];
2796
- viewportIdsToRender: string[];
2797
- handleIndex?: number;
2798
- movingTextBox: boolean;
2799
- newAnnotation?: boolean;
2800
- hasMoved?: boolean;
2801
- } | null;
2802
- isDrawing: boolean;
2803
- isHandleOutsideImage: boolean;
2804
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2805
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => void;
2806
- _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType) => void;
2807
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
2808
- _activateDraw: (element: any) => void;
2809
- _deactivateDraw: (element: any) => void;
2810
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
2811
- }
2812
-
2813
- declare function registerCursor(toolName: string, iconContent: string, viewBox: {
2814
- x: number;
2815
- y: number;
2816
- }): void;
2817
-
2818
- declare function removeAnnotation(element: HTMLElement, annotationUID: string): void;
2819
-
2820
- declare function removeSegmentationData(toolGroupId: string, segmentationDataUID: string): void;
2821
-
2822
- declare function removeSegmentationsFromToolGroup(toolGroupId: string, segmentationDataUIDs?: string[] | undefined): void;
2823
-
2824
- export declare function removeTool(ToolClass: any): void;
2825
-
2826
- declare type RepresentationConfig = LabelmapConfig;
2827
-
2828
- declare function resetElementCursor(element: HTMLElement): void;
2829
-
2830
- declare type Scaling = {
2831
- PET?: PTScaling
2832
- }
2833
-
2834
- declare type ScalingParameters = {
2835
- /** m in m*p+b which specifies the linear transformation from stored pixels to memory value */
2836
- rescaleSlope: number
2837
- /** b in m*p+b which specifies the offset of the transformation */
2838
- rescaleIntercept: number
2839
- /** modality */
2840
- modality: string
2841
- /** SUV body weight */
2842
- suvbw?: number
2843
- /** SUV lean body mass */
2844
- suvlbm?: number
2845
- /** SUV body surface area */
2846
- suvbsa?: number
2847
- }
2848
-
2849
- declare function scrollThroughStack(evt: MouseWheelEventType | MouseDragEventType, deltaFrames: number, volumeId: string, invert?: boolean): void;
2850
-
2851
- declare namespace segmentation {
2852
- export {
2853
- state_2 as state,
2854
- activeSegmentation,
2855
- addSegmentationsForToolGroup,
2856
- removeSegmentationsFromToolGroup,
2857
- createNewSegmentationForToolGroup,
2858
- segmentLocking,
2859
- segmentationColor,
2860
- segmentationConfig,
2861
- segmentationVisibility,
2862
- segmentIndex,
2863
- triggerSegmentationEvents
2864
- }
2865
- }
2866
- export { segmentation }
2867
-
2868
- declare namespace segmentation_2 {
2869
- export {
2870
- getBoundingBoxAroundShape,
2871
- extend2DBoundingBoxInViewAxis,
2872
- thresholdVolumeByRange,
2873
- thresholdVolumeByRoiStats,
2874
- createMergedLabelmapForIndex,
2875
- isValidRepresentationConfig,
2876
- getDefaultRepresentationConfig
2877
- }
2878
- }
2879
-
2880
- declare namespace segmentationColor {
2881
- export {
2882
- getColorForSegmentIndex,
2883
- addColorLUT_2 as addColorLUT
2884
- }
2885
- }
2886
-
2887
- declare type SegmentationConfig = {
2888
- renderInactiveSegmentations: boolean;
2889
- representations: {
2890
- LABELMAP?: LabelmapConfig;
2891
- };
2892
- };
2893
-
2894
- declare namespace segmentationConfig {
2895
- export {
2896
- getGlobalSegmentationConfig_2 as getGlobalSegmentationConfig,
2897
- setGlobalSegmentationConfig_2 as setGlobalSegmentationConfig,
2898
- getGlobalRepresentationConfig,
2899
- setGlobalRepresentationConfig,
2900
- updateGlobalSegmentationConfig,
2901
- updateGlobalRepresentationConfig,
2902
- getSegmentationConfig_2 as getSegmentationConfig,
2903
- setSegmentationConfig_2 as setSegmentationConfig,
2904
- setRepresentationConfig,
2905
- getRepresentationConfig
2906
- }
2907
- }
2908
-
2909
- declare type SegmentationDataInput = Partial<ToolGroupSpecificSegmentationData> & {
2910
- toolGroupId: string;
2911
- };
2912
-
2913
- declare type SegmentationDataModifiedEventDetail = {
2914
- toolGroupId: string;
2915
- segmentationDataUID: string;
2916
- };
2917
-
2918
- declare type SegmentationDataModifiedEventType = Types_2.CustomEventType<SegmentationDataModifiedEventDetail>;
2919
-
2920
- export declare class SegmentationDisplayTool extends BaseTool {
2921
- static toolName: string;
2922
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
2923
- enableCallback(): void;
2924
- disableCallback(): void;
2925
- renderSegmentation: (toolGroupId: string) => void;
2926
- _getSegmentationConfig(toolGroupId: string): SegmentationConfig;
2927
- }
2928
-
2929
- declare type SegmentationGlobalStateModifiedEventDetail = {
2930
- segmentationUID: string;
2931
- };
2932
-
2933
- declare type SegmentationGlobalStateModifiedEventType = Types_2.CustomEventType<SegmentationGlobalStateModifiedEventDetail>;
2934
-
2935
- declare type SegmentationRenderedEventDetail = {
2936
- viewportId: string;
2937
- toolGroupId: string;
2938
- };
2939
-
2940
- declare type SegmentationRenderedEventType = Types_2.CustomEventType<SegmentationRenderedEventDetail>;
2941
-
2942
- declare type SegmentationRepresentation = LabelmapRepresentation;
2943
-
2944
- declare enum SegmentationRepresentations {
2945
- Labelmap = "LABELMAP"
2946
- }
2947
-
2948
- declare interface SegmentationState {
2949
- colorLutTables: ColorLUT[];
2950
- global: GlobalSegmentationStateWithConfig;
2951
- toolGroups: {
2952
- [key: string]: ToolGroupSpecificSegmentationStateWithConfig;
2953
- };
2954
- }
2955
-
2956
- declare class SegmentationStateManager {
2957
- private state;
2958
- readonly uid: string;
2959
- constructor(uid?: string);
2960
- getState(): SegmentationState;
2961
- getToolGroups(): string[];
2962
- getColorLut(lutIndex: number): ColorLUT | undefined;
2963
- resetState(): void;
2964
- getGlobalSegmentationData(segmentationUID: string): GlobalSegmentationData | undefined;
2965
- getGlobalSegmentationState(): GlobalSegmentationState | [];
2966
- getGlobalSegmentationConfig(): SegmentationConfig;
2967
- setGlobalSegmentationConfig(config: SegmentationConfig): void;
2968
- getToolGroupsWithSegmentation(segmentationUID: string): string[];
2969
- getSegmentationState(toolGroupId: string): ToolGroupSpecificSegmentationState | [];
2970
- getSegmentationConfig(toolGroupId: string): SegmentationConfig | undefined;
2971
- setSegmentationConfig(toolGroupId: string, config: SegmentationConfig): void;
2972
- getSegmentationDataByUID(toolGroupId: string, segmentationDataUID: string): ToolGroupSpecificSegmentationData | undefined;
2973
- getActiveSegmentationData(toolGroupId: string): ToolGroupSpecificSegmentationData | undefined;
2974
- addColorLUT(colorLut: ColorLUT, lutIndex: number): void;
2975
- addGlobalSegmentationData(segmentationData: GlobalSegmentationData): void;
2976
- addSegmentationData(toolGroupId: string, segmentationData: ToolGroupSpecificSegmentationData): void;
2977
- setActiveSegmentationData(toolGroupId: string, segmentationDataUID: string): void;
2978
- removeSegmentationData(toolGroupId: string, segmentationDataUID: string): void;
2979
- _handleActiveSegmentation(toolGroupId: string, recentlyAddedOrRemovedSegmentationData: ToolGroupSpecificSegmentationData): void;
2980
- _initDefaultColorLutIfNecessary(): void;
2981
- }
2982
-
2983
- declare type SegmentationStateModifiedEventDetail = {
2984
- toolGroupId: string;
2985
- };
2986
-
2987
- declare type SegmentationStateModifiedEventType = Types_2.CustomEventType<SegmentationStateModifiedEventDetail>;
2988
-
2989
- declare namespace segmentationVisibility {
2990
- export {
2991
- setSegmentationVisibility,
2992
- getSegmentationVisibility
2993
- }
2994
- }
2995
-
2996
- declare namespace segmentIndex {
2997
- export {
2998
- getActiveSegmentIndex,
2999
- setActiveSegmentIndex,
3000
- getActiveSegmentIndexForSegmentation,
3001
- setActiveSegmentIndexForSegmentation
3002
- }
3003
- }
3004
-
3005
- declare namespace segmentLocking {
3006
- export {
3007
- getSegmentIndexLocked,
3008
- setSegmentIndexLocked,
3009
- getSegmentIndexLockedForSegmentation,
3010
- setSegmentIndexLockedForSegmentation,
3011
- getSegmentsLockedForSegmentation
3012
- }
3013
- }
3014
-
3015
- declare namespace selection {
3016
- export {
3017
- setAnnotationSelected,
3018
- getAnnotationsSelected,
3019
- getAnnotationSelected,
3020
- getAnnotationsSelectedByToolName,
3021
- getAnnotationsSelectedCount,
3022
- isAnnotationSelected
3023
- }
3024
- }
3025
-
3026
- declare function setActiveSegmentation(toolGroupId: string, segmentationDataUID: string): void;
3027
-
3028
- declare function setActiveSegmentationData(toolGroupId: string, segmentationDataUID: string, suppressEvents?: boolean): void;
3029
-
3030
- declare function setActiveSegmentIndex(toolGroupId: string, segmentIndex: number): void;
3031
-
3032
- declare function setActiveSegmentIndexForSegmentation(segmentationUID: string, segmentIndex: number): void;
3033
-
3034
- declare function setAnnotationLocked(annotation: Annotation, locked?: boolean): void;
3035
-
3036
- declare function setAnnotationSelected(annotation: Annotation, selected?: boolean, preserveSelected?: boolean): void;
3037
-
3038
- declare function setAnnotationStyle(toolName: string, annotation: Record<string, unknown>, style: Record<string, unknown>): boolean;
3039
-
3040
- declare function setCursorForElement(element: HTMLElement, cursorName: string): void;
3041
-
3042
- declare function _setElementCursor(element: HTMLElement, cursor: MouseCursor | null): void;
3043
-
3044
- declare function setGlobalRepresentationConfig(representationType: SegmentationRepresentations, config: RepresentationConfig): void;
3045
-
3046
- declare function setGlobalSegmentationConfig(config: SegmentationConfig, suppressEvents?: boolean): void;
3047
-
3048
- declare function setGlobalSegmentationConfig_2(segmentationConfig: SegmentationConfig): void;
3049
-
3050
- declare function setGlobalStyle(style: Record<string, unknown>): boolean;
3051
-
3052
- declare function setRepresentationConfig(toolGroupId: string, representationType: SegmentationRepresentations, representationConfig: RepresentationConfig): void;
3053
-
3054
- declare function setSegmentationConfig(toolGroupId: string, config: SegmentationConfig, suppressEvents?: boolean): void;
3055
-
3056
- declare function setSegmentationConfig_2(toolGroupId: string, segmentationConfig: SegmentationConfig): void;
3057
-
3058
- declare function setSegmentationVisibility(toolGroupId: string, segmentationDataUID: string, visibility: boolean): void;
3059
-
3060
- declare function setSegmentIndexLocked(toolGroupId: string, segmentIndex: number, locked?: boolean): void;
3061
-
3062
- declare function setSegmentIndexLockedForSegmentation(segmentationUID: string, segmentIndex: number, locked?: boolean): void;
3063
-
3064
- /**
3065
- * Settings
3066
- */
3067
- declare class Settings {
3068
- constructor(base?: Settings) {
3069
- const dictionary = Object.create(
3070
- base instanceof Settings && DICTIONARY in base ? base[DICTIONARY] : null
3071
- )
3072
- Object.seal(
3073
- Object.defineProperty(this, DICTIONARY, {
3074
- value: dictionary,
3075
- })
3076
- )
3077
- }
3078
-
3079
- set(key: string, value: unknown): boolean {
3080
- return set(this[DICTIONARY], key, value, null)
3081
- }
3082
-
3083
- get(key: string): unknown {
3084
- return get(this[DICTIONARY], key)
3085
- }
3086
-
3087
- /**
3088
- * Unset a specific key or a set of keys within a namespace when the key ends with a dot (ASCII #46).
3089
- * If the key is ".", all keys will be removed and this command works as a reset.
3090
- * @param key - name The key to be unset or a namespace.
3091
- * @returns boolean
3092
- */
3093
- unset(key: string): boolean {
3094
- return unset(this[DICTIONARY], key + '')
3095
- }
3096
-
3097
- forEach(callback: (key: string, value: unknown) => void): void {
3098
- iterate(this[DICTIONARY], callback)
3099
- }
3100
-
3101
- extend(): Settings {
3102
- return new Settings(this)
3103
- }
3104
-
3105
- /**
3106
- * Recursively import all properties from the given plain JavaScript object.
3107
- * This method has the opposite effect of the `dump` method.
3108
- * @param root - The root object whose properties will
3109
- * be imported.
3110
- */
3111
- import(root: Record<string, unknown>): void {
3112
- if (isPlainObject(root)) {
3113
- Object.keys(root).forEach((key) => {
3114
- set(this[DICTIONARY], key, root[key], null)
3115
- })
3116
- }
3117
- }
3118
-
3119
- /**
3120
- * Build a JSON representation of the current internal state of this settings
3121
- * object. The returned object can be safely passed to `JSON.stringify`
3122
- * function.
3123
- * @returns The JSON representation of the current
3124
- * state of this settings instance
3125
- */
3126
- dump(): Record<string, unknown> {
3127
- const context = {}
3128
- iterate(this[DICTIONARY], (key, value) => {
3129
- if (typeof value !== 'undefined') {
3130
- deepSet(context, key, value)
3131
- }
3132
- })
3133
- return context
3134
- }
3135
-
3136
- static assert(subject: Settings): Settings {
3137
- return subject instanceof Settings ? subject : Settings.getRuntimeSettings()
3138
- }
3139
-
3140
- static getDefaultSettings(subfield = null): Settings | any {
3141
- let defaultSettings = Settings[DEFAULT_SETTINGS]
3142
- if (!(defaultSettings instanceof Settings)) {
3143
- defaultSettings = new Settings()
3144
- Settings[DEFAULT_SETTINGS] = defaultSettings
3145
- }
3146
-
3147
- // Given subfield of 'segmentation' it will return all settings
3148
- // that starts with segmentation.*
3149
- if (subfield) {
3150
- const settingObj = {}
3151
- defaultSettings.forEach((name: string) => {
3152
- if (name.startsWith(subfield)) {
3153
- const setting = name.split(`${subfield}.`)[1]
3154
- settingObj[setting] = defaultSettings.get(name)
3155
- }
3156
- })
3157
- return settingObj
3158
- }
3159
-
3160
- return defaultSettings
3161
- }
3162
-
3163
- static getRuntimeSettings(): Settings {
3164
- let runtimeSettings = Settings[RUNTIME_SETTINGS]
3165
- if (!(runtimeSettings instanceof Settings)) {
3166
- runtimeSettings = new Settings(Settings.getDefaultSettings())
3167
- Settings[RUNTIME_SETTINGS] = runtimeSettings
3168
- }
3169
- return runtimeSettings
3170
- }
3171
-
3172
- static getObjectSettings(subject: unknown, from?: unknown): Settings {
3173
- let settings = null
3174
- if (subject instanceof Settings) {
3175
- settings = subject
3176
- } else if (typeof subject === 'object' && subject !== null) {
3177
- let objectSettingsMap = Settings[OBJECT_SETTINGS_MAP]
3178
- if (!(objectSettingsMap instanceof WeakMap)) {
3179
- objectSettingsMap = new WeakMap()
3180
- Settings[OBJECT_SETTINGS_MAP] = objectSettingsMap
3181
- }
3182
- settings = objectSettingsMap.get(subject)
3183
- if (!(settings instanceof Settings)) {
3184
- settings = new Settings(
3185
- Settings.assert(Settings.getObjectSettings(from))
3186
- )
3187
- objectSettingsMap.set(subject, settings)
3188
- }
3189
- }
3190
- return settings
3191
- }
3192
-
3193
- static extendRuntimeSettings(): Settings {
3194
- return Settings.getRuntimeSettings().extend()
3195
- }
3196
- }
3197
-
3198
- declare type SetToolBindingsType = {
3199
- bindings: IToolBinding[];
3200
- };
3201
-
3202
- declare function setToolStyle(toolName: string, style: Record<string, unknown>): boolean;
3203
-
3204
- declare type ShapeFnCriteria = (pointIJK: Types_2.Point3, pointLPS: Types_2.Point3) => boolean;
3205
-
3206
- declare type SharedToolProp = {
3207
- supportedInteractionTypes?: Array<string>;
3208
- configuration?: Record<string, any>;
3209
- };
3210
-
3211
- declare function snapFocalPointToSlice(focalPoint: Types_2.Point3, position: Types_2.Point3, scrollRange: any, viewPlaneNormal: Types_2.Point3, spacingInNormalDirection: number, deltaFrames: number): {
3212
- newFocalPoint: Types_2.Point3;
3213
- newPosition: Types_2.Point3;
3214
- };
3215
-
3216
- export declare class SphereScissorsTool extends BaseTool {
3217
- static toolName: string;
3218
- editData: {
3219
- annotation: any;
3220
- segmentation: any;
3221
- segmentIndex: number;
3222
- segmentsLocked: number[];
3223
- segmentationDataUID: string;
3224
- toolGroupId: string;
3225
- segmentColor: [number, number, number, number];
3226
- viewportIdsToRender: string[];
3227
- handleIndex?: number;
3228
- movingTextBox: boolean;
3229
- newAnnotation?: boolean;
3230
- hasMoved?: boolean;
3231
- centerCanvas?: Array<number>;
3232
- } | null;
3233
- isDrawing: boolean;
3234
- isHandleOutsideImage: boolean;
3235
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3236
- addNewAnnotation: (evt: EventTypes_2.MouseDownActivateEventType) => void;
3237
- _mouseDragCallback: (evt: EventTypes_2.MouseDragEventType) => void;
3238
- _mouseUpCallback: (evt: EventTypes_2.MouseUpEventType | EventTypes_2.MouseClickEventType) => void;
3239
- _activateDraw: (element: any) => void;
3240
- _deactivateDraw: (element: any) => void;
3241
- renderAnnotation: (enabledElement: Types_2.IEnabledElement, svgDrawingHelper: any) => void;
3242
- }
3243
-
3244
- /**
3245
- * START_NEW_IMAGE
3246
- */
3247
- declare type StackNewImageEvent = CustomEvent_2<StackNewImageEventDetail>
3248
-
3249
- /**
3250
- * STACK_NEW_IMAGE Event's data
3251
- */
3252
- declare type StackNewImageEventDetail = {
3253
- /** the new image set on the stack viewport */
3254
- image: IImage
3255
- /** the image imageId */
3256
- imageId: string
3257
- /** unique id for the viewport */
3258
- viewportId: string
3259
- /** unique id for the renderingEngine */
3260
- renderingEngineId: string
3261
- }
3262
-
3263
- export declare class StackScrollMouseWheelTool extends BaseTool {
3264
- static toolName: string;
3265
- _configuration: any;
3266
- constructor(toolProps?: {}, defaultToolProps?: {
3267
- supportedInteractionTypes: string[];
3268
- invert: boolean;
3269
- });
3270
- mouseWheelCallback(evt: MouseWheelEventType): void;
3271
- }
3272
-
3273
- export declare class StackScrollTool extends BaseTool {
3274
- static toolName: string;
3275
- touchDragCallback: () => void;
3276
- mouseDragCallback: () => void;
3277
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3278
- _dragCallback(evt: EventTypes_2.MouseDragEventType): void;
3279
- }
3280
-
3281
- declare namespace stackScrollTool {
3282
- export {
3283
- snapFocalPointToSlice,
3284
- getSliceRange,
3285
- scrollThroughStack,
3286
- _default_2 as default
3287
- }
3288
- }
3289
-
3290
- /**
3291
- * Stack Viewport Properties
3292
- */
3293
- declare type StackViewportProperties = {
3294
- /** voi range (upper, lower) for the viewport */
3295
- voiRange?: VOIRange
3296
- /** invert flag - whether the image is inverted */
3297
- invert?: boolean
3298
- /** interpolation type - linear or nearest neighbor */
3299
- interpolationType?: InterpolationType
3300
- /** image rotation */
3301
- rotation?: number
3302
- /** flip horizontal flag */
3303
- flipHorizontal?: boolean
3304
- /** flip vertical flag */
3305
- flipVertical?: boolean
3306
- }
3307
-
3308
- declare namespace state {
3309
- export {
3310
- getAnnotations,
3311
- addAnnotation,
3312
- getAnnotation,
3313
- removeAnnotation,
3314
- getViewportSpecificAnnotationManager,
3315
- getDefaultAnnotationManager
3316
- }
3317
- }
3318
-
3319
- declare namespace state_2 {
3320
- export {
3321
- getGlobalSegmentationConfig,
3322
- getSegmentationConfig,
3323
- setGlobalSegmentationConfig,
3324
- setSegmentationConfig,
3325
- addColorLUT,
3326
- getColorLut,
3327
- getGlobalSegmentationState,
3328
- getGlobalSegmentationDataByUID,
3329
- addGlobalSegmentationData,
3330
- getSegmentationState,
3331
- addSegmentationData,
3332
- removeSegmentationData,
3333
- getSegmentationDataByUID,
3334
- setActiveSegmentationData,
3335
- getActiveSegmentationData,
3336
- getToolGroupsWithSegmentation,
3337
- getToolGroups,
3338
- getDefaultSegmentationStateManager
3339
- }
3340
- }
3341
-
3342
- declare type SVGCursorDescriptor = {
3343
- iconContent: string;
3344
- iconSize: number;
3345
- viewBox: SVGPoint_2;
3346
- mousePoint: SVGPoint_2;
3347
- mousePointerGroupString: string;
3348
- };
3349
-
3350
- declare class SVGMouseCursor extends ImageMouseCursor {
3351
- constructor(url: string, x?: number, y?: number, name?: string | undefined, fallback?: MouseCursor | undefined);
3352
- static getDefinedCursor(name: string, pointer?: boolean, color?: string): MouseCursor;
3353
- }
3354
-
3355
- declare type SVGPoint_2 = {
3356
- x: number;
3357
- y: number;
3358
- };
3359
-
3360
- export declare class Synchronizer {
3361
- private _enabled;
3362
- private _eventName;
3363
- private _eventHandler;
3364
- private _ignoreFiredEvents;
3365
- private _sourceViewports;
3366
- private _targetViewports;
3367
- id: string;
3368
- constructor(synchronizerId: string, eventName: string, eventHandler: ISynchronizerEventHandler);
3369
- isDisabled(): boolean;
3370
- add(viewportInfo: Types_2.IViewportId): void;
3371
- addSource(viewportInfo: Types_2.IViewportId): void;
3372
- addTarget(viewportInfo: Types_2.IViewportId): void;
3373
- getSourceViewports(): Array<Types_2.IViewportId>;
3374
- getTargetViewports(): Array<Types_2.IViewportId>;
3375
- destroy(): void;
3376
- remove(viewportInfo: Types_2.IViewportId): void;
3377
- removeSource(viewportInfo: Types_2.IViewportId): void;
3378
- removeTarget(viewportInfo: Types_2.IViewportId): void;
3379
- hasSourceViewport(renderingEngineId: string, viewportId: string): boolean;
3380
- private fireEvent;
3381
- private _onEvent;
3382
- private _hasSourceElements;
3383
- private _updateDisableHandlers;
3384
- }
3385
-
3386
- declare namespace SynchronizerManager {
3387
- export {
3388
- createSynchronizer,
3389
- destroy_2 as destroy,
3390
- getSynchronizerById,
3391
- getSynchronizers,
3392
- getAllSynchronizers,
3393
- destroySynchronizerById
3394
- }
3395
- }
3396
- export { SynchronizerManager }
3397
-
3398
- declare namespace synchronizers {
3399
- export {
3400
- createCameraPositionSynchronizer,
3401
- createVOISynchronizer
3402
- }
3403
- }
3404
- export { synchronizers }
3405
-
3406
- declare type TextBoxHandle = {
3407
- hasMoved: boolean;
3408
- worldBoundingBox: {
3409
- bottomLeft: Types_2.Point3;
3410
- bottomRight: Types_2.Point3;
3411
- topLeft: Types_2.Point3;
3412
- topRight: Types_2.Point3;
3413
- };
3414
- worldPosition: Types_2.Point3;
3415
- };
3416
-
3417
- declare type ThresholdRangeOptions = {
3418
- higherThreshold: number;
3419
- lowerThreshold: number;
3420
- numSlicesToProject?: number;
3421
- overwrite: boolean;
3422
- };
3423
-
3424
- declare type ThresholdRoiStatsOptions = {
3425
- statistic: 'max' | 'min';
3426
- weight: number;
3427
- numSlicesToProject?: number;
3428
- overwrite: boolean;
3429
- };
3430
-
3431
- declare function thresholdVolumeByRange(toolGroupId: string, annotations: AnnotationForThresholding[], referenceVolumes: Types_2.IImageVolume[], segmentationData: ToolGroupSpecificSegmentationData, options: ThresholdRangeOptions): Types_2.IImageVolume;
3432
-
3433
- declare function thresholdVolumeByRoiStats(toolGroupId: string, annotations: AnnotationForThresholding[], referenceVolumes: Types_2.IImageVolume[], segmentationData: ToolGroupSpecificSegmentationData, options: ThresholdRoiStatsOptions): void;
3434
-
3435
- declare function throttle(func: Function, wait?: number, options?: {
3436
- leading?: boolean;
3437
- trailing?: boolean;
3438
- }): Function;
3439
-
3440
- declare type ToolBindingKeyboardType = typeof KeyboardBindings[keyof typeof KeyboardBindings];
3441
-
3442
- declare type ToolBindingMouseType = typeof MouseBindings[keyof typeof MouseBindings];
3443
-
3444
- declare namespace ToolGroupManager {
3445
- export {
3446
- createToolGroup,
3447
- destroy_3 as destroy,
3448
- destroyToolGroupByToolGroupId,
3449
- getToolGroupByToolGroupId,
3450
- getToolGroup,
3451
- getAllToolGroups
3452
- }
3453
- }
3454
- export { ToolGroupManager }
3455
-
3456
- declare type ToolGroupSpecificSegmentationData = {
3457
- volumeId: string;
3458
- segmentationDataUID: string;
3459
- active: boolean;
3460
- segmentsHidden: Set<number>;
3461
- visibility: boolean;
3462
- colorLUTIndex: number;
3463
- representation: SegmentationRepresentation;
3464
- };
3465
-
3466
- declare type ToolGroupSpecificSegmentationState = ToolGroupSpecificSegmentationData[];
3467
-
3468
- declare type ToolGroupSpecificSegmentationStateWithConfig = {
3469
- segmentations: ToolGroupSpecificSegmentationState;
3470
- config: SegmentationConfig;
3471
- };
3472
-
3473
- declare type ToolHandle = AnnotationHandle | TextBoxHandle;
3474
-
3475
- declare enum ToolModes {
3476
- Active = "Active",
3477
- Passive = "Passive",
3478
- Enabled = "Enabled",
3479
- Disabled = "Disabled"
3480
- }
3481
-
3482
- declare type ToolOptionsType = {
3483
- bindings: IToolBinding[];
3484
- mode: ToolModes;
3485
- };
3486
-
3487
- declare type ToolProps = SharedToolProp;
3488
-
3489
- /** used for CPU rendering */
3490
- declare type TransformMatrix2D = [number, number, number, number, number, number]
3491
-
3492
- declare function transformPhysicalToIndex(imageData: any, physicalPoint: any): any;
3493
-
3494
- declare function triggerAnnotationRenderForViewportIds(renderingEngine: Types_2.IRenderingEngine, viewportIdsToRender: string[]): void;
3495
-
3496
- /**
3497
- * Small utility to trigger a custom event for a given EventTarget.
3498
- *
3499
- * @example
3500
- *
3501
- * ```javascript
3502
- * triggerEvent(element, Events.IMAGE_RENDERED, { element })
3503
- * ```
3504
- * or it can trigger event on the eventTarget itself
3505
- *
3506
- * ```javascript
3507
- * triggerEvent(eventTarget, CSTOOLS_EVENTS.ANNOTATION_MODIFIED, { viewportId, annotationUID })
3508
- * ```
3509
- *
3510
- * @param el - The element or EventTarget to trigger the event upon
3511
- * @param type - The event type name
3512
- * @param detail - The event detail to be sent
3513
- * @returns false if event is cancelable and at least one of the event handlers
3514
- * which received event called Event.preventDefault(). Otherwise it returns true.
3515
- */
3516
- declare function triggerEvent(
3517
- el: EventTarget = eventTarget,
3518
- type: string,
3519
- detail: unknown = null
3520
- ): boolean {
3521
- if (!type) {
3522
- throw new Error('Event type was not defined')
3523
- }
3524
-
3525
- const event = new CustomEvent(type, {
3526
- detail,
3527
- cancelable: true,
3528
- })
3529
-
3530
- return el.dispatchEvent(event)
3531
- }
3532
-
3533
- declare function triggerSegmentationDataModified(toolGroupId: string, segmentationDataUID: string): void;
3534
-
3535
- declare namespace triggerSegmentationEvents {
3536
- export {
3537
- triggerSegmentationStateModified,
3538
- triggerSegmentationDataModified,
3539
- triggerSegmentationGlobalStateModified
3540
- }
3541
- }
3542
-
3543
- declare function triggerSegmentationGlobalStateModified(segmentationUID?: string): void;
3544
-
3545
- declare function triggerSegmentationStateModified(toolGroupId: string): void;
3546
-
3547
- declare namespace Types {
3548
- export {
3549
- Annotation,
3550
- Annotations,
3551
- FrameOfReferenceSpecificAnnotations,
3552
- AnnotationState,
3553
- PlanarBoundingBox,
3554
- ToolProps,
3555
- PublicToolProps,
3556
- EventTypes_2 as EventTypes,
3557
- IPoints,
3558
- IToolBinding,
3559
- SetToolBindingsType,
3560
- ToolOptionsType,
3561
- InteractionTypes,
3562
- IToolGroup,
3563
- ToolHandle,
3564
- AnnotationHandle,
3565
- TextBoxHandle,
3566
- SegmentationRepresentation,
3567
- LabelmapRepresentation,
3568
- Color,
3569
- ColorLUT,
3570
- RepresentationConfig,
3571
- SegmentationConfig,
3572
- GlobalSegmentationData,
3573
- GlobalSegmentationState,
3574
- GlobalSegmentationStateWithConfig,
3575
- ToolGroupSpecificSegmentationData,
3576
- ToolGroupSpecificSegmentationStateWithConfig,
3577
- ToolGroupSpecificSegmentationState,
3578
- SVGCursorDescriptor,
3579
- SVGPoint_2 as SVGPoint
3580
- }
3581
- }
3582
- export { Types }
3583
-
3584
- declare namespace Types_2 {
3585
- export {
3586
- ICamera,
3587
- IStackViewport,
3588
- IVolumeViewport,
3589
- IEnabledElement,
3590
- ICache,
3591
- IVolume,
3592
- IViewportId,
3593
- IImageVolume,
3594
- IRenderingEngine,
3595
- ScalingParameters,
3596
- PTScaling,
3597
- Scaling,
3598
- IStreamingImageVolume,
3599
- IImage,
3600
- IImageData,
3601
- CPUIImageData,
3602
- CPUImageData,
3603
- EventTypes,
3604
- ImageLoaderFn,
3605
- VolumeLoaderFn,
3606
- IRegisterImageLoader,
3607
- IStreamingVolumeProperties,
3608
- IViewport,
3609
- StackViewportProperties,
3610
- PublicViewportInput,
3611
- VolumeActor,
3612
- ActorEntry,
3613
- IImageLoadObject,
3614
- IVolumeLoadObject,
3615
- IVolumeInput,
3616
- VolumeInputCallback,
3617
- Metadata,
3618
- Orientation,
3619
- Point2,
3620
- Point3,
3621
- Point4,
3622
- Plane,
3623
- ViewportInputOptions,
3624
- VOIRange,
3625
- VOI,
3626
- FlipDirection,
3627
- ICachedImage,
3628
- ICachedVolume,
3629
- CPUFallbackEnabledElement,
3630
- CPUFallbackViewport,
3631
- CPUFallbackTransform,
3632
- CPUFallbackColormapData,
3633
- CPUFallbackViewportDisplayedArea,
3634
- CPUFallbackColormapsData,
3635
- CPUFallbackColormap,
3636
- TransformMatrix2D,
3637
- CPUFallbackLookupTable,
3638
- CPUFallbackLUT,
3639
- CPUFallbackRenderingTools,
3640
- CustomEvent_2 as CustomEventType
3641
- }
3642
- }
3643
-
3644
- declare function unlockAllAnnotations(): void;
3645
-
3646
- declare function updateGlobalRepresentationConfig(representationType: SegmentationRepresentations, config: Partial<RepresentationConfig>): void;
3647
-
3648
- declare function updateGlobalSegmentationConfig(config: Partial<SegmentationConfig>): void;
3649
-
3650
- declare namespace utilities {
3651
- export {
3652
- math,
3653
- planar,
3654
- viewportFilters,
3655
- stackScrollTool,
3656
- drawing_2 as drawing,
3657
- debounce,
3658
- deepmerge as deepMerge,
3659
- throttle,
3660
- isObject,
3661
- triggerEvent,
3662
- calibrateImageSpacing,
3663
- segmentation_2 as segmentation,
3664
- triggerAnnotationRenderForViewportIds,
3665
- pointInShapeCallback,
3666
- pointInSurroundingSphereCallback,
3667
- getAnnotationNearPoint,
3668
- getAnnotationNearPointOnEnabledElement,
3669
- transformPhysicalToIndex
3670
- }
3671
- }
3672
- export { utilities }
3673
-
3674
- declare namespace vec2 {
3675
- export {
3676
- findClosestPoint,
3677
- clip as liangBarksyClip
3678
- }
3679
- }
3680
-
3681
- declare namespace viewportFilters {
3682
- export {
3683
- filterViewportsWithToolEnabled,
3684
- filterViewportsWithFrameOfReferenceUID,
3685
- getViewportIdsWithToolToRender
3686
- }
3687
- }
3688
-
3689
- /**
3690
- * This type defines the shape of viewport input options, so we can throw when it is incorrect.
3691
- */
3692
- declare type ViewportInputOptions = {
3693
- /** background color */
3694
- background?: [number, number, number]
3695
- /** orientation of the viewport - Axial, Coronal, Sagittal */
3696
- orientation?: Orientation
3697
- /** whether the events should be suppressed and not fired*/
3698
- suppressEvents?: boolean
3699
- }
3700
-
3701
- declare type ViewportInputs = Array<Types_2.IViewportId>;
3702
-
3703
- /**
3704
- * ViewportType enum for cornerstone-render which defines the type of viewport.
3705
- * It can be either STACK, PERSPECTIVE, ORTHOGRAPHIC.
3706
- */
3707
- declare enum ViewportType {
3708
- /**
3709
- * - Suitable for rendering a stack of images, that might or might not belong to the same image.
3710
- * - Stack can include 2D images of different shapes, size and direction
3711
- */
3712
- STACK = 'stack',
3713
- /**
3714
- * - Suitable for rendering a volumetric data which is considered as one 3D image.
3715
- * - Having a VolumeViewport enables Multi-planar reformation or reconstruction (MPR) by design, in which you can visualize the volume from various different orientations without addition of performance costs.
3716
- */
3717
- ORTHOGRAPHIC = 'orthographic',
3718
- /** Perspective Viewport: Not Implemented yet */
3719
- PERSPECTIVE = 'perspective',
3720
- }
3721
-
3722
- declare type VOI = {
3723
- /** Window Width for display */
3724
- windowWidth: number
3725
- /** Window Center for display */
3726
- windowCenter: number
3727
- }
3728
-
3729
- /**
3730
- * VOI_MODIFIED Event type
3731
- */
3732
- declare type VoiModifiedEvent = CustomEvent_2<VoiModifiedEventDetail>
3733
-
3734
- /**
3735
- * VOI_MODIFIED Event's data
3736
- */
3737
- declare type VoiModifiedEventDetail = {
3738
- /** Viewport Unique ID in the renderingEngine */
3739
- viewportId: string
3740
- /** Unique ID for the volume in the cache */
3741
- volumeId: string
3742
- /** new VOI range */
3743
- range: VOIRange
3744
- }
3745
-
3746
- declare type VOIRange = {
3747
- /** upper value for display */
3748
- upper: number
3749
- /** lower value for display */
3750
- lower: number
3751
- }
3752
-
3753
- /** volume actor which is vtkVolume */
3754
- declare type VolumeActor = vtkVolume
3755
-
3756
- /**
3757
- * VOLUME_CACHE_VOLUME_ADDED Event type
3758
- */
3759
- declare type VolumeCacheVolumeAddedEvent =
3760
- CustomEvent_2<VolumeCacheVolumeAddedEventDetail>
3761
-
3762
- /**
3763
- * VOLUME_CACHE_VOLUME_ADDED Event's data
3764
- */
3765
- declare type VolumeCacheVolumeAddedEventDetail = {
3766
- /** the added volume */
3767
- volume: ICachedVolume
3768
- }
3769
-
3770
- /**
3771
- * VOLUME_CACHE_VOLUME_REMOVED Event type
3772
- */
3773
- declare type VolumeCacheVolumeRemovedEvent =
3774
- CustomEvent_2<VolumeCacheVolumeRemovedEventDetail>
3775
-
3776
- /**
3777
- * VOLUME_CACHE_VOLUME_REMOVED Event's data
3778
- */
3779
- declare type VolumeCacheVolumeRemovedEventDetail = {
3780
- /** the removed volume id */
3781
- volumeId: string
3782
- }
3783
-
3784
- /**
3785
- * Volume input callback type, used to perform operations on the volume data
3786
- * after it has been loaded.
3787
- */
3788
- declare type VolumeInputCallback = (params: {
3789
- /** vtk volume actor */
3790
- volumeActor: VolumeActor
3791
- /** unique volume Id in the cache */
3792
- volumeId: string
3793
- }) => unknown
3794
-
3795
- /**
3796
- * VOLUME_LOADED Event type
3797
- */
3798
- declare type VolumeLoadedEvent = CustomEvent_2<VolumeLoadedEventDetail>
3799
-
3800
- /**
3801
- * VOLUME_LOADED Event's data
3802
- */
3803
- declare type VolumeLoadedEventDetail = {
3804
- /** the loaded volume */
3805
- volume: IImageVolume
3806
- }
3807
-
3808
- /**
3809
- * VOLUME_LOADED_FAILED Event type
3810
- */
3811
- declare type VolumeLoadedFailedEvent = CustomEvent_2<VolumeLoadedFailedEventDetail>
3812
-
3813
- /**
3814
- * VOLUME_LOADED_FAILED Event's data
3815
- */
3816
- declare type VolumeLoadedFailedEventDetail = {
3817
- /** the volumeId for the volume */
3818
- volumeId: string
3819
- error: unknown
3820
- }
3821
-
3822
- /**
3823
- * Any volumeLoader function should implement a loading given the volumeId
3824
- * and returns a mandatory promise which will resolve to the loaded volume object.
3825
- * Additional `cancelFn` and `decache` can be implemented.
3826
- */
3827
- declare type VolumeLoaderFn = (
3828
- volumeId: string,
3829
- options?: Record<string, any>
3830
- ) => {
3831
- /** promise that resolves to the volume object */
3832
- promise: Promise<Record<string, any>>
3833
- /** cancel function */
3834
- cancelFn?: () => void | undefined
3835
- /** decache function */
3836
- decache?: () => void | undefined
3837
- }
3838
-
3839
- export declare class VolumeRotateMouseWheelTool extends BaseTool {
3840
- static toolName: string;
3841
- _configuration: any;
3842
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3843
- mouseWheelCallback(evt: MouseWheelEventType): void;
3844
- }
3845
-
3846
- export declare class WindowLevelTool extends BaseTool {
3847
- static toolName: string;
3848
- touchDragCallback: () => void;
3849
- mouseDragCallback: () => void;
3850
- constructor(toolProps?: {}, defaultToolProps?: {
3851
- supportedInteractionTypes: string[];
3852
- });
3853
- _dragCallback(evt: any): void;
3854
- getPTNewRange({ deltaPointsCanvas, lower, upper, clientHeight }: {
3855
- deltaPointsCanvas: any;
3856
- lower: any;
3857
- upper: any;
3858
- clientHeight: any;
3859
- }): {
3860
- lower: any;
3861
- upper: any;
3862
- };
3863
- getNewRange({ deltaPointsCanvas, useDynamicRange, volumeId, lower, upper }: {
3864
- deltaPointsCanvas: any;
3865
- useDynamicRange: any;
3866
- volumeId: any;
3867
- lower: any;
3868
- upper: any;
3869
- }): {
3870
- lower: number;
3871
- upper: number;
3872
- };
3873
- _getMultiplyerFromDynamicRange(volumeId: any): number;
3874
- _getImageDynamicRange: (volumeId: string) => number;
3875
- }
3876
-
3877
- export declare class ZoomTool extends BaseTool {
3878
- static toolName: string;
3879
- touchDragCallback: () => void;
3880
- mouseDragCallback: () => void;
3881
- constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
3882
- _dragCallback(evt: any): void;
3883
- _dragParallelProjection: (evt: any, camera: any) => void;
3884
- _dragPerspectiveProjection: (evt: any, camera: any) => void;
3885
- }
3886
-
3887
- export { }