@cornerstonejs/core 0.6.3 → 0.8.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.
Files changed (57) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.d.ts +2 -5
  2. package/dist/cjs/RenderingEngine/StackViewport.js +34 -31
  3. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/Viewport.d.ts +1 -0
  5. package/dist/cjs/RenderingEngine/Viewport.js +11 -2
  6. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  7. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +0 -1
  8. package/dist/cjs/RenderingEngine/VolumeViewport.js +0 -6
  9. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  10. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +1 -1
  11. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js.map +1 -1
  12. package/dist/cjs/cache/cache.d.ts +2 -2
  13. package/dist/cjs/cache/cache.js +8 -3
  14. package/dist/cjs/cache/cache.js.map +1 -1
  15. package/dist/cjs/types/EventTypes.d.ts +3 -2
  16. package/dist/cjs/types/ICamera.d.ts +2 -0
  17. package/dist/cjs/types/IStackViewport.d.ts +2 -1
  18. package/dist/cjs/types/StackViewportProperties.d.ts +0 -2
  19. package/dist/cjs/utilities/imageToWorldCoords.d.ts +2 -0
  20. package/dist/cjs/utilities/imageToWorldCoords.js +17 -0
  21. package/dist/cjs/utilities/imageToWorldCoords.js.map +1 -0
  22. package/dist/cjs/utilities/index.d.ts +3 -1
  23. package/dist/cjs/utilities/index.js +5 -1
  24. package/dist/cjs/utilities/index.js.map +1 -1
  25. package/dist/cjs/utilities/worldToImageCoords.d.ts +3 -0
  26. package/dist/cjs/utilities/worldToImageCoords.js +31 -0
  27. package/dist/cjs/utilities/worldToImageCoords.js.map +1 -0
  28. package/dist/esm/RenderingEngine/StackViewport.d.ts +2 -5
  29. package/dist/esm/RenderingEngine/StackViewport.js +34 -31
  30. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  31. package/dist/esm/RenderingEngine/Viewport.d.ts +1 -0
  32. package/dist/esm/RenderingEngine/Viewport.js +11 -2
  33. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  34. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +0 -1
  35. package/dist/esm/RenderingEngine/VolumeViewport.js +0 -6
  36. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  37. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +1 -1
  38. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js.map +1 -1
  39. package/dist/esm/cache/cache.d.ts +2 -2
  40. package/dist/esm/cache/cache.js +8 -3
  41. package/dist/esm/cache/cache.js.map +1 -1
  42. package/dist/esm/types/EventTypes.d.ts +3 -2
  43. package/dist/esm/types/ICamera.d.ts +2 -0
  44. package/dist/esm/types/IStackViewport.d.ts +2 -1
  45. package/dist/esm/types/StackViewportProperties.d.ts +0 -2
  46. package/dist/esm/utilities/imageToWorldCoords.d.ts +2 -0
  47. package/dist/esm/utilities/imageToWorldCoords.js +14 -0
  48. package/dist/esm/utilities/imageToWorldCoords.js.map +1 -0
  49. package/dist/esm/utilities/index.d.ts +3 -1
  50. package/dist/esm/utilities/index.js +3 -1
  51. package/dist/esm/utilities/index.js.map +1 -1
  52. package/dist/esm/utilities/worldToImageCoords.d.ts +3 -0
  53. package/dist/esm/utilities/worldToImageCoords.js +29 -0
  54. package/dist/esm/utilities/worldToImageCoords.js.map +1 -0
  55. package/dist/umd/index.js +1 -1
  56. package/dist/umd/index.js.map +1 -1
  57. package/package.json +2 -2
@@ -35,7 +35,7 @@ function getRenderCanvas(enabledElement, image, invalidated, useAlphaChannel = t
35
35
  let start = (0, now_1.default)();
36
36
  image.stats.lastLutGenerateTime = (0, now_1.default)() - start;
37
37
  const { viewport } = enabledElement;
38
- if (viewport.modality === 'PT') {
38
+ if (viewport.modality === 'PT' && image.isPreScaled) {
39
39
  const { windowWidth, windowCenter } = viewport.voi;
40
40
  const minimum = windowCenter - windowWidth / 2;
41
41
  const maximum = windowCenter + windowWidth / 2;
@@ -1 +1 @@
1
- {"version":3,"file":"renderGrayscaleImage.js","sourceRoot":"","sources":["../../../../../../src/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderGrayscaleImage.js","sourceRoot":"","sources":["../../../../../../src/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ICache, IImageVolume, IImageLoadObject, IVolumeLoadObject } from '../types';
1
+ import { ICache, IImageVolume, IImageLoadObject, IVolumeLoadObject, ICachedImage } from '../types';
2
2
  declare class Cache implements ICache {
3
3
  private readonly _imageCache;
4
4
  private readonly _volumeCache;
@@ -21,7 +21,7 @@ declare class Cache implements ICache {
21
21
  volume: IImageVolume;
22
22
  imageIdIndex: number;
23
23
  };
24
- getCachedImageBasedOnImageURI(imageId: string): any;
24
+ getCachedImageBasedOnImageURI(imageId: string): ICachedImage | undefined;
25
25
  putVolumeLoadObject(volumeId: string, volumeLoadObject: IVolumeLoadObject): Promise<any>;
26
26
  getVolumeLoadObject: (volumeId: string) => IVolumeLoadObject;
27
27
  getVolume: (volumeId: string) => IImageVolume;
@@ -261,9 +261,14 @@ class Cache {
261
261
  }
262
262
  }
263
263
  getCachedImageBasedOnImageURI(imageId) {
264
- const imageIdToUse = (0, utilities_1.imageIdToURI)(imageId);
265
- const imageIdsInCache = Array.from(this._imageCache.keys());
266
- const foundImageId = imageIdsInCache.find((id) => id.indexOf(imageIdToUse) !== -1);
264
+ const imageURIToUse = (0, utilities_1.imageIdToURI)(imageId);
265
+ const cachedImageIds = Array.from(this._imageCache.keys());
266
+ const foundImageId = cachedImageIds.find((imageId) => {
267
+ return (0, utilities_1.imageIdToURI)(imageId) === imageURIToUse;
268
+ });
269
+ if (!foundImageId) {
270
+ return;
271
+ }
267
272
  return this._imageCache.get(foundImageId);
268
273
  }
269
274
  putVolumeLoadObject(volumeId, volumeLoadObject) {
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/cache/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/cache/cache.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { mat4 } from 'gl-matrix';
2
+ import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
1
3
  import type CustomEventType from '../types/CustomEventType';
2
4
  import type ICachedImage from './ICachedImage';
3
5
  import type ICachedVolume from './ICachedVolume';
@@ -5,14 +7,13 @@ import type ICamera from './ICamera';
5
7
  import type IImage from './IImage';
6
8
  import type IImageVolume from './IImageVolume';
7
9
  import type { VOIRange } from './voi';
8
- import type { mat4 } from 'gl-matrix';
9
- import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
10
10
  declare type CameraModifiedEventDetail = {
11
11
  previousCamera: ICamera;
12
12
  camera: ICamera;
13
13
  element: HTMLDivElement;
14
14
  viewportId: string;
15
15
  renderingEngineId: string;
16
+ rotation?: number;
16
17
  };
17
18
  declare type VoiModifiedEventDetail = {
18
19
  viewportId: string;
@@ -10,5 +10,7 @@ interface ICamera {
10
10
  viewPlaneNormal?: Point3;
11
11
  viewUp?: Point3;
12
12
  slabThickness?: number;
13
+ flipHorizontal?: boolean;
14
+ flipVertical?: boolean;
13
15
  }
14
16
  export default ICamera;
@@ -12,7 +12,7 @@ export default interface IStackViewport extends IViewport {
12
12
  scaling: Scaling;
13
13
  resize: () => void;
14
14
  getFrameOfReferenceUID: () => string;
15
- setProperties({ voiRange, invert, interpolationType, rotation, flipHorizontal, flipVertical, }: StackViewportProperties): void;
15
+ setProperties({ voiRange, invert, interpolationType, rotation, }: StackViewportProperties): void;
16
16
  getProperties: () => StackViewportProperties;
17
17
  canvasToWorld: (canvasPos: Point2) => Point3;
18
18
  worldToCanvas: (worldPos: Point3) => Point2;
@@ -38,4 +38,5 @@ export default interface IStackViewport extends IViewport {
38
38
  getRenderer(): any;
39
39
  setColormap(colormap: CPUFallbackColormapData): void;
40
40
  unsetColormap(): void;
41
+ isImagePreScaled(imageId: string): boolean;
41
42
  }
@@ -5,7 +5,5 @@ declare type StackViewportProperties = {
5
5
  invert?: boolean;
6
6
  interpolationType?: InterpolationType;
7
7
  rotation?: number;
8
- flipHorizontal?: boolean;
9
- flipVertical?: boolean;
10
8
  };
11
9
  export default StackViewportProperties;
@@ -0,0 +1,2 @@
1
+ import { Point2, Point3 } from '../types';
2
+ export default function imageToWorldCoords(imageId: string, imageCoords: Point2): Point3 | undefined;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const gl_matrix_1 = require("gl-matrix");
4
+ const __1 = require("..");
5
+ function imageToWorldCoords(imageId, imageCoords) {
6
+ const imagePlaneModule = __1.metaData.get('imagePlaneModule', imageId);
7
+ if (!imagePlaneModule) {
8
+ throw new Error(`No imagePlaneModule found for imageId: ${imageId}`);
9
+ }
10
+ const { columnCosines, columnPixelSpacing, rowCosines, rowPixelSpacing, imagePositionPatient: origin, } = imagePlaneModule;
11
+ const imageCoordsInWorld = gl_matrix_1.vec3.create();
12
+ gl_matrix_1.vec3.scaleAndAdd(imageCoordsInWorld, origin, rowCosines, rowPixelSpacing * (imageCoords[0] - 0.5));
13
+ gl_matrix_1.vec3.scaleAndAdd(imageCoordsInWorld, imageCoordsInWorld, columnCosines, columnPixelSpacing * (imageCoords[1] - 0.5));
14
+ return Array.from(imageCoordsInWorld);
15
+ }
16
+ exports.default = imageToWorldCoords;
17
+ //# sourceMappingURL=imageToWorldCoords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageToWorldCoords.js","sourceRoot":"","sources":["../../../src/utilities/imageToWorldCoords.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AACjC,0BAA8B;AAY9B,SAAwB,kBAAkB,CACxC,OAAe,EACf,WAAmB;IAEnB,MAAM,gBAAgB,GAAG,YAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAEnE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;KACtE;IAED,MAAM,EACJ,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,oBAAoB,EAAE,MAAM,GAC7B,GAAG,gBAAgB,CAAC;IAGrB,MAAM,kBAAkB,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;IAIzC,gBAAI,CAAC,WAAW,CACd,kBAAkB,EAClB,MAAM,EACN,UAAU,EAGV,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CACzC,CAAC;IAEF,gBAAI,CAAC,WAAW,CACd,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAC5C,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAW,CAAC;AAClD,CAAC;AAxCD,qCAwCC"}
@@ -21,6 +21,8 @@ import transformWorldToIndex from './transformWorldToIndex';
21
21
  import prefetchStack from './prefetchStack';
22
22
  import loadImageToCanvas from './loadImageToCanvas';
23
23
  import renderToCanvas from './renderToCanvas';
24
+ import worldToImageCoords from './worldToImageCoords';
25
+ import imageToWorldCoords from './imageToWorldCoords';
24
26
  import * as planar from './planar';
25
27
  import * as windowLevel from './windowLevel';
26
- 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, };
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, };
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.renderToCanvas = exports.loadImageToCanvas = exports.prefetchStack = exports.transformWorldToIndex = exports.getVolumeViewportsContainingVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.invertRgbTransferFunction = void 0;
25
+ exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvas = exports.loadImageToCanvas = exports.prefetchStack = exports.transformWorldToIndex = exports.getVolumeViewportsContainingVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.invertRgbTransferFunction = void 0;
26
26
  const invertRgbTransferFunction_1 = __importDefault(require("./invertRgbTransferFunction"));
27
27
  exports.invertRgbTransferFunction = invertRgbTransferFunction_1.default;
28
28
  const scaleRgbTransferFunction_1 = __importDefault(require("./scaleRgbTransferFunction"));
@@ -69,6 +69,10 @@ const loadImageToCanvas_1 = __importDefault(require("./loadImageToCanvas"));
69
69
  exports.loadImageToCanvas = loadImageToCanvas_1.default;
70
70
  const renderToCanvas_1 = __importDefault(require("./renderToCanvas"));
71
71
  exports.renderToCanvas = renderToCanvas_1.default;
72
+ const worldToImageCoords_1 = __importDefault(require("./worldToImageCoords"));
73
+ exports.worldToImageCoords = worldToImageCoords_1.default;
74
+ const imageToWorldCoords_1 = __importDefault(require("./imageToWorldCoords"));
75
+ exports.imageToWorldCoords = imageToWorldCoords_1.default;
72
76
  const planar = __importStar(require("./planar"));
73
77
  exports.planar = planar;
74
78
  const windowLevel = __importStar(require("./windowLevel"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAoE;AA6BlE,oCA7BK,mCAAyB,CA6BL;AA5B3B,0FAAkE;AA6BhE,mCA7BK,kCAAwB,CA6BL;AA5B1B,kEAA0C;AA6BxC,uBA7BK,sBAAY,CA6BL;AA5Bd,sDAA8B;AA+B5B,iBA/BK,gBAAM,CA+BL;AA9BR,4DAAoC;AAgClC,oBAhCK,mBAAS,CAgCL;AA/BX,kEAA0C;AAgCxC,uBAhCK,sBAAY,CAgCL;AA/Bd,kEAA0C;AA0BxC,uBA1BK,sBAAY,CA0BL;AAzBd,sHAA8F;AA0B5F,iDA1BK,gDAAsC,CA0BL;AAzBxC,wDAAgC;AA8B9B,kBA9BK,iBAAO,CA8BL;AA7BT,8DAAsC;AA8BpC,qBA9BK,oBAAU,CA8BL;AA7BZ,sFAA8D;AA+B5D,iCA/BK,gCAAsB,CA+BL;AA9BxB,0FAAkE;AA6BhE,mCA7BK,kCAAwB,CA6BL;AA5B1B,4EAAoD;AA+BlD,4BA/BK,2BAAiB,CA+BL;AA9BnB,gGAAwE;AA+BtE,sCA/BK,qCAA2B,CA+BL;AA9B7B,kHAA0F;AA+BxF,+CA/BK,8CAAoC,CA+BL;AA9BtC,oFAA4D;AA+B1D,gCA/BK,+BAAqB,CA+BL;AA9BvB,oFAA4D;AA+B1D,gCA/BK,+BAAqB,CA+BL;AA9BvB,wHAAgG;AA+B9F,kDA/BK,iDAAuC,CA+BL;AA9BzC,kHAA0F;AA+BxF,+CA/BK,8CAAoC,CA+BL;AA9BtC,oFAA4D;AA+B1D,gCA/BK,+BAAqB,CA+BL;AA9BvB,oEAA4C;AA+B1C,wBA/BK,uBAAa,CA+BL;AA9Bf,4EAAoD;AA+BlD,4BA/BK,2BAAiB,CA+BL;AA9BnB,sEAA8C;AA+B5C,yBA/BK,wBAAc,CA+BL;AA5BhB,iDAAmC;AAUjC,wBAAM;AATR,2DAA6C;AAgB3C,kCAAW"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAoE;AA+BlE,oCA/BK,mCAAyB,CA+BL;AA9B3B,0FAAkE;AA+BhE,mCA/BK,kCAAwB,CA+BL;AA9B1B,kEAA0C;AA+BxC,uBA/BK,sBAAY,CA+BL;AA9Bd,sDAA8B;AAiC5B,iBAjCK,gBAAM,CAiCL;AAhCR,4DAAoC;AAkClC,oBAlCK,mBAAS,CAkCL;AAjCX,kEAA0C;AAkCxC,uBAlCK,sBAAY,CAkCL;AAjCd,kEAA0C;AA4BxC,uBA5BK,sBAAY,CA4BL;AA3Bd,sHAA8F;AA4B5F,iDA5BK,gDAAsC,CA4BL;AA3BxC,wDAAgC;AAgC9B,kBAhCK,iBAAO,CAgCL;AA/BT,8DAAsC;AAgCpC,qBAhCK,oBAAU,CAgCL;AA/BZ,sFAA8D;AAiC5D,iCAjCK,gCAAsB,CAiCL;AAhCxB,0FAAkE;AA+BhE,mCA/BK,kCAAwB,CA+BL;AA9B1B,4EAAoD;AAiClD,4BAjCK,2BAAiB,CAiCL;AAhCnB,gGAAwE;AAiCtE,sCAjCK,qCAA2B,CAiCL;AAhC7B,kHAA0F;AAiCxF,+CAjCK,8CAAoC,CAiCL;AAhCtC,oFAA4D;AAiC1D,gCAjCK,+BAAqB,CAiCL;AAhCvB,oFAA4D;AAiC1D,gCAjCK,+BAAqB,CAiCL;AAhCvB,wHAAgG;AAiC9F,kDAjCK,iDAAuC,CAiCL;AAhCzC,kHAA0F;AAiCxF,+CAjCK,8CAAoC,CAiCL;AAhCtC,oFAA4D;AAiC1D,gCAjCK,+BAAqB,CAiCL;AAhCvB,oEAA4C;AAiC1C,wBAjCK,uBAAa,CAiCL;AAhCf,4EAAoD;AAiClD,4BAjCK,2BAAiB,CAiCL;AAhCnB,sEAA8C;AAiC5C,yBAjCK,wBAAc,CAiCL;AAhChB,8EAAsD;AAiCpD,6BAjCK,4BAAkB,CAiCL;AAhCpB,8EAAsD;AAiCpD,6BAjCK,4BAAkB,CAiCL;AA9BpB,iDAAmC;AAUjC,wBAAM;AATR,2DAA6C;AAgB3C,kCAAW"}
@@ -0,0 +1,3 @@
1
+ import { Point2, Point3 } from '../types';
2
+ declare function worldToImageCoords(imageId: string, worldCoords: Point3): Point2 | undefined;
3
+ export default worldToImageCoords;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const gl_matrix_1 = require("gl-matrix");
4
+ const __1 = require("..");
5
+ function worldToImageCoords(imageId, worldCoords) {
6
+ const imagePlaneModule = __1.metaData.get('imagePlaneModule', imageId);
7
+ if (!imagePlaneModule) {
8
+ throw new Error(`No imagePlaneModule found for imageId: ${imageId}`);
9
+ }
10
+ const { columnCosines, columnPixelSpacing, rowCosines, rowPixelSpacing, imagePositionPatient: origin, rows, columns, } = imagePlaneModule;
11
+ const newOrigin = gl_matrix_1.vec3.create();
12
+ gl_matrix_1.vec3.scaleAndAdd(newOrigin, origin, columnCosines, -columnPixelSpacing / 2);
13
+ gl_matrix_1.vec3.scaleAndAdd(newOrigin, newOrigin, rowCosines, -rowPixelSpacing / 2);
14
+ const sub = gl_matrix_1.vec3.create();
15
+ gl_matrix_1.vec3.sub(sub, worldCoords, newOrigin);
16
+ const rowDistance = gl_matrix_1.vec3.dot(sub, rowCosines);
17
+ const columnDistance = gl_matrix_1.vec3.dot(sub, columnCosines);
18
+ const imageCoords = [
19
+ rowDistance / rowPixelSpacing,
20
+ columnDistance / columnPixelSpacing,
21
+ ];
22
+ if (imageCoords[0] < 0 ||
23
+ imageCoords[0] >= columns ||
24
+ imageCoords[1] < 0 ||
25
+ imageCoords[1] >= rows) {
26
+ throw new Error(`The image coordinates are outside of the image, imageCoords: ${imageCoords}`);
27
+ }
28
+ return imageCoords;
29
+ }
30
+ exports.default = worldToImageCoords;
31
+ //# sourceMappingURL=worldToImageCoords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worldToImageCoords.js","sourceRoot":"","sources":["../../../src/utilities/worldToImageCoords.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AACjC,0BAA8B;AAa9B,SAAS,kBAAkB,CACzB,OAAe,EACf,WAAmB;IAEnB,MAAM,gBAAgB,GAAG,YAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAEnE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;KACtE;IAKD,MAAM,EACJ,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,oBAAoB,EAAE,MAAM,EAC5B,IAAI,EACJ,OAAO,GACR,GAAG,gBAAgB,CAAC;IAKrB,MAAM,SAAS,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;IAEhC,gBAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;IAC5E,gBAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IAGzE,MAAM,GAAG,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;IAC1B,gBAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAGtC,MAAM,WAAW,GAAG,gBAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAG9C,MAAM,cAAc,GAAG,gBAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG;QAClB,WAAW,GAAG,eAAe;QAC7B,cAAc,GAAG,kBAAkB;KACpC,CAAC;IAEF,IACE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;QAClB,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO;QACzB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;QAClB,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,EACtB;QACA,MAAM,IAAI,KAAK,CACb,gEAAgE,WAAW,EAAE,CAC9E,CAAC;KACH;IAED,OAAO,WAAqB,CAAC;AAC/B,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -8,12 +8,10 @@ declare class StackViewport extends Viewport implements IStackViewport {
8
8
  private initialVOIRange;
9
9
  private invert;
10
10
  private interpolationType;
11
- private rotation;
12
11
  private _imageData;
13
12
  private cameraPosOnRender;
14
13
  private stackInvalidated;
15
14
  private panCache;
16
- private shouldFlip;
17
15
  private voiApplied;
18
16
  private rotationCache;
19
17
  private _publishCalibratedEvent;
@@ -36,7 +34,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
36
34
  private createActorMapper;
37
35
  private buildMetadata;
38
36
  private calibrateIfNecessary;
39
- setProperties({ voiRange, invert, interpolationType, rotation, flipHorizontal, flipVertical, }?: StackViewportProperties): void;
37
+ setProperties({ voiRange, invert, interpolationType, rotation, }?: StackViewportProperties): void;
40
38
  getProperties: () => StackViewportProperties;
41
39
  resetProperties(): void;
42
40
  getCamera(): ICamera;
@@ -45,7 +43,6 @@ declare class StackViewport extends Viewport implements IStackViewport {
45
43
  private _setPropertiesFromCache;
46
44
  private getCameraCPU;
47
45
  private setCameraCPU;
48
- private setFlipDirection;
49
46
  private setFlipCPU;
50
47
  private setVOI;
51
48
  private setRotation;
@@ -70,7 +67,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
70
67
  private _loadAndDisplayImage;
71
68
  private _loadAndDisplayImageCPU;
72
69
  private _loadAndDisplayImageGPU;
73
- private _isImagePreScaled;
70
+ isImagePreScaled(imageId: string): boolean;
74
71
  private _updateActorToDisplayImageId;
75
72
  private _setImageIdIndex;
76
73
  resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
@@ -4,7 +4,7 @@ import vtkVolume from '@kitware/vtk.js/Rendering/Core/Volume';
4
4
  import vtkVolumeMapper from '@kitware/vtk.js/Rendering/Core/VolumeMapper';
5
5
  import _cloneDeep from 'lodash.clonedeep';
6
6
  import vtkCamera from '@kitware/vtk.js/Rendering/Core/Camera';
7
- import { vec2, vec3 } from 'gl-matrix';
7
+ import { vec2, vec3, mat4 } from 'gl-matrix';
8
8
  import * as metaData from '../metaData';
9
9
  import Viewport from './Viewport';
10
10
  import eventTarget from '../eventTarget';
@@ -29,9 +29,7 @@ class StackViewport extends Viewport {
29
29
  constructor(props) {
30
30
  super(props);
31
31
  this.invert = false;
32
- this.rotation = 0;
33
32
  this.stackInvalidated = false;
34
- this.shouldFlip = false;
35
33
  this.voiApplied = false;
36
34
  this.rotationCache = 0;
37
35
  this._publishCalibratedEvent = false;
@@ -81,8 +79,6 @@ class StackViewport extends Viewport {
81
79
  rotation: this.rotationCache,
82
80
  interpolationType: this.interpolationType,
83
81
  invert: this.invert,
84
- flipHorizontal: this.flipHorizontal,
85
- flipVertical: this.flipVertical,
86
82
  };
87
83
  };
88
84
  this.canvasToWorld = (canvasPos) => {
@@ -353,7 +349,7 @@ class StackViewport extends Viewport {
353
349
  };
354
350
  return imagePlaneModule;
355
351
  }
356
- setProperties({ voiRange, invert, interpolationType, rotation, flipHorizontal, flipVertical, } = {}) {
352
+ setProperties({ voiRange, invert, interpolationType, rotation, } = {}) {
357
353
  if (typeof voiRange !== 'undefined' || !this.voiApplied) {
358
354
  this.setVOI(voiRange);
359
355
  }
@@ -368,10 +364,6 @@ class StackViewport extends Viewport {
368
364
  this.setRotation(this.rotationCache, rotation);
369
365
  }
370
366
  }
371
- if (typeof flipHorizontal !== 'undefined' ||
372
- typeof flipVertical !== 'undefined') {
373
- this.setFlipDirection({ flipHorizontal, flipVertical });
374
- }
375
367
  }
376
368
  resetProperties() {
377
369
  this.cpuRenderingInvalidated = true;
@@ -405,8 +397,6 @@ class StackViewport extends Viewport {
405
397
  rotation: 0,
406
398
  interpolationType: InterpolationType.LINEAR,
407
399
  invert: false,
408
- flipHorizontal: false,
409
- flipVertical: false,
410
400
  });
411
401
  }
412
402
  _setPropertiesFromCache() {
@@ -415,15 +405,17 @@ class StackViewport extends Viewport {
415
405
  rotation: this.rotation,
416
406
  interpolationType: this.interpolationType,
417
407
  invert: this.invert,
418
- flipHorizontal: this.flipHorizontal,
419
- flipVertical: this.flipVertical,
420
408
  });
421
409
  }
422
410
  getCameraCPU() {
423
411
  const { metadata, viewport } = this._cpuFallbackEnabledElement;
424
412
  const { direction } = metadata;
425
413
  const viewPlaneNormal = direction.slice(6, 9).map((x) => -x);
426
- const viewUp = direction.slice(3, 6).map((x) => -x);
414
+ let viewUp = direction.slice(3, 6).map((x) => -x);
415
+ if (this.rotation) {
416
+ const rotationMatrix = mat4.fromRotation(mat4.create(), (this.rotation * Math.PI) / 180, viewPlaneNormal);
417
+ viewUp = vec3.transformMat4(vec3.create(), viewUp, rotationMatrix);
418
+ }
427
419
  return {
428
420
  parallelProjection: true,
429
421
  focalPoint: [0, 0, 0],
@@ -440,7 +432,7 @@ class StackViewport extends Viewport {
440
432
  setCameraCPU(cameraInterface) {
441
433
  const { viewport } = this._cpuFallbackEnabledElement;
442
434
  const previousCamera = this.getCameraCPU();
443
- const { focalPoint, viewUp, parallelScale } = cameraInterface;
435
+ const { focalPoint, viewUp, parallelScale, flipHorizontal, flipVertical } = cameraInterface;
444
436
  if (focalPoint) {
445
437
  const focalPointCanvas = this.worldToCanvasCPU(cameraInterface.focalPoint);
446
438
  const previousFocalPointCanvas = this.worldToCanvasCPU(previousCamera.focalPoint);
@@ -453,11 +445,16 @@ class StackViewport extends Viewport {
453
445
  const diff = previousCamera.parallelScale - parallelScale;
454
446
  viewport.scale += diff;
455
447
  }
448
+ if (flipHorizontal || flipVertical) {
449
+ this.setFlipCPU({ flipHorizontal, flipVertical });
450
+ }
456
451
  const updatedCamera = {
457
452
  ...previousCamera,
458
453
  focalPoint,
459
454
  viewUp,
460
455
  parallelScale,
456
+ flipHorizontal,
457
+ flipVertical,
461
458
  };
462
459
  const eventDetail = {
463
460
  previousCamera,
@@ -465,18 +462,10 @@ class StackViewport extends Viewport {
465
462
  element: this.element,
466
463
  viewportId: this.id,
467
464
  renderingEngineId: this.renderingEngineId,
465
+ rotation: this.rotation,
468
466
  };
469
467
  triggerEvent(this.element, Events.CAMERA_MODIFIED, eventDetail);
470
468
  }
471
- setFlipDirection(flipDirection) {
472
- if (this.useCPURendering) {
473
- this.setFlipCPU(flipDirection);
474
- }
475
- else {
476
- super.flip(flipDirection);
477
- }
478
- this.shouldFlip = false;
479
- }
480
469
  setFlipCPU({ flipHorizontal, flipVertical }) {
481
470
  const { viewport } = this._cpuFallbackEnabledElement;
482
471
  viewport.hflip = flipHorizontal;
@@ -492,11 +481,23 @@ class StackViewport extends Viewport {
492
481
  this.setVOIGPU(voiRange);
493
482
  }
494
483
  setRotation(rotationCache, rotation) {
484
+ const previousCamera = this.getCamera();
495
485
  if (this.useCPURendering) {
496
486
  this.setRotationCPU(rotationCache, rotation);
497
- return;
498
487
  }
499
- this.setRotationGPU(rotationCache, rotation);
488
+ else {
489
+ this.setRotationGPU(rotationCache, rotation);
490
+ }
491
+ const camera = this.getCamera();
492
+ const eventDetail = {
493
+ previousCamera,
494
+ camera,
495
+ element: this.element,
496
+ viewportId: this.id,
497
+ renderingEngineId: this.renderingEngineId,
498
+ rotation: this.rotation,
499
+ };
500
+ triggerEvent(this.element, Events.CAMERA_MODIFIED, eventDetail);
500
501
  }
501
502
  setInterpolationType(interpolationType) {
502
503
  if (this.useCPURendering) {
@@ -666,7 +667,7 @@ class StackViewport extends Viewport {
666
667
  const ySpacing = imagePlaneModule.rowPixelSpacing || image.rowPixelSpacing;
667
668
  const xVoxels = image.columns;
668
669
  const yVoxels = image.rows;
669
- const zSpacing = image.sliceThickness || EPSILON;
670
+ const zSpacing = EPSILON;
670
671
  const zVoxels = 1;
671
672
  const numComps = image.numComps ||
672
673
  this._getNumCompsFromPhotometricInterpretation(imagePixelModule.photometricInterpretation);
@@ -810,7 +811,7 @@ class StackViewport extends Viewport {
810
811
  };
811
812
  triggerEvent(this.element, Events.STACK_NEW_IMAGE, eventDetail);
812
813
  const metadata = this._getImageDataMetadata(image);
813
- image.isPreScaled = this._isImagePreScaled(imageId);
814
+ image.isPreScaled = this.isImagePreScaled(imageId);
814
815
  const viewport = getDefaultViewport(this.canvas, image, this.modality, this._cpuFallbackEnabledElement.viewport.colormap);
815
816
  this._cpuFallbackEnabledElement.image = image;
816
817
  this._cpuFallbackEnabledElement.metadata = {
@@ -940,7 +941,7 @@ class StackViewport extends Viewport {
940
941
  imageLoadPoolManager.addRequest(sendRequest.bind(this, imageId, imageIdIndex, options), requestType, additionalDetails, priority);
941
942
  });
942
943
  }
943
- _isImagePreScaled(imageId) {
944
+ isImagePreScaled(imageId) {
944
945
  const scalingParameters = this.scalingCache[imageId];
945
946
  if (!scalingParameters) {
946
947
  return false;
@@ -998,7 +999,7 @@ class StackViewport extends Viewport {
998
999
  let voiRange = typeof windowCenter === 'number' && typeof windowWidth === 'number'
999
1000
  ? windowLevelUtil.toLowHighRange(windowWidth, windowCenter)
1000
1001
  : undefined;
1001
- const isPreScaled = this._isImagePreScaled(image.imageId);
1002
+ const isPreScaled = this.isImagePreScaled(image.imageId);
1002
1003
  if (imagePixelModule.modality === 'PT' && isPreScaled) {
1003
1004
  voiRange = { lower: 0, upper: 5 };
1004
1005
  }
@@ -1026,6 +1027,8 @@ class StackViewport extends Viewport {
1026
1027
  else {
1027
1028
  this.resetCameraGPU(resetPan, resetZoom);
1028
1029
  }
1030
+ this.rotation = 0;
1031
+ this.rotationCache = 0;
1029
1032
  return true;
1030
1033
  }
1031
1034
  resetCameraCPU(resetPan, resetZoom) {