@cornerstonejs/core 2.0.0-beta.1 → 2.0.0-beta.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/RenderingEngine/BaseVolumeViewport.d.ts +4 -1
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +28 -2
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.d.ts +1 -0
- package/dist/cjs/RenderingEngine/StackViewport.js +17 -8
- package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +2 -0
- package/dist/cjs/RenderingEngine/VolumeViewport.js +30 -0
- package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport3D.d.ts +1 -0
- package/dist/cjs/RenderingEngine/VolumeViewport3D.js +3 -0
- package/dist/cjs/RenderingEngine/VolumeViewport3D.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.js +3 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +3 -2
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/setVolumesForViewports.js.map +1 -1
- package/dist/cjs/Settings.js +4 -2
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/cache/cache.d.ts +3 -1
- package/dist/cjs/cache/cache.js +12 -7
- package/dist/cjs/cache/cache.js.map +1 -1
- package/dist/cjs/cache/classes/ImageVolume.js +2 -3
- package/dist/cjs/cache/classes/ImageVolume.js.map +1 -1
- package/dist/cjs/init.d.ts +1 -1
- package/dist/cjs/init.js +1 -1
- package/dist/cjs/init.js.map +1 -1
- package/dist/cjs/loaders/volumeLoader.d.ts +1 -1
- package/dist/cjs/loaders/volumeLoader.js.map +1 -1
- package/dist/cjs/requestPool/requestPoolManager.js +1 -1
- package/dist/cjs/requestPool/requestPoolManager.js.map +1 -1
- package/dist/cjs/types/AffineMatrix.d.ts +27 -0
- package/dist/cjs/types/AffineMatrix.js +3 -0
- package/dist/cjs/types/AffineMatrix.js.map +1 -0
- package/dist/cjs/types/IImage.d.ts +3 -0
- package/dist/cjs/types/IVolumeViewport.d.ts +2 -0
- package/dist/cjs/types/Mat3.d.ts +1 -11
- package/dist/cjs/types/ViewportProperties.d.ts +2 -1
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/utilities/calculateViewportsSpatialRegistration.js +9 -14
- package/dist/cjs/utilities/calculateViewportsSpatialRegistration.js.map +1 -1
- package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js +12 -6
- package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js.map +1 -1
- package/dist/cjs/utilities/getRuntimeId.js +2 -1
- package/dist/cjs/utilities/getRuntimeId.js.map +1 -1
- package/dist/cjs/utilities/windowLevel.js +4 -4
- package/dist/cjs/utilities/windowLevel.js.map +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +4 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +28 -2
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.d.ts +1 -0
- package/dist/esm/RenderingEngine/StackViewport.js +17 -8
- package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.d.ts +2 -0
- package/dist/esm/RenderingEngine/VolumeViewport.js +32 -2
- package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport3D.d.ts +1 -0
- package/dist/esm/RenderingEngine/VolumeViewport3D.js +3 -0
- package/dist/esm/RenderingEngine/VolumeViewport3D.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.js +3 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +3 -2
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js.map +1 -1
- package/dist/esm/Settings.js +4 -2
- package/dist/esm/Settings.js.map +1 -1
- package/dist/esm/cache/cache.d.ts +3 -1
- package/dist/esm/cache/cache.js +12 -7
- package/dist/esm/cache/cache.js.map +1 -1
- package/dist/esm/cache/classes/ImageVolume.js +2 -3
- package/dist/esm/cache/classes/ImageVolume.js.map +1 -1
- package/dist/esm/init.d.ts +1 -1
- package/dist/esm/init.js +1 -1
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/loaders/volumeLoader.d.ts +1 -1
- package/dist/esm/loaders/volumeLoader.js.map +1 -1
- package/dist/esm/requestPool/requestPoolManager.js +1 -1
- package/dist/esm/requestPool/requestPoolManager.js.map +1 -1
- package/dist/esm/types/AffineMatrix.d.ts +27 -0
- package/dist/esm/types/AffineMatrix.js +2 -0
- package/dist/esm/types/AffineMatrix.js.map +1 -0
- package/dist/esm/types/IImage.d.ts +3 -0
- package/dist/esm/types/IVolumeViewport.d.ts +2 -0
- package/dist/esm/types/Mat3.d.ts +1 -11
- package/dist/esm/types/ViewportProperties.d.ts +2 -1
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/utilities/calculateViewportsSpatialRegistration.js +9 -14
- package/dist/esm/utilities/calculateViewportsSpatialRegistration.js.map +1 -1
- package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +12 -6
- package/dist/esm/utilities/getClosestStackImageIndexForPoint.js.map +1 -1
- package/dist/esm/utilities/getRuntimeId.js +2 -1
- package/dist/esm/utilities/getRuntimeId.js.map +1 -1
- package/dist/esm/utilities/windowLevel.js +4 -4
- package/dist/esm/utilities/windowLevel.js.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/RenderingEngine/BaseVolumeViewport.ts +55 -1
- package/src/RenderingEngine/RenderingEngine.ts +1 -0
- package/src/RenderingEngine/StackViewport.ts +25 -9
- package/src/RenderingEngine/Viewport.ts +1 -1
- package/src/RenderingEngine/VolumeViewport.ts +53 -2
- package/src/RenderingEngine/VolumeViewport3D.ts +4 -0
- package/src/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.ts +9 -1
- package/src/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.ts +5 -3
- package/src/RenderingEngine/helpers/setVolumesForViewports.ts +3 -1
- package/src/Settings.ts +6 -2
- package/src/cache/cache.ts +33 -18
- package/src/cache/classes/ImageVolume.ts +3 -3
- package/src/init.ts +1 -1
- package/src/loaders/volumeLoader.ts +2 -2
- package/src/requestPool/requestPoolManager.ts +1 -1
- package/src/types/AffineMatrix.ts +8 -0
- package/src/types/IImage.ts +4 -0
- package/src/types/IVolumeViewport.ts +8 -0
- package/src/types/Mat3.ts +3 -11
- package/src/types/ViewportProperties.ts +3 -1
- package/src/types/index.ts +2 -0
- package/src/utilities/calculateViewportsSpatialRegistration.ts +21 -28
- package/src/utilities/getClosestStackImageIndexForPoint.ts +18 -6
- package/src/utilities/getRuntimeId.ts +3 -1
- package/src/utilities/windowLevel.ts +13 -4
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
import { vec3, mat4 } from 'gl-matrix';
|
|
2
|
-
import { StackViewport } from '../RenderingEngine';
|
|
3
2
|
import spatialRegistrationMetadataProvider from './spatialRegistrationMetadataProvider';
|
|
4
3
|
import { metaData } from '..';
|
|
5
|
-
|
|
4
|
+
const ALLOWED_DELTA = 0.05;
|
|
6
5
|
function calculateViewportsSpatialRegistration(viewport1, viewport2) {
|
|
7
|
-
if (!(viewport1 instanceof StackViewport) ||
|
|
8
|
-
!(viewport2 instanceof StackViewport)) {
|
|
9
|
-
throw new Error('calculateViewportsSpatialRegistration: Both viewports must be StackViewports, volume viewports are not supported yet');
|
|
10
|
-
}
|
|
11
|
-
const isSameFrameOfReference = viewport1.getFrameOfReferenceUID() === viewport2.getFrameOfReferenceUID();
|
|
12
|
-
if (isSameFrameOfReference) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
6
|
const imageId1 = viewport1.getCurrentImageId();
|
|
16
7
|
const imageId2 = viewport2.getCurrentImageId();
|
|
17
8
|
const imagePlaneModule1 = metaData.get('imagePlaneModule', imageId1);
|
|
18
9
|
const imagePlaneModule2 = metaData.get('imagePlaneModule', imageId2);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
if (!imagePlaneModule1 || !imagePlaneModule2) {
|
|
11
|
+
console.log('Viewport spatial registration requires image plane module');
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const { imageOrientationPatient: iop2 } = imagePlaneModule2;
|
|
15
|
+
const isSameImagePlane = imagePlaneModule1.imageOrientationPatient.every((v, i) => Math.abs(v - iop2[i]) < ALLOWED_DELTA);
|
|
22
16
|
if (!isSameImagePlane) {
|
|
23
|
-
|
|
17
|
+
console.log('Viewport spatial registration only supported for same orientation (hence translation only) for now', imagePlaneModule1?.imageOrientationPatient, imagePlaneModule2?.imageOrientationPatient);
|
|
18
|
+
return;
|
|
24
19
|
}
|
|
25
20
|
const imagePositionPatient1 = imagePlaneModule1.imagePositionPatient;
|
|
26
21
|
const imagePositionPatient2 = imagePlaneModule2.imagePositionPatient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculateViewportsSpatialRegistration.js","sourceRoot":"","sources":["../../../src/utilities/calculateViewportsSpatialRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,
|
|
1
|
+
{"version":3,"file":"calculateViewportsSpatialRegistration.js","sourceRoot":"","sources":["../../../src/utilities/calculateViewportsSpatialRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAQ9B,MAAM,aAAa,GAAG,IAAI,CAAC;AAc3B,SAAS,qCAAqC,CAC5C,SAAyB,EACzB,SAAyB;IAEzB,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAE/C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAErE,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;KACR;IACD,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC;IAC5D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,KAAK,CACtE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAChD,CAAC;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO,CAAC,GAAG,CACT,oGAAoG,EACpG,iBAAiB,EAAE,uBAAuB,EAC1C,iBAAiB,EAAE,uBAAuB,CAC3C,CAAC;QACF,OAAO;KACR;IAED,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;IACrE,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;IAErE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAC/B,IAAI,CAAC,MAAM,EAAE,EACb,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;IAC7D,mCAAmC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,eAAe,qCAAqC,CAAC"}
|
|
@@ -8,12 +8,14 @@ export default function getClosestStackImageIndexForPoint(point, viewport) {
|
|
|
8
8
|
export function calculateMinimalDistanceForStackViewport(point, viewport) {
|
|
9
9
|
const imageIds = viewport.getImageIds();
|
|
10
10
|
const currentImageIdIndex = viewport.getCurrentImageIdIndex();
|
|
11
|
-
if (imageIds.length === 0)
|
|
11
|
+
if (imageIds.length === 0) {
|
|
12
12
|
return null;
|
|
13
|
+
}
|
|
13
14
|
const getDistance = (imageId) => {
|
|
14
15
|
const planeMetadata = getPlaneMetadata(imageId);
|
|
15
|
-
if (!planeMetadata)
|
|
16
|
+
if (!planeMetadata) {
|
|
16
17
|
return null;
|
|
18
|
+
}
|
|
17
19
|
const plane = planar.planeEquation(planeMetadata.planeNormal, planeMetadata.imagePositionPatient);
|
|
18
20
|
const distance = planar.planeDistanceToPoint(plane, point);
|
|
19
21
|
return distance;
|
|
@@ -26,27 +28,31 @@ export function calculateMinimalDistanceForStackViewport(point, viewport) {
|
|
|
26
28
|
for (let i = 0; i < higherImageIds.length; i++) {
|
|
27
29
|
const id = higherImageIds[i];
|
|
28
30
|
const distance = getDistance(id);
|
|
29
|
-
if (distance === null)
|
|
31
|
+
if (distance === null) {
|
|
30
32
|
continue;
|
|
33
|
+
}
|
|
31
34
|
if (distance <= closestStack.distance) {
|
|
32
35
|
closestStack.distance = distance;
|
|
33
36
|
closestStack.index = i + currentImageIdIndex + 1;
|
|
34
37
|
}
|
|
35
|
-
else
|
|
38
|
+
else {
|
|
36
39
|
break;
|
|
40
|
+
}
|
|
37
41
|
}
|
|
38
42
|
const lowerImageIds = imageIds.slice(0, currentImageIdIndex);
|
|
39
43
|
for (let i = lowerImageIds.length - 1; i >= 0; i--) {
|
|
40
44
|
const id = lowerImageIds[i];
|
|
41
45
|
const distance = getDistance(id);
|
|
42
|
-
if (distance === null || distance === closestStack.distance)
|
|
46
|
+
if (distance === null || distance === closestStack.distance) {
|
|
43
47
|
continue;
|
|
48
|
+
}
|
|
44
49
|
if (distance < closestStack.distance) {
|
|
45
50
|
closestStack.distance = distance;
|
|
46
51
|
closestStack.index = i;
|
|
47
52
|
}
|
|
48
|
-
else
|
|
53
|
+
else {
|
|
49
54
|
break;
|
|
55
|
+
}
|
|
50
56
|
}
|
|
51
57
|
return closestStack.distance === Infinity ? null : closestStack;
|
|
52
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClosestStackImageIndexForPoint.js","sourceRoot":"","sources":["../../../src/utilities/getClosestStackImageIndexForPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAU9B,MAAM,CAAC,OAAO,UAAU,iCAAiC,CACvD,KAAa,EACb,QAAwB;IAExB,MAAM,eAAe,GAAG,wCAAwC,CAC9D,KAAK,EACL,QAAQ,CACT,CAAC;IACF,OAAO,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAGD,MAAM,UAAU,wCAAwC,CACtD,KAAa,EACb,QAAwB;IAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAE9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"getClosestStackImageIndexForPoint.js","sourceRoot":"","sources":["../../../src/utilities/getClosestStackImageIndexForPoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRuntimeId.js","sourceRoot":"","sources":["../../../src/utilities/getRuntimeId.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAChD,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAW9B,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,OAAiB,EACjB,SAAkB,EAClB,GAAY;IAEZ,OAAO,gBAAgB,CAErB,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAC1E,eAAe,EACf,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAC/D,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACxE,CAAC;AAMD,SAAS,gBAAgB,CACvB,OAAsC,EACtC,MAAc,EACd,GAAW;IAEX,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,YAAY,YAAY,KAAK,CAAC,EAAE;QACpC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;KACjE;IACD,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACnE,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,EAAE;YACX,KAAK,GAAG,KAAK,CAAC;YACd,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACX;aAAM;YACL,CAAC,GAAG,CAAC,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"getRuntimeId.js","sourceRoot":"","sources":["../../../src/utilities/getRuntimeId.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAChD,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAW9B,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,OAAiB,EACjB,SAAkB,EAClB,GAAY;IAEZ,OAAO,gBAAgB,CAErB,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAC1E,eAAe,EACf,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAC/D,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACxE,CAAC;AAMD,SAAS,gBAAgB,CACvB,OAAsC,EACtC,MAAc,EACd,GAAW;IAEX,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,YAAY,YAAY,KAAK,CAAC,EAAE;QACpC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;KACjE;IACD,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACnE,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,EAAE;YACX,KAAK,GAAG,KAAK,CAAC;YACd,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACX;aAAM;YACL,CAAC,GAAG,CAAC,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE;gBACjC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACtB;SACF;QACD,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACrB;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
function toWindowLevel(low, high) {
|
|
2
|
-
const windowWidth = Math.abs(
|
|
3
|
-
const windowCenter = low +
|
|
2
|
+
const windowWidth = Math.abs(high - low) + 1;
|
|
3
|
+
const windowCenter = (low + high + 1) / 2;
|
|
4
4
|
return { windowWidth, windowCenter };
|
|
5
5
|
}
|
|
6
6
|
function toLowHighRange(windowWidth, windowCenter) {
|
|
7
|
-
const lower = windowCenter - windowWidth / 2
|
|
8
|
-
const upper = windowCenter + windowWidth / 2
|
|
7
|
+
const lower = windowCenter - 0.5 - (windowWidth - 1) / 2;
|
|
8
|
+
const upper = windowCenter - 0.5 + (windowWidth - 1) / 2;
|
|
9
9
|
return { lower, upper };
|
|
10
10
|
}
|
|
11
11
|
export { toWindowLevel, toLowHighRange };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowLevel.js","sourceRoot":"","sources":["../../../src/utilities/windowLevel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"windowLevel.js","sourceRoot":"","sources":["../../../src/utilities/windowLevel.ts"],"names":[],"mappings":"AASA,SAAS,aAAa,CACpB,GAAW,EACX,IAAY;IAMZ,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AACvC,CAAC;AAaD,SAAS,cAAc,CACrB,WAAmB,EACnB,YAAoB;IAKpB,MAAM,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAEzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
|