@cornerstonejs/tools 1.8.1 → 1.9.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 +2 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +3 -2
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/createSynchronizer.d.ts +1 -1
- package/dist/cjs/store/SynchronizerManager/createSynchronizer.js +2 -2
- package/dist/cjs/store/SynchronizerManager/createSynchronizer.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +2 -2
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.d.ts +5 -1
- package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.js +2 -2
- package/dist/cjs/synchronizers/synchronizers/createVOISynchronizer.js.map +1 -1
- package/dist/cjs/types/ISynchronizerEventHandler.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +2 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +3 -2
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/createSynchronizer.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/createSynchronizer.js +2 -2
- package/dist/esm/store/SynchronizerManager/createSynchronizer.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +2 -2
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +5 -1
- package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.js +2 -2
- package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.js.map +1 -1
- package/dist/esm/types/ISynchronizerEventHandler.d.ts +1 -1
- 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 +11 -2
- package/src/store/SynchronizerManager/createSynchronizer.ts +5 -2
- package/src/synchronizers/callbacks/voiSyncCallback.ts +4 -2
- package/src/synchronizers/synchronizers/createVOISynchronizer.ts +11 -2
- package/src/types/ISynchronizerEventHandler.ts +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "Cornerstone3D Tools",
|
|
5
5
|
"main": "dist/umd/index.js",
|
|
6
6
|
"types": "dist/esm/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.9.1",
|
|
33
33
|
"lodash.clonedeep": "4.5.0",
|
|
34
34
|
"lodash.get": "^4.4.2"
|
|
35
35
|
},
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"type": "individual",
|
|
53
53
|
"url": "https://ohif.org/donate"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "355531673d563820d618f9bfc249267483a5ef59"
|
|
56
56
|
}
|
|
@@ -22,12 +22,14 @@ class Synchronizer {
|
|
|
22
22
|
private _sourceViewports: Array<Types.IViewportId>;
|
|
23
23
|
private _targetViewports: Array<Types.IViewportId>;
|
|
24
24
|
private _viewportOptions: Record<string, Record<string, unknown>> = {};
|
|
25
|
+
private _options: any;
|
|
25
26
|
public id: string;
|
|
26
27
|
|
|
27
28
|
constructor(
|
|
28
29
|
synchronizerId: string,
|
|
29
30
|
eventName: string,
|
|
30
|
-
eventHandler: ISynchronizerEventHandler
|
|
31
|
+
eventHandler: ISynchronizerEventHandler,
|
|
32
|
+
options?: any
|
|
31
33
|
) {
|
|
32
34
|
this._enabled = true;
|
|
33
35
|
this._eventName = eventName;
|
|
@@ -35,6 +37,7 @@ class Synchronizer {
|
|
|
35
37
|
this._ignoreFiredEvents = false;
|
|
36
38
|
this._sourceViewports = [];
|
|
37
39
|
this._targetViewports = [];
|
|
40
|
+
this._options = options || {};
|
|
38
41
|
|
|
39
42
|
//
|
|
40
43
|
this.id = synchronizerId;
|
|
@@ -212,7 +215,13 @@ class Synchronizer {
|
|
|
212
215
|
continue;
|
|
213
216
|
}
|
|
214
217
|
|
|
215
|
-
this._eventHandler(
|
|
218
|
+
this._eventHandler(
|
|
219
|
+
this,
|
|
220
|
+
sourceViewport,
|
|
221
|
+
targetViewport,
|
|
222
|
+
sourceEvent,
|
|
223
|
+
this._options
|
|
224
|
+
);
|
|
216
225
|
}
|
|
217
226
|
} catch (ex) {
|
|
218
227
|
console.warn(`Synchronizer, for: ${this._eventName}`, ex);
|
|
@@ -9,12 +9,14 @@ import { ISynchronizerEventHandler } from '../../types';
|
|
|
9
9
|
* synchronizer.
|
|
10
10
|
* @param eventHandler - The event handler that will be
|
|
11
11
|
* called when the event is emitted.
|
|
12
|
+
* @param options - Options for the synchronizer.
|
|
12
13
|
* @returns A reference to the synchronizer.
|
|
13
14
|
*/
|
|
14
15
|
function createSynchronizer(
|
|
15
16
|
synchronizerId: string,
|
|
16
17
|
eventName: string,
|
|
17
|
-
eventHandler: ISynchronizerEventHandler
|
|
18
|
+
eventHandler: ISynchronizerEventHandler,
|
|
19
|
+
options?: any
|
|
18
20
|
): Synchronizer {
|
|
19
21
|
const synchronizerWithSameIdExists = state.synchronizers.some(
|
|
20
22
|
(sync) => sync.id === synchronizerId
|
|
@@ -28,7 +30,8 @@ function createSynchronizer(
|
|
|
28
30
|
const synchronizer = new Synchronizer(
|
|
29
31
|
synchronizerId,
|
|
30
32
|
eventName,
|
|
31
|
-
eventHandler
|
|
33
|
+
eventHandler,
|
|
34
|
+
options
|
|
32
35
|
);
|
|
33
36
|
|
|
34
37
|
// Update state
|
|
@@ -13,12 +13,14 @@ import {
|
|
|
13
13
|
* @param sourceViewport - The list of IDs defining the source viewport.
|
|
14
14
|
* @param targetViewport - The list of IDs defining the target viewport.
|
|
15
15
|
* @param voiModifiedEvent - The VOI_MODIFIED event.
|
|
16
|
+
* @param options - Options for the synchronizer.
|
|
16
17
|
*/
|
|
17
18
|
export default function voiSyncCallback(
|
|
18
19
|
synchronizerInstance,
|
|
19
20
|
sourceViewport: Types.IViewportId,
|
|
20
21
|
targetViewport: Types.IViewportId,
|
|
21
|
-
voiModifiedEvent: Types.EventTypes.VoiModifiedEvent
|
|
22
|
+
voiModifiedEvent: Types.EventTypes.VoiModifiedEvent,
|
|
23
|
+
options?: any
|
|
22
24
|
): void {
|
|
23
25
|
const eventDetail = voiModifiedEvent.detail;
|
|
24
26
|
const { volumeId, range, invertStateChanged, invert } = eventDetail;
|
|
@@ -37,7 +39,7 @@ export default function voiSyncCallback(
|
|
|
37
39
|
voiRange: range,
|
|
38
40
|
};
|
|
39
41
|
|
|
40
|
-
if (invertStateChanged) {
|
|
42
|
+
if (options.syncInvertState && invertStateChanged) {
|
|
41
43
|
tProperties.invert = invert;
|
|
42
44
|
}
|
|
43
45
|
|
|
@@ -3,21 +3,30 @@ import { Enums } from '@cornerstonejs/core';
|
|
|
3
3
|
import voiSyncCallback from '../callbacks/voiSyncCallback';
|
|
4
4
|
import Synchronizer from '../../store/SynchronizerManager/Synchronizer';
|
|
5
5
|
|
|
6
|
+
type VOISynchronizerOptions = {
|
|
7
|
+
syncInvertState: boolean;
|
|
8
|
+
};
|
|
9
|
+
|
|
6
10
|
/**
|
|
7
11
|
* A helper that creates a new `Synchronizer`
|
|
8
12
|
* which listens to the `VOI_MODIFIED` rendering event and calls the `voiSyncCallback`.
|
|
9
13
|
*
|
|
10
14
|
* @param synchronizerName - The name of the synchronizer.
|
|
15
|
+
* @param options - The options for the synchronizer. By default the voi
|
|
16
|
+
* synchronizer will also sync the invert state of the volume, but this can be
|
|
17
|
+
* disabled by setting `syncInvertState` to false.
|
|
11
18
|
*
|
|
12
19
|
* @returns A new `Synchronizer` instance.
|
|
13
20
|
*/
|
|
14
21
|
export default function createVOISynchronizer(
|
|
15
|
-
synchronizerName: string
|
|
22
|
+
synchronizerName: string,
|
|
23
|
+
options = { syncInvertState: true } as VOISynchronizerOptions
|
|
16
24
|
): Synchronizer {
|
|
17
25
|
const VOISynchronizer = createSynchronizer(
|
|
18
26
|
synchronizerName,
|
|
19
27
|
Enums.Events.VOI_MODIFIED,
|
|
20
|
-
voiSyncCallback
|
|
28
|
+
voiSyncCallback,
|
|
29
|
+
options
|
|
21
30
|
);
|
|
22
31
|
|
|
23
32
|
return VOISynchronizer;
|