@cornerstonejs/tools 0.27.2 → 0.28.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.
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -2
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.js +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/config/ToolStyle.js +0 -9
- package/dist/cjs/stateManagement/annotation/config/ToolStyle.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +6 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +42 -4
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/config/index.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/config/index.js +5 -1
- package/dist/cjs/stateManagement/segmentation/config/index.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationColor.d.ts +2 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationColor.js +9 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationColor.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationConfig.d.ts +6 -2
- package/dist/cjs/stateManagement/segmentation/config/segmentationConfig.js +18 -2
- package/dist/cjs/stateManagement/segmentation/config/segmentationConfig.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.d.ts +2 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js +39 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -7
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +8 -3
- package/dist/cjs/stateManagement/segmentation/segmentationState.js +44 -16
- package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +29 -18
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +2 -0
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +30 -5
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/destroyToolGroup.js +2 -0
- package/dist/cjs/store/ToolGroupManager/destroyToolGroup.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.d.ts +3 -0
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +72 -0
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -0
- package/dist/cjs/synchronizers/index.d.ts +2 -1
- package/dist/cjs/synchronizers/index.js +3 -1
- package/dist/cjs/synchronizers/index.js.map +1 -1
- package/dist/cjs/synchronizers/synchronizers/createStackImageSynchronizer.d.ts +2 -0
- package/dist/cjs/synchronizers/synchronizers/createStackImageSynchronizer.js +15 -0
- package/dist/cjs/synchronizers/synchronizers/createStackImageSynchronizer.js.map +1 -0
- package/dist/cjs/synchronizers/synchronizers/index.d.ts +2 -1
- package/dist/cjs/synchronizers/synchronizers/index.js +3 -1
- package/dist/cjs/synchronizers/synchronizers/index.js.map +1 -1
- package/dist/cjs/tools/CrosshairsTool.d.ts +6 -1
- package/dist/cjs/tools/CrosshairsTool.js +47 -15
- package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -0
- package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.js +7 -3
- package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.d.ts +2 -2
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +128 -86
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +14 -9
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/cjs/types/LabelmapTypes.d.ts +2 -0
- package/dist/cjs/types/SegmentationStateTypes.d.ts +5 -0
- package/dist/cjs/utilities/index.d.ts +2 -1
- package/dist/cjs/utilities/index.js +3 -1
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/segmentation/index.d.ts +2 -1
- package/dist/cjs/utilities/segmentation/index.js +3 -1
- package/dist/cjs/utilities/segmentation/index.js.map +1 -1
- package/dist/cjs/utilities/{triggerSegmentationRender.d.ts → segmentation/triggerSegmentationRender.d.ts} +1 -0
- package/dist/cjs/utilities/{triggerSegmentationRender.js → segmentation/triggerSegmentationRender.js} +9 -3
- package/dist/cjs/utilities/segmentation/triggerSegmentationRender.js.map +1 -0
- package/dist/cjs/utilities/viewport/index.d.ts +4 -0
- package/dist/cjs/utilities/viewport/index.js +13 -0
- package/dist/cjs/utilities/viewport/index.js.map +1 -0
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -2
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +2 -2
- package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stateManagement/annotation/config/ToolStyle.js +0 -9
- package/dist/esm/stateManagement/annotation/config/ToolStyle.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +6 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +42 -4
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/config/index.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/config/index.js +2 -2
- package/dist/esm/stateManagement/segmentation/config/index.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.d.ts +2 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +8 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +6 -2
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +17 -2
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +2 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +15 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -7
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +8 -3
- package/dist/esm/stateManagement/segmentation/segmentationState.js +38 -15
- package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +2 -2
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +30 -5
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +2 -0
- package/dist/esm/store/ToolGroupManager/destroyToolGroup.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.d.ts +3 -0
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +58 -0
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -0
- package/dist/esm/synchronizers/index.d.ts +2 -1
- package/dist/esm/synchronizers/index.js +2 -1
- package/dist/esm/synchronizers/index.js.map +1 -1
- package/dist/esm/synchronizers/synchronizers/createStackImageSynchronizer.d.ts +2 -0
- package/dist/esm/synchronizers/synchronizers/createStackImageSynchronizer.js +9 -0
- package/dist/esm/synchronizers/synchronizers/createStackImageSynchronizer.js.map +1 -0
- package/dist/esm/synchronizers/synchronizers/index.d.ts +2 -1
- package/dist/esm/synchronizers/synchronizers/index.js +2 -1
- package/dist/esm/synchronizers/synchronizers/index.js.map +1 -1
- package/dist/esm/tools/CrosshairsTool.d.ts +6 -1
- package/dist/esm/tools/CrosshairsTool.js +47 -15
- package/dist/esm/tools/CrosshairsTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +2 -1
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js +7 -3
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +2 -2
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +119 -76
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +14 -9
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/esm/types/LabelmapTypes.d.ts +2 -0
- package/dist/esm/types/SegmentationStateTypes.d.ts +5 -0
- package/dist/esm/utilities/index.d.ts +2 -1
- package/dist/esm/utilities/index.js +2 -1
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/segmentation/index.d.ts +2 -1
- package/dist/esm/utilities/segmentation/index.js +2 -1
- package/dist/esm/utilities/segmentation/index.js.map +1 -1
- package/dist/esm/utilities/{triggerSegmentationRender.d.ts → segmentation/triggerSegmentationRender.d.ts} +1 -0
- package/dist/esm/utilities/{triggerSegmentationRender.js → segmentation/triggerSegmentationRender.js} +9 -3
- package/dist/esm/utilities/segmentation/triggerSegmentationRender.js.map +1 -0
- package/dist/esm/utilities/viewport/index.d.ts +4 -0
- package/dist/esm/utilities/viewport/index.js +5 -0
- package/dist/esm/utilities/viewport/index.js.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/cjs/utilities/triggerSegmentationRender.js.map +0 -1
- package/dist/esm/utilities/triggerSegmentationRender.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmentationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentationState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EACL,yCAAyC,EACzC,2BAA2B,EAC3B,wCAAwC,EACxC,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"segmentationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentationState.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ class Synchronizer {
|
|
|
104
104
|
viewportId,
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
-
fireEvent(sourceViewport, sourceEvent) {
|
|
107
|
+
async fireEvent(sourceViewport, sourceEvent) {
|
|
108
108
|
if (this.isDisabled() || this._ignoreFiredEvents) {
|
|
109
109
|
return;
|
|
110
110
|
}
|
|
@@ -116,7 +116,7 @@ class Synchronizer {
|
|
|
116
116
|
if (targetIsSource) {
|
|
117
117
|
continue;
|
|
118
118
|
}
|
|
119
|
-
this._eventHandler(this, sourceViewport, targetViewport, sourceEvent);
|
|
119
|
+
await this._eventHandler(this, sourceViewport, targetViewport, sourceEvent);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
catch (ex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Synchronizer.js","sourceRoot":"","sources":["../../../../src/store/SynchronizerManager/Synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,GAEN,MAAM,qBAAqB,CAAC;AAU7B,MAAM,YAAY;IAWhB,YACE,cAAsB,EACtB,SAAiB,EACjB,YAAuC;QANjC,qBAAgB,GAA4C,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Synchronizer.js","sourceRoot":"","sources":["../../../../src/store/SynchronizerManager/Synchronizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ToolModes } from '../../enums';
|
|
1
2
|
import type { Types } from '@cornerstonejs/core';
|
|
2
3
|
import { IToolGroup, SetToolBindingsType, ToolOptionsType } from '../../types';
|
|
3
4
|
import { MouseCursor } from '../../cursors';
|
|
@@ -13,6 +14,7 @@ export default class ToolGroup implements IToolGroup {
|
|
|
13
14
|
addTool(toolName: string, configuration?: {}): void;
|
|
14
15
|
addViewport(viewportId: string, renderingEngineId?: string): void;
|
|
15
16
|
removeViewports(renderingEngineId: string, viewportId?: string): void;
|
|
17
|
+
setToolMode(toolName: string, mode: ToolModes, options?: SetToolBindingsType): void;
|
|
16
18
|
setToolActive(toolName: string, toolBindingsOptions?: SetToolBindingsType): void;
|
|
17
19
|
setToolPassive(toolName: string): void;
|
|
18
20
|
setToolEnabled(toolName: string): void;
|
|
@@ -18,7 +18,7 @@ export default class ToolGroup {
|
|
|
18
18
|
return this.viewportsInfo.map(({ viewportId }) => viewportId);
|
|
19
19
|
}
|
|
20
20
|
getViewportsInfo() {
|
|
21
|
-
return
|
|
21
|
+
return this.viewportsInfo.slice();
|
|
22
22
|
}
|
|
23
23
|
getToolInstance(toolName) {
|
|
24
24
|
const toolInstance = this._toolInstances[toolName];
|
|
@@ -59,10 +59,12 @@ export default class ToolGroup {
|
|
|
59
59
|
throw new Error('You must specify a renderingEngineId when there are multiple rendering engines.');
|
|
60
60
|
}
|
|
61
61
|
const renderingEngineUIDToUse = renderingEngineId || renderingEngines[0].id;
|
|
62
|
-
this.viewportsInfo.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
if (!this.viewportsInfo.some(({ viewportId: vpId }) => vpId === viewportId)) {
|
|
63
|
+
this.viewportsInfo.push({
|
|
64
|
+
viewportId,
|
|
65
|
+
renderingEngineId: renderingEngineUIDToUse,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
66
68
|
const activeToolName = this.getActivePrimaryMouseButtonTool();
|
|
67
69
|
const runtimeSettings = Settings.getRuntimeSettings();
|
|
68
70
|
if (runtimeSettings.get('useCursors')) {
|
|
@@ -89,6 +91,29 @@ export default class ToolGroup {
|
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
}
|
|
94
|
+
setToolMode(toolName, mode, options = {}) {
|
|
95
|
+
if (!toolName) {
|
|
96
|
+
console.warn('setToolMode: toolName must be defined');
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (mode === ToolModes.Active) {
|
|
100
|
+
this.setToolActive(toolName, options);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (mode === ToolModes.Passive) {
|
|
104
|
+
this.setToolPassive(toolName);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (mode === ToolModes.Enabled) {
|
|
108
|
+
this.setToolEnabled(toolName);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (mode === ToolModes.Disabled) {
|
|
112
|
+
this.setToolDisabled(toolName);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
console.warn('setToolMode: mode must be defined');
|
|
116
|
+
}
|
|
92
117
|
setToolActive(toolName, toolBindingsOptions = {}) {
|
|
93
118
|
if (this._toolInstances[toolName] === undefined) {
|
|
94
119
|
console.warn(`Tool ${toolName} not added to toolGroup, can't set tool mode.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolGroup.js","sourceRoot":"","sources":["../../../../src/store/ToolGroupManager/ToolGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAElD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;AAczD,MAAM,CAAC,OAAO,OAAO,SAAS;IAM5B,YAAY,EAAU;QAJtB,kBAAa,GAAG,EAAE,CAAC;QACnB,gBAAW,GAAG,EAAE,CAAC;QACjB,mBAAc,GAAG,EAAE,CAAC;QAGlB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAMD,cAAc;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAKD,gBAAgB;QACd,OAAO,
|
|
1
|
+
{"version":3,"file":"ToolGroup.js","sourceRoot":"","sources":["../../../../src/store/ToolGroupManager/ToolGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { state } from '../index';
|
|
2
2
|
import { removeSegmentationsFromToolGroup } from '../../stateManagement/segmentation';
|
|
3
|
+
import { segmentationRenderingEngine } from '../../utilities/segmentation/triggerSegmentationRender';
|
|
3
4
|
function destroyToolGroup(toolGroupId) {
|
|
4
5
|
const toolGroupIndex = state.toolGroups.findIndex((tg) => tg.id === toolGroupId);
|
|
5
6
|
if (toolGroupIndex > -1) {
|
|
7
|
+
segmentationRenderingEngine.removeToolGroup(toolGroupId);
|
|
6
8
|
removeSegmentationsFromToolGroup(toolGroupId);
|
|
7
9
|
state.toolGroups.splice(toolGroupIndex, 1);
|
|
8
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroyToolGroup.js","sourceRoot":"","sources":["../../../../src/store/ToolGroupManager/destroyToolGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"destroyToolGroup.js","sourceRoot":"","sources":["../../../../src/store/ToolGroupManager/destroyToolGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wDAAwD,CAAC;AAUrG,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAC/C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,WAAW,CAC9B,CAAC;IAEF,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE;QACvB,2BAA2B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEzD,gCAAgC,CAAC,WAAW,CAAC,CAAC;QAC9C,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;KAC5C;AACH,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { vec3 } from 'gl-matrix';
|
|
2
|
+
import { getRenderingEngine, metaData, utilities, } from '@cornerstonejs/core';
|
|
3
|
+
import { jumpToSlice } from '../../utilities';
|
|
4
|
+
export default async function stackImageSyncCallback(synchronizerInstance, sourceViewport, targetViewport) {
|
|
5
|
+
const renderingEngine = getRenderingEngine(targetViewport.renderingEngineId);
|
|
6
|
+
if (!renderingEngine) {
|
|
7
|
+
throw new Error(`No RenderingEngine for Id: ${targetViewport.renderingEngineId}`);
|
|
8
|
+
}
|
|
9
|
+
const sViewport = renderingEngine.getViewport(sourceViewport.viewportId);
|
|
10
|
+
const tViewport = renderingEngine.getViewport(targetViewport.viewportId);
|
|
11
|
+
const frameOfReferenceUID1 = sViewport.getFrameOfReferenceUID();
|
|
12
|
+
const frameOfReferenceUID2 = tViewport.getFrameOfReferenceUID();
|
|
13
|
+
const imageId1 = sViewport.getCurrentImageId();
|
|
14
|
+
const imagePlaneModule1 = metaData.get('imagePlaneModule', imageId1);
|
|
15
|
+
const sourceImagePositionPatient = imagePlaneModule1.imagePositionPatient;
|
|
16
|
+
const targetImageIds = tViewport.getImageIds();
|
|
17
|
+
if (frameOfReferenceUID1 === frameOfReferenceUID2) {
|
|
18
|
+
const closestImageIdIndex = _getClosestImageIdIndex(sourceImagePositionPatient, targetImageIds);
|
|
19
|
+
if (closestImageIdIndex.index !== -1 &&
|
|
20
|
+
tViewport.getCurrentImageIdIndex() !== closestImageIdIndex.index) {
|
|
21
|
+
await jumpToSlice(tViewport.element, {
|
|
22
|
+
imageIndex: closestImageIdIndex.index,
|
|
23
|
+
});
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const registrationMatrixMat4 = utilities.spatialRegistrationMetadataProvider.get('spatialRegistrationModule', [targetViewport.viewportId, sourceViewport.viewportId]);
|
|
29
|
+
if (!registrationMatrixMat4) {
|
|
30
|
+
throw new Error(`No registration matrix found for sourceViewport: ${sourceViewport.viewportId} and targetViewport: ${targetViewport.viewportId}, viewports with different frameOfReferenceUIDs must have a registration matrix in the registrationMetadataProvider. Use calculateViewportsRegistrationMatrix to calculate the matrix.`);
|
|
31
|
+
}
|
|
32
|
+
const targetImagePositionPatientWithRegistrationMatrix = vec3.transformMat4(vec3.create(), sourceImagePositionPatient, registrationMatrixMat4);
|
|
33
|
+
const closestImageIdIndex2 = _getClosestImageIdIndex(targetImagePositionPatientWithRegistrationMatrix, targetImageIds);
|
|
34
|
+
if (closestImageIdIndex2.index !== -1 &&
|
|
35
|
+
tViewport.getCurrentImageIdIndex() !== closestImageIdIndex2.index) {
|
|
36
|
+
await jumpToSlice(tViewport.element, {
|
|
37
|
+
imageIndex: closestImageIdIndex2.index,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function _getClosestImageIdIndex(targetPoint, imageIds) {
|
|
43
|
+
return imageIds.reduce((closestImageIdIndex, imageId, index) => {
|
|
44
|
+
const { imagePositionPatient } = metaData.get('imagePlaneModule', imageId);
|
|
45
|
+
const distance = vec3.distance(imagePositionPatient, targetPoint);
|
|
46
|
+
if (distance < closestImageIdIndex.distance) {
|
|
47
|
+
return {
|
|
48
|
+
distance,
|
|
49
|
+
index,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return closestImageIdIndex;
|
|
53
|
+
}, {
|
|
54
|
+
distance: Infinity,
|
|
55
|
+
index: -1,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=stackImageSyncCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import createCameraPositionSynchronizer from './synchronizers/createCameraPositionSynchronizer';
|
|
2
2
|
import createVOISynchronizer from './synchronizers/createVOISynchronizer';
|
|
3
3
|
import createZoomPanSynchronizer from './synchronizers/createZoomPanSynchronizer';
|
|
4
|
-
|
|
4
|
+
import createStackImageSynchronizer from './synchronizers/createStackImageSynchronizer';
|
|
5
|
+
export { createCameraPositionSynchronizer, createVOISynchronizer, createZoomPanSynchronizer, createStackImageSynchronizer, };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import createCameraPositionSynchronizer from './synchronizers/createCameraPositionSynchronizer';
|
|
2
2
|
import createVOISynchronizer from './synchronizers/createVOISynchronizer';
|
|
3
3
|
import createZoomPanSynchronizer from './synchronizers/createZoomPanSynchronizer';
|
|
4
|
-
|
|
4
|
+
import createStackImageSynchronizer from './synchronizers/createStackImageSynchronizer';
|
|
5
|
+
export { createCameraPositionSynchronizer, createVOISynchronizer, createZoomPanSynchronizer, createStackImageSynchronizer, };
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/synchronizers/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,MAAM,kDAAkD,CAAC;AAChG,OAAO,qBAAqB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,yBAAyB,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/synchronizers/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,MAAM,kDAAkD,CAAC;AAChG,OAAO,qBAAqB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,yBAAyB,MAAM,2CAA2C,CAAC;AAClF,OAAO,4BAA4B,MAAM,8CAA8C,CAAC;AAExF,OAAO,EACL,gCAAgC,EAChC,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createSynchronizer } from '../../store/SynchronizerManager';
|
|
2
|
+
import { Enums } from '@cornerstonejs/core';
|
|
3
|
+
import stackImageSyncCallback from '../callbacks/stackImageSyncCallback';
|
|
4
|
+
const { STACK_NEW_IMAGE } = Enums.Events;
|
|
5
|
+
export default function createStackImageSynchronizer(synchronizerName) {
|
|
6
|
+
const stackImageSynchronizer = createSynchronizer(synchronizerName, STACK_NEW_IMAGE, stackImageSyncCallback);
|
|
7
|
+
return stackImageSynchronizer;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=createStackImageSynchronizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStackImageSynchronizer.js","sourceRoot":"","sources":["../../../../src/synchronizers/synchronizers/createStackImageSynchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AAGzE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;AASzC,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAClD,gBAAwB;IAExB,MAAM,sBAAsB,GAAG,kBAAkB,CAC/C,gBAAgB,EAChB,eAAe,EACf,sBAAsB,CACvB,CAAC;IAEF,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import createCameraPositionSynchronizer from './createCameraPositionSynchronizer';
|
|
2
2
|
import createVOISynchronizer from './createVOISynchronizer';
|
|
3
3
|
import createZoomPanSynchronizer from './createZoomPanSynchronizer';
|
|
4
|
-
|
|
4
|
+
import createStackImageSynchronizer from './createStackImageSynchronizer';
|
|
5
|
+
export { createCameraPositionSynchronizer, createVOISynchronizer, createZoomPanSynchronizer, createStackImageSynchronizer, };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import createCameraPositionSynchronizer from './createCameraPositionSynchronizer';
|
|
2
2
|
import createVOISynchronizer from './createVOISynchronizer';
|
|
3
3
|
import createZoomPanSynchronizer from './createZoomPanSynchronizer';
|
|
4
|
-
|
|
4
|
+
import createStackImageSynchronizer from './createStackImageSynchronizer';
|
|
5
|
+
export { createCameraPositionSynchronizer, createVOISynchronizer, createZoomPanSynchronizer, createStackImageSynchronizer, };
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/synchronizers/synchronizers/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/synchronizers/synchronizers/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EACL,gCAAgC,EAChC,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,CAAC"}
|
|
@@ -29,10 +29,12 @@ declare class CrosshairsTool extends AnnotationTool {
|
|
|
29
29
|
normal: Types.Point3;
|
|
30
30
|
point: Types.Point3;
|
|
31
31
|
};
|
|
32
|
+
_getViewportsInfo: () => Types.IViewportId[];
|
|
32
33
|
onSetToolActive(): void;
|
|
33
34
|
onSetToolPassive(): void;
|
|
34
35
|
onSetToolEnabled(): void;
|
|
35
|
-
|
|
36
|
+
onSetToolDisabled(): void;
|
|
37
|
+
computeToolCenter: (viewportsInfo: any) => void;
|
|
36
38
|
addNewAnnotation: (evt: EventTypes.MouseDownActivateEventType, interactionType: string) => CrosshairsAnnotation;
|
|
37
39
|
cancel: () => void;
|
|
38
40
|
getHandleNearImagePoint(element: HTMLDivElement, annotation: Annotation, canvasCoords: Types.Point2, proximity: number): ToolHandle | undefined;
|
|
@@ -43,6 +45,9 @@ declare class CrosshairsTool extends AnnotationTool {
|
|
|
43
45
|
mouseMoveCallback: (evt: EventTypes.MouseMoveEventType, filteredToolAnnotations: Annotations) => boolean;
|
|
44
46
|
filterInteractableAnnotationsForElement: (element: any, annotations: any) => any;
|
|
45
47
|
renderAnnotation: (enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper) => boolean;
|
|
48
|
+
_onNewVolume: (e: any) => void;
|
|
49
|
+
_unsubscribeToViewportNewVolumeSet(viewportsInfo: any): void;
|
|
50
|
+
_subscribeToViewportNewVolumeSet(viewports: any): void;
|
|
46
51
|
_autoPanViewportIfNecessary(viewportId: string, renderingEngine: Types.IRenderingEngine): void;
|
|
47
52
|
_areViewportIdArraysEqual: (viewportIdArrayOne: any, viewportIdArrayTwo: any) => boolean;
|
|
48
53
|
_getAnnotationsForViewportsWithDifferentCameras: (enabledElement: any, annotations: any) => any;
|
|
@@ -80,7 +80,6 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
80
80
|
viewportId,
|
|
81
81
|
},
|
|
82
82
|
};
|
|
83
|
-
resetElementCursor(element);
|
|
84
83
|
addAnnotation(element, annotation);
|
|
85
84
|
return {
|
|
86
85
|
normal: viewPlaneNormal,
|
|
@@ -90,12 +89,15 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
90
89
|
]),
|
|
91
90
|
};
|
|
92
91
|
};
|
|
93
|
-
this.
|
|
92
|
+
this._getViewportsInfo = () => {
|
|
94
93
|
const viewports = getToolGroup(this.toolGroupId).viewportsInfo;
|
|
95
|
-
|
|
94
|
+
return viewports;
|
|
95
|
+
};
|
|
96
|
+
this.computeToolCenter = (viewportsInfo) => {
|
|
97
|
+
if (!viewportsInfo.length || viewportsInfo.length === 1) {
|
|
96
98
|
throw new Error('For crosshairs to operate, at least two viewports must be given.');
|
|
97
99
|
}
|
|
98
|
-
const [firstViewport, secondViewport, thirdViewport] =
|
|
100
|
+
const [firstViewport, secondViewport, thirdViewport] = viewportsInfo;
|
|
99
101
|
const { normal: normal1, point: point1 } = this.initializeViewport(firstViewport);
|
|
100
102
|
const { normal: normal2, point: point2 } = this.initializeViewport(secondViewport);
|
|
101
103
|
let normal3 = [0, 0, 0];
|
|
@@ -113,6 +115,8 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
113
115
|
const secondPlane = csUtils.planar.planeEquation(normal2, point2);
|
|
114
116
|
const thirdPlane = csUtils.planar.planeEquation(normal3, point3);
|
|
115
117
|
this.toolCenter = csUtils.planar.threePlaneIntersection(firstPlane, secondPlane, thirdPlane);
|
|
118
|
+
const { renderingEngine } = getEnabledElementByIds(viewportsInfo[0].viewportId, viewportsInfo[0].renderingEngineId);
|
|
119
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportsInfo.map(({ viewportId }) => viewportId));
|
|
116
120
|
};
|
|
117
121
|
this.addNewAnnotation = (evt, interactionType) => {
|
|
118
122
|
const eventDetail = evt.detail;
|
|
@@ -173,10 +177,8 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
173
177
|
const eventDetail = evt.detail;
|
|
174
178
|
const { element } = eventDetail;
|
|
175
179
|
const enabledElement = getEnabledElement(element);
|
|
176
|
-
const { renderingEngine } = enabledElement;
|
|
180
|
+
const { renderingEngine, viewportId } = enabledElement;
|
|
177
181
|
const viewport = enabledElement.viewport;
|
|
178
|
-
const requireSameOrientation = false;
|
|
179
|
-
const viewportIdsToRender = getViewportIdsWithToolToRender(element, this.getToolName(), requireSameOrientation);
|
|
180
182
|
const annotations = getAnnotations(element, this.getToolName());
|
|
181
183
|
const filteredToolAnnotations = this.filterInteractableAnnotationsForElement(element, annotations);
|
|
182
184
|
const viewportAnnotation = filteredToolAnnotations[0];
|
|
@@ -199,12 +201,13 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
199
201
|
if (!csUtils.isEqual(currentCamera.position, oldCameraPosition, 1e-3) &&
|
|
200
202
|
viewportControllable &&
|
|
201
203
|
viewportDraggableRotatable) {
|
|
202
|
-
let
|
|
203
|
-
|
|
204
|
-
|
|
204
|
+
let isRotation = false;
|
|
205
|
+
const cameraModifiedSameForPosAndFocalPoint = csUtils.isEqual(deltaCameraPosition, deltaCameraFocalPoint, 1e-3);
|
|
206
|
+
if (!cameraModifiedSameForPosAndFocalPoint) {
|
|
207
|
+
isRotation = true;
|
|
205
208
|
}
|
|
206
|
-
|
|
207
|
-
|
|
209
|
+
const cameraModifiedInPlane = Math.abs(vtkMath.dot(deltaCameraPosition, currentCamera.viewPlaneNormal)) < 1e-2;
|
|
210
|
+
if (!isRotation && !cameraModifiedInPlane) {
|
|
208
211
|
this.toolCenter[0] += deltaCameraPosition[0];
|
|
209
212
|
this.toolCenter[1] += deltaCameraPosition[1];
|
|
210
213
|
this.toolCenter[2] += deltaCameraPosition[2];
|
|
@@ -219,6 +222,8 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
219
222
|
this._autoPanViewportIfNecessary(viewportId, renderingEngine);
|
|
220
223
|
});
|
|
221
224
|
}
|
|
225
|
+
const requireSameOrientation = false;
|
|
226
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, this.getToolName(), requireSameOrientation);
|
|
222
227
|
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
223
228
|
};
|
|
224
229
|
this.mouseMoveCallback = (evt, filteredToolAnnotations) => {
|
|
@@ -589,6 +594,10 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
589
594
|
}
|
|
590
595
|
return renderStatus;
|
|
591
596
|
};
|
|
597
|
+
this._onNewVolume = (e) => {
|
|
598
|
+
const viewportsInfo = this._getViewportsInfo();
|
|
599
|
+
this.computeToolCenter(viewportsInfo);
|
|
600
|
+
};
|
|
592
601
|
this._areViewportIdArraysEqual = (viewportIdArrayOne, viewportIdArrayTwo) => {
|
|
593
602
|
if (viewportIdArrayOne.length !== viewportIdArrayTwo.length) {
|
|
594
603
|
return false;
|
|
@@ -1050,13 +1059,22 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
1050
1059
|
defaultReferenceLineSlabThicknessControlsOn;
|
|
1051
1060
|
}
|
|
1052
1061
|
onSetToolActive() {
|
|
1053
|
-
this.
|
|
1062
|
+
const viewportsInfo = this._getViewportsInfo();
|
|
1063
|
+
this._unsubscribeToViewportNewVolumeSet(viewportsInfo);
|
|
1064
|
+
this._subscribeToViewportNewVolumeSet(viewportsInfo);
|
|
1065
|
+
this.computeToolCenter(viewportsInfo);
|
|
1054
1066
|
}
|
|
1055
1067
|
onSetToolPassive() {
|
|
1056
|
-
this.
|
|
1068
|
+
const viewportsInfo = this._getViewportsInfo();
|
|
1069
|
+
this.computeToolCenter(viewportsInfo);
|
|
1057
1070
|
}
|
|
1058
1071
|
onSetToolEnabled() {
|
|
1059
|
-
this.
|
|
1072
|
+
const viewportsInfo = this._getViewportsInfo();
|
|
1073
|
+
this.computeToolCenter(viewportsInfo);
|
|
1074
|
+
}
|
|
1075
|
+
onSetToolDisabled() {
|
|
1076
|
+
const viewportsInfo = this._getViewportsInfo();
|
|
1077
|
+
this._unsubscribeToViewportNewVolumeSet(viewportsInfo);
|
|
1060
1078
|
}
|
|
1061
1079
|
getHandleNearImagePoint(element, annotation, canvasCoords, proximity) {
|
|
1062
1080
|
const enabledElement = getEnabledElement(element);
|
|
@@ -1070,6 +1088,20 @@ class CrosshairsTool extends AnnotationTool {
|
|
|
1070
1088
|
return point;
|
|
1071
1089
|
}
|
|
1072
1090
|
}
|
|
1091
|
+
_unsubscribeToViewportNewVolumeSet(viewportsInfo) {
|
|
1092
|
+
viewportsInfo.forEach(({ viewportId, renderingEngineId }) => {
|
|
1093
|
+
const { viewport } = getEnabledElementByIds(viewportId, renderingEngineId);
|
|
1094
|
+
const { element } = viewport;
|
|
1095
|
+
element.removeEventListener(Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, this._onNewVolume);
|
|
1096
|
+
});
|
|
1097
|
+
}
|
|
1098
|
+
_subscribeToViewportNewVolumeSet(viewports) {
|
|
1099
|
+
viewports.forEach(({ viewportId, renderingEngineId }) => {
|
|
1100
|
+
const { viewport } = getEnabledElementByIds(viewportId, renderingEngineId);
|
|
1101
|
+
const { element } = viewport;
|
|
1102
|
+
element.addEventListener(Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME, this._onNewVolume);
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1073
1105
|
_autoPanViewportIfNecessary(viewportId, renderingEngine) {
|
|
1074
1106
|
const viewport = renderingEngine.getViewport(viewportId);
|
|
1075
1107
|
const { clientWidth, clientHeight } = viewport.canvas;
|