@cornerstonejs/tools 1.65.5 → 1.66.1
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/store/SynchronizerManager/Synchronizer.d.ts +1 -0
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +3 -0
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/slabThicknessSyncCallback.d.ts +2 -0
- package/dist/cjs/synchronizers/callbacks/slabThicknessSyncCallback.js +20 -0
- package/dist/cjs/synchronizers/callbacks/slabThicknessSyncCallback.js.map +1 -0
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +7 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- 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/createSlabThicknessSynchronizer.d.ts +2 -0
- package/dist/cjs/synchronizers/synchronizers/createSlabThicknessSynchronizer.js +15 -0
- package/dist/cjs/synchronizers/synchronizers/createSlabThicknessSynchronizer.js.map +1 -0
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +3 -0
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.js +16 -0
- package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.js.map +1 -0
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +7 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/esm/synchronizers/index.js +2 -1
- package/dist/esm/synchronizers/index.js.map +1 -1
- package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.js +9 -0
- package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.js.map +1 -0
- package/dist/types/store/SynchronizerManager/Synchronizer.d.ts +1 -0
- package/dist/types/store/SynchronizerManager/Synchronizer.d.ts.map +1 -1
- package/dist/types/synchronizers/callbacks/slabThicknessSyncCallback.d.ts +3 -0
- package/dist/types/synchronizers/callbacks/slabThicknessSyncCallback.d.ts.map +1 -0
- package/dist/types/synchronizers/callbacks/voiSyncCallback.d.ts.map +1 -1
- package/dist/types/synchronizers/index.d.ts +2 -1
- package/dist/types/synchronizers/index.d.ts.map +1 -1
- package/dist/types/synchronizers/synchronizers/createSlabThicknessSynchronizer.d.ts +3 -0
- package/dist/types/synchronizers/synchronizers/createSlabThicknessSynchronizer.d.ts.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/store/SynchronizerManager/Synchronizer.ts +7 -0
- package/src/synchronizers/callbacks/slabThicknessSyncCallback.ts +29 -0
- package/src/synchronizers/callbacks/voiSyncCallback.ts +7 -2
- package/src/synchronizers/index.ts +2 -0
- package/src/synchronizers/synchronizers/createSlabThicknessSynchronizer.ts +26 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.66.1",
|
|
4
4
|
"description": "Cornerstone3D Tools",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"webpack:watch": "webpack --mode development --progress --watch --config ./.webpack/webpack.dev.js"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cornerstonejs/core": "^1.
|
|
32
|
+
"@cornerstonejs/core": "^1.66.1",
|
|
33
33
|
"@icr/polyseg-wasm": "0.4.0",
|
|
34
34
|
"@types/offscreencanvas": "2019.7.3",
|
|
35
35
|
"comlink": "^4.4.1",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"type": "individual",
|
|
60
60
|
"url": "https://ohif.org/donate"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "ba2ada440d1fb144feb58dfb8ba50781873de189"
|
|
63
63
|
}
|
|
@@ -66,6 +66,13 @@ class Synchronizer {
|
|
|
66
66
|
this._viewportOptions[viewportId] = options;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
/**
|
|
70
|
+
* Sets a synchronizer enabled
|
|
71
|
+
*/
|
|
72
|
+
public setEnabled(enabled: boolean) {
|
|
73
|
+
this._enabled = enabled;
|
|
74
|
+
}
|
|
75
|
+
|
|
69
76
|
/** Gets the options for the given viewport id */
|
|
70
77
|
public getOptions(viewportId: string): Record<string, unknown> | undefined {
|
|
71
78
|
return this._viewportOptions[viewportId];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getRenderingEngine, Types } from '@cornerstonejs/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Synchronizer callback to synchronize the slab thickness.
|
|
5
|
+
*/
|
|
6
|
+
export default function slabThicknessSyncCallback(
|
|
7
|
+
_synchronizerInstance,
|
|
8
|
+
sourceViewport: Types.IViewportId,
|
|
9
|
+
targetViewport: Types.IViewportId
|
|
10
|
+
): void {
|
|
11
|
+
const renderingEngine = getRenderingEngine(targetViewport.renderingEngineId);
|
|
12
|
+
if (!renderingEngine) {
|
|
13
|
+
throw new Error(
|
|
14
|
+
`No RenderingEngine for Id: ${targetViewport.renderingEngineId}`
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const tViewport = renderingEngine.getViewport(targetViewport.viewportId);
|
|
19
|
+
const sViewport = renderingEngine.getViewport(sourceViewport.viewportId);
|
|
20
|
+
|
|
21
|
+
const slabThickness = (
|
|
22
|
+
sViewport as Types.IVolumeViewport
|
|
23
|
+
).getSlabThickness?.();
|
|
24
|
+
if (!slabThickness) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
(tViewport as Types.IVolumeViewport).setSlabThickness?.(slabThickness);
|
|
28
|
+
tViewport.render();
|
|
29
|
+
}
|
|
@@ -47,7 +47,12 @@ export default function voiSyncCallback(
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
if (tViewport instanceof BaseVolumeViewport) {
|
|
50
|
-
tViewport.
|
|
50
|
+
const isFusion = tViewport._actors && tViewport._actors.size > 1;
|
|
51
|
+
if (isFusion) {
|
|
52
|
+
tViewport.setProperties(tProperties, volumeId);
|
|
53
|
+
} else {
|
|
54
|
+
tViewport.setProperties(tProperties);
|
|
55
|
+
}
|
|
51
56
|
} else if (tViewport instanceof StackViewport) {
|
|
52
57
|
tViewport.setProperties(tProperties);
|
|
53
58
|
} else {
|
|
@@ -55,4 +60,4 @@ export default function voiSyncCallback(
|
|
|
55
60
|
}
|
|
56
61
|
|
|
57
62
|
tViewport.render();
|
|
58
|
-
}
|
|
63
|
+
}
|
|
@@ -2,6 +2,7 @@ import createCameraPositionSynchronizer from './synchronizers/createCameraPositi
|
|
|
2
2
|
import createVOISynchronizer from './synchronizers/createVOISynchronizer';
|
|
3
3
|
import createZoomPanSynchronizer from './synchronizers/createZoomPanSynchronizer';
|
|
4
4
|
import createImageSliceSynchronizer from './synchronizers/createImageSliceSynchronizer';
|
|
5
|
+
import createSlabThicknessSynchronizer from './synchronizers/createSlabThicknessSynchronizer';
|
|
5
6
|
|
|
6
7
|
// for backward compatibility
|
|
7
8
|
const createStackImageSynchronizer = createImageSliceSynchronizer;
|
|
@@ -12,4 +13,5 @@ export {
|
|
|
12
13
|
createZoomPanSynchronizer,
|
|
13
14
|
createImageSliceSynchronizer,
|
|
14
15
|
createStackImageSynchronizer,
|
|
16
|
+
createSlabThicknessSynchronizer,
|
|
15
17
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Enums } from '@cornerstonejs/core';
|
|
2
|
+
import { createSynchronizer } from '../../store/SynchronizerManager';
|
|
3
|
+
import slabThicknessSyncCallback from '../callbacks/slabThicknessSyncCallback';
|
|
4
|
+
import Synchronizer from '../../store/SynchronizerManager/Synchronizer';
|
|
5
|
+
|
|
6
|
+
const { CAMERA_MODIFIED } = Enums.Events;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A helper that creates a new `Synchronizer` which listens to the `CAMERA_MODIFIED`
|
|
10
|
+
* rendering event and calls the `cameraSyncCallback` based on presentation view
|
|
11
|
+
* values and not based on absolute camera positions.
|
|
12
|
+
*
|
|
13
|
+
* @param synchronizerName - The name of the synchronizer.
|
|
14
|
+
* @returns A new `Synchronizer` instance.
|
|
15
|
+
*/
|
|
16
|
+
export default function createPresentationViewSynchronizer(
|
|
17
|
+
synchronizerName: string
|
|
18
|
+
): Synchronizer {
|
|
19
|
+
const presentationView = createSynchronizer(
|
|
20
|
+
synchronizerName,
|
|
21
|
+
CAMERA_MODIFIED,
|
|
22
|
+
slabThicknessSyncCallback
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
return presentationView;
|
|
26
|
+
}
|