@cornerstonejs/tools 0.47.0 → 0.49.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 (139) hide show
  1. package/dist/cjs/init.js +1 -1
  2. package/dist/cjs/init.js.map +1 -1
  3. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +14 -16
  4. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +98 -90
  5. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  6. package/dist/cjs/stateManagement/annotation/annotationState.d.ts +11 -10
  7. package/dist/cjs/stateManagement/annotation/annotationState.js +40 -45
  8. package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
  9. package/dist/cjs/stateManagement/annotation/helpers/state.d.ts +4 -0
  10. package/dist/cjs/stateManagement/annotation/helpers/state.js +49 -0
  11. package/dist/cjs/stateManagement/annotation/helpers/state.js.map +1 -0
  12. package/dist/cjs/stateManagement/index.d.ts +4 -3
  13. package/dist/cjs/stateManagement/index.js +4 -3
  14. package/dist/cjs/stateManagement/index.js.map +1 -1
  15. package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +3 -0
  16. package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js +23 -0
  17. package/dist/cjs/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -0
  18. package/dist/cjs/store/ToolGroupManager/index.d.ts +2 -1
  19. package/dist/cjs/store/ToolGroupManager/index.js +3 -1
  20. package/dist/cjs/store/ToolGroupManager/index.js.map +1 -1
  21. package/dist/cjs/store/filterToolsWithAnnotationsForElement.js +2 -2
  22. package/dist/cjs/store/filterToolsWithAnnotationsForElement.js.map +1 -1
  23. package/dist/cjs/store/removeEnabledElement.js +1 -1
  24. package/dist/cjs/store/removeEnabledElement.js.map +1 -1
  25. package/dist/cjs/tools/CrosshairsTool.d.ts +1 -0
  26. package/dist/cjs/tools/CrosshairsTool.js +19 -17
  27. package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
  28. package/dist/cjs/tools/ReferenceCursors.d.ts +0 -1
  29. package/dist/cjs/tools/ReferenceCursors.js +10 -12
  30. package/dist/cjs/tools/ReferenceCursors.js.map +1 -1
  31. package/dist/cjs/tools/ReferenceLinesTool.js +3 -2
  32. package/dist/cjs/tools/ReferenceLinesTool.js.map +1 -1
  33. package/dist/cjs/tools/ScaleOverlayTool.js +7 -8
  34. package/dist/cjs/tools/ScaleOverlayTool.js.map +1 -1
  35. package/dist/cjs/tools/annotation/AngleTool.js +5 -4
  36. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  37. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +8 -7
  38. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  39. package/dist/cjs/tools/annotation/BidirectionalTool.js +5 -4
  40. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  41. package/dist/cjs/tools/annotation/CobbAngleTool.js +5 -4
  42. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  43. package/dist/cjs/tools/annotation/EllipticalROITool.js +5 -4
  44. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  45. package/dist/cjs/tools/annotation/LengthTool.js +5 -4
  46. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  47. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +4 -3
  48. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  49. package/dist/cjs/tools/annotation/ProbeTool.js +5 -4
  50. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  51. package/dist/cjs/tools/annotation/RectangleROITool.js +5 -4
  52. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  53. package/dist/cjs/tools/base/AnnotationDisplayTool.js +2 -2
  54. package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
  55. package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js +5 -4
  56. package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
  57. package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js +4 -3
  58. package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
  59. package/dist/cjs/types/AnnotationGroupSelector.d.ts +2 -0
  60. package/dist/cjs/types/AnnotationGroupSelector.js +3 -0
  61. package/dist/cjs/types/AnnotationGroupSelector.js.map +1 -0
  62. package/dist/cjs/types/AnnotationTypes.d.ts +4 -4
  63. package/dist/cjs/types/IAnnotationManager.d.ts +14 -0
  64. package/dist/cjs/types/IAnnotationManager.js +3 -0
  65. package/dist/cjs/types/IAnnotationManager.js.map +1 -0
  66. package/dist/cjs/types/index.d.ts +4 -2
  67. package/dist/cjs/utilities/getAnnotationNearPoint.js +5 -4
  68. package/dist/cjs/utilities/getAnnotationNearPoint.js.map +1 -1
  69. package/dist/esm/init.js +2 -2
  70. package/dist/esm/init.js.map +1 -1
  71. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +14 -16
  72. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +100 -91
  73. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  74. package/dist/esm/stateManagement/annotation/annotationState.d.ts +11 -10
  75. package/dist/esm/stateManagement/annotation/annotationState.js +38 -44
  76. package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
  77. package/dist/esm/stateManagement/annotation/helpers/state.d.ts +4 -0
  78. package/dist/esm/stateManagement/annotation/helpers/state.js +45 -0
  79. package/dist/esm/stateManagement/annotation/helpers/state.js.map +1 -0
  80. package/dist/esm/stateManagement/index.d.ts +4 -3
  81. package/dist/esm/stateManagement/index.js +2 -2
  82. package/dist/esm/stateManagement/index.js.map +1 -1
  83. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +3 -0
  84. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +21 -0
  85. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js.map +1 -0
  86. package/dist/esm/store/ToolGroupManager/index.d.ts +2 -1
  87. package/dist/esm/store/ToolGroupManager/index.js +2 -1
  88. package/dist/esm/store/ToolGroupManager/index.js.map +1 -1
  89. package/dist/esm/store/filterToolsWithAnnotationsForElement.js +2 -2
  90. package/dist/esm/store/filterToolsWithAnnotationsForElement.js.map +1 -1
  91. package/dist/esm/store/removeEnabledElement.js +1 -1
  92. package/dist/esm/store/removeEnabledElement.js.map +1 -1
  93. package/dist/esm/tools/CrosshairsTool.d.ts +1 -0
  94. package/dist/esm/tools/CrosshairsTool.js +19 -17
  95. package/dist/esm/tools/CrosshairsTool.js.map +1 -1
  96. package/dist/esm/tools/ReferenceCursors.d.ts +0 -1
  97. package/dist/esm/tools/ReferenceCursors.js +10 -12
  98. package/dist/esm/tools/ReferenceCursors.js.map +1 -1
  99. package/dist/esm/tools/ReferenceLinesTool.js +3 -2
  100. package/dist/esm/tools/ReferenceLinesTool.js.map +1 -1
  101. package/dist/esm/tools/ScaleOverlayTool.js +7 -8
  102. package/dist/esm/tools/ScaleOverlayTool.js.map +1 -1
  103. package/dist/esm/tools/annotation/AngleTool.js +5 -4
  104. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  105. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +8 -7
  106. package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  107. package/dist/esm/tools/annotation/BidirectionalTool.js +5 -4
  108. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  109. package/dist/esm/tools/annotation/CobbAngleTool.js +5 -4
  110. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  111. package/dist/esm/tools/annotation/EllipticalROITool.js +5 -4
  112. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  113. package/dist/esm/tools/annotation/LengthTool.js +5 -4
  114. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  115. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +4 -3
  116. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  117. package/dist/esm/tools/annotation/ProbeTool.js +5 -4
  118. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  119. package/dist/esm/tools/annotation/RectangleROITool.js +5 -4
  120. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  121. package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -3
  122. package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
  123. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +5 -4
  124. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
  125. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +4 -3
  126. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
  127. package/dist/esm/types/AnnotationGroupSelector.d.ts +2 -0
  128. package/dist/esm/types/AnnotationGroupSelector.js +2 -0
  129. package/dist/esm/types/AnnotationGroupSelector.js.map +1 -0
  130. package/dist/esm/types/AnnotationTypes.d.ts +4 -4
  131. package/dist/esm/types/IAnnotationManager.d.ts +14 -0
  132. package/dist/esm/types/IAnnotationManager.js +2 -0
  133. package/dist/esm/types/IAnnotationManager.js.map +1 -0
  134. package/dist/esm/types/index.d.ts +4 -2
  135. package/dist/esm/utilities/getAnnotationNearPoint.js +3 -2
  136. package/dist/esm/utilities/getAnnotationNearPoint.js.map +1 -1
  137. package/dist/umd/index.js +1 -1
  138. package/dist/umd/index.js.map +1 -1
  139. package/package.json +3 -3
package/dist/cjs/init.js CHANGED
@@ -47,7 +47,7 @@ function destroy() {
47
47
  _removeCornerstoneToolsEventListeners();
48
48
  ToolGroupManager.destroy();
49
49
  (0, state_1.resetCornerstoneToolsState)();
50
- const annotationManager = (0, annotationState_1.getDefaultAnnotationManager)();
50
+ const annotationManager = (0, annotationState_1.getAnnotationManager)();
51
51
  const segmentationStateManager = (0, segmentationState_1.getDefaultSegmentationStateManager)();
52
52
  annotationManager.restoreAnnotations({});
53
53
  segmentationStateManager.resetState();
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,24 @@
1
- import { Annotation, Annotations, FrameOfReferenceSpecificAnnotations, AnnotationState } from '../../types/AnnotationTypes';
1
+ import { Annotation, Annotations, AnnotationState, GroupSpecificAnnotations } from '../../types/AnnotationTypes';
2
+ import { AnnotationGroupSelector, IAnnotationManager } from '../../types';
2
3
  import { Types } from '@cornerstonejs/core';
3
- interface FilterInterface {
4
- FrameOfReferenceUID?: string;
5
- toolName?: string;
6
- }
7
- export default class FrameOfReferenceSpecificAnnotationManager {
4
+ declare class FrameOfReferenceSpecificAnnotationManager implements IAnnotationManager {
8
5
  private annotations;
9
6
  readonly uid: string;
10
7
  constructor(uid?: string);
8
+ getGroupKey: (annotationGroupSelector: AnnotationGroupSelector) => string;
11
9
  _imageVolumeModifiedHandler: (evt: Types.EventTypes.ImageVolumeModifiedEvent) => void;
12
10
  getFramesOfReference: () => Array<string>;
13
- getFrameOfReferenceAnnotations: (FrameOfReferenceUID: string) => FrameOfReferenceSpecificAnnotations;
14
- get: (FrameOfReferenceUID: string, toolName: string) => Annotations | undefined;
15
- getAnnotation: (annotationUID: string, filter?: FilterInterface) => Annotation | undefined;
16
- getNumberOfAnnotationsInFrameOfReference: (toolName: string, frameOfReferenceUID: string) => number;
17
- getNumberOfAnnotations: (toolName: string, frameOfReferenceUID?: string) => number;
18
- addAnnotation: (annotation: Annotation) => void;
19
- removeAnnotation: (annotationUID: string, filter?: FilterInterface) => void;
20
- saveAnnotations: (FrameOfReferenceUID?: string, toolName?: string) => AnnotationState | FrameOfReferenceSpecificAnnotations | Annotations;
21
- restoreAnnotations: (state: AnnotationState | FrameOfReferenceSpecificAnnotations | Annotations, FrameOfReferenceUID?: string, toolName?: string) => void;
11
+ getAnnotations: (groupKey: string, toolName?: string) => GroupSpecificAnnotations | Annotations;
12
+ getAnnotation: (annotationUID: string) => Annotation | undefined;
13
+ getNumberOfAnnotations: (groupKey: string, toolName?: string) => number;
14
+ addAnnotation: (annotation: Annotation, groupKey?: string) => void;
15
+ removeAnnotation: (annotationUID: string) => void;
16
+ removeAnnotations: (groupKey: string, toolName?: string) => void;
17
+ saveAnnotations: (groupKey?: string, toolName?: string) => AnnotationState | GroupSpecificAnnotations | Annotations;
18
+ restoreAnnotations: (state: AnnotationState | GroupSpecificAnnotations | Annotations, groupKey?: string, toolName?: string) => void;
19
+ getNumberOfAllAnnotations: () => number;
22
20
  removeAllAnnotations: () => void;
23
- private _getToolSpecificAnnotationsAndIndex;
24
21
  }
25
22
  declare const defaultFrameOfReferenceSpecificAnnotationManager: FrameOfReferenceSpecificAnnotationManager;
26
23
  export { defaultFrameOfReferenceSpecificAnnotationManager };
24
+ export default FrameOfReferenceSpecificAnnotationManager;
@@ -10,6 +10,17 @@ const annotationLocking_1 = require("./annotationLocking");
10
10
  const annotationVisibility_1 = require("./annotationVisibility");
11
11
  class FrameOfReferenceSpecificAnnotationManager {
12
12
  constructor(uid) {
13
+ this.getGroupKey = (annotationGroupSelector) => {
14
+ if (typeof annotationGroupSelector === 'string') {
15
+ return annotationGroupSelector;
16
+ }
17
+ const element = annotationGroupSelector;
18
+ const enabledElement = (0, core_1.getEnabledElement)(element);
19
+ if (!enabledElement) {
20
+ throw new Error('Element not enabled, you must have an enabled element if you are not providing a FrameOfReferenceUID');
21
+ }
22
+ return enabledElement.FrameOfReferenceUID;
23
+ };
13
24
  this._imageVolumeModifiedHandler = (evt) => {
14
25
  const eventDetail = evt.detail;
15
26
  const { FrameOfReferenceUID } = eventDetail;
@@ -31,53 +42,53 @@ class FrameOfReferenceSpecificAnnotationManager {
31
42
  this.getFramesOfReference = () => {
32
43
  return Object.keys(this.annotations);
33
44
  };
34
- this.getFrameOfReferenceAnnotations = (FrameOfReferenceUID) => {
35
- return this.annotations[FrameOfReferenceUID];
36
- };
37
- this.get = (FrameOfReferenceUID, toolName) => {
38
- const frameOfReferenceSpecificAnnotations = this.annotations[FrameOfReferenceUID];
39
- if (!frameOfReferenceSpecificAnnotations) {
40
- return;
45
+ this.getAnnotations = (groupKey, toolName) => {
46
+ const annotations = this.annotations;
47
+ if (!annotations[groupKey]) {
48
+ return [];
49
+ }
50
+ if (toolName) {
51
+ return annotations[groupKey][toolName];
41
52
  }
42
- return frameOfReferenceSpecificAnnotations[toolName];
53
+ return annotations[groupKey];
43
54
  };
44
- this.getAnnotation = (annotationUID, filter = {}) => {
45
- const toolSpecificAnnotationsAndIndex = this._getToolSpecificAnnotationsAndIndex(annotationUID, filter);
46
- if (!toolSpecificAnnotationsAndIndex) {
47
- return;
55
+ this.getAnnotation = (annotationUID) => {
56
+ const annotations = this.annotations;
57
+ for (const frameOfReferenceUID in annotations) {
58
+ const frameOfReferenceAnnotations = annotations[frameOfReferenceUID];
59
+ for (const toolName in frameOfReferenceAnnotations) {
60
+ const toolSpecificAnnotations = frameOfReferenceAnnotations[toolName];
61
+ for (const annotation of toolSpecificAnnotations) {
62
+ if (annotationUID === annotation.annotationUID) {
63
+ return annotation;
64
+ }
65
+ }
66
+ }
48
67
  }
49
- const { toolSpecificAnnotations, index } = toolSpecificAnnotationsAndIndex;
50
- return toolSpecificAnnotations[index];
51
68
  };
52
- this.getNumberOfAnnotationsInFrameOfReference = (toolName, frameOfReferenceUID) => {
53
- const annotations = this.getFrameOfReferenceAnnotations(frameOfReferenceUID);
54
- if (!annotations) {
69
+ this.getNumberOfAnnotations = (groupKey, toolName) => {
70
+ const annotations = this.getAnnotations(groupKey, toolName);
71
+ if (!annotations.length) {
55
72
  return 0;
56
73
  }
57
- const toolSpecificAnnotations = annotations[toolName];
58
- if (!toolSpecificAnnotations) {
59
- return 0;
74
+ if (toolName) {
75
+ return annotations.length;
60
76
  }
61
- return toolSpecificAnnotations.length;
62
- };
63
- this.getNumberOfAnnotations = (toolName, frameOfReferenceUID) => {
64
- if (frameOfReferenceUID) {
65
- return this.getNumberOfAnnotationsInFrameOfReference(toolName, frameOfReferenceUID);
66
- }
67
- const framesOfReference = this.getFramesOfReference();
68
- return framesOfReference.reduce((acc, frameOfReferenceUID) => {
69
- const numberOfAnnotations = this.getNumberOfAnnotationsInFrameOfReference(toolName, frameOfReferenceUID);
70
- return acc + numberOfAnnotations;
71
- }, 0);
77
+ let total = 0;
78
+ for (const toolName in annotations) {
79
+ total += annotations[toolName].length;
80
+ }
81
+ return total;
72
82
  };
73
- this.addAnnotation = (annotation) => {
83
+ this.addAnnotation = (annotation, groupKey) => {
74
84
  const { metadata } = annotation;
75
85
  const { FrameOfReferenceUID, toolName } = metadata;
86
+ groupKey = groupKey || FrameOfReferenceUID;
76
87
  const annotations = this.annotations;
77
- let frameOfReferenceSpecificAnnotations = annotations[FrameOfReferenceUID];
88
+ let frameOfReferenceSpecificAnnotations = annotations[groupKey];
78
89
  if (!frameOfReferenceSpecificAnnotations) {
79
- annotations[FrameOfReferenceUID] = {};
80
- frameOfReferenceSpecificAnnotations = annotations[FrameOfReferenceUID];
90
+ annotations[groupKey] = {};
91
+ frameOfReferenceSpecificAnnotations = annotations[groupKey];
81
92
  }
82
93
  let toolSpecificAnnotations = frameOfReferenceSpecificAnnotations[toolName];
83
94
  if (!toolSpecificAnnotations) {
@@ -88,52 +99,81 @@ class FrameOfReferenceSpecificAnnotationManager {
88
99
  (0, annotationLocking_1.checkAndDefineIsLockedProperty)(annotation);
89
100
  (0, annotationVisibility_1.checkAndDefineIsVisibleProperty)(annotation);
90
101
  };
91
- this.removeAnnotation = (annotationUID, filter = {}) => {
92
- const toolSpecificAnnotationsAndIndex = this._getToolSpecificAnnotationsAndIndex(annotationUID, filter);
93
- if (!toolSpecificAnnotationsAndIndex) {
94
- return;
102
+ this.removeAnnotation = (annotationUID) => {
103
+ const { annotations } = this;
104
+ for (const groupKey in annotations) {
105
+ const groupAnnotations = annotations[groupKey];
106
+ for (const toolName in groupAnnotations) {
107
+ const toolAnnotations = groupAnnotations[toolName];
108
+ const index = toolAnnotations.findIndex((annotation) => annotation.annotationUID === annotationUID);
109
+ if (index !== -1) {
110
+ toolAnnotations.splice(index, 1);
111
+ if (toolAnnotations.length === 0) {
112
+ delete groupAnnotations[toolName];
113
+ }
114
+ }
115
+ }
116
+ if (Object.keys(groupAnnotations).length === 0) {
117
+ delete annotations[groupKey];
118
+ }
95
119
  }
96
- const { toolSpecificAnnotations, index } = toolSpecificAnnotationsAndIndex;
97
- const { metadata } = toolSpecificAnnotations[0];
98
- toolSpecificAnnotations.splice(index, 1);
99
- if (!toolSpecificAnnotations.length) {
100
- const { toolName } = metadata;
101
- delete this.annotations[metadata.FrameOfReferenceUID][toolName];
120
+ };
121
+ this.removeAnnotations = (groupKey, toolName) => {
122
+ const annotations = this.annotations;
123
+ if (annotations[groupKey]) {
124
+ if (toolName) {
125
+ delete annotations[groupKey][toolName];
126
+ }
127
+ else {
128
+ delete annotations[groupKey];
129
+ }
102
130
  }
103
131
  };
104
- this.saveAnnotations = (FrameOfReferenceUID, toolName) => {
132
+ this.saveAnnotations = (groupKey, toolName) => {
105
133
  const annotations = this.annotations;
106
- if (FrameOfReferenceUID && toolName) {
107
- const frameOfReferenceSpecificAnnotations = annotations[FrameOfReferenceUID];
134
+ if (groupKey && toolName) {
135
+ const frameOfReferenceSpecificAnnotations = annotations[groupKey];
108
136
  if (!frameOfReferenceSpecificAnnotations) {
109
137
  return;
110
138
  }
111
139
  const toolSpecificAnnotations = frameOfReferenceSpecificAnnotations[toolName];
112
140
  return (0, lodash_clonedeep_1.default)(toolSpecificAnnotations);
113
141
  }
114
- else if (FrameOfReferenceUID) {
115
- const frameOfReferenceSpecificAnnotations = annotations[FrameOfReferenceUID];
142
+ else if (groupKey) {
143
+ const frameOfReferenceSpecificAnnotations = annotations[groupKey];
116
144
  return (0, lodash_clonedeep_1.default)(frameOfReferenceSpecificAnnotations);
117
145
  }
118
146
  return (0, lodash_clonedeep_1.default)(annotations);
119
147
  };
120
- this.restoreAnnotations = (state, FrameOfReferenceUID, toolName) => {
148
+ this.restoreAnnotations = (state, groupKey, toolName) => {
121
149
  const annotations = this.annotations;
122
- if (FrameOfReferenceUID && toolName) {
123
- let frameOfReferenceSpecificAnnotations = annotations[FrameOfReferenceUID];
150
+ if (groupKey && toolName) {
151
+ let frameOfReferenceSpecificAnnotations = annotations[groupKey];
124
152
  if (!frameOfReferenceSpecificAnnotations) {
125
- annotations[FrameOfReferenceUID] = {};
126
- frameOfReferenceSpecificAnnotations = annotations[FrameOfReferenceUID];
153
+ annotations[groupKey] = {};
154
+ frameOfReferenceSpecificAnnotations = annotations[groupKey];
127
155
  }
128
156
  frameOfReferenceSpecificAnnotations[toolName] = state;
129
157
  }
130
- else if (FrameOfReferenceUID) {
131
- annotations[FrameOfReferenceUID] = (state);
158
+ else if (groupKey) {
159
+ annotations[groupKey] = state;
132
160
  }
133
161
  else {
134
162
  this.annotations = (0, lodash_clonedeep_1.default)(state);
135
163
  }
136
164
  };
165
+ this.getNumberOfAllAnnotations = () => {
166
+ let count = 0;
167
+ const annotations = this.annotations;
168
+ for (const groupKey in annotations) {
169
+ const frameOfReferenceSpecificAnnotations = annotations[groupKey];
170
+ for (const toolName in frameOfReferenceSpecificAnnotations) {
171
+ const toolSpecificAnnotations = frameOfReferenceSpecificAnnotations[toolName];
172
+ count += toolSpecificAnnotations.length;
173
+ }
174
+ }
175
+ return count;
176
+ };
137
177
  this.removeAllAnnotations = () => {
138
178
  this.annotations = {};
139
179
  };
@@ -144,40 +184,8 @@ class FrameOfReferenceSpecificAnnotationManager {
144
184
  this.uid = uid;
145
185
  core_1.eventTarget.addEventListener(core_1.Enums.Events.IMAGE_VOLUME_MODIFIED, this._imageVolumeModifiedHandler);
146
186
  }
147
- _getToolSpecificAnnotationsAndIndex(annotationUID, filter) {
148
- const { toolName, FrameOfReferenceUID } = filter;
149
- const annotations = this.annotations;
150
- let frameOfReferenceUIDKeys;
151
- if (FrameOfReferenceUID) {
152
- frameOfReferenceUIDKeys = [FrameOfReferenceUID];
153
- }
154
- else {
155
- frameOfReferenceUIDKeys = Object.keys(annotations);
156
- }
157
- const numFrameOfReferenceUIDKeys = frameOfReferenceUIDKeys.length;
158
- for (let i = 0; i < numFrameOfReferenceUIDKeys; i++) {
159
- const frameOfReferenceUID = frameOfReferenceUIDKeys[i];
160
- const frameOfReferenceSpecificAnnotations = annotations[frameOfReferenceUID];
161
- let toolNameKeys;
162
- if (toolName) {
163
- toolNameKeys = [toolName];
164
- }
165
- else {
166
- toolNameKeys = Object.keys(frameOfReferenceSpecificAnnotations);
167
- }
168
- const numToolNameKeys = toolNameKeys.length;
169
- for (let j = 0; j < numToolNameKeys; j++) {
170
- const toolName = toolNameKeys[j];
171
- const toolSpecificAnnotations = frameOfReferenceSpecificAnnotations[toolName];
172
- const index = toolSpecificAnnotations.findIndex((annotation) => annotation.annotationUID === annotationUID);
173
- if (index !== -1) {
174
- return { toolSpecificAnnotations, index };
175
- }
176
- }
177
- }
178
- }
179
187
  }
180
- exports.default = FrameOfReferenceSpecificAnnotationManager;
181
188
  const defaultFrameOfReferenceSpecificAnnotationManager = new FrameOfReferenceSpecificAnnotationManager('DEFAULT');
182
189
  exports.defaultFrameOfReferenceSpecificAnnotationManager = defaultFrameOfReferenceSpecificAnnotationManager;
190
+ exports.default = FrameOfReferenceSpecificAnnotationManager;
183
191
  //# sourceMappingURL=FrameOfReferenceSpecificAnnotationManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrameOfReferenceSpecificAnnotationManager.js","sourceRoot":"","sources":["../../../../src/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrameOfReferenceSpecificAnnotationManager.js","sourceRoot":"","sources":["../../../../src/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { Types } from '@cornerstonejs/core';
2
1
  import { Annotations, Annotation } from '../../types/AnnotationTypes';
3
- declare function getDefaultAnnotationManager(): import("./FrameOfReferenceSpecificAnnotationManager").default;
4
- declare function getViewportSpecificAnnotationManager(element?: Types.IEnabledElement | HTMLDivElement): import("./FrameOfReferenceSpecificAnnotationManager").default;
5
- declare function getAnnotations(element: HTMLDivElement, toolName: string): Annotations;
6
- declare function addAnnotation(element: HTMLDivElement, annotation: Annotation): string;
7
- declare function getNumberOfAnnotations(toolName: string, frameOfReferenceUID?: string): number;
8
- declare function removeAnnotation(annotationUID: string, element?: HTMLDivElement): void;
9
- declare function getAnnotation(annotationUID: string, element?: HTMLDivElement): Annotation;
10
- declare function removeAllAnnotations(element?: HTMLDivElement): void;
11
- export { getAnnotations, getNumberOfAnnotations, addAnnotation, getAnnotation, removeAnnotation, removeAllAnnotations, getViewportSpecificAnnotationManager, getDefaultAnnotationManager, };
2
+ import { AnnotationGroupSelector } from '../../types';
3
+ declare function getAnnotationManager(): import("./FrameOfReferenceSpecificAnnotationManager").default;
4
+ declare function setAnnotationManager(annotationManager: any): void;
5
+ declare function resetAnnotationManager(): void;
6
+ declare function getAnnotations(toolName: string, annotationGroupSelector: AnnotationGroupSelector): Annotations;
7
+ declare function addAnnotation(annotation: Annotation, annotationGroupSelector: AnnotationGroupSelector): string;
8
+ declare function getNumberOfAnnotations(toolName: string, annotationGroupSelector: AnnotationGroupSelector): number;
9
+ declare function removeAnnotation(annotationUID: string): void;
10
+ declare function getAnnotation(annotationUID: string): Annotation;
11
+ declare function removeAllAnnotations(): void;
12
+ export { getAnnotations, getNumberOfAnnotations, addAnnotation, getAnnotation, removeAnnotation, removeAllAnnotations, setAnnotationManager, getAnnotationManager, resetAnnotationManager, };
@@ -1,78 +1,73 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultAnnotationManager = exports.getViewportSpecificAnnotationManager = exports.removeAllAnnotations = exports.removeAnnotation = exports.getAnnotation = exports.addAnnotation = exports.getNumberOfAnnotations = exports.getAnnotations = void 0;
3
+ exports.resetAnnotationManager = exports.getAnnotationManager = exports.setAnnotationManager = exports.removeAllAnnotations = exports.removeAnnotation = exports.getAnnotation = exports.addAnnotation = exports.getNumberOfAnnotations = exports.getAnnotations = void 0;
4
4
  const core_1 = require("@cornerstonejs/core");
5
5
  const enums_1 = require("../../enums");
6
6
  const FrameOfReferenceSpecificAnnotationManager_1 = require("./FrameOfReferenceSpecificAnnotationManager");
7
- function getDefaultAnnotationManager() {
8
- return FrameOfReferenceSpecificAnnotationManager_1.defaultFrameOfReferenceSpecificAnnotationManager;
7
+ const state_1 = require("./helpers/state");
8
+ let defaultManager = FrameOfReferenceSpecificAnnotationManager_1.defaultFrameOfReferenceSpecificAnnotationManager;
9
+ function getAnnotationManager() {
10
+ return defaultManager;
9
11
  }
10
- exports.getDefaultAnnotationManager = getDefaultAnnotationManager;
11
- function getViewportSpecificAnnotationManager(element) {
12
- return FrameOfReferenceSpecificAnnotationManager_1.defaultFrameOfReferenceSpecificAnnotationManager;
12
+ exports.getAnnotationManager = getAnnotationManager;
13
+ function setAnnotationManager(annotationManager) {
14
+ defaultManager = annotationManager;
13
15
  }
14
- exports.getViewportSpecificAnnotationManager = getViewportSpecificAnnotationManager;
15
- function getAnnotations(element, toolName) {
16
- const enabledElement = (0, core_1.getEnabledElement)(element);
17
- const annotationManager = getViewportSpecificAnnotationManager(enabledElement);
18
- const { FrameOfReferenceUID } = enabledElement;
19
- return annotationManager.get(FrameOfReferenceUID, toolName);
16
+ exports.setAnnotationManager = setAnnotationManager;
17
+ function resetAnnotationManager() {
18
+ defaultManager = FrameOfReferenceSpecificAnnotationManager_1.defaultFrameOfReferenceSpecificAnnotationManager;
19
+ }
20
+ exports.resetAnnotationManager = resetAnnotationManager;
21
+ function getAnnotations(toolName, annotationGroupSelector) {
22
+ const manager = getAnnotationManager();
23
+ const groupKey = manager.getGroupKey(annotationGroupSelector);
24
+ return manager.getAnnotations(groupKey, toolName);
20
25
  }
21
26
  exports.getAnnotations = getAnnotations;
22
- function addAnnotation(element, annotation) {
23
- const annotationManager = getViewportSpecificAnnotationManager(element);
27
+ function addAnnotation(annotation, annotationGroupSelector) {
24
28
  if (annotation.annotationUID === undefined) {
25
29
  annotation.annotationUID = core_1.utilities.uuidv4();
26
30
  }
27
- annotationManager.addAnnotation(annotation);
28
- const enabledElement = (0, core_1.getEnabledElement)(element);
29
- const { renderingEngine } = enabledElement;
30
- const { viewportId } = enabledElement;
31
- const eventType = enums_1.Events.ANNOTATION_ADDED;
32
- const eventDetail = {
33
- annotation,
34
- viewportId,
35
- renderingEngineId: renderingEngine.id,
36
- };
37
- (0, core_1.triggerEvent)(core_1.eventTarget, eventType, eventDetail);
31
+ const manager = getAnnotationManager();
32
+ const groupKey = manager.getGroupKey(annotationGroupSelector);
33
+ manager.addAnnotation(annotation, groupKey);
34
+ if (annotationGroupSelector instanceof HTMLDivElement) {
35
+ (0, state_1.triggerAnnotationAddedForElement)(annotation, annotationGroupSelector);
36
+ }
37
+ (0, state_1.triggerAnnotationAddedForFOR)(annotation);
38
38
  return annotation.annotationUID;
39
39
  }
40
40
  exports.addAnnotation = addAnnotation;
41
- function getNumberOfAnnotations(toolName, frameOfReferenceUID) {
42
- const annotationManager = getDefaultAnnotationManager();
43
- return annotationManager.getNumberOfAnnotations(toolName, frameOfReferenceUID);
41
+ function getNumberOfAnnotations(toolName, annotationGroupSelector) {
42
+ const manager = getAnnotationManager();
43
+ const groupKey = manager.getGroupKey(annotationGroupSelector);
44
+ return manager.getNumberOfAnnotations(groupKey, toolName);
44
45
  }
45
46
  exports.getNumberOfAnnotations = getNumberOfAnnotations;
46
- function removeAnnotation(annotationUID, element) {
47
- let annotationManager = getDefaultAnnotationManager();
48
- if (element) {
49
- annotationManager = getViewportSpecificAnnotationManager(element);
50
- }
51
- const annotation = annotationManager.getAnnotation(annotationUID);
47
+ function removeAnnotation(annotationUID) {
48
+ const manager = getAnnotationManager();
49
+ const annotation = manager.getAnnotation(annotationUID);
52
50
  if (!annotation) {
53
51
  return;
54
52
  }
55
- annotationManager.removeAnnotation(annotationUID);
53
+ manager.removeAnnotation(annotationUID);
56
54
  const eventType = enums_1.Events.ANNOTATION_REMOVED;
57
55
  const eventDetail = {
58
56
  annotation,
59
- annotationManagerUID: annotationManager.uid,
57
+ annotationManagerUID: manager.uid,
60
58
  };
61
59
  (0, core_1.triggerEvent)(core_1.eventTarget, eventType, eventDetail);
62
60
  }
63
61
  exports.removeAnnotation = removeAnnotation;
64
- function getAnnotation(annotationUID, element) {
65
- const annotationManager = getViewportSpecificAnnotationManager(element);
66
- const annotation = annotationManager.getAnnotation(annotationUID);
62
+ function getAnnotation(annotationUID) {
63
+ const manager = getAnnotationManager();
64
+ const annotation = manager.getAnnotation(annotationUID);
67
65
  return annotation;
68
66
  }
69
67
  exports.getAnnotation = getAnnotation;
70
- function removeAllAnnotations(element) {
71
- let annotationManager = getDefaultAnnotationManager();
72
- if (element) {
73
- annotationManager = getViewportSpecificAnnotationManager(element);
74
- }
75
- annotationManager.removeAllAnnotations();
68
+ function removeAllAnnotations() {
69
+ const manager = getAnnotationManager();
70
+ manager.removeAllAnnotations();
76
71
  }
77
72
  exports.removeAllAnnotations = removeAllAnnotations;
78
73
  //# sourceMappingURL=annotationState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/annotation/annotationState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/annotation/annotationState.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAC7B,uCAAqC;AACrC,2GAA+G;AAI/G,2CAGyB;AAGzB,IAAI,cAAc,GAAG,4FAAgD,CAAC;AAMtE,SAAS,oBAAoB;IAC3B,OAAO,cAAc,CAAC;AACxB,CAAC;AAyJC,oDAAoB;AAnJtB,SAAS,oBAAoB,CAAC,iBAAiB;IAC7C,cAAc,GAAG,iBAAiB,CAAC;AACrC,CAAC;AAgJC,oDAAoB;AA7ItB,SAAS,sBAAsB;IAC7B,cAAc,GAAG,4FAAgD,CAAC;AACpE,CAAC;AA6IC,wDAAsB;AA9HxB,SAAS,cAAc,CACrB,QAAgB,EAChB,uBAAgD;IAEhD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAC9D,OAAO,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAgB,CAAC;AACnE,CAAC;AA8GC,wCAAc;AAhGhB,SAAS,aAAa,CACpB,UAAsB,EACtB,uBAAgD;IAEhD,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE;QAC1C,UAAU,CAAC,aAAa,GAAG,gBAAO,CAAC,MAAM,EAAY,CAAC;KACvD;IAED,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAE9D,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAI5C,IAAI,uBAAuB,YAAY,cAAc,EAAE;QACrD,IAAA,wCAAgC,EAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;KACvE;IAKD,IAAA,oCAA4B,EAAC,UAAU,CAAC,CAAC;IAEzC,OAAO,UAAU,CAAC,aAAa,CAAC;AAClC,CAAC;AAyEC,sCAAa;AA1Df,SAAS,sBAAsB,CAC7B,QAAgB,EAChB,uBAAgD;IAEhD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAE9D,OAAO,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAiDC,wDAAsB;AA3CxB,SAAS,gBAAgB,CAAC,aAAqB;IAC7C,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAGxD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO;KACR;IAED,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAGxC,MAAM,SAAS,GAAG,cAAM,CAAC,kBAAkB,CAAC;IAE5C,MAAM,WAAW,GAAiC;QAChD,UAAU;QACV,oBAAoB,EAAE,OAAO,CAAC,GAAG;KAClC,CAAC;IAEF,IAAA,mBAAY,EAAC,kBAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AA0BC,4CAAgB;AApBlB,SAAS,aAAa,CAAC,aAAqB;IAC1C,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAExD,OAAO,UAAU,CAAC;AACpB,CAAC;AAcC,sCAAa;AATf,SAAS,oBAAoB;IAC3B,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,OAAO,CAAC,oBAAoB,EAAE,CAAC;AACjC,CAAC;AAQC,oDAAoB"}
@@ -0,0 +1,4 @@
1
+ import { Annotation } from '../../../types/AnnotationTypes';
2
+ declare function triggerAnnotationAddedForElement(annotation: Annotation, element: HTMLDivElement): void;
3
+ declare function triggerAnnotationAddedForFOR(annotation: Annotation): void;
4
+ export { triggerAnnotationAddedForElement, triggerAnnotationAddedForFOR };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.triggerAnnotationAddedForFOR = exports.triggerAnnotationAddedForElement = void 0;
4
+ const core_1 = require("@cornerstonejs/core");
5
+ const enums_1 = require("../../../enums");
6
+ const ToolGroupManager_1 = require("../../../store/ToolGroupManager");
7
+ function triggerAnnotationAddedForElement(annotation, element) {
8
+ const enabledElement = (0, core_1.getEnabledElement)(element);
9
+ const { renderingEngine, viewportId } = enabledElement;
10
+ const eventType = enums_1.Events.ANNOTATION_ADDED;
11
+ const eventDetail = {
12
+ annotation,
13
+ viewportId,
14
+ renderingEngineId: renderingEngine.id,
15
+ };
16
+ (0, core_1.triggerEvent)(core_1.eventTarget, eventType, eventDetail);
17
+ }
18
+ exports.triggerAnnotationAddedForElement = triggerAnnotationAddedForElement;
19
+ function triggerAnnotationAddedForFOR(annotation) {
20
+ const { toolName } = annotation.metadata;
21
+ const toolGroups = (0, ToolGroupManager_1.getToolGroupsWithToolName)(toolName);
22
+ if (!toolGroups.length) {
23
+ return;
24
+ }
25
+ const viewportsToRender = [];
26
+ toolGroups.forEach((toolGroup) => {
27
+ toolGroup.viewportsInfo.forEach((viewportInfo) => {
28
+ const { renderingEngineId, viewportId } = viewportInfo;
29
+ const { FrameOfReferenceUID } = (0, core_1.getEnabledElementByIds)(viewportId, renderingEngineId);
30
+ if (annotation.metadata.FrameOfReferenceUID === FrameOfReferenceUID) {
31
+ viewportsToRender.push(viewportInfo);
32
+ }
33
+ });
34
+ });
35
+ if (!viewportsToRender.length) {
36
+ return;
37
+ }
38
+ const eventType = enums_1.Events.ANNOTATION_ADDED;
39
+ viewportsToRender.forEach(({ renderingEngineId, viewportId }) => {
40
+ const eventDetail = {
41
+ annotation,
42
+ viewportId,
43
+ renderingEngineId,
44
+ };
45
+ (0, core_1.triggerEvent)(core_1.eventTarget, eventType, eventDetail);
46
+ });
47
+ }
48
+ exports.triggerAnnotationAddedForFOR = triggerAnnotationAddedForFOR;
49
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/stateManagement/annotation/helpers/state.ts"],"names":[],"mappings":";;;AAAA,8CAK6B;AAC7B,0CAAwC;AAExC,sEAA4E;AAQ5E,SAAS,gCAAgC,CACvC,UAAsB,EACtB,OAAuB;IAEvB,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;IAEvD,MAAM,SAAS,GAAG,cAAM,CAAC,gBAAgB,CAAC;IAE1C,MAAM,WAAW,GAA+B;QAC9C,UAAU;QACV,UAAU;QACV,iBAAiB,EAAE,eAAe,CAAC,EAAE;KACtC,CAAC;IAEF,IAAA,mBAAY,EAAC,kBAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAkDQ,4EAAgC;AA3CzC,SAAS,4BAA4B,CAAC,UAAsB;IAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;IAEzC,MAAM,UAAU,GAAG,IAAA,4CAAyB,EAAC,QAAQ,CAAC,CAAC;IAEvD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QACtB,OAAO;KACR;IAGD,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAE7B,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YAC/C,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YACvD,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAA,6BAAsB,EACpD,UAAU,EACV,iBAAiB,CAClB,CAAC;YAEF,IAAI,UAAU,CAAC,QAAQ,CAAC,mBAAmB,KAAK,mBAAmB,EAAE;gBACnE,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,SAAS,GAAG,cAAM,CAAC,gBAAgB,CAAC;IAE1C,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;QAC9D,MAAM,WAAW,GAA+B;YAC9C,UAAU;YACV,UAAU;YACV,iBAAiB;SAClB,CAAC;QAEF,IAAA,mBAAY,EAAC,kBAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAE0C,oEAA4B"}
@@ -6,9 +6,10 @@ import { getAnnotations } from "./annotation/annotationState";
6
6
  import { addAnnotation } from "./annotation/annotationState";
7
7
  import { getNumberOfAnnotations } from "./annotation/annotationState";
8
8
  import { removeAnnotation } from "./annotation/annotationState";
9
- import { getDefaultAnnotationManager } from "./annotation/annotationState";
10
- import { getViewportSpecificAnnotationManager } from "./annotation/annotationState";
11
9
  import { getAnnotation } from "./annotation/annotationState";
10
+ import { setAnnotationManager } from "./annotation/annotationState";
11
+ import { getAnnotationManager } from "./annotation/annotationState";
12
+ import { resetAnnotationManager } from "./annotation/annotationState";
12
13
  import { addSegmentationRepresentations } from "./segmentation";
13
14
  import { removeSegmentationsFromToolGroup } from "./segmentation";
14
- export { FrameOfReferenceSpecificAnnotationManager, defaultFrameOfReferenceSpecificAnnotationManager, annotationLocking, annotationSelection, getAnnotations, addAnnotation, getNumberOfAnnotations, removeAnnotation, getDefaultAnnotationManager, getViewportSpecificAnnotationManager, getAnnotation, addSegmentationRepresentations, removeSegmentationsFromToolGroup };
15
+ export { FrameOfReferenceSpecificAnnotationManager, defaultFrameOfReferenceSpecificAnnotationManager, annotationLocking, annotationSelection, getAnnotations, addAnnotation, getNumberOfAnnotations, removeAnnotation, getAnnotation, setAnnotationManager, getAnnotationManager, resetAnnotationManager, addSegmentationRepresentations, removeSegmentationsFromToolGroup };