@cornerstonejs/tools 0.15.3 → 0.17.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/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
- package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +3 -0
- package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/annotationState.d.ts +2 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js +9 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/annotationVisibility.js +1 -1
- package/dist/cjs/stateManagement/annotation/annotationVisibility.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +1 -0
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +6 -0
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.js +2 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +7 -2
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/tools/CrosshairsTool.d.ts +1 -1
- package/dist/cjs/tools/CrosshairsTool.js +36 -23
- package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollTool.js +2 -1
- package/dist/cjs/tools/StackScrollTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +2 -1
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/cjs/tools/WindowLevelTool.js +3 -1
- package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
- package/dist/cjs/tools/ZoomTool.js +1 -1
- package/dist/cjs/tools/ZoomTool.js.map +1 -1
- package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +2 -0
- package/dist/cjs/tools/annotation/ArrowAnnotateTool.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/types/JumpToSliceOptions.d.ts +1 -1
- package/dist/cjs/types/ScrollOptions.d.ts +1 -2
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +1 -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/stackScrollTool/index.d.ts +1 -3
- package/dist/cjs/utilities/stackScrollTool/index.js +1 -5
- package/dist/cjs/utilities/stackScrollTool/index.js.map +1 -1
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js +3 -6
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
- package/dist/cjs/utilities/viewport/jumpToSlice.d.ts +1 -1
- package/dist/cjs/utilities/viewport/jumpToSlice.js +37 -12
- package/dist/cjs/utilities/viewport/jumpToSlice.js.map +1 -1
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +3 -0
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.d.ts +2 -1
- package/dist/esm/stateManagement/annotation/annotationState.js +8 -1
- package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/esm/stateManagement/annotation/annotationVisibility.js +1 -1
- package/dist/esm/stateManagement/annotation/annotationVisibility.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +1 -0
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +6 -0
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +2 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +8 -3
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/tools/CrosshairsTool.d.ts +1 -1
- package/dist/esm/tools/CrosshairsTool.js +36 -23
- package/dist/esm/tools/CrosshairsTool.js.map +1 -1
- package/dist/esm/tools/StackScrollTool.js +2 -1
- package/dist/esm/tools/StackScrollTool.js.map +1 -1
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js +2 -1
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/esm/tools/WindowLevelTool.js +3 -1
- package/dist/esm/tools/WindowLevelTool.js.map +1 -1
- package/dist/esm/tools/ZoomTool.js +1 -1
- package/dist/esm/tools/ZoomTool.js.map +1 -1
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js +2 -0
- package/dist/esm/tools/annotation/ArrowAnnotateTool.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/types/JumpToSliceOptions.d.ts +1 -1
- package/dist/esm/types/ScrollOptions.d.ts +1 -2
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +1 -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/stackScrollTool/index.d.ts +1 -3
- package/dist/esm/utilities/stackScrollTool/index.js +1 -3
- package/dist/esm/utilities/stackScrollTool/index.js.map +1 -1
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js +3 -6
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
- package/dist/esm/utilities/viewport/jumpToSlice.d.ts +1 -1
- package/dist/esm/utilities/viewport/jumpToSlice.js +25 -11
- package/dist/esm/utilities/viewport/jumpToSlice.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/cjs/utilities/stackScrollTool/getSliceRange.d.ts +0 -6
- package/dist/cjs/utilities/stackScrollTool/getSliceRange.js +0 -32
- package/dist/cjs/utilities/stackScrollTool/getSliceRange.js.map +0 -1
- package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.d.ts +0 -5
- package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.js +0 -41
- package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.js.map +0 -1
- package/dist/esm/utilities/stackScrollTool/getSliceRange.d.ts +0 -6
- package/dist/esm/utilities/stackScrollTool/getSliceRange.js +0 -26
- package/dist/esm/utilities/stackScrollTool/getSliceRange.js.map +0 -1
- package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.d.ts +0 -5
- package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.js +0 -38
- package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Cornerstone3D Tools",
|
|
5
5
|
"main": "dist/umd/index.js",
|
|
6
6
|
"types": "dist/esm/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"example": "node ../../utils/ExampleRunner/example-runner-cli.js"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@cornerstonejs/core": "^0.
|
|
27
|
+
"@cornerstonejs/core": "^0.10.0",
|
|
28
28
|
"lodash.clonedeep": "4.5.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"gl-matrix": "^3.4.3"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@cornerstonejs/core": "^0.
|
|
36
|
-
"@cornerstonejs/streaming-image-volume-loader": "^0.
|
|
35
|
+
"@cornerstonejs/core": "^0.9.0",
|
|
36
|
+
"@cornerstonejs/streaming-image-volume-loader": "^0.3.0",
|
|
37
37
|
"@kitware/vtk.js": "24.0.0"
|
|
38
38
|
},
|
|
39
39
|
"contributors": [
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"type": "individual",
|
|
48
48
|
"url": "https://ohif.org/donate"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "5d80cf3ba282718c43d22d42078eecc15e38c6d5"
|
|
51
51
|
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const core_1 = require("@cornerstonejs/core");
|
|
7
|
-
const MatrixBuilder_1 = __importDefault(require("@kitware/vtk.js/Common/Core/MatrixBuilder"));
|
|
8
|
-
function getSliceRange(volumeActor, viewPlaneNormal, focalPoint) {
|
|
9
|
-
const corners = core_1.utilities.getVolumeActorCorners(volumeActor);
|
|
10
|
-
const transform = MatrixBuilder_1.default
|
|
11
|
-
.buildFromDegree()
|
|
12
|
-
.identity()
|
|
13
|
-
.rotateFromDirections(viewPlaneNormal, [1, 0, 0]);
|
|
14
|
-
corners.forEach((pt) => transform.apply(pt));
|
|
15
|
-
const transformedFocalPoint = [...focalPoint];
|
|
16
|
-
transform.apply(transformedFocalPoint);
|
|
17
|
-
const currentSlice = transformedFocalPoint[0];
|
|
18
|
-
let minX = Infinity;
|
|
19
|
-
let maxX = -Infinity;
|
|
20
|
-
for (let i = 0; i < 8; i++) {
|
|
21
|
-
const x = corners[i][0];
|
|
22
|
-
if (x > maxX) {
|
|
23
|
-
maxX = x;
|
|
24
|
-
}
|
|
25
|
-
if (x < minX) {
|
|
26
|
-
minX = x;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return { min: minX, max: maxX, current: currentSlice };
|
|
30
|
-
}
|
|
31
|
-
exports.default = getSliceRange;
|
|
32
|
-
//# sourceMappingURL=getSliceRange.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSliceRange.js","sourceRoot":"","sources":["../../../../src/utilities/stackScrollTool/getSliceRange.ts"],"names":[],"mappings":";;;;;AAAA,8CAA2D;AAE3D,8FAAyE;AAczE,SAAwB,aAAa,CACnC,WAA8B,EAC9B,eAA6B,EAC7B,UAAwB;IAExB,MAAM,OAAO,GAAG,gBAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAG3D,MAAM,SAAS,GAAG,uBAAgB;SAC/B,eAAe,EAAE;SACjB,QAAQ,EAAE;SACV,oBAAoB,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,qBAAqB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAE9C,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAG9C,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,EAAE;YACZ,IAAI,GAAG,CAAC,CAAC;SACV;QACD,IAAI,CAAC,GAAG,IAAI,EAAE;YACZ,IAAI,GAAG,CAAC,CAAC;SACV;KACF;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACzD,CAAC;AAnCD,gCAmCC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Types } from '@cornerstonejs/core';
|
|
2
|
-
export default function snapFocalPointToSlice(focalPoint: Types.Point3, position: Types.Point3, scrollRange: any, viewPlaneNormal: Types.Point3, spacingInNormalDirection: number, deltaFrames: number): {
|
|
3
|
-
newFocalPoint: Types.Point3;
|
|
4
|
-
newPosition: Types.Point3;
|
|
5
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const gl_matrix_1 = require("gl-matrix");
|
|
4
|
-
function snapFocalPointToSlice(focalPoint, position, scrollRange, viewPlaneNormal, spacingInNormalDirection, deltaFrames) {
|
|
5
|
-
const { min, max, current } = scrollRange;
|
|
6
|
-
const posDiffFromFocalPoint = gl_matrix_1.vec3.create();
|
|
7
|
-
gl_matrix_1.vec3.sub(posDiffFromFocalPoint, position, focalPoint);
|
|
8
|
-
const steps = Math.round((max - min) / spacingInNormalDirection);
|
|
9
|
-
const fraction = (current - min) / (max - min);
|
|
10
|
-
const floatingStepNumber = fraction * steps;
|
|
11
|
-
let frameIndex = Math.round(floatingStepNumber);
|
|
12
|
-
let newFocalPoint = [
|
|
13
|
-
focalPoint[0] -
|
|
14
|
-
viewPlaneNormal[0] * floatingStepNumber * spacingInNormalDirection,
|
|
15
|
-
focalPoint[1] -
|
|
16
|
-
viewPlaneNormal[1] * floatingStepNumber * spacingInNormalDirection,
|
|
17
|
-
focalPoint[2] -
|
|
18
|
-
viewPlaneNormal[2] * floatingStepNumber * spacingInNormalDirection,
|
|
19
|
-
];
|
|
20
|
-
frameIndex += deltaFrames;
|
|
21
|
-
if (frameIndex > steps) {
|
|
22
|
-
frameIndex = steps;
|
|
23
|
-
}
|
|
24
|
-
else if (frameIndex < 0) {
|
|
25
|
-
frameIndex = 0;
|
|
26
|
-
}
|
|
27
|
-
const newSlicePosFromMin = frameIndex * spacingInNormalDirection;
|
|
28
|
-
newFocalPoint = [
|
|
29
|
-
newFocalPoint[0] + viewPlaneNormal[0] * newSlicePosFromMin,
|
|
30
|
-
newFocalPoint[1] + viewPlaneNormal[1] * newSlicePosFromMin,
|
|
31
|
-
newFocalPoint[2] + viewPlaneNormal[2] * newSlicePosFromMin,
|
|
32
|
-
];
|
|
33
|
-
const newPosition = [
|
|
34
|
-
newFocalPoint[0] + posDiffFromFocalPoint[0],
|
|
35
|
-
newFocalPoint[1] + posDiffFromFocalPoint[1],
|
|
36
|
-
newFocalPoint[2] + posDiffFromFocalPoint[2],
|
|
37
|
-
];
|
|
38
|
-
return { newFocalPoint, newPosition };
|
|
39
|
-
}
|
|
40
|
-
exports.default = snapFocalPointToSlice;
|
|
41
|
-
//# sourceMappingURL=snapFocalPointToSlice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapFocalPointToSlice.js","sourceRoot":"","sources":["../../../../src/utilities/stackScrollTool/snapFocalPointToSlice.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAmBjC,SAAwB,qBAAqB,CAC3C,UAAwB,EACxB,QAAsB,EACtB,WAAW,EACX,eAA6B,EAC7B,wBAAgC,EAChC,WAAmB;IAEnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAG1C,MAAM,qBAAqB,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;IAE5C,gBAAI,CAAC,GAAG,CAAC,qBAAqB,EAAQ,QAAQ,EAAQ,UAAU,CAAC,CAAC;IAGlE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAGjE,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAGhD,IAAI,aAAa,GAAiB;QAChC,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;QACpE,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;QACpE,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;KACrE,CAAC;IAGF,UAAU,IAAI,WAAW,CAAC;IAG1B,IAAI,UAAU,GAAG,KAAK,EAAE;QACtB,UAAU,GAAG,KAAK,CAAC;KACpB;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE;QACzB,UAAU,GAAG,CAAC,CAAC;KAChB;IAGD,MAAM,kBAAkB,GAAG,UAAU,GAAG,wBAAwB,CAAC;IAEjE,aAAa,GAAiB;QAC5B,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;QAC1D,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;QAC1D,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;KAC3D,CAAC;IAEF,MAAM,WAAW,GAAiB;QAChC,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;KAC5C,CAAC;IAEF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACxC,CAAC;AA3DD,wCA2DC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { utilities as csUtils } from '@cornerstonejs/core';
|
|
2
|
-
import vtkMatrixBuilder from '@kitware/vtk.js/Common/Core/MatrixBuilder';
|
|
3
|
-
export default function getSliceRange(volumeActor, viewPlaneNormal, focalPoint) {
|
|
4
|
-
const corners = csUtils.getVolumeActorCorners(volumeActor);
|
|
5
|
-
const transform = vtkMatrixBuilder
|
|
6
|
-
.buildFromDegree()
|
|
7
|
-
.identity()
|
|
8
|
-
.rotateFromDirections(viewPlaneNormal, [1, 0, 0]);
|
|
9
|
-
corners.forEach((pt) => transform.apply(pt));
|
|
10
|
-
const transformedFocalPoint = [...focalPoint];
|
|
11
|
-
transform.apply(transformedFocalPoint);
|
|
12
|
-
const currentSlice = transformedFocalPoint[0];
|
|
13
|
-
let minX = Infinity;
|
|
14
|
-
let maxX = -Infinity;
|
|
15
|
-
for (let i = 0; i < 8; i++) {
|
|
16
|
-
const x = corners[i][0];
|
|
17
|
-
if (x > maxX) {
|
|
18
|
-
maxX = x;
|
|
19
|
-
}
|
|
20
|
-
if (x < minX) {
|
|
21
|
-
minX = x;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return { min: minX, max: maxX, current: currentSlice };
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=getSliceRange.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSliceRange.js","sourceRoot":"","sources":["../../../../src/utilities/stackScrollTool/getSliceRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AAczE,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,WAA8B,EAC9B,eAA6B,EAC7B,UAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAG3D,MAAM,SAAS,GAAG,gBAAgB;SAC/B,eAAe,EAAE;SACjB,QAAQ,EAAE;SACV,oBAAoB,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,qBAAqB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAE9C,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAG9C,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,EAAE;YACZ,IAAI,GAAG,CAAC,CAAC;SACV;QACD,IAAI,CAAC,GAAG,IAAI,EAAE;YACZ,IAAI,GAAG,CAAC,CAAC;SACV;KACF;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACzD,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Types } from '@cornerstonejs/core';
|
|
2
|
-
export default function snapFocalPointToSlice(focalPoint: Types.Point3, position: Types.Point3, scrollRange: any, viewPlaneNormal: Types.Point3, spacingInNormalDirection: number, deltaFrames: number): {
|
|
3
|
-
newFocalPoint: Types.Point3;
|
|
4
|
-
newPosition: Types.Point3;
|
|
5
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { vec3 } from 'gl-matrix';
|
|
2
|
-
export default function snapFocalPointToSlice(focalPoint, position, scrollRange, viewPlaneNormal, spacingInNormalDirection, deltaFrames) {
|
|
3
|
-
const { min, max, current } = scrollRange;
|
|
4
|
-
const posDiffFromFocalPoint = vec3.create();
|
|
5
|
-
vec3.sub(posDiffFromFocalPoint, position, focalPoint);
|
|
6
|
-
const steps = Math.round((max - min) / spacingInNormalDirection);
|
|
7
|
-
const fraction = (current - min) / (max - min);
|
|
8
|
-
const floatingStepNumber = fraction * steps;
|
|
9
|
-
let frameIndex = Math.round(floatingStepNumber);
|
|
10
|
-
let newFocalPoint = [
|
|
11
|
-
focalPoint[0] -
|
|
12
|
-
viewPlaneNormal[0] * floatingStepNumber * spacingInNormalDirection,
|
|
13
|
-
focalPoint[1] -
|
|
14
|
-
viewPlaneNormal[1] * floatingStepNumber * spacingInNormalDirection,
|
|
15
|
-
focalPoint[2] -
|
|
16
|
-
viewPlaneNormal[2] * floatingStepNumber * spacingInNormalDirection,
|
|
17
|
-
];
|
|
18
|
-
frameIndex += deltaFrames;
|
|
19
|
-
if (frameIndex > steps) {
|
|
20
|
-
frameIndex = steps;
|
|
21
|
-
}
|
|
22
|
-
else if (frameIndex < 0) {
|
|
23
|
-
frameIndex = 0;
|
|
24
|
-
}
|
|
25
|
-
const newSlicePosFromMin = frameIndex * spacingInNormalDirection;
|
|
26
|
-
newFocalPoint = [
|
|
27
|
-
newFocalPoint[0] + viewPlaneNormal[0] * newSlicePosFromMin,
|
|
28
|
-
newFocalPoint[1] + viewPlaneNormal[1] * newSlicePosFromMin,
|
|
29
|
-
newFocalPoint[2] + viewPlaneNormal[2] * newSlicePosFromMin,
|
|
30
|
-
];
|
|
31
|
-
const newPosition = [
|
|
32
|
-
newFocalPoint[0] + posDiffFromFocalPoint[0],
|
|
33
|
-
newFocalPoint[1] + posDiffFromFocalPoint[1],
|
|
34
|
-
newFocalPoint[2] + posDiffFromFocalPoint[2],
|
|
35
|
-
];
|
|
36
|
-
return { newFocalPoint, newPosition };
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=snapFocalPointToSlice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapFocalPointToSlice.js","sourceRoot":"","sources":["../../../../src/utilities/stackScrollTool/snapFocalPointToSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmBjC,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,UAAwB,EACxB,QAAsB,EACtB,WAAW,EACX,eAA6B,EAC7B,wBAAgC,EAChC,WAAmB;IAEnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAG1C,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAE5C,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAQ,QAAQ,EAAQ,UAAU,CAAC,CAAC;IAGlE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAGjE,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAGhD,IAAI,aAAa,GAAiB;QAChC,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;QACpE,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;QACpE,UAAU,CAAC,CAAC,CAAC;YACX,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;KACrE,CAAC;IAGF,UAAU,IAAI,WAAW,CAAC;IAG1B,IAAI,UAAU,GAAG,KAAK,EAAE;QACtB,UAAU,GAAG,KAAK,CAAC;KACpB;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE;QACzB,UAAU,GAAG,CAAC,CAAC;KAChB;IAGD,MAAM,kBAAkB,GAAG,UAAU,GAAG,wBAAwB,CAAC;IAEjE,aAAa,GAAiB;QAC5B,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;QAC1D,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;QAC1D,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;KAC3D,CAAC;IAEF,MAAM,WAAW,GAAiB;QAChC,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;KAC5C,CAAC;IAEF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACxC,CAAC"}
|