@cornerstonejs/tools 1.43.6 → 1.44.0

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 (260) hide show
  1. package/dist/cjs/index.d.ts +2 -2
  2. package/dist/cjs/index.js +5 -2
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +3 -1
  5. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +7 -2
  6. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  7. package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.d.ts +2 -1
  8. package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js +23 -9
  9. package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
  10. package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +14 -1
  11. package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -1
  12. package/dist/cjs/tools/annotation/AngleTool.js +4 -3
  13. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  14. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +4 -3
  15. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  16. package/dist/cjs/tools/annotation/BidirectionalTool.js +4 -4
  17. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  18. package/dist/cjs/tools/annotation/CircleROITool.js +4 -3
  19. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  20. package/dist/cjs/tools/annotation/CobbAngleTool.js +4 -3
  21. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  22. package/dist/cjs/tools/annotation/DragProbeTool.js +4 -1
  23. package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
  24. package/dist/cjs/tools/annotation/EllipticalROITool.js +4 -3
  25. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  26. package/dist/cjs/tools/annotation/KeyImageTool.js +4 -1
  27. package/dist/cjs/tools/annotation/KeyImageTool.js.map +1 -1
  28. package/dist/cjs/tools/annotation/LengthTool.js +4 -4
  29. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  30. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.d.ts +6 -0
  31. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js +14 -0
  32. package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js.map +1 -0
  33. package/dist/cjs/tools/annotation/LivewireContourTool.d.ts +14 -5
  34. package/dist/cjs/tools/annotation/LivewireContourTool.js +126 -159
  35. package/dist/cjs/tools/annotation/LivewireContourTool.js.map +1 -1
  36. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +8 -0
  37. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js +24 -0
  38. package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -0
  39. package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +16 -6
  40. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +104 -134
  41. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  42. package/dist/cjs/tools/annotation/ProbeTool.js +1 -1
  43. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  44. package/dist/cjs/tools/annotation/RectangleROITool.js +4 -3
  45. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  46. package/dist/cjs/tools/annotation/SplineContourSegmentationTool.d.ts +8 -0
  47. package/dist/cjs/tools/annotation/SplineContourSegmentationTool.js +23 -0
  48. package/dist/cjs/tools/annotation/SplineContourSegmentationTool.js.map +1 -0
  49. package/dist/cjs/tools/annotation/SplineROITool.d.ts +15 -8
  50. package/dist/cjs/tools/annotation/SplineROITool.js +168 -240
  51. package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -1
  52. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +5 -5
  53. package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  54. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +4 -4
  55. package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  56. package/dist/cjs/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +1 -1
  57. package/dist/cjs/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js.map +1 -1
  58. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +7 -7
  59. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  60. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  61. package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
  62. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js +19 -15
  63. package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  64. package/dist/cjs/tools/base/AnnotationTool.d.ts +15 -0
  65. package/dist/cjs/tools/base/AnnotationTool.js +24 -0
  66. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  67. package/dist/cjs/tools/base/ContourBaseTool.d.ts +19 -0
  68. package/dist/cjs/tools/base/ContourBaseTool.js +130 -0
  69. package/dist/cjs/tools/base/ContourBaseTool.js.map +1 -0
  70. package/dist/cjs/tools/base/ContourSegmentationBaseTool.d.ts +18 -0
  71. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +139 -0
  72. package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -0
  73. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +1 -0
  74. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  75. package/dist/cjs/tools/index.d.ts +4 -1
  76. package/dist/cjs/tools/index.js +7 -1
  77. package/dist/cjs/tools/index.js.map +1 -1
  78. package/dist/cjs/types/ContourAnnotation.d.ts +11 -0
  79. package/dist/cjs/types/ContourAnnotation.js +3 -0
  80. package/dist/cjs/types/ContourAnnotation.js.map +1 -0
  81. package/dist/cjs/types/ContourSegmentationAnnotation.d.ts +11 -0
  82. package/dist/cjs/types/ContourSegmentationAnnotation.js +3 -0
  83. package/dist/cjs/types/ContourSegmentationAnnotation.js.map +1 -0
  84. package/dist/cjs/types/ContourTypes.d.ts +4 -1
  85. package/dist/cjs/types/SegmentationStateTypes.d.ts +1 -1
  86. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +11 -52
  87. package/dist/cjs/types/index.d.ts +3 -1
  88. package/dist/cjs/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
  89. package/dist/cjs/utilities/pointInSurroundingSphereCallback.d.ts +4 -0
  90. package/dist/cjs/utilities/pointInSurroundingSphereCallback.js +70 -0
  91. package/dist/cjs/utilities/pointInSurroundingSphereCallback.js.map +1 -0
  92. package/dist/esm/index.js +2 -2
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +7 -2
  95. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  96. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +20 -7
  97. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
  98. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +13 -1
  99. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -1
  100. package/dist/esm/tools/annotation/AngleTool.js +4 -3
  101. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  102. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +4 -3
  103. package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  104. package/dist/esm/tools/annotation/BidirectionalTool.js +4 -4
  105. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  106. package/dist/esm/tools/annotation/CircleROITool.js +4 -3
  107. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  108. package/dist/esm/tools/annotation/CobbAngleTool.js +4 -3
  109. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  110. package/dist/esm/tools/annotation/DragProbeTool.js +4 -1
  111. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  112. package/dist/esm/tools/annotation/EllipticalROITool.js +4 -3
  113. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  114. package/dist/esm/tools/annotation/KeyImageTool.js +4 -1
  115. package/dist/esm/tools/annotation/KeyImageTool.js.map +1 -1
  116. package/dist/esm/tools/annotation/LengthTool.js +4 -4
  117. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  118. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js +9 -0
  119. package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js.map +1 -0
  120. package/dist/esm/tools/annotation/LivewireContourTool.js +123 -160
  121. package/dist/esm/tools/annotation/LivewireContourTool.js.map +1 -1
  122. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +19 -0
  123. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -0
  124. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +104 -134
  125. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  126. package/dist/esm/tools/annotation/ProbeTool.js +1 -1
  127. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  128. package/dist/esm/tools/annotation/RectangleROITool.js +4 -3
  129. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  130. package/dist/esm/tools/annotation/SplineContourSegmentationTool.js +18 -0
  131. package/dist/esm/tools/annotation/SplineContourSegmentationTool.js.map +1 -0
  132. package/dist/esm/tools/annotation/SplineROITool.js +153 -227
  133. package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
  134. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +5 -5
  135. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
  136. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +4 -4
  137. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
  138. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +1 -1
  139. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js.map +1 -1
  140. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +7 -7
  141. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
  142. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  143. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
  144. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +19 -15
  145. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
  146. package/dist/esm/tools/base/AnnotationTool.js +24 -0
  147. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  148. package/dist/esm/tools/base/ContourBaseTool.js +122 -0
  149. package/dist/esm/tools/base/ContourBaseTool.js.map +1 -0
  150. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +131 -0
  151. package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -0
  152. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +1 -0
  153. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  154. package/dist/esm/tools/index.js +4 -1
  155. package/dist/esm/tools/index.js.map +1 -1
  156. package/dist/esm/types/ContourAnnotation.js +2 -0
  157. package/dist/esm/types/ContourAnnotation.js.map +1 -0
  158. package/dist/esm/types/ContourSegmentationAnnotation.js +2 -0
  159. package/dist/esm/types/ContourSegmentationAnnotation.js.map +1 -0
  160. package/dist/esm/utilities/pointInSurroundingSphereCallback.js +64 -0
  161. package/dist/esm/utilities/pointInSurroundingSphereCallback.js.map +1 -0
  162. package/dist/types/index.d.ts +2 -2
  163. package/dist/types/index.d.ts.map +1 -1
  164. package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts +3 -1
  165. package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts.map +1 -1
  166. package/dist/types/stateManagement/segmentation/config/segmentationVisibility.d.ts +2 -1
  167. package/dist/types/stateManagement/segmentation/config/segmentationVisibility.d.ts.map +1 -1
  168. package/dist/types/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts.map +1 -1
  169. package/dist/types/tools/annotation/AngleTool.d.ts.map +1 -1
  170. package/dist/types/tools/annotation/ArrowAnnotateTool.d.ts.map +1 -1
  171. package/dist/types/tools/annotation/CircleROITool.d.ts.map +1 -1
  172. package/dist/types/tools/annotation/CobbAngleTool.d.ts.map +1 -1
  173. package/dist/types/tools/annotation/DragProbeTool.d.ts.map +1 -1
  174. package/dist/types/tools/annotation/EllipticalROITool.d.ts.map +1 -1
  175. package/dist/types/tools/annotation/KeyImageTool.d.ts.map +1 -1
  176. package/dist/types/tools/annotation/LengthTool.d.ts.map +1 -1
  177. package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts +7 -0
  178. package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts.map +1 -0
  179. package/dist/types/tools/annotation/LivewireContourTool.d.ts +14 -5
  180. package/dist/types/tools/annotation/LivewireContourTool.d.ts.map +1 -1
  181. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +9 -0
  182. package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts.map +1 -0
  183. package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts +16 -6
  184. package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
  185. package/dist/types/tools/annotation/RectangleROITool.d.ts.map +1 -1
  186. package/dist/types/tools/annotation/SplineContourSegmentationTool.d.ts +9 -0
  187. package/dist/types/tools/annotation/SplineContourSegmentationTool.d.ts.map +1 -0
  188. package/dist/types/tools/annotation/SplineROITool.d.ts +15 -8
  189. package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -1
  190. package/dist/types/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts.map +1 -1
  191. package/dist/types/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts.map +1 -1
  192. package/dist/types/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts.map +1 -1
  193. package/dist/types/tools/annotation/planarFreehandROITool/openContourEndEditLoop.d.ts.map +1 -1
  194. package/dist/types/tools/annotation/planarFreehandROITool/renderMethods.d.ts.map +1 -1
  195. package/dist/types/tools/base/AnnotationTool.d.ts +15 -0
  196. package/dist/types/tools/base/AnnotationTool.d.ts.map +1 -1
  197. package/dist/types/tools/base/ContourBaseTool.d.ts +20 -0
  198. package/dist/types/tools/base/ContourBaseTool.d.ts.map +1 -0
  199. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts +19 -0
  200. package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -0
  201. package/dist/types/tools/displayTools/Contour/contourDisplay.d.ts.map +1 -1
  202. package/dist/types/tools/index.d.ts +4 -1
  203. package/dist/types/tools/index.d.ts.map +1 -1
  204. package/dist/types/types/ContourAnnotation.d.ts +12 -0
  205. package/dist/types/types/ContourAnnotation.d.ts.map +1 -0
  206. package/dist/types/types/ContourSegmentationAnnotation.d.ts +12 -0
  207. package/dist/types/types/ContourSegmentationAnnotation.d.ts.map +1 -0
  208. package/dist/types/types/ContourTypes.d.ts +4 -1
  209. package/dist/types/types/ContourTypes.d.ts.map +1 -1
  210. package/dist/types/types/SegmentationStateTypes.d.ts +1 -1
  211. package/dist/types/types/SegmentationStateTypes.d.ts.map +1 -1
  212. package/dist/types/types/ToolSpecificAnnotationTypes.d.ts +11 -52
  213. package/dist/types/types/ToolSpecificAnnotationTypes.d.ts.map +1 -1
  214. package/dist/types/types/index.d.ts +3 -1
  215. package/dist/types/types/index.d.ts.map +1 -1
  216. package/dist/types/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
  217. package/dist/types/utilities/pointInSurroundingSphereCallback.d.ts +5 -0
  218. package/dist/types/utilities/pointInSurroundingSphereCallback.d.ts.map +1 -0
  219. package/dist/umd/index.js +1 -1
  220. package/dist/umd/index.js.map +1 -1
  221. package/package.json +3 -3
  222. package/src/index.ts +6 -0
  223. package/src/stateManagement/segmentation/SegmentationStateManager.ts +11 -2
  224. package/src/stateManagement/segmentation/config/segmentationVisibility.ts +52 -6
  225. package/src/stateManagement/segmentation/helpers/normalizeSegmentationInput.ts +27 -1
  226. package/src/tools/annotation/AngleTool.ts +4 -3
  227. package/src/tools/annotation/ArrowAnnotateTool.ts +4 -3
  228. package/src/tools/annotation/BidirectionalTool.ts +4 -4
  229. package/src/tools/annotation/CircleROITool.ts +4 -3
  230. package/src/tools/annotation/CobbAngleTool.ts +4 -3
  231. package/src/tools/annotation/DragProbeTool.ts +4 -1
  232. package/src/tools/annotation/EllipticalROITool.ts +4 -3
  233. package/src/tools/annotation/KeyImageTool.ts +4 -1
  234. package/src/tools/annotation/LengthTool.ts +4 -5
  235. package/src/tools/annotation/LivewireContourSegmentationTool.ts +13 -0
  236. package/src/tools/annotation/LivewireContourTool.ts +75 -150
  237. package/src/tools/annotation/PlanarFreehandContourSegmentationTool.ts +30 -0
  238. package/src/tools/annotation/PlanarFreehandROITool.ts +153 -187
  239. package/src/tools/annotation/ProbeTool.ts +1 -1
  240. package/src/tools/annotation/RectangleROITool.ts +4 -3
  241. package/src/tools/annotation/SplineContourSegmentationTool.ts +28 -0
  242. package/src/tools/annotation/SplineROITool.ts +172 -282
  243. package/src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts +7 -5
  244. package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +4 -4
  245. package/src/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.ts +3 -1
  246. package/src/tools/annotation/planarFreehandROITool/openContourEditLoop.ts +12 -9
  247. package/src/tools/annotation/planarFreehandROITool/openContourEndEditLoop.ts +5 -2
  248. package/src/tools/annotation/planarFreehandROITool/renderMethods.ts +19 -14
  249. package/src/tools/base/AnnotationTool.ts +35 -0
  250. package/src/tools/base/ContourBaseTool.ts +226 -0
  251. package/src/tools/base/ContourSegmentationBaseTool.ts +276 -0
  252. package/src/tools/displayTools/Contour/contourDisplay.ts +1 -0
  253. package/src/tools/index.ts +6 -0
  254. package/src/types/ContourAnnotation.ts +13 -0
  255. package/src/types/ContourSegmentationAnnotation.ts +14 -0
  256. package/src/types/ContourTypes.ts +8 -1
  257. package/src/types/SegmentationStateTypes.ts +1 -1
  258. package/src/types/ToolSpecificAnnotationTypes.ts +17 -53
  259. package/src/types/index.ts +12 -0
  260. package/src/utilities/pointInSurroundingSphereCallback.ts +188 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import { Annotation, ContourAnnotation, EventTypes, PublicToolProps, ToolProps, SVGDrawingHelper } from '../../types';
3
+ import AnnotationTool from './AnnotationTool';
4
+ declare abstract class ContourBaseTool extends AnnotationTool {
5
+ constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps);
6
+ renderAnnotation(enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper): boolean;
7
+ protected createAnnotation(evt: EventTypes.InteractionEventType): Annotation;
8
+ protected addAnnotation(annotation: Annotation, element: HTMLDivElement): string;
9
+ protected cancelAnnotation(annotation: Annotation): void;
10
+ protected getPolylinePoints(annotation: ContourAnnotation): Types.Point3[];
11
+ protected renderAnnotationInstance(renderContext: {
12
+ enabledElement: Types.IEnabledElement;
13
+ targetId: string;
14
+ annotation: Annotation;
15
+ annotationStyle: Record<string, any>;
16
+ svgDrawingHelper: SVGDrawingHelper;
17
+ }): boolean;
18
+ }
19
+ export { ContourBaseTool as default, ContourBaseTool };
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ContourBaseTool = exports.default = void 0;
7
+ const core_1 = require("@cornerstonejs/core");
8
+ const annotationState_1 = require("../../stateManagement/annotation/annotationState");
9
+ const drawingSvg_1 = require("../../drawingSvg");
10
+ const AnnotationTool_1 = __importDefault(require("./AnnotationTool"));
11
+ class ContourBaseTool extends AnnotationTool_1.default {
12
+ constructor(toolProps, defaultToolProps) {
13
+ super(toolProps, defaultToolProps);
14
+ }
15
+ renderAnnotation(enabledElement, svgDrawingHelper) {
16
+ let renderStatus = false;
17
+ const { viewport } = enabledElement;
18
+ const { element } = viewport;
19
+ if (!viewport.getRenderingEngine()) {
20
+ console.warn('Rendering Engine has been destroyed');
21
+ return renderStatus;
22
+ }
23
+ let annotations = (0, annotationState_1.getAnnotations)(this.getToolName(), element);
24
+ if (!(annotations === null || annotations === void 0 ? void 0 : annotations.length)) {
25
+ return renderStatus;
26
+ }
27
+ annotations = this.filterInteractableAnnotationsForElement(element, annotations);
28
+ if (!(annotations === null || annotations === void 0 ? void 0 : annotations.length)) {
29
+ return renderStatus;
30
+ }
31
+ const targetId = this.getTargetId(viewport);
32
+ const styleSpecifier = {
33
+ toolGroupId: this.toolGroupId,
34
+ toolName: this.getToolName(),
35
+ viewportId: enabledElement.viewport.id,
36
+ };
37
+ for (let i = 0; i < annotations.length; i++) {
38
+ const annotation = annotations[i];
39
+ styleSpecifier.annotationUID = annotation.annotationUID;
40
+ const annotationStyle = this.getAnnotationStyle({
41
+ annotation,
42
+ styleSpecifier,
43
+ });
44
+ if (!annotationStyle.visibility) {
45
+ continue;
46
+ }
47
+ const annotationRendered = this.renderAnnotationInstance({
48
+ enabledElement,
49
+ targetId,
50
+ annotation,
51
+ annotationStyle,
52
+ svgDrawingHelper,
53
+ });
54
+ renderStatus || (renderStatus = annotationRendered);
55
+ annotation.invalidated = false;
56
+ }
57
+ return renderStatus;
58
+ }
59
+ createAnnotation(evt) {
60
+ const eventDetail = evt.detail;
61
+ const { currentPoints, element } = eventDetail;
62
+ const { world: worldPos } = currentPoints;
63
+ const enabledElement = (0, core_1.getEnabledElement)(element);
64
+ const { viewport } = enabledElement;
65
+ const camera = viewport.getCamera();
66
+ const { viewPlaneNormal, viewUp } = camera;
67
+ const referencedImageId = this.getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp);
68
+ const FrameOfReferenceUID = viewport.getFrameOfReferenceUID();
69
+ return {
70
+ highlighted: true,
71
+ invalidated: true,
72
+ metadata: {
73
+ toolName: this.getToolName(),
74
+ viewPlaneNormal: [...viewPlaneNormal],
75
+ viewUp: [...viewUp],
76
+ FrameOfReferenceUID,
77
+ referencedImageId,
78
+ },
79
+ data: {
80
+ handles: {
81
+ points: [],
82
+ activeHandleIndex: null,
83
+ textBox: {
84
+ hasMoved: false,
85
+ worldPosition: [0, 0, 0],
86
+ worldBoundingBox: {
87
+ topLeft: [0, 0, 0],
88
+ topRight: [0, 0, 0],
89
+ bottomLeft: [0, 0, 0],
90
+ bottomRight: [0, 0, 0],
91
+ },
92
+ },
93
+ },
94
+ contour: {
95
+ polyline: [],
96
+ closed: false,
97
+ },
98
+ },
99
+ };
100
+ }
101
+ addAnnotation(annotation, element) {
102
+ return (0, annotationState_1.addAnnotation)(annotation, element);
103
+ }
104
+ cancelAnnotation(annotation) {
105
+ }
106
+ getPolylinePoints(annotation) {
107
+ var _a, _b;
108
+ return (_b = (_a = annotation.data.contour) === null || _a === void 0 ? void 0 : _a.polyline) !== null && _b !== void 0 ? _b : annotation.data.polyline;
109
+ }
110
+ renderAnnotationInstance(renderContext) {
111
+ const { enabledElement, annotationStyle, svgDrawingHelper } = renderContext;
112
+ const annotation = renderContext.annotation;
113
+ const { annotationUID } = annotation;
114
+ const { viewport } = enabledElement;
115
+ const { worldToCanvas } = viewport;
116
+ const polylineCanvasPoints = this.getPolylinePoints(annotation).map((point) => worldToCanvas(point));
117
+ const { lineWidth, lineDash, color, fillColor, fillOpacity } = annotationStyle;
118
+ (0, drawingSvg_1.drawPolyline)(svgDrawingHelper, annotationUID, 'contourPolyline', polylineCanvasPoints, {
119
+ color,
120
+ lineDash,
121
+ lineWidth: Math.max(0.1, lineWidth),
122
+ fillColor: fillColor,
123
+ fillOpacity,
124
+ });
125
+ return true;
126
+ }
127
+ }
128
+ exports.default = ContourBaseTool;
129
+ exports.ContourBaseTool = ContourBaseTool;
130
+ //# sourceMappingURL=ContourBaseTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContourBaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/ContourBaseTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Annotation, EventTypes, PublicToolProps, ToolProps } from '../../types';
2
+ import { StyleSpecifier } from '../../types/AnnotationStyle';
3
+ import ContourBaseTool from './ContourBaseTool';
4
+ declare abstract class ContourSegmentationBaseTool extends ContourBaseTool {
5
+ constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps);
6
+ protected isContourSegmentationTool(): boolean;
7
+ protected createAnnotation(evt: EventTypes.InteractionEventType): Annotation;
8
+ protected addAnnotation(annotation: Annotation, element: HTMLDivElement): string;
9
+ protected cancelAnnotation(annotation: Annotation): void;
10
+ protected getAnnotationStyle(context: {
11
+ annotation: Annotation;
12
+ styleSpecifier: StyleSpecifier;
13
+ }): any;
14
+ private _getContourSegmentationStyle;
15
+ private _registerContourSegmentationAnnotation;
16
+ private _unregisterContourSegmentationAnnotation;
17
+ }
18
+ export { ContourSegmentationBaseTool as default, ContourSegmentationBaseTool };
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ContourSegmentationBaseTool = exports.default = void 0;
7
+ const core_1 = require("@cornerstonejs/core");
8
+ const segmentation_1 = require("../../stateManagement/segmentation");
9
+ const enums_1 = require("../../enums");
10
+ const ContourBaseTool_1 = __importDefault(require("./ContourBaseTool"));
11
+ class ContourSegmentationBaseTool extends ContourBaseTool_1.default {
12
+ constructor(toolProps, defaultToolProps) {
13
+ super(toolProps, defaultToolProps);
14
+ }
15
+ isContourSegmentationTool() {
16
+ return true;
17
+ }
18
+ createAnnotation(evt) {
19
+ const { toolGroupId } = this;
20
+ const contourAnnotation = super.createAnnotation(evt);
21
+ if (!this.isContourSegmentationTool()) {
22
+ return contourAnnotation;
23
+ }
24
+ const activeSegmentationRepresentation = segmentation_1.activeSegmentation.getActiveSegmentationRepresentation(toolGroupId);
25
+ if (!activeSegmentationRepresentation) {
26
+ throw new Error('No active segmentation detected, create one before using scissors tool');
27
+ }
28
+ const { type: segmentationType } = activeSegmentationRepresentation;
29
+ if (segmentationType !== enums_1.SegmentationRepresentations.Contour) {
30
+ throw new Error(`A contour segmentation must be active`);
31
+ }
32
+ const { segmentationId, segmentationRepresentationUID } = activeSegmentationRepresentation;
33
+ const segmentIndex = segmentation_1.segmentIndex.getActiveSegmentIndex(segmentationId);
34
+ return core_1.utilities.deepMerge(contourAnnotation, {
35
+ data: {
36
+ segmentation: {
37
+ segmentationId,
38
+ segmentIndex,
39
+ segmentationRepresentationUID,
40
+ },
41
+ },
42
+ });
43
+ }
44
+ addAnnotation(annotation, element) {
45
+ const annotationUID = super.addAnnotation(annotation, element);
46
+ if (this.isContourSegmentationTool()) {
47
+ this._registerContourSegmentationAnnotation(annotation);
48
+ }
49
+ return annotationUID;
50
+ }
51
+ cancelAnnotation(annotation) {
52
+ if (this.isContourSegmentationTool()) {
53
+ this._unregisterContourSegmentationAnnotation(annotation);
54
+ }
55
+ super.cancelAnnotation(annotation);
56
+ }
57
+ getAnnotationStyle(context) {
58
+ const annotationStyle = super.getAnnotationStyle(context);
59
+ if (!this.isContourSegmentationTool()) {
60
+ return annotationStyle;
61
+ }
62
+ const contourSegmentationStyle = this._getContourSegmentationStyle(context);
63
+ return core_1.utilities.deepMerge(annotationStyle, contourSegmentationStyle);
64
+ }
65
+ _getContourSegmentationStyle(context) {
66
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
67
+ const { toolGroupId } = this;
68
+ const annotation = context.annotation;
69
+ const { segmentationRepresentationUID, segmentationId, segmentIndex } = annotation.data.segmentation;
70
+ const segmentationRepresentation = segmentation_1.state.getSegmentationRepresentationByUID(toolGroupId, segmentationRepresentationUID);
71
+ const { active } = segmentationRepresentation;
72
+ const segmentsLocked = segmentation_1.segmentLocking.getLockedSegments(segmentationId);
73
+ const annotationLocked = segmentsLocked.includes(segmentIndex);
74
+ const segmentColor = segmentation_1.config.color.getColorForSegmentIndex(toolGroupId, segmentationRepresentationUID, segmentIndex);
75
+ const segmentationVisible = segmentation_1.config.visibility.getSegmentationVisibility(toolGroupId, segmentationRepresentationUID);
76
+ const globalConfig = segmentation_1.config.getGlobalConfig();
77
+ const toolGroupConfig = segmentation_1.config.getToolGroupSpecificConfig(toolGroupId);
78
+ const segmentationRepresentationConfig = segmentation_1.config.getSegmentationRepresentationSpecificConfig(toolGroupId, segmentationRepresentationUID);
79
+ const segmentConfig = segmentation_1.config.getSegmentSpecificConfig(toolGroupId, segmentationRepresentationUID, segmentIndex);
80
+ const segmentVisible = segmentation_1.config.visibility.getSegmentVisibility(toolGroupId, segmentationRepresentationUID, segmentIndex);
81
+ const mergedConfig = Object.assign({}, (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.representations) === null || _a === void 0 ? void 0 : _a.CONTOUR) !== null && _b !== void 0 ? _b : {}, (_d = (_c = toolGroupConfig === null || toolGroupConfig === void 0 ? void 0 : toolGroupConfig.representations) === null || _c === void 0 ? void 0 : _c.CONTOUR) !== null && _d !== void 0 ? _d : {}, (_e = segmentationRepresentationConfig === null || segmentationRepresentationConfig === void 0 ? void 0 : segmentationRepresentationConfig.CONTOUR) !== null && _e !== void 0 ? _e : {}, (_f = segmentConfig === null || segmentConfig === void 0 ? void 0 : segmentConfig.CONTOUR) !== null && _f !== void 0 ? _f : {});
82
+ let lineWidth = 1;
83
+ let lineDash = undefined;
84
+ let lineOpacity = 1;
85
+ let fillOpacity = 0;
86
+ if (active) {
87
+ lineWidth = (_g = mergedConfig.outlineWidthActive) !== null && _g !== void 0 ? _g : lineWidth;
88
+ lineDash = (_h = mergedConfig.outlineDashActive) !== null && _h !== void 0 ? _h : lineDash;
89
+ lineOpacity = (_j = mergedConfig.outlineOpacity) !== null && _j !== void 0 ? _j : lineOpacity;
90
+ fillOpacity = (_k = mergedConfig.fillAlpha) !== null && _k !== void 0 ? _k : fillOpacity;
91
+ }
92
+ else {
93
+ lineWidth = (_l = mergedConfig.outlineWidthInactive) !== null && _l !== void 0 ? _l : lineWidth;
94
+ lineDash = (_m = mergedConfig.outlineDashInactive) !== null && _m !== void 0 ? _m : lineDash;
95
+ lineOpacity = (_o = mergedConfig.outlineOpacityInactive) !== null && _o !== void 0 ? _o : lineOpacity;
96
+ fillOpacity = (_p = mergedConfig.fillAlphaInactive) !== null && _p !== void 0 ? _p : fillOpacity;
97
+ }
98
+ lineWidth = mergedConfig.renderOutline ? lineWidth : 0;
99
+ fillOpacity = mergedConfig.renderFill ? fillOpacity : 0;
100
+ const color = `rgba(${segmentColor[0]}, ${segmentColor[1]}, ${segmentColor[2]}, ${lineOpacity})`;
101
+ const fillColor = `rgb(${segmentColor[0]}, ${segmentColor[1]}, ${segmentColor[2]})`;
102
+ return {
103
+ color,
104
+ fillColor,
105
+ lineWidth,
106
+ fillOpacity,
107
+ lineDash,
108
+ textbox: {
109
+ color,
110
+ },
111
+ visibility: segmentationVisible && segmentVisible,
112
+ locked: annotationLocked,
113
+ };
114
+ }
115
+ _registerContourSegmentationAnnotation(annotation) {
116
+ const { segmentationId, segmentIndex } = annotation.data.segmentation;
117
+ const segmentation = segmentation_1.state.getSegmentation(segmentationId);
118
+ const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
119
+ let annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
120
+ if (!annotationsUIDsSet) {
121
+ annotationsUIDsSet = new Set();
122
+ annotationUIDsMap.set(segmentIndex, annotationsUIDsSet);
123
+ }
124
+ annotationsUIDsSet.add(annotation.annotationUID);
125
+ }
126
+ _unregisterContourSegmentationAnnotation(annotation) {
127
+ const { segmentationId, segmentIndex } = annotation.data.segmentation;
128
+ const segmentation = segmentation_1.state.getSegmentation(segmentationId);
129
+ const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
130
+ const annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
131
+ annotationsUIDsSet.delete(annotation.annotationUID);
132
+ if (!annotationsUIDsSet.size) {
133
+ annotationUIDsMap.delete(segmentIndex);
134
+ }
135
+ }
136
+ }
137
+ exports.default = ContourSegmentationBaseTool;
138
+ exports.ContourSegmentationBaseTool = ContourSegmentationBaseTool;
139
+ //# sourceMappingURL=ContourSegmentationBaseTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContourSegmentationBaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/ContourSegmentationBaseTool.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ function render(viewport, representationConfig, toolGroupConfig) {
65
65
  }
66
66
  if (!(geometryIds === null || geometryIds === void 0 ? void 0 : geometryIds.length)) {
67
67
  console.warn(`No contours found for segmentationId ${segmentationId}. Skipping render.`);
68
+ return;
68
69
  }
69
70
  (0, addOrUpdateContourSets_1.addOrUpdateContourSets)(viewport, geometryIds, representationConfig, toolGroupConfig);
70
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAI6B;AAE7B,6GAAyE;AACzE,2GAA6F;AAC7F,sEAA+D;AAK/D,qEAAkE;AAClE,0FAAkE;AAClE,6DAAyD;AAYzD,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,oCAAoC,CAClC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,IAAA,sCAAiB,EAAC,6BAA6B,CAAC,CAAC;IAEjD,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAQD,SAAe,MAAM,CACnB,QAA+B,EAC/B,oBAAqD,EACrD,eAAiD;;QAEjD,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;QAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,qCAAe,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAIpC,IAAI,QAAQ,YAAY,oBAAa,EAAE;YACrC,OAAO;SACR;QAED,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,wCAAwC,cAAc,oBAAoB,CAC3E,CAAC;SACH;QAGD,IAAA,+CAAsB,EACpB,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,eAAe,CAChB,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,6BAAqC;IAErC,MAAM,SAAS,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,CAAC;KAC7E;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEpC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;QACvD,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;QACF,IAAA,kCAAwB,EACtB,cAAc,CAAC,QAAQ,CAAC,OAAO,EAC/B,6BAA6B,CAC9B,CAAC;KACH;AACH,CAAC;AAED,kBAAe;IACb,MAAM;IACN,gCAAgC;CACjC,CAAC"}
1
+ {"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAI6B;AAE7B,6GAAyE;AACzE,2GAA6F;AAC7F,sEAA+D;AAK/D,qEAAkE;AAClE,0FAAkE;AAClE,6DAAyD;AAYzD,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,oCAAoC,CAClC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,IAAA,sCAAiB,EAAC,6BAA6B,CAAC,CAAC;IAEjD,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAQD,SAAe,MAAM,CACnB,QAA+B,EAC/B,oBAAqD,EACrD,eAAiD;;QAEjD,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;QAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,qCAAe,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAIpC,IAAI,QAAQ,YAAY,oBAAa,EAAE;YACrC,OAAO;SACR;QAED,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,wCAAwC,cAAc,oBAAoB,CAC3E,CAAC;YACF,OAAO;SACR;QAGD,IAAA,+CAAsB,EACpB,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,eAAe,CAChB,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,6BAAqC;IAErC,MAAM,SAAS,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,CAAC;KAC7E;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEpC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;QACvD,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;QACF,IAAA,kCAAwB,EACtB,cAAc,CAAC,QAAQ,CAAC,OAAO,EAC/B,6BAA6B,CAC9B,CAAC;KACH;AACH,CAAC;AAED,kBAAe;IACb,MAAM;IACN,gCAAgC;CACjC,CAAC"}
@@ -25,8 +25,11 @@ import RectangleROITool from './annotation/RectangleROITool';
25
25
  import EllipticalROITool from './annotation/EllipticalROITool';
26
26
  import CircleROITool from './annotation/CircleROITool';
27
27
  import SplineROITool from './annotation/SplineROITool';
28
+ import SplineContourSegmentationTool from './annotation/SplineContourSegmentationTool';
28
29
  import PlanarFreehandROITool from './annotation/PlanarFreehandROITool';
30
+ import PlanarFreehandContourSegmentationTool from './annotation/PlanarFreehandContourSegmentationTool';
29
31
  import LivewireContourTool from './annotation/LivewireContourTool';
32
+ import LivewireContourSegmentationTool from './annotation/LivewireContourSegmentationTool';
30
33
  import ArrowAnnotateTool from './annotation/ArrowAnnotateTool';
31
34
  import AngleTool from './annotation/AngleTool';
32
35
  import CobbAngleTool from './annotation/CobbAngleTool';
@@ -42,4 +45,4 @@ import BrushTool from './segmentation/BrushTool';
42
45
  import PaintFillTool from './segmentation/PaintFillTool';
43
46
  import OrientationMarkerTool from './OrientationMarkerTool';
44
47
  import SegmentSelectTool from './segmentation/SegmentSelectTool';
45
- export { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, PlanarRotateTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, ReferenceCursors, CrosshairsTool, ReferenceLinesTool, OverlayGridTool, SegmentationIntersectionTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, PlanarFreehandROITool, LivewireContourTool, ArrowAnnotateTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, KeyImageTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, AdvancedMagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, OrientationMarkerTool, SegmentSelectTool, };
48
+ export { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, PlanarRotateTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, ReferenceCursors, CrosshairsTool, ReferenceLinesTool, OverlayGridTool, SegmentationIntersectionTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, PlanarFreehandROITool, PlanarFreehandContourSegmentationTool, LivewireContourTool, LivewireContourSegmentationTool, ArrowAnnotateTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, KeyImageTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SplineContourSegmentationTool, BrushTool, MagnifyTool, AdvancedMagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, OrientationMarkerTool, SegmentSelectTool, };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SegmentSelectTool = exports.OrientationMarkerTool = exports.ScaleOverlayTool = exports.PaintFillTool = exports.ReferenceLines = exports.AdvancedMagnifyTool = exports.MagnifyTool = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.KeyImageTool = exports.UltrasoundDirectionalTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.LivewireContourTool = exports.PlanarFreehandROITool = exports.SplineROITool = exports.CircleROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.SegmentationIntersectionTool = exports.OverlayGridTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.ReferenceCursors = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.PlanarRotateTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationDisplayTool = exports.AnnotationTool = exports.BaseTool = void 0;
6
+ exports.SegmentSelectTool = exports.OrientationMarkerTool = exports.ScaleOverlayTool = exports.PaintFillTool = exports.ReferenceLines = exports.AdvancedMagnifyTool = exports.MagnifyTool = exports.BrushTool = exports.SplineContourSegmentationTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.KeyImageTool = exports.UltrasoundDirectionalTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.LivewireContourSegmentationTool = exports.LivewireContourTool = exports.PlanarFreehandContourSegmentationTool = exports.PlanarFreehandROITool = exports.SplineROITool = exports.CircleROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.SegmentationIntersectionTool = exports.OverlayGridTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.ReferenceCursors = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.PlanarRotateTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationDisplayTool = exports.AnnotationTool = exports.BaseTool = void 0;
7
7
  const base_1 = require("./base");
8
8
  Object.defineProperty(exports, "BaseTool", { enumerable: true, get: function () { return base_1.BaseTool; } });
9
9
  Object.defineProperty(exports, "AnnotationTool", { enumerable: true, get: function () { return base_1.AnnotationTool; } });
@@ -60,10 +60,16 @@ const CircleROITool_1 = __importDefault(require("./annotation/CircleROITool"));
60
60
  exports.CircleROITool = CircleROITool_1.default;
61
61
  const SplineROITool_1 = __importDefault(require("./annotation/SplineROITool"));
62
62
  exports.SplineROITool = SplineROITool_1.default;
63
+ const SplineContourSegmentationTool_1 = __importDefault(require("./annotation/SplineContourSegmentationTool"));
64
+ exports.SplineContourSegmentationTool = SplineContourSegmentationTool_1.default;
63
65
  const PlanarFreehandROITool_1 = __importDefault(require("./annotation/PlanarFreehandROITool"));
64
66
  exports.PlanarFreehandROITool = PlanarFreehandROITool_1.default;
67
+ const PlanarFreehandContourSegmentationTool_1 = __importDefault(require("./annotation/PlanarFreehandContourSegmentationTool"));
68
+ exports.PlanarFreehandContourSegmentationTool = PlanarFreehandContourSegmentationTool_1.default;
65
69
  const LivewireContourTool_1 = __importDefault(require("./annotation/LivewireContourTool"));
66
70
  exports.LivewireContourTool = LivewireContourTool_1.default;
71
+ const LivewireContourSegmentationTool_1 = __importDefault(require("./annotation/LivewireContourSegmentationTool"));
72
+ exports.LivewireContourSegmentationTool = LivewireContourSegmentationTool_1.default;
67
73
  const ArrowAnnotateTool_1 = __importDefault(require("./annotation/ArrowAnnotateTool"));
68
74
  exports.ArrowAnnotateTool = ArrowAnnotateTool_1.default;
69
75
  const AngleTool_1 = __importDefault(require("./annotation/AngleTool"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAyE;AAqDvE,yFArDO,eAAQ,OAqDP;AACR,+FAtDiB,qBAAc,OAsDjB;AACd,sGAvDiC,4BAAqB,OAuDjC;AAtDvB,wDAAgC;AAwD9B,kBAxDK,iBAAO,CAwDL;AAvDT,gFAAwD;AAwDtD,8BAxDK,6BAAmB,CAwDL;AAvDrB,wEAAgD;AAyD9C,0BAzDK,yBAAe,CAyDL;AAxDjB,wEAAgD;AAyD9C,0BAzDK,yBAAe,CAyDL;AAxDjB,0EAAkD;AAyDhD,2BAzDK,0BAAgB,CAyDL;AAxDlB,oGAAwE;AAyDtE,oCAzDK,uCAAyB,CAyDL;AAxD3B,0DAAkC;AAyDhC,mBAzDK,kBAAQ,CAyDL;AAxDV,8FAAsE;AAyDpE,qCAzDK,oCAA0B,CAyDL;AAxD5B,8EAAsD;AAyDpD,6BAzDK,4BAAkB,CAyDL;AAxDpB,sEAA8C;AA2D5C,yBA3DK,wBAAc,CA2DL;AA1DhB,gEAAwC;AAqFtC,sBArFK,qBAAW,CAqFL;AApFb,gFAAwD;AAqFtD,8BArFK,6BAAmB,CAqFL;AApFrB,8EAAsD;AAyDpD,6BAzDK,4BAAkB,CAyDL;AAxDpB,wEAAgD;AAyD9C,0BAzDK,yBAAe,CAyDL;AAxDjB,kGAA0E;AAyDxE,uCAzDK,sCAA4B,CAyDL;AAxD9B,0EAAkD;AAmDhD,2BAnDK,0BAAgB,CAmDL;AAlDlB,8EAAkD;AAiFhD,yBAjFK,4BAAc,CAiFL;AAhFhB,0EAAkD;AAkFhD,2BAlFK,0BAAgB,CAkFL;AA/ElB,uFAA+D;AAoD7D,4BApDK,2BAAiB,CAoDL;AAnDnB,yEAAiD;AAoD/C,qBApDK,oBAAU,CAoDL;AAnDZ,uEAA+C;AAoD7C,oBApDK,mBAAS,CAoDL;AAnDX,+EAAuD;AAmCrD,wBAnCK,uBAAa,CAmCL;AAlCf,qFAA6D;AAmD3D,2BAnDK,0BAAgB,CAmDL;AAlDlB,uFAA+D;AAmD7D,4BAnDK,2BAAiB,CAmDL;AAlDnB,+EAAuD;AAmDrD,wBAnDK,uBAAa,CAmDL;AAlDf,+EAAuD;AAmDrD,wBAnDK,uBAAa,CAmDL;AAlDf,+FAAuE;AAmDrE,gCAnDK,+BAAqB,CAmDL;AAlDvB,2FAAmE;AAmDjE,8BAnDK,6BAAmB,CAmDL;AAlDrB,uFAA+D;AAmD7D,4BAnDK,2BAAiB,CAmDL;AAlDnB,uEAA+C;AAmD7C,oBAnDK,mBAAS,CAmDL;AAlDX,+EAAuD;AAmDrD,wBAnDK,uBAAa,CAmDL;AAlDf,uGAA+E;AAmD7E,oCAnDK,mCAAyB,CAmDL;AAlD3B,6EAAqD;AAmDnD,uBAnDK,sBAAY,CAmDL;AAhDd,qGAA6E;AAkD3E,kCAlDK,iCAAuB,CAkDL;AA/CzB,iGAAyE;AAiDvE,gCAjDK,+BAAqB,CAiDL;AAhDvB,2FAAmE;AAiDjE,6BAjDK,4BAAkB,CAiDL;AAhDpB,2FAAmE;AAiDjE,6BAjDK,4BAAkB,CAiDL;AAhDpB,yGAAiF;AAiD/E,oCAjDK,mCAAyB,CAiDL;AAhD3B,yHAAiG;AAiD/F,4CAjDK,2CAAiC,CAiDL;AAhDnC,yEAAiD;AAiD/C,oBAjDK,mBAAS,CAiDL;AAhDX,iFAAyD;AAoDvD,wBApDK,uBAAa,CAoDL;AAnDf,oFAA4D;AAqD1D,gCArDK,+BAAqB,CAqDL;AApDvB,yFAAiE;AAqD/D,4BArDK,2BAAiB,CAqDL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAyE;AAwDvE,yFAxDO,eAAQ,OAwDP;AACR,+FAzDiB,qBAAc,OAyDjB;AACd,sGA1DiC,4BAAqB,OA0DjC;AAzDvB,wDAAgC;AA2D9B,kBA3DK,iBAAO,CA2DL;AA1DT,gFAAwD;AA2DtD,8BA3DK,6BAAmB,CA2DL;AA1DrB,wEAAgD;AA4D9C,0BA5DK,yBAAe,CA4DL;AA3DjB,wEAAgD;AA4D9C,0BA5DK,yBAAe,CA4DL;AA3DjB,0EAAkD;AA4DhD,2BA5DK,0BAAgB,CA4DL;AA3DlB,oGAAwE;AA4DtE,oCA5DK,uCAAyB,CA4DL;AA3D3B,0DAAkC;AA4DhC,mBA5DK,kBAAQ,CA4DL;AA3DV,8FAAsE;AA4DpE,qCA5DK,oCAA0B,CA4DL;AA3D5B,8EAAsD;AA4DpD,6BA5DK,4BAAkB,CA4DL;AA3DpB,sEAA8C;AA8D5C,yBA9DK,wBAAc,CA8DL;AA7DhB,gEAAwC;AA2FtC,sBA3FK,qBAAW,CA2FL;AA1Fb,gFAAwD;AA2FtD,8BA3FK,6BAAmB,CA2FL;AA1FrB,8EAAsD;AA4DpD,6BA5DK,4BAAkB,CA4DL;AA3DpB,wEAAgD;AA4D9C,0BA5DK,yBAAe,CA4DL;AA3DjB,kGAA0E;AA4DxE,uCA5DK,sCAA4B,CA4DL;AA3D9B,0EAAkD;AAsDhD,2BAtDK,0BAAgB,CAsDL;AArDlB,8EAAkD;AAuFhD,yBAvFK,4BAAc,CAuFL;AAtFhB,0EAAkD;AAwFhD,2BAxFK,0BAAgB,CAwFL;AArFlB,uFAA+D;AAuD7D,4BAvDK,2BAAiB,CAuDL;AAtDnB,yEAAiD;AAuD/C,qBAvDK,oBAAU,CAuDL;AAtDZ,uEAA+C;AAuD7C,oBAvDK,mBAAS,CAuDL;AAtDX,+EAAuD;AAsCrD,wBAtCK,uBAAa,CAsCL;AArCf,qFAA6D;AAsD3D,2BAtDK,0BAAgB,CAsDL;AArDlB,uFAA+D;AAsD7D,4BAtDK,2BAAiB,CAsDL;AArDnB,+EAAuD;AAsDrD,wBAtDK,uBAAa,CAsDL;AArDf,+EAAuD;AAsDrD,wBAtDK,uBAAa,CAsDL;AArDf,+GAAuF;AAuErF,wCAvEK,uCAA6B,CAuEL;AAtE/B,+FAAuE;AAqDrE,gCArDK,+BAAqB,CAqDL;AApDvB,+HAAuG;AAqDrG,gDArDK,+CAAqC,CAqDL;AApDvC,2FAAmE;AAqDjE,8BArDK,6BAAmB,CAqDL;AApDrB,mHAA2F;AAqDzF,0CArDK,yCAA+B,CAqDL;AApDjC,uFAA+D;AAqD7D,4BArDK,2BAAiB,CAqDL;AApDnB,uEAA+C;AAqD7C,oBArDK,mBAAS,CAqDL;AApDX,+EAAuD;AAqDrD,wBArDK,uBAAa,CAqDL;AApDf,uGAA+E;AAqD7E,oCArDK,mCAAyB,CAqDL;AApD3B,6EAAqD;AAqDnD,uBArDK,sBAAY,CAqDL;AAlDd,qGAA6E;AAoD3E,kCApDK,iCAAuB,CAoDL;AAjDzB,iGAAyE;AAmDvE,gCAnDK,+BAAqB,CAmDL;AAlDvB,2FAAmE;AAmDjE,6BAnDK,4BAAkB,CAmDL;AAlDpB,2FAAmE;AAmDjE,6BAnDK,4BAAkB,CAmDL;AAlDpB,yGAAiF;AAmD/E,oCAnDK,mCAAyB,CAmDL;AAlD3B,yHAAiG;AAmD/F,4CAnDK,2CAAiC,CAmDL;AAlDnC,yEAAiD;AAoD/C,oBApDK,mBAAS,CAoDL;AAnDX,iFAAyD;AAuDvD,wBAvDK,uBAAa,CAuDL;AAtDf,oFAA4D;AAwD1D,gCAxDK,+BAAqB,CAwDL;AAvDvB,yFAAiE;AAwD/D,4BAxDK,2BAAiB,CAwDL"}
@@ -0,0 +1,11 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import { Annotation } from './AnnotationTypes';
3
+ export declare type ContourAnnotationData = {
4
+ data: {
5
+ contour: {
6
+ polyline: Types.Point3[];
7
+ closed: boolean;
8
+ };
9
+ };
10
+ };
11
+ export declare type ContourAnnotation = Annotation & ContourAnnotationData;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ContourAnnotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContourAnnotation.js","sourceRoot":"","sources":["../../../src/types/ContourAnnotation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { ContourAnnotation } from './ContourAnnotation';
2
+ export declare type ContourSegmentationAnnotationData = {
3
+ data: {
4
+ segmentation: {
5
+ segmentationId: string;
6
+ segmentIndex: number;
7
+ segmentationRepresentationUID: string;
8
+ };
9
+ };
10
+ };
11
+ export declare type ContourSegmentationAnnotation = ContourAnnotation & ContourSegmentationAnnotationData;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ContourSegmentationAnnotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../src/types/ContourSegmentationAnnotation.ts"],"names":[],"mappings":""}
@@ -3,6 +3,8 @@ export declare type ContourConfig = {
3
3
  outlineWidthInactive?: number;
4
4
  outlineOpacity?: number;
5
5
  outlineOpacityInactive?: number;
6
+ outlineDashActive?: string;
7
+ outlineDashInactive?: string;
6
8
  renderOutline?: boolean;
7
9
  renderFill?: boolean;
8
10
  fillAlpha?: number;
@@ -10,5 +12,6 @@ export declare type ContourConfig = {
10
12
  };
11
13
  export declare type ContourRenderingConfig = {};
12
14
  export declare type ContourSegmentationData = {
13
- geometryIds: string[];
15
+ geometryIds?: string[];
16
+ annotationUIDsMap?: Map<number, Set<string>>;
14
17
  };
@@ -74,7 +74,7 @@ export declare type SegmentationPublicInput = {
74
74
  segmentationId: string;
75
75
  representation: {
76
76
  type: Enums.SegmentationRepresentations;
77
- data: LabelmapSegmentationData | ContourSegmentationData | SurfaceSegmentationData;
77
+ data?: LabelmapSegmentationData | ContourSegmentationData | SurfaceSegmentationData;
78
78
  };
79
79
  };
80
80
  export declare type RepresentationPublicInput = {
@@ -1,6 +1,8 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
2
  import { Annotation } from './AnnotationTypes';
3
3
  import { ISpline } from './';
4
+ import { ContourSegmentationAnnotationData } from './ContourSegmentationAnnotation';
5
+ import { ContourAnnotation } from './ContourAnnotation';
4
6
  interface ROICachedStats {
5
7
  [targetId: string]: {
6
8
  Modality: string;
@@ -111,29 +113,13 @@ export interface CircleROIAnnotation extends Annotation {
111
113
  };
112
114
  };
113
115
  }
114
- export interface SplineROIAnnotation extends Annotation {
116
+ export declare type SplineROIAnnotation = ContourAnnotation & {
115
117
  data: {
116
118
  label?: string;
117
- handles: {
118
- points: Types.Point3[];
119
- activeHandleIndex: number | null;
120
- textBox?: {
121
- hasMoved: boolean;
122
- worldPosition: Types.Point3;
123
- worldBoundingBox: {
124
- topLeft: Types.Point3;
125
- topRight: Types.Point3;
126
- bottomLeft: Types.Point3;
127
- bottomRight: Types.Point3;
128
- };
129
- };
130
- };
131
119
  spline: {
132
120
  type: string;
133
121
  instance: ISpline;
134
122
  resolution: number;
135
- polyline: Types.Point3[];
136
- closed: boolean;
137
123
  };
138
124
  cachedStats?: {
139
125
  [targetId: string]: {
@@ -143,17 +129,14 @@ export interface SplineROIAnnotation extends Annotation {
143
129
  };
144
130
  };
145
131
  };
146
- }
147
- export interface LivewireContourAnnotation extends Annotation {
132
+ };
133
+ export declare type SplineContourSegmentationAnnotation = SplineROIAnnotation & ContourSegmentationAnnotationData;
134
+ export declare type LivewireContourAnnotation = ContourAnnotation & {
148
135
  data: {
149
- polyline: Types.Point3[];
150
136
  label?: string;
151
- handles: {
152
- points: Types.Point3[];
153
- activeHandleIndex: number | null;
154
- };
155
137
  };
156
- }
138
+ };
139
+ export declare type LivewireContourSegmentationAnnotation = LivewireContourAnnotation & ContourSegmentationAnnotationData;
157
140
  export interface EllipticalROIAnnotation extends Annotation {
158
141
  data: {
159
142
  handles: {
@@ -250,40 +233,16 @@ export interface RectangleROIStartEndThresholdAnnotation extends Annotation {
250
233
  };
251
234
  };
252
235
  }
253
- export interface PlanarFreehandROIAnnotation extends Annotation {
254
- metadata: {
255
- cameraPosition?: Types.Point3;
256
- cameraFocalPoint?: Types.Point3;
257
- viewPlaneNormal?: Types.Point3;
258
- viewUp?: Types.Point3;
259
- annotationUID?: string;
260
- FrameOfReferenceUID: string;
261
- referencedImageId?: string;
262
- toolName: string;
263
- };
236
+ export declare type PlanarFreehandROIAnnotation = ContourAnnotation & {
264
237
  data: {
265
- polyline: Types.Point3[];
266
238
  label?: string;
267
239
  isOpenContour?: boolean;
268
240
  isOpenUShapeContour?: boolean;
269
241
  openUShapeContourVectorToPeak?: Types.Point3[];
270
- handles: {
271
- points: Types.Point3[];
272
- activeHandleIndex: number | null;
273
- textBox: {
274
- hasMoved: boolean;
275
- worldPosition: Types.Point3;
276
- worldBoundingBox: {
277
- topLeft: Types.Point3;
278
- topRight: Types.Point3;
279
- bottomLeft: Types.Point3;
280
- bottomRight: Types.Point3;
281
- };
282
- };
283
- };
284
242
  cachedStats?: ROICachedStats;
285
243
  };
286
- }
244
+ };
245
+ export declare type PlanarFreehandContourSegmentationAnnotation = PlanarFreehandROIAnnotation & ContourSegmentationAnnotationData;
287
246
  export interface ArrowAnnotation extends Annotation {
288
247
  data: {
289
248
  text: string;