@cornerstonejs/tools 0.32.0 → 0.32.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/synchronizers/callbacks/areViewportsCoplanar .d.ts +2 -0
- package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .js +11 -0
- package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -0
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +7 -0
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .d.ts +2 -0
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .js +8 -0
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -0
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +4 -0
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
4
|
+
function areViewportsCoplanar(viewport1, viewport2) {
|
|
5
|
+
const { viewPlaneNormal: viewPlaneNormal1 } = viewport1.getCamera();
|
|
6
|
+
const { viewPlaneNormal: viewPlaneNormal2 } = viewport2.getCamera();
|
|
7
|
+
const dotProducts = gl_matrix_1.vec3.dot(viewPlaneNormal1, viewPlaneNormal2);
|
|
8
|
+
return Math.abs(dotProducts) > 0.9;
|
|
9
|
+
}
|
|
10
|
+
exports.default = areViewportsCoplanar;
|
|
11
|
+
//# sourceMappingURL=areViewportsCoplanar%20.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"areViewportsCoplanar .js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/areViewportsCoplanar .ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAGjC,SAAwB,oBAAoB,CAC1C,SAA+B,EAC/B,SAA+B;IAE/B,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,WAAW,GAAG,gBAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC;AARD,uCAQC"}
|
|
@@ -8,10 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
const gl_matrix_1 = require("gl-matrix");
|
|
13
16
|
const core_1 = require("@cornerstonejs/core");
|
|
14
17
|
const utilities_1 = require("../../utilities");
|
|
18
|
+
const areViewportsCoplanar_1 = __importDefault(require("./areViewportsCoplanar "));
|
|
15
19
|
function stackImageSyncCallback(synchronizerInstance, sourceViewport, targetViewport) {
|
|
16
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
21
|
const renderingEngine = (0, core_1.getRenderingEngine)(targetViewport.renderingEngineId);
|
|
@@ -26,6 +30,9 @@ function stackImageSyncCallback(synchronizerInstance, sourceViewport, targetView
|
|
|
26
30
|
const imagePlaneModule1 = core_1.metaData.get('imagePlaneModule', imageId1);
|
|
27
31
|
const sourceImagePositionPatient = imagePlaneModule1.imagePositionPatient;
|
|
28
32
|
const targetImageIds = tViewport.getImageIds();
|
|
33
|
+
if (!(0, areViewportsCoplanar_1.default)(sViewport, tViewport)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
29
36
|
if (frameOfReferenceUID1 === frameOfReferenceUID2) {
|
|
30
37
|
const closestImageIdIndex = _getClosestImageIdIndex(sourceImagePositionPatient, targetImageIds);
|
|
31
38
|
if (closestImageIdIndex.index !== -1 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { vec3 } from 'gl-matrix';
|
|
2
|
+
export default function areViewportsCoplanar(viewport1, viewport2) {
|
|
3
|
+
const { viewPlaneNormal: viewPlaneNormal1 } = viewport1.getCamera();
|
|
4
|
+
const { viewPlaneNormal: viewPlaneNormal2 } = viewport2.getCamera();
|
|
5
|
+
const dotProducts = vec3.dot(viewPlaneNormal1, viewPlaneNormal2);
|
|
6
|
+
return Math.abs(dotProducts) > 0.9;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=areViewportsCoplanar%20.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"areViewportsCoplanar .js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/areViewportsCoplanar .ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAA+B,EAC/B,SAA+B;IAE/B,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { vec3 } from 'gl-matrix';
|
|
2
2
|
import { getRenderingEngine, metaData, utilities, } from '@cornerstonejs/core';
|
|
3
3
|
import { jumpToSlice } from '../../utilities';
|
|
4
|
+
import areViewportsCoplanar from './areViewportsCoplanar ';
|
|
4
5
|
export default async function stackImageSyncCallback(synchronizerInstance, sourceViewport, targetViewport) {
|
|
5
6
|
const renderingEngine = getRenderingEngine(targetViewport.renderingEngineId);
|
|
6
7
|
if (!renderingEngine) {
|
|
@@ -14,6 +15,9 @@ export default async function stackImageSyncCallback(synchronizerInstance, sourc
|
|
|
14
15
|
const imagePlaneModule1 = metaData.get('imagePlaneModule', imageId1);
|
|
15
16
|
const sourceImagePositionPatient = imagePlaneModule1.imagePositionPatient;
|
|
16
17
|
const targetImageIds = tViewport.getImageIds();
|
|
18
|
+
if (!areViewportsCoplanar(sViewport, tViewport)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
17
21
|
if (frameOfReferenceUID1 === frameOfReferenceUID2) {
|
|
18
22
|
const closestImageIdIndex = _getClosestImageIdIndex(sourceImagePositionPatient, targetImageIds);
|
|
19
23
|
if (closestImageIdIndex.index !== -1 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,kBAAkB,EAElB,QAAQ,EACR,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"stackImageSyncCallback.js","sourceRoot":"","sources":["../../../../src/synchronizers/callbacks/stackImageSyncCallback.ts"],"names":[],"mappings":"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"}
|