@cornerstonejs/core 0.8.0 → 0.10.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/RenderingEngine/RenderingEngine.js +4 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.js +17 -23
- package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/Viewport.d.ts +8 -2
- package/dist/cjs/RenderingEngine/Viewport.js +54 -33
- package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +4 -2
- package/dist/cjs/RenderingEngine/VolumeViewport.js +120 -46
- package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +19 -5
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +2 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/createVolumeActor.d.ts +1 -1
- package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js +31 -3
- package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/index.d.ts +2 -1
- package/dist/cjs/RenderingEngine/helpers/index.js +3 -1
- package/dist/cjs/RenderingEngine/helpers/index.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -0
- package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js +163 -0
- package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -0
- package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +4 -0
- package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +42 -0
- package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -0
- package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +0 -24
- package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +4 -14
- package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -14
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
- package/dist/cjs/Settings.js +1 -0
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/cache/classes/ImageVolume.d.ts +1 -0
- package/dist/cjs/cache/classes/ImageVolume.js +1 -0
- package/dist/cjs/cache/classes/ImageVolume.js.map +1 -1
- package/dist/cjs/constants/index.d.ts +2 -1
- package/dist/cjs/constants/index.js +3 -1
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/rendering.d.ts +2 -0
- package/dist/cjs/constants/rendering.js +5 -0
- package/dist/cjs/constants/rendering.js.map +1 -0
- package/dist/cjs/enums/BlendModes.js +1 -1
- package/dist/cjs/enums/BlendModes.js.map +1 -1
- package/dist/cjs/enums/Events.d.ts +1 -0
- package/dist/cjs/enums/Events.js +1 -0
- package/dist/cjs/enums/Events.js.map +1 -1
- package/dist/cjs/types/ActorSliceRange.d.ts +11 -0
- package/dist/cjs/types/ActorSliceRange.js +3 -0
- package/dist/cjs/types/ActorSliceRange.js.map +1 -0
- package/dist/cjs/types/EventTypes.d.ts +10 -1
- package/dist/cjs/types/IActor.d.ts +1 -0
- package/dist/cjs/types/ICamera.d.ts +0 -3
- package/dist/cjs/types/IImageVolume.d.ts +1 -0
- package/dist/cjs/types/IStackViewport.d.ts +1 -1
- package/dist/cjs/types/IViewport.d.ts +2 -0
- package/dist/cjs/types/IVolumeInput.d.ts +1 -0
- package/dist/cjs/types/IVolumeViewport.d.ts +3 -2
- package/dist/cjs/types/ImageSliceData.d.ts +5 -0
- package/dist/cjs/types/ImageSliceData.js +3 -0
- package/dist/cjs/types/ImageSliceData.js.map +1 -0
- package/dist/cjs/types/Metadata.d.ts +1 -0
- package/dist/cjs/types/index.d.ts +3 -1
- package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
- package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js +37 -0
- package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
- package/dist/cjs/utilities/getScalingParameters.d.ts +2 -0
- package/dist/cjs/utilities/getScalingParameters.js +41 -0
- package/dist/cjs/utilities/getScalingParameters.js.map +1 -0
- package/dist/cjs/utilities/getSliceRange.d.ts +2 -0
- package/dist/cjs/utilities/getSliceRange.js +39 -0
- package/dist/cjs/utilities/getSliceRange.js.map +1 -0
- package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +1 -1
- package/dist/cjs/utilities/index.d.ts +6 -2
- package/dist/cjs/utilities/index.js +9 -1
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/loadImageToCanvas.js +2 -9
- package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/cjs/utilities/snapFocalPointToSlice.d.ts +5 -0
- package/dist/cjs/utilities/snapFocalPointToSlice.js +41 -0
- package/dist/cjs/utilities/snapFocalPointToSlice.js.map +1 -0
- package/dist/esm/RenderingEngine/RenderingEngine.js +4 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/StackViewport.js +17 -23
- package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/Viewport.d.ts +8 -2
- package/dist/esm/RenderingEngine/Viewport.js +54 -33
- package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.d.ts +4 -2
- package/dist/esm/RenderingEngine/VolumeViewport.js +101 -46
- package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +19 -5
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +2 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/createVolumeActor.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +31 -3
- package/dist/esm/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/index.d.ts +2 -1
- package/dist/esm/RenderingEngine/helpers/index.js +2 -1
- package/dist/esm/RenderingEngine/helpers/index.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -0
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +132 -0
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -0
- package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +4 -0
- package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +35 -0
- package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +0 -24
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +4 -14
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -14
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
- package/dist/esm/Settings.js +1 -0
- package/dist/esm/Settings.js.map +1 -1
- package/dist/esm/cache/classes/ImageVolume.d.ts +1 -0
- package/dist/esm/cache/classes/ImageVolume.js +1 -0
- package/dist/esm/cache/classes/ImageVolume.js.map +1 -1
- package/dist/esm/constants/index.d.ts +2 -1
- package/dist/esm/constants/index.js +2 -1
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/rendering.d.ts +2 -0
- package/dist/esm/constants/rendering.js +3 -0
- package/dist/esm/constants/rendering.js.map +1 -0
- package/dist/esm/enums/BlendModes.js +1 -1
- package/dist/esm/enums/BlendModes.js.map +1 -1
- package/dist/esm/enums/Events.d.ts +1 -0
- package/dist/esm/enums/Events.js +1 -0
- package/dist/esm/enums/Events.js.map +1 -1
- package/dist/esm/types/ActorSliceRange.d.ts +11 -0
- package/dist/esm/types/ActorSliceRange.js +2 -0
- package/dist/esm/types/ActorSliceRange.js.map +1 -0
- package/dist/esm/types/EventTypes.d.ts +10 -1
- package/dist/esm/types/IActor.d.ts +1 -0
- package/dist/esm/types/ICamera.d.ts +0 -3
- package/dist/esm/types/IImageVolume.d.ts +1 -0
- package/dist/esm/types/IStackViewport.d.ts +1 -1
- package/dist/esm/types/IViewport.d.ts +2 -0
- package/dist/esm/types/IVolumeInput.d.ts +1 -0
- package/dist/esm/types/IVolumeViewport.d.ts +3 -2
- package/dist/esm/types/ImageSliceData.d.ts +5 -0
- package/dist/esm/types/ImageSliceData.js +2 -0
- package/dist/esm/types/ImageSliceData.js.map +1 -0
- package/dist/esm/types/Metadata.d.ts +1 -0
- package/dist/esm/types/index.d.ts +3 -1
- package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +3 -0
- package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js +32 -0
- package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js.map +1 -0
- package/dist/esm/utilities/getScalingParameters.d.ts +2 -0
- package/dist/esm/utilities/getScalingParameters.js +22 -0
- package/dist/esm/utilities/getScalingParameters.js.map +1 -0
- package/dist/esm/utilities/getSliceRange.d.ts +2 -0
- package/dist/esm/utilities/getSliceRange.js +33 -0
- package/dist/esm/utilities/getSliceRange.js.map +1 -0
- package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +1 -1
- package/dist/esm/utilities/index.d.ts +6 -2
- package/dist/esm/utilities/index.js +6 -2
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/loadImageToCanvas.js +2 -9
- package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/esm/utilities/snapFocalPointToSlice.d.ts +5 -0
- package/dist/esm/utilities/snapFocalPointToSlice.js +38 -0
- package/dist/esm/utilities/snapFocalPointToSlice.js.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -3
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import vtkMatrixBuilder from '@kitware/vtk.js/Common/Core/MatrixBuilder';
|
|
2
|
+
import getVolumeActorCorners from './getVolumeActorCorners';
|
|
3
|
+
export default function getSliceRange(volumeActor, viewPlaneNormal, focalPoint) {
|
|
4
|
+
const corners = 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 {
|
|
25
|
+
min: minX,
|
|
26
|
+
max: maxX,
|
|
27
|
+
current: currentSlice,
|
|
28
|
+
actor: volumeActor,
|
|
29
|
+
viewPlaneNormal,
|
|
30
|
+
focalPoint,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=getSliceRange.js.map
|
|
@@ -0,0 +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;AAe5D,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,WAAwB,EACxB,eAAuB,EACvB,UAAkB;IAElB,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAGnD,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;QACL,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,WAAW;QAClB,eAAe;QACf,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,7 @@ import getSpacingInNormalDirection from './getSpacingInNormalDirection';
|
|
|
3
3
|
export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId) {
|
|
4
4
|
const { viewPlaneNormal } = camera;
|
|
5
5
|
const volumeActors = viewport.getActors();
|
|
6
|
-
if (!volumeActors
|
|
6
|
+
if (!volumeActors || !volumeActors.length) {
|
|
7
7
|
return { spacingInNormalDirection: null, imageVolume: null };
|
|
8
8
|
}
|
|
9
9
|
const numVolumeActors = volumeActors.length;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import csUtils from './invertRgbTransferFunction';
|
|
2
2
|
import scaleRgbTransferFunction from './scaleRgbTransferFunction';
|
|
3
3
|
import triggerEvent from './triggerEvent';
|
|
4
4
|
import uuidv4 from './uuidv4';
|
|
@@ -23,6 +23,10 @@ import loadImageToCanvas from './loadImageToCanvas';
|
|
|
23
23
|
import renderToCanvas from './renderToCanvas';
|
|
24
24
|
import worldToImageCoords from './worldToImageCoords';
|
|
25
25
|
import imageToWorldCoords from './imageToWorldCoords';
|
|
26
|
+
import getSliceRange from './getSliceRange';
|
|
27
|
+
import snapFocalPointToSlice from './snapFocalPointToSlice';
|
|
28
|
+
import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeViewport';
|
|
29
|
+
import getScalingParameters from './getScalingParameters';
|
|
26
30
|
import * as planar from './planar';
|
|
27
31
|
import * as windowLevel from './windowLevel';
|
|
28
|
-
export { invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, };
|
|
32
|
+
export { csUtils as invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, getScalingParameters, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import csUtils from './invertRgbTransferFunction';
|
|
2
2
|
import scaleRgbTransferFunction from './scaleRgbTransferFunction';
|
|
3
3
|
import triggerEvent from './triggerEvent';
|
|
4
4
|
import uuidv4 from './uuidv4';
|
|
@@ -23,7 +23,11 @@ import loadImageToCanvas from './loadImageToCanvas';
|
|
|
23
23
|
import renderToCanvas from './renderToCanvas';
|
|
24
24
|
import worldToImageCoords from './worldToImageCoords';
|
|
25
25
|
import imageToWorldCoords from './imageToWorldCoords';
|
|
26
|
+
import getSliceRange from './getSliceRange';
|
|
27
|
+
import snapFocalPointToSlice from './snapFocalPointToSlice';
|
|
28
|
+
import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeViewport';
|
|
29
|
+
import getScalingParameters from './getScalingParameters';
|
|
26
30
|
import * as planar from './planar';
|
|
27
31
|
import * as windowLevel from './windowLevel';
|
|
28
|
-
export { invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, };
|
|
32
|
+
export { csUtils as invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getVolumeViewportsContainingVolumeId, transformWorldToIndex, prefetchStack, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, getScalingParameters, };
|
|
29
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,sCAAsC,MAAM,0CAA0C,CAAC;AAC9F,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,uCAAuC,MAAM,2CAA2C,CAAC;AAChG,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AACtF,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,OAAO,IAAI,yBAAyB,EACpC,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,sCAAsC,EACtC,MAAM,EACN,MAAM,EACN,SAAS,EACT,YAAY,EACZ,OAAO,EACP,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,oCAAoC,EACpC,qBAAqB,EACrB,qBAAqB,EACrB,uCAAuC,EACvC,oCAAoC,EACpC,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,kCAAkC,EAClC,oBAAoB,GACrB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import * as metaData from '../metaData';
|
|
|
3
3
|
import { RequestType } from '../enums';
|
|
4
4
|
import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
|
|
5
5
|
import renderToCanvas from './renderToCanvas';
|
|
6
|
+
import getScalingParameters from './getScalingParameters';
|
|
6
7
|
export default function loadImageToCanvas(canvas, imageId, requestType = RequestType.Thumbnail, priority = -5) {
|
|
7
8
|
return new Promise((resolve, reject) => {
|
|
8
9
|
function successCallback(image, imageId) {
|
|
@@ -22,15 +23,7 @@ export default function loadImageToCanvas(canvas, imageId, requestType = Request
|
|
|
22
23
|
errorCallback.call(this, error, imageId);
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
|
-
const
|
|
26
|
-
const suvFactor = metaData.get('scalingModule', imageId) || {};
|
|
27
|
-
const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
|
|
28
|
-
const scalingParameters = {
|
|
29
|
-
rescaleSlope: modalityLutModule.rescaleSlope,
|
|
30
|
-
rescaleIntercept: modalityLutModule.rescaleIntercept,
|
|
31
|
-
modality: generalSeriesModule.modality,
|
|
32
|
-
suvbw: suvFactor.suvbw,
|
|
33
|
-
};
|
|
26
|
+
const scalingParameters = getScalingParameters(imageId);
|
|
34
27
|
const options = {
|
|
35
28
|
targetBuffer: {
|
|
36
29
|
type: 'Float32Array',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,cAAc,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ActorSliceRange, Point3 } from '../types';
|
|
2
|
+
export default function snapFocalPointToSlice(focalPoint: Point3, position: Point3, sliceRange: ActorSliceRange, viewPlaneNormal: Point3, spacingInNormalDirection: number, deltaFrames: number): {
|
|
3
|
+
newFocalPoint: Point3;
|
|
4
|
+
newPosition: Point3;
|
|
5
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { vec3 } from 'gl-matrix';
|
|
2
|
+
export default function snapFocalPointToSlice(focalPoint, position, sliceRange, viewPlaneNormal, spacingInNormalDirection, deltaFrames) {
|
|
3
|
+
const { min, max, current } = sliceRange;
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapFocalPointToSlice.js","sourceRoot":"","sources":["../../../src/utilities/snapFocalPointToSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,UAAkB,EAClB,QAAgB,EAChB,UAA2B,EAC3B,eAAuB,EACvB,wBAAgC,EAChC,WAAmB;IAEnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,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,GAAW;QAC1B,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,GAAW;QACtB,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,GAAW;QAC1B,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"}
|