@cornerstonejs/core 0.29.0 → 0.29.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/utilities/getSliceRange.js +23 -1
- package/dist/cjs/utilities/getSliceRange.js.map +1 -1
- package/dist/esm/utilities/getSliceRange.js +23 -1
- package/dist/esm/utilities/getSliceRange.js.map +1 -1
- package/dist/umd/index.js +1 -2
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/umd/index.js.LICENSE.txt +0 -1
|
@@ -5,8 +5,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const MatrixBuilder_1 = __importDefault(require("@kitware/vtk.js/Common/Core/MatrixBuilder"));
|
|
7
7
|
const getVolumeActorCorners_1 = __importDefault(require("./getVolumeActorCorners"));
|
|
8
|
+
const isOne = (v) => Math.abs(v) > 0.99 && Math.abs(v) < 1.01;
|
|
9
|
+
const isUnit = (v, off) => isOne(v[off]) || isOne(v[off + 1]) || isOne(v[off + 2]);
|
|
10
|
+
const isOrthonormal = (v) => isUnit(v, 0) && isUnit(v, 3) && isUnit(v, 6);
|
|
8
11
|
function getSliceRange(volumeActor, viewPlaneNormal, focalPoint) {
|
|
9
|
-
const
|
|
12
|
+
const imageData = volumeActor.getMapper().getInputData();
|
|
13
|
+
let corners;
|
|
14
|
+
const direction = imageData.getDirection();
|
|
15
|
+
if (isOrthonormal(direction)) {
|
|
16
|
+
corners = (0, getVolumeActorCorners_1.default)(volumeActor);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const [dx, dy, dz] = imageData.getDimensions();
|
|
20
|
+
const cornersIdx = [
|
|
21
|
+
[0, 0, 0],
|
|
22
|
+
[dx - 1, 0, 0],
|
|
23
|
+
[0, dy - 1, 0],
|
|
24
|
+
[dx - 1, dy - 1, 0],
|
|
25
|
+
[0, 0, dz - 1],
|
|
26
|
+
[dx - 1, 0, dz - 1],
|
|
27
|
+
[0, dy - 1, dz - 1],
|
|
28
|
+
[dx - 1, dy - 1, dz - 1],
|
|
29
|
+
];
|
|
30
|
+
corners = cornersIdx.map((it) => imageData.indexToWorld(it));
|
|
31
|
+
}
|
|
10
32
|
const transform = MatrixBuilder_1.default
|
|
11
33
|
.buildFromDegree()
|
|
12
34
|
.identity()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSliceRange.js","sourceRoot":"","sources":["../../../src/utilities/getSliceRange.ts"],"names":[],"mappings":";;;;;AAAA,8FAAyE;AACzE,oFAA4D;
|
|
1
|
+
{"version":3,"file":"getSliceRange.js","sourceRoot":"","sources":["../../../src/utilities/getSliceRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
import vtkMatrixBuilder from '@kitware/vtk.js/Common/Core/MatrixBuilder';
|
|
2
2
|
import getVolumeActorCorners from './getVolumeActorCorners';
|
|
3
|
+
const isOne = (v) => Math.abs(v) > 0.99 && Math.abs(v) < 1.01;
|
|
4
|
+
const isUnit = (v, off) => isOne(v[off]) || isOne(v[off + 1]) || isOne(v[off + 2]);
|
|
5
|
+
const isOrthonormal = (v) => isUnit(v, 0) && isUnit(v, 3) && isUnit(v, 6);
|
|
3
6
|
export default function getSliceRange(volumeActor, viewPlaneNormal, focalPoint) {
|
|
4
|
-
const
|
|
7
|
+
const imageData = volumeActor.getMapper().getInputData();
|
|
8
|
+
let corners;
|
|
9
|
+
const direction = imageData.getDirection();
|
|
10
|
+
if (isOrthonormal(direction)) {
|
|
11
|
+
corners = getVolumeActorCorners(volumeActor);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
const [dx, dy, dz] = imageData.getDimensions();
|
|
15
|
+
const cornersIdx = [
|
|
16
|
+
[0, 0, 0],
|
|
17
|
+
[dx - 1, 0, 0],
|
|
18
|
+
[0, dy - 1, 0],
|
|
19
|
+
[dx - 1, dy - 1, 0],
|
|
20
|
+
[0, 0, dz - 1],
|
|
21
|
+
[dx - 1, 0, dz - 1],
|
|
22
|
+
[0, dy - 1, dz - 1],
|
|
23
|
+
[dx - 1, dy - 1, dz - 1],
|
|
24
|
+
];
|
|
25
|
+
corners = cornersIdx.map((it) => imageData.indexToWorld(it));
|
|
26
|
+
}
|
|
5
27
|
const transform = vtkMatrixBuilder
|
|
6
28
|
.buildFromDegree()
|
|
7
29
|
.identity()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSliceRange.js","sourceRoot":"","sources":["../../../src/utilities/getSliceRange.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"getSliceRange.js","sourceRoot":"","sources":["../../../src/utilities/getSliceRange.ts"],"names":[],"mappings":"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"}
|