@cornerstonejs/core 1.32.2 → 1.32.3
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/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
- package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +4 -4
- package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
- package/dist/cjs/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
- package/dist/cjs/utilities/getVolumeSliceRangeInfo.js +2 -2
- package/dist/cjs/utilities/getVolumeSliceRangeInfo.js.map +1 -1
- package/dist/cjs/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
- package/dist/cjs/utilities/getVolumeViewportScrollInfo.js +2 -2
- package/dist/cjs/utilities/getVolumeViewportScrollInfo.js.map +1 -1
- package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +4 -4
- package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
- package/dist/esm/utilities/getVolumeSliceRangeInfo.js +2 -2
- package/dist/esm/utilities/getVolumeSliceRangeInfo.js.map +1 -1
- package/dist/esm/utilities/getVolumeViewportScrollInfo.js +2 -2
- package/dist/esm/utilities/getVolumeViewportScrollInfo.js.map +1 -1
- package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
- package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts.map +1 -1
- package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
- package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts.map +1 -1
- package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
- package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/src/utilities/getTargetVolumeAndSpacingInNormalDir.ts +9 -5
- package/src/utilities/getVolumeSliceRangeInfo.ts +10 -2
- package/src/utilities/getVolumeViewportScrollInfo.ts +5 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ICamera, IImageVolume, IVolumeViewport } from '../types';
|
|
2
|
-
export default function getTargetVolumeAndSpacingInNormalDir(viewport: IVolumeViewport, camera: ICamera, targetVolumeId?: string): {
|
|
2
|
+
export default function getTargetVolumeAndSpacingInNormalDir(viewport: IVolumeViewport, camera: ICamera, targetVolumeId?: string, useSlabThickness?: boolean): {
|
|
3
3
|
imageVolume: IImageVolume;
|
|
4
4
|
spacingInNormalDirection: number;
|
|
5
5
|
actorUID: string;
|
|
@@ -10,7 +10,7 @@ const volumeLoader_1 = require("../loaders/volumeLoader");
|
|
|
10
10
|
const EPSILON_PART = 1 + constants_1.EPSILON;
|
|
11
11
|
const startsWith = (str, starts) => starts === str.substring(0, Math.min(str.length, starts.length));
|
|
12
12
|
const isPrimaryVolume = (volume) => !!(0, volumeLoader_1.getVolumeLoaderSchemes)().find((scheme) => startsWith(volume.volumeId, scheme));
|
|
13
|
-
function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId) {
|
|
13
|
+
function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId, useSlabThickness = false) {
|
|
14
14
|
const { viewPlaneNormal } = camera;
|
|
15
15
|
const volumeActors = viewport.getActors();
|
|
16
16
|
if (!volumeActors || !volumeActors.length) {
|
|
@@ -31,7 +31,7 @@ function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId)
|
|
|
31
31
|
const imageVolumeIndex = imageVolumes.findIndex((iv) => iv.volumeId === targetVolumeId);
|
|
32
32
|
const imageVolume = imageVolumes[imageVolumeIndex];
|
|
33
33
|
const { uid: actorUID } = volumeActors[imageVolumeIndex];
|
|
34
|
-
const spacingInNormalDirection = getSpacingInNormal(imageVolume, viewPlaneNormal, viewport);
|
|
34
|
+
const spacingInNormalDirection = getSpacingInNormal(imageVolume, viewPlaneNormal, viewport, useSlabThickness);
|
|
35
35
|
return { imageVolume, spacingInNormalDirection, actorUID };
|
|
36
36
|
}
|
|
37
37
|
if (!imageVolumes.length) {
|
|
@@ -63,10 +63,10 @@ function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId)
|
|
|
63
63
|
return smallest;
|
|
64
64
|
}
|
|
65
65
|
exports.default = getTargetVolumeAndSpacingInNormalDir;
|
|
66
|
-
function getSpacingInNormal(imageVolume, viewPlaneNormal, viewport) {
|
|
66
|
+
function getSpacingInNormal(imageVolume, viewPlaneNormal, viewport, useSlabThickness = false) {
|
|
67
67
|
const { slabThickness } = viewport.getProperties();
|
|
68
68
|
let spacingInNormalDirection = slabThickness;
|
|
69
|
-
if (!slabThickness) {
|
|
69
|
+
if (!slabThickness || useSlabThickness === false) {
|
|
70
70
|
spacingInNormalDirection = (0, getSpacingInNormalDirection_1.default)(imageVolume, viewPlaneNormal);
|
|
71
71
|
}
|
|
72
72
|
return spacingInNormalDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.js","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":";;;;;AAAA,2DAAmC;AACnC,4CAAuC;AAGvC,gGAAwE;AACxE,0DAAiE;AAGjE,MAAM,YAAY,GAAG,CAAC,GAAG,mBAAO,CAAC;AAEjC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACjC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAKnE,MAAM,eAAe,GAAG,CAAC,MAAM,EAAW,EAAE,CAC1C,CAAC,CAAC,IAAA,qCAAsB,GAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACzC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CACpC,CAAC;
|
|
1
|
+
{"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.js","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActorSliceRange, IVolumeViewport, ICamera } from '../types';
|
|
2
|
-
declare function getVolumeSliceRangeInfo(viewport: IVolumeViewport, volumeId: string): {
|
|
2
|
+
declare function getVolumeSliceRangeInfo(viewport: IVolumeViewport, volumeId: string, useSlabThickness?: boolean): {
|
|
3
3
|
sliceRange: ActorSliceRange;
|
|
4
4
|
spacingInNormalDirection: number;
|
|
5
5
|
camera: ICamera;
|
|
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const getSliceRange_1 = __importDefault(require("./getSliceRange"));
|
|
7
7
|
const getTargetVolumeAndSpacingInNormalDir_1 = __importDefault(require("./getTargetVolumeAndSpacingInNormalDir"));
|
|
8
|
-
function getVolumeSliceRangeInfo(viewport, volumeId) {
|
|
8
|
+
function getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness = false) {
|
|
9
9
|
const camera = viewport.getCamera();
|
|
10
10
|
const { focalPoint, viewPlaneNormal } = camera;
|
|
11
|
-
const { spacingInNormalDirection, actorUID } = (0, getTargetVolumeAndSpacingInNormalDir_1.default)(viewport, camera, volumeId);
|
|
11
|
+
const { spacingInNormalDirection, actorUID } = (0, getTargetVolumeAndSpacingInNormalDir_1.default)(viewport, camera, volumeId, useSlabThickness);
|
|
12
12
|
if (!actorUID) {
|
|
13
13
|
throw new Error(`Could not find image volume with id ${volumeId} in the viewport`);
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolumeSliceRangeInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,kHAA0F;
|
|
1
|
+
{"version":3,"file":"getVolumeSliceRangeInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,kHAA0F;AAgB1F,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,QAAgB,EAChB,gBAAgB,GAAG,KAAK;IAMxB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,GAC1C,IAAA,8CAAoC,EAClC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,gBAAgB,CACjB,CAAC;IAEJ,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,kBAAkB,CAClE,CAAC;KACH;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAoB,CAAC;IACpD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,wBAAwB;QACxB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IVolumeViewport } from '../types';
|
|
2
|
-
declare function getVolumeViewportScrollInfo(viewport: IVolumeViewport, volumeId: string): {
|
|
2
|
+
declare function getVolumeViewportScrollInfo(viewport: IVolumeViewport, volumeId: string, useSlabThickness?: boolean): {
|
|
3
3
|
numScrollSteps: number;
|
|
4
4
|
currentStepIndex: number;
|
|
5
5
|
sliceRangeInfo: {
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const getVolumeSliceRangeInfo_1 = __importDefault(require("./getVolumeSliceRangeInfo"));
|
|
7
|
-
function getVolumeViewportScrollInfo(viewport, volumeId) {
|
|
8
|
-
const { sliceRange, spacingInNormalDirection, camera } = (0, getVolumeSliceRangeInfo_1.default)(viewport, volumeId);
|
|
7
|
+
function getVolumeViewportScrollInfo(viewport, volumeId, useSlabThickness = false) {
|
|
8
|
+
const { sliceRange, spacingInNormalDirection, camera } = (0, getVolumeSliceRangeInfo_1.default)(viewport, volumeId, useSlabThickness);
|
|
9
9
|
const { min, max, current } = sliceRange;
|
|
10
10
|
const numScrollSteps = Math.round((max - min) / spacingInNormalDirection);
|
|
11
11
|
const fraction = (current - min) / (max - min);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolumeViewportScrollInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":";;;;;AACA,wFAAgE;
|
|
1
|
+
{"version":3,"file":"getVolumeViewportScrollInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":";;;;;AACA,wFAAgE;AAUhE,SAAS,2BAA2B,CAClC,QAAyB,EACzB,QAAgB,EAChB,gBAAgB,GAAG,KAAK;IAExB,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,EAAE,GACpD,IAAA,iCAAuB,EAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAG1E,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAExD,OAAO;QACL,cAAc;QACd,gBAAgB;QAChB,cAAc,EAAE;YACd,UAAU;YACV,wBAAwB;YACxB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,2BAA2B,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { getVolumeLoaderSchemes } from '../loaders/volumeLoader';
|
|
|
5
5
|
const EPSILON_PART = 1 + EPSILON;
|
|
6
6
|
const startsWith = (str, starts) => starts === str.substring(0, Math.min(str.length, starts.length));
|
|
7
7
|
const isPrimaryVolume = (volume) => !!getVolumeLoaderSchemes().find((scheme) => startsWith(volume.volumeId, scheme));
|
|
8
|
-
export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId) {
|
|
8
|
+
export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId, useSlabThickness = false) {
|
|
9
9
|
const { viewPlaneNormal } = camera;
|
|
10
10
|
const volumeActors = viewport.getActors();
|
|
11
11
|
if (!volumeActors || !volumeActors.length) {
|
|
@@ -25,7 +25,7 @@ export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, t
|
|
|
25
25
|
const imageVolumeIndex = imageVolumes.findIndex((iv) => iv.volumeId === targetVolumeId);
|
|
26
26
|
const imageVolume = imageVolumes[imageVolumeIndex];
|
|
27
27
|
const { uid: actorUID } = volumeActors[imageVolumeIndex];
|
|
28
|
-
const spacingInNormalDirection = getSpacingInNormal(imageVolume, viewPlaneNormal, viewport);
|
|
28
|
+
const spacingInNormalDirection = getSpacingInNormal(imageVolume, viewPlaneNormal, viewport, useSlabThickness);
|
|
29
29
|
return { imageVolume, spacingInNormalDirection, actorUID };
|
|
30
30
|
}
|
|
31
31
|
if (!imageVolumes.length) {
|
|
@@ -56,10 +56,10 @@ export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, t
|
|
|
56
56
|
}
|
|
57
57
|
return smallest;
|
|
58
58
|
}
|
|
59
|
-
function getSpacingInNormal(imageVolume, viewPlaneNormal, viewport) {
|
|
59
|
+
function getSpacingInNormal(imageVolume, viewPlaneNormal, viewport, useSlabThickness = false) {
|
|
60
60
|
const { slabThickness } = viewport.getProperties();
|
|
61
61
|
let spacingInNormalDirection = slabThickness;
|
|
62
|
-
if (!slabThickness) {
|
|
62
|
+
if (!slabThickness || useSlabThickness === false) {
|
|
63
63
|
spacingInNormalDirection = getSpacingInNormalDirection(imageVolume, viewPlaneNormal);
|
|
64
64
|
}
|
|
65
65
|
return spacingInNormalDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.js","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC;AAEjC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACjC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAKnE,MAAM,eAAe,GAAG,CAAC,MAAM,EAAW,EAAE,CAC1C,CAAC,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACzC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CACpC,CAAC;
|
|
1
|
+
{"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.js","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import getSliceRange from './getSliceRange';
|
|
2
2
|
import getTargetVolumeAndSpacingInNormalDir from './getTargetVolumeAndSpacingInNormalDir';
|
|
3
|
-
function getVolumeSliceRangeInfo(viewport, volumeId) {
|
|
3
|
+
function getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness = false) {
|
|
4
4
|
const camera = viewport.getCamera();
|
|
5
5
|
const { focalPoint, viewPlaneNormal } = camera;
|
|
6
|
-
const { spacingInNormalDirection, actorUID } = getTargetVolumeAndSpacingInNormalDir(viewport, camera, volumeId);
|
|
6
|
+
const { spacingInNormalDirection, actorUID } = getTargetVolumeAndSpacingInNormalDir(viewport, camera, volumeId, useSlabThickness);
|
|
7
7
|
if (!actorUID) {
|
|
8
8
|
throw new Error(`Could not find image volume with id ${volumeId} in the viewport`);
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolumeSliceRangeInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"getVolumeSliceRangeInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAgB1F,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,QAAgB,EAChB,gBAAgB,GAAG,KAAK;IAMxB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,GAC1C,oCAAoC,CAClC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,gBAAgB,CACjB,CAAC;IAEJ,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,kBAAkB,CAClE,CAAC;KACH;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAoB,CAAC;IACpD,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,wBAAwB;QACxB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import getVolumeSliceRangeInfo from './getVolumeSliceRangeInfo';
|
|
2
|
-
function getVolumeViewportScrollInfo(viewport, volumeId) {
|
|
3
|
-
const { sliceRange, spacingInNormalDirection, camera } = getVolumeSliceRangeInfo(viewport, volumeId);
|
|
2
|
+
function getVolumeViewportScrollInfo(viewport, volumeId, useSlabThickness = false) {
|
|
3
|
+
const { sliceRange, spacingInNormalDirection, camera } = getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness);
|
|
4
4
|
const { min, max, current } = sliceRange;
|
|
5
5
|
const numScrollSteps = Math.round((max - min) / spacingInNormalDirection);
|
|
6
6
|
const fraction = (current - min) / (max - min);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolumeViewportScrollInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"getVolumeViewportScrollInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAUhE,SAAS,2BAA2B,CAClC,QAAyB,EACzB,QAAgB,EAChB,gBAAgB,GAAG,KAAK;IAExB,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,EAAE,GACpD,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAG1E,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAExD,OAAO;QACL,cAAc;QACd,gBAAgB;QAChB,cAAc,EAAE;YACd,UAAU;YACV,wBAAwB;YACxB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ICamera, IImageVolume, IVolumeViewport } from '../types';
|
|
2
|
-
export default function getTargetVolumeAndSpacingInNormalDir(viewport: IVolumeViewport, camera: ICamera, targetVolumeId?: string): {
|
|
2
|
+
export default function getTargetVolumeAndSpacingInNormalDir(viewport: IVolumeViewport, camera: ICamera, targetVolumeId?: string, useSlabThickness?: boolean): {
|
|
3
3
|
imageVolume: IImageVolume;
|
|
4
4
|
spacingInNormalDirection: number;
|
|
5
5
|
actorUID: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.d.ts","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAU,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.d.ts","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAU,MAAM,UAAU,CAAC;AAkC1E,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAC1D,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,OAAO,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,UAAQ,GACvB;IACD,WAAW,EAAE,YAAY,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqFA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActorSliceRange, IVolumeViewport, ICamera } from '../types';
|
|
2
|
-
declare function getVolumeSliceRangeInfo(viewport: IVolumeViewport, volumeId: string): {
|
|
2
|
+
declare function getVolumeSliceRangeInfo(viewport: IVolumeViewport, volumeId: string, useSlabThickness?: boolean): {
|
|
3
3
|
sliceRange: ActorSliceRange;
|
|
4
4
|
spacingInNormalDirection: number;
|
|
5
5
|
camera: ICamera;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolumeSliceRangeInfo.d.ts","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,eAAe,EACf,OAAO,EAER,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"getVolumeSliceRangeInfo.d.ts","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,eAAe,EACf,OAAO,EAER,MAAM,UAAU,CAAC;AAUlB,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,UAAQ,GACvB;IACD,UAAU,EAAE,eAAe,CAAC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;CACjB,CAgCA;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IVolumeViewport } from '../types';
|
|
2
|
-
declare function getVolumeViewportScrollInfo(viewport: IVolumeViewport, volumeId: string): {
|
|
2
|
+
declare function getVolumeViewportScrollInfo(viewport: IVolumeViewport, volumeId: string, useSlabThickness?: boolean): {
|
|
3
3
|
numScrollSteps: number;
|
|
4
4
|
currentStepIndex: number;
|
|
5
5
|
sliceRangeInfo: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVolumeViewportScrollInfo.d.ts","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"getVolumeViewportScrollInfo.d.ts","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAW3C,iBAAS,2BAA2B,CAClC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,UAAQ;;;;;;;;EAwBzB;AAED,eAAe,2BAA2B,CAAC"}
|