@cornerstonejs/core 1.5.0 → 1.6.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 (61) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.js +43 -75
  2. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/Viewport.d.ts +2 -0
  4. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  5. package/dist/cjs/enums/CalibrationTypes.d.ts +10 -0
  6. package/dist/cjs/enums/CalibrationTypes.js +15 -0
  7. package/dist/cjs/enums/CalibrationTypes.js.map +1 -0
  8. package/dist/cjs/enums/index.d.ts +2 -1
  9. package/dist/cjs/enums/index.js +3 -1
  10. package/dist/cjs/enums/index.js.map +1 -1
  11. package/dist/cjs/types/CPUIImageData.d.ts +2 -0
  12. package/dist/cjs/types/EventTypes.d.ts +2 -2
  13. package/dist/cjs/types/IImageCalibration.d.ts +11 -0
  14. package/dist/cjs/types/IImageCalibration.js +3 -0
  15. package/dist/cjs/types/IImageCalibration.js.map +1 -0
  16. package/dist/cjs/types/IImageData.d.ts +2 -0
  17. package/dist/cjs/types/index.d.ts +2 -1
  18. package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.d.ts +3 -7
  19. package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.js.map +1 -1
  20. package/dist/cjs/utilities/imageToWorldCoords.js +4 -1
  21. package/dist/cjs/utilities/imageToWorldCoords.js.map +1 -1
  22. package/dist/cjs/utilities/worldToImageCoords.js +4 -1
  23. package/dist/cjs/utilities/worldToImageCoords.js.map +1 -1
  24. package/dist/esm/RenderingEngine/StackViewport.js +16 -49
  25. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  26. package/dist/esm/RenderingEngine/Viewport.d.ts +2 -0
  27. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  28. package/dist/esm/enums/CalibrationTypes.d.ts +10 -0
  29. package/dist/esm/enums/CalibrationTypes.js +12 -0
  30. package/dist/esm/enums/CalibrationTypes.js.map +1 -0
  31. package/dist/esm/enums/index.d.ts +2 -1
  32. package/dist/esm/enums/index.js +2 -1
  33. package/dist/esm/enums/index.js.map +1 -1
  34. package/dist/esm/types/CPUIImageData.d.ts +2 -0
  35. package/dist/esm/types/EventTypes.d.ts +2 -2
  36. package/dist/esm/types/IImageCalibration.d.ts +11 -0
  37. package/dist/esm/types/IImageCalibration.js +2 -0
  38. package/dist/esm/types/IImageCalibration.js.map +1 -0
  39. package/dist/esm/types/IImageData.d.ts +2 -0
  40. package/dist/esm/types/index.d.ts +2 -1
  41. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +3 -7
  42. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js.map +1 -1
  43. package/dist/esm/utilities/imageToWorldCoords.js +4 -1
  44. package/dist/esm/utilities/imageToWorldCoords.js.map +1 -1
  45. package/dist/esm/utilities/worldToImageCoords.js +4 -1
  46. package/dist/esm/utilities/worldToImageCoords.js.map +1 -1
  47. package/dist/umd/index.js +1 -1
  48. package/dist/umd/index.js.map +1 -1
  49. package/package.json +2 -2
  50. package/src/RenderingEngine/StackViewport.ts +28 -97
  51. package/src/RenderingEngine/Viewport.ts +2 -0
  52. package/src/enums/CalibrationTypes.ts +55 -0
  53. package/src/enums/index.ts +2 -0
  54. package/src/types/CPUIImageData.ts +3 -0
  55. package/src/types/EventTypes.ts +3 -2
  56. package/src/types/IImageCalibration.ts +41 -0
  57. package/src/types/IImageData.ts +4 -0
  58. package/src/types/index.ts +2 -0
  59. package/src/utilities/calibratedPixelSpacingMetadataProvider.ts +4 -10
  60. package/src/utilities/imageToWorldCoords.ts +5 -2
  61. package/src/utilities/worldToImageCoords.ts +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/Viewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/Viewport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare enum CalibrationTypes {
2
+ NOT_APPLICABLE = "",
3
+ ERMF = "ERMF",
4
+ USER = "User",
5
+ PROJECTION = "Proj",
6
+ REGION = "Region",
7
+ ERROR = "Error",
8
+ UNCALIBRATED = "Uncalibrated"
9
+ }
10
+ export default CalibrationTypes;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CalibrationTypes = void 0;
4
+ var CalibrationTypes;
5
+ (function (CalibrationTypes) {
6
+ CalibrationTypes["NOT_APPLICABLE"] = "";
7
+ CalibrationTypes["ERMF"] = "ERMF";
8
+ CalibrationTypes["USER"] = "User";
9
+ CalibrationTypes["PROJECTION"] = "Proj";
10
+ CalibrationTypes["REGION"] = "Region";
11
+ CalibrationTypes["ERROR"] = "Error";
12
+ CalibrationTypes["UNCALIBRATED"] = "Uncalibrated";
13
+ })(CalibrationTypes = exports.CalibrationTypes || (exports.CalibrationTypes = {}));
14
+ exports.default = CalibrationTypes;
15
+ //# sourceMappingURL=CalibrationTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalibrationTypes.js","sourceRoot":"","sources":["../../../src/enums/CalibrationTypes.ts"],"names":[],"mappings":";;;AAIA,IAAY,gBAgDX;AAhDD,WAAY,gBAAgB;IAM1B,uCAAmB,CAAA;IAWnB,iCAAa,CAAA;IAOb,iCAAa,CAAA;IASb,uCAAmB,CAAA;IAMnB,qCAAiB,CAAA;IAMjB,mCAAe,CAAA;IAEf,iDAA6B,CAAA;AAC/B,CAAC,EAhDW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAgD3B;AAED,kBAAe,gBAAgB,CAAC"}
@@ -9,5 +9,6 @@ import GeometryType from './GeometryType';
9
9
  import ContourType from './ContourType';
10
10
  import VOILUTFunctionType from './VOILUTFunctionType';
11
11
  import DynamicOperatorType from './DynamicOperatorType';
12
+ import CalibrationTypes from './CalibrationTypes';
12
13
  import ViewportStatus from './ViewportStatus';
13
- export { Events, BlendModes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, };
14
+ export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ViewportStatus = exports.DynamicOperatorType = exports.VOILUTFunctionType = exports.ContourType = exports.GeometryType = exports.SharedArrayBufferModes = exports.OrientationAxis = exports.ViewportType = exports.RequestType = exports.InterpolationType = exports.BlendModes = exports.Events = void 0;
6
+ exports.ViewportStatus = exports.DynamicOperatorType = exports.VOILUTFunctionType = exports.ContourType = exports.GeometryType = exports.SharedArrayBufferModes = exports.OrientationAxis = exports.ViewportType = exports.RequestType = exports.InterpolationType = exports.CalibrationTypes = exports.BlendModes = exports.Events = void 0;
7
7
  const Events_1 = __importDefault(require("./Events"));
8
8
  exports.Events = Events_1.default;
9
9
  const RequestType_1 = __importDefault(require("./RequestType"));
@@ -26,6 +26,8 @@ const VOILUTFunctionType_1 = __importDefault(require("./VOILUTFunctionType"));
26
26
  exports.VOILUTFunctionType = VOILUTFunctionType_1.default;
27
27
  const DynamicOperatorType_1 = __importDefault(require("./DynamicOperatorType"));
28
28
  exports.DynamicOperatorType = DynamicOperatorType_1.default;
29
+ const CalibrationTypes_1 = __importDefault(require("./CalibrationTypes"));
30
+ exports.CalibrationTypes = CalibrationTypes_1.default;
29
31
  const ViewportStatus_1 = __importDefault(require("./ViewportStatus"));
30
32
  exports.ViewportStatus = ViewportStatus_1.default;
31
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAc5B,iBAdK,gBAAM,CAcL;AAbR,gEAAwC;AAgBtC,sBAhBK,qBAAW,CAgBL;AAfb,kEAA0C;AAgBxC,uBAhBK,sBAAY,CAgBL;AAfd,4EAAoD;AAalD,4BAbK,2BAAiB,CAaL;AAZnB,8DAAsC;AAWpC,qBAXK,oBAAU,CAWL;AAVZ,wEAAgD;AAc9C,0BAdK,yBAAe,CAcL;AAbjB,sFAA8D;AAc5D,iCAdK,gCAAsB,CAcL;AAbxB,kEAA0C;AAcxC,uBAdK,sBAAY,CAcL;AAbd,gEAAwC;AActC,sBAdK,qBAAW,CAcL;AAbb,8EAAsD;AAcpD,6BAdK,4BAAkB,CAcL;AAbpB,gFAAwD;AActD,8BAdK,6BAAmB,CAcL;AAbrB,sEAA8C;AAc5C,yBAdK,wBAAc,CAcL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAe5B,iBAfK,gBAAM,CAeL;AAdR,gEAAwC;AAkBtC,sBAlBK,qBAAW,CAkBL;AAjBb,kEAA0C;AAkBxC,uBAlBK,sBAAY,CAkBL;AAjBd,4EAAoD;AAelD,4BAfK,2BAAiB,CAeL;AAdnB,8DAAsC;AAYpC,qBAZK,oBAAU,CAYL;AAXZ,wEAAgD;AAgB9C,0BAhBK,yBAAe,CAgBL;AAfjB,sFAA8D;AAgB5D,iCAhBK,gCAAsB,CAgBL;AAfxB,kEAA0C;AAgBxC,uBAhBK,sBAAY,CAgBL;AAfd,gEAAwC;AAgBtC,sBAhBK,qBAAW,CAgBL;AAfb,8EAAsD;AAgBpD,6BAhBK,4BAAkB,CAgBL;AAfpB,gFAAwD;AAgBtD,8BAhBK,6BAAmB,CAgBL;AAfrB,0EAAkD;AAMhD,2BANK,0BAAgB,CAML;AALlB,sEAA8C;AAe5C,yBAfK,wBAAc,CAeL"}
@@ -1,4 +1,5 @@
1
1
  import { Point3, Scaling, Mat3, PixelDataTypedArray } from '../types';
2
+ import IImageCalibration from './IImageCalibration';
2
3
  declare type CPUImageData = {
3
4
  worldToIndex?: (point: Point3) => Point3;
4
5
  indexToWorld?: (point: Point3) => Point3;
@@ -21,6 +22,7 @@ declare type CPUIImageData = {
21
22
  scalarData: PixelDataTypedArray;
22
23
  scaling: Scaling;
23
24
  hasPixelSpacing?: boolean;
25
+ calibration?: IImageCalibration;
24
26
  preScale?: {
25
27
  scaled?: boolean;
26
28
  scalingParameters?: {
@@ -10,6 +10,7 @@ import type { VOIRange } from './voi';
10
10
  import type VOILUTFunctionType from '../enums/VOILUTFunctionType';
11
11
  import type ViewportStatus from '../enums/ViewportStatus';
12
12
  import type DisplayArea from './displayArea';
13
+ import IImageCalibration from './IImageCalibration';
13
14
  declare type CameraModifiedEventDetail = {
14
15
  previousCamera: ICamera;
15
16
  camera: ICamera;
@@ -103,8 +104,7 @@ declare type ImageSpacingCalibratedEventDetail = {
103
104
  viewportId: string;
104
105
  renderingEngineId: string;
105
106
  imageId: string;
106
- rowScale: number;
107
- columnScale: number;
107
+ calibration: IImageCalibration;
108
108
  imageData: vtkImageData;
109
109
  worldToIndex: mat4;
110
110
  };
@@ -0,0 +1,11 @@
1
+ import CalibrationTypes from '../enums/CalibrationTypes';
2
+ export interface IImageCalibration {
3
+ rowPixelSpacing?: number;
4
+ columnPixelSpacing?: number;
5
+ scale?: number;
6
+ aspect?: number;
7
+ type: CalibrationTypes;
8
+ tooltip?: string;
9
+ sequenceOfUltrasoundRegions?: Record<string, unknown>[];
10
+ }
11
+ export default IImageCalibration;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IImageCalibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IImageCalibration.js","sourceRoot":"","sources":["../../../src/types/IImageCalibration.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
2
2
  import { Point3, Scaling, Mat3 } from '../types';
3
+ import IImageCalibration from './IImageCalibration';
3
4
  interface IImageData {
4
5
  dimensions: Point3;
5
6
  direction: Mat3;
@@ -12,6 +13,7 @@ interface IImageData {
12
13
  };
13
14
  scaling?: Scaling;
14
15
  hasPixelSpacing?: boolean;
16
+ calibration?: IImageCalibration;
15
17
  preScale?: {
16
18
  scaled?: boolean;
17
19
  scalingParameters?: {
@@ -25,6 +25,7 @@ import type Plane from './Plane';
25
25
  import type IStreamingImageVolume from './IStreamingImageVolume';
26
26
  import type ViewportInputOptions from './ViewportInputOptions';
27
27
  import type IImageData from './IImageData';
28
+ import type IImageCalibration from './IImageCalibration';
28
29
  import type CPUIImageData from './CPUIImageData';
29
30
  import type { CPUImageData } from './CPUIImageData';
30
31
  import type IImage from './IImage';
@@ -65,4 +66,4 @@ import type { ViewportProperties } from './ViewportProperties';
65
66
  import type { PixelDataTypedArray } from './PixelDataTypedArray';
66
67
  import type { ImagePixelModule } from './ImagePixelModule';
67
68
  import type { ImagePlaneModule } from './ImagePlaneModule';
68
- export type { Cornerstone3DConfig, ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, ViewportPreset, Metadata, OrientationVectors, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VOIRange, VOI, DisplayArea, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, RGB, ColormapPublic, ColormapRegistration, PixelDataTypedArray, ImagePixelModule, ImagePlaneModule, };
69
+ export type { Cornerstone3DConfig, ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, IImageCalibration, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, ViewportPreset, Metadata, OrientationVectors, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VOIRange, VOI, DisplayArea, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, RGB, ColormapPublic, ColormapRegistration, PixelDataTypedArray, ImagePixelModule, ImagePlaneModule, };
@@ -1,10 +1,6 @@
1
- export declare type CalibratedPixelValue = {
2
- rowPixelSpacing: number;
3
- columnPixelSpacing: number;
4
- appliedSpacing?: CalibratedPixelValue;
5
- };
1
+ import { IImageCalibration } from '../types';
6
2
  declare const metadataProvider: {
7
- add: (imageId: string, payload: CalibratedPixelValue) => void;
8
- get: (type: string, imageId: string) => CalibratedPixelValue;
3
+ add: (imageId: string, payload: IImageCalibration) => void;
4
+ get: (type: string, imageId: string) => IImageCalibration;
9
5
  };
10
6
  export default metadataProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"calibratedPixelSpacingMetadataProvider.js","sourceRoot":"","sources":["../../../src/utilities/calibratedPixelSpacingMetadataProvider.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAS1C,MAAM,KAAK,GAAyC,EAAE,CAAC;AAOvD,MAAM,gBAAgB,GAAG;IAMvB,GAAG,EAAE,CAAC,OAAe,EAAE,OAA6B,EAAQ,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAC5B,CAAC;IAQD,GAAG,EAAE,CAAC,IAAY,EAAE,OAAe,EAAwB,EAAE;QAC3D,IAAI,IAAI,KAAK,wBAAwB,EAAE;YACrC,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;SACxB;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"calibratedPixelSpacingMetadataProvider.js","sourceRoot":"","sources":["../../../src/utilities/calibratedPixelSpacingMetadataProvider.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAG1C,MAAM,KAAK,GAAsC,EAAE,CAAC;AAOpD,MAAM,gBAAgB,GAAG;IAMvB,GAAG,EAAE,CAAC,OAAe,EAAE,OAA0B,EAAQ,EAAE;QACzD,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAC5B,CAAC;IAQD,GAAG,EAAE,CAAC,IAAY,EAAE,OAAe,EAAqB,EAAE;QACxD,IAAI,IAAI,KAAK,wBAAwB,EAAE;YACrC,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;SACxB;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
@@ -7,7 +7,10 @@ function imageToWorldCoords(imageId, imageCoords) {
7
7
  if (!imagePlaneModule) {
8
8
  throw new Error(`No imagePlaneModule found for imageId: ${imageId}`);
9
9
  }
10
- const { columnCosines, columnPixelSpacing, rowCosines, rowPixelSpacing, imagePositionPatient: origin, } = imagePlaneModule;
10
+ const { columnCosines, rowCosines, imagePositionPatient: origin, } = imagePlaneModule;
11
+ let { columnPixelSpacing, rowPixelSpacing } = imagePlaneModule;
12
+ columnPixelSpacing || (columnPixelSpacing = 1);
13
+ rowPixelSpacing || (rowPixelSpacing = 1);
11
14
  const imageCoordsInWorld = gl_matrix_1.vec3.create();
12
15
  gl_matrix_1.vec3.scaleAndAdd(imageCoordsInWorld, origin, rowCosines, rowPixelSpacing * (imageCoords[0] - 0.5));
13
16
  gl_matrix_1.vec3.scaleAndAdd(imageCoordsInWorld, imageCoordsInWorld, columnCosines, columnPixelSpacing * (imageCoords[1] - 0.5));
@@ -1 +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"}
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,UAAU,EACV,oBAAoB,EAAE,MAAM,GAC7B,GAAG,gBAAgB,CAAC;IAErB,IAAI,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC;IAE/D,kBAAkB,KAAlB,kBAAkB,GAAK,CAAC,EAAC;IACzB,eAAe,KAAf,eAAe,GAAK,CAAC,EAAC;IAGtB,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;AA3CD,qCA2CC"}
@@ -7,7 +7,10 @@ function worldToImageCoords(imageId, worldCoords) {
7
7
  if (!imagePlaneModule) {
8
8
  throw new Error(`No imagePlaneModule found for imageId: ${imageId}`);
9
9
  }
10
- const { columnCosines, columnPixelSpacing, rowCosines, rowPixelSpacing, imagePositionPatient: origin, rows, columns, } = imagePlaneModule;
10
+ const { columnCosines, rowCosines, imagePositionPatient: origin, } = imagePlaneModule;
11
+ let { columnPixelSpacing, rowPixelSpacing } = imagePlaneModule;
12
+ columnPixelSpacing || (columnPixelSpacing = 1);
13
+ rowPixelSpacing || (rowPixelSpacing = 1);
11
14
  const newOrigin = gl_matrix_1.vec3.create();
12
15
  gl_matrix_1.vec3.scaleAndAdd(newOrigin, origin, columnCosines, -columnPixelSpacing / 2);
13
16
  gl_matrix_1.vec3.scaleAndAdd(newOrigin, newOrigin, rowCosines, -rowPixelSpacing / 2);
@@ -1 +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,OAAO,WAAqB,CAAC;AAC/B,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
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,UAAU,EACV,oBAAoB,EAAE,MAAM,GAC7B,GAAG,gBAAgB,CAAC;IAErB,IAAI,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC;IAE/D,kBAAkB,KAAlB,kBAAkB,GAAK,CAAC,EAAC;IACzB,eAAe,KAAf,eAAe,GAAK,CAAC,EAAC;IAKtB,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,OAAO,WAAqB,CAAC;AAC/B,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -9,14 +9,12 @@ import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransf
9
9
  import * as metaData from '../metaData';
10
10
  import Viewport from './Viewport';
11
11
  import eventTarget from '../eventTarget';
12
- import Events from '../enums/Events';
13
12
  import { triggerEvent, isEqual, invertRgbTransferFunction, createSigmoidRGBTransferFunction, windowLevel as windowLevelUtil, imageIdToURI, isImageActor, actorIsA, } from '../utilities';
14
13
  import drawImageSync from './helpers/cpuFallback/drawImageSync';
15
14
  import { getColormap } from './helpers/cpuFallback/colors/index';
16
15
  import { loadAndCacheImage } from '../loaders/imageLoader';
17
16
  import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
18
- import InterpolationType from '../enums/InterpolationType';
19
- import VOILUTFunctionType from '../enums/VOILUTFunctionType';
17
+ import { InterpolationType, RequestType, Events, VOILUTFunctionType, } from '../enums';
20
18
  import canvasToPixel from './helpers/cpuFallback/rendering/canvasToPixel';
21
19
  import pixelToCanvas from './helpers/cpuFallback/rendering/pixelToCanvas';
22
20
  import getDefaultViewport from './helpers/cpuFallback/rendering/getDefaultViewport';
@@ -25,7 +23,6 @@ import resize from './helpers/cpuFallback/rendering/resize';
25
23
  import resetCamera from './helpers/cpuFallback/rendering/resetCamera';
26
24
  import { Transform } from './helpers/cpuFallback/rendering/transform';
27
25
  import { getConfiguration, getShouldUseCPURendering } from '../init';
28
- import RequestType from '../enums/RequestType';
29
26
  import cache from '../cache';
30
27
  import correctShift from './helpers/cpuFallback/rendering/correctShift';
31
28
  import createLinearRGBTransferFunction from '../utilities/createLinearRGBTransferFunction';
@@ -398,6 +395,7 @@ class StackViewport extends Viewport {
398
395
  metadata: { Modality: this.modality },
399
396
  scaling: this.scaling,
400
397
  hasPixelSpacing: this.hasPixelSpacing,
398
+ calibration: this.calibration,
401
399
  preScale: {
402
400
  ...this.csImage.preScale,
403
401
  },
@@ -433,6 +431,7 @@ class StackViewport extends Viewport {
433
431
  },
434
432
  scalarData: this.cpuImagePixelData,
435
433
  hasPixelSpacing: this.hasPixelSpacing,
434
+ calibration: this.calibration,
436
435
  preScale: {
437
436
  ...this.csImage.preScale,
438
437
  },
@@ -450,6 +449,7 @@ class StackViewport extends Viewport {
450
449
  this.modality = modality;
451
450
  const voiLUTFunctionEnum = this._getValidVOILUTFunction(voiLUTFunction);
452
451
  this.VOILUTFunction = voiLUTFunctionEnum;
452
+ this.calibration = null;
453
453
  let imagePlaneModule = this._getImagePlaneModule(imageId);
454
454
  if (!this.useCPURendering) {
455
455
  imagePlaneModule = this.calibrateIfNecessary(imageId, imagePlaneModule);
@@ -471,47 +471,18 @@ class StackViewport extends Viewport {
471
471
  };
472
472
  }
473
473
  calibrateIfNecessary(imageId, imagePlaneModule) {
474
- const calibratedPixelSpacing = metaData.get('calibratedPixelSpacing', imageId);
475
- if (!calibratedPixelSpacing) {
476
- return imagePlaneModule;
477
- }
478
- const { rowPixelSpacing: calibratedRowSpacing, columnPixelSpacing: calibratedColumnSpacing, } = calibratedPixelSpacing;
479
- if (imagePlaneModule.rowPixelSpacing === calibratedRowSpacing &&
480
- imagePlaneModule.columnPixelSpacing === calibratedColumnSpacing) {
474
+ const calibration = metaData.get('calibratedPixelSpacing', imageId);
475
+ const isUpdated = this.calibration !== calibration;
476
+ const { scale } = calibration || {};
477
+ this.hasPixelSpacing = scale > 0 || imagePlaneModule.rowPixelSpacing > 0;
478
+ imagePlaneModule.calibration = calibration;
479
+ if (!isUpdated)
481
480
  return imagePlaneModule;
482
- }
483
- const imageDataMetadata = this.getImageData();
484
- if (!imageDataMetadata &&
485
- imagePlaneModule.rowPixelSpacing === calibratedRowSpacing &&
486
- imagePlaneModule.columnPixelSpacing === calibratedColumnSpacing) {
487
- return imagePlaneModule;
488
- }
489
- if (!imageDataMetadata &&
490
- (imagePlaneModule.rowPixelSpacing !== calibratedRowSpacing ||
491
- imagePlaneModule.columnPixelSpacing !== calibratedColumnSpacing)) {
492
- this._publishCalibratedEvent = true;
493
- this._calibrationEvent = {
494
- rowScale: calibratedRowSpacing / imagePlaneModule.rowPixelSpacing,
495
- columnScale: calibratedColumnSpacing / imagePlaneModule.columnPixelSpacing,
496
- };
497
- calibratedPixelSpacing.appliedSpacing = calibratedPixelSpacing;
498
- imagePlaneModule.rowPixelSpacing = calibratedRowSpacing;
499
- imagePlaneModule.columnPixelSpacing = calibratedColumnSpacing;
500
- return imagePlaneModule;
501
- }
502
- const { imageData } = imageDataMetadata;
503
- const [columnPixelSpacing, rowPixelSpacing] = imageData.getSpacing();
504
- calibratedPixelSpacing.appliedSpacing = calibratedPixelSpacing;
505
- imagePlaneModule.rowPixelSpacing = calibratedRowSpacing;
506
- imagePlaneModule.columnPixelSpacing = calibratedColumnSpacing;
507
- if (rowPixelSpacing === calibratedRowSpacing &&
508
- columnPixelSpacing === calibratedPixelSpacing) {
509
- return imagePlaneModule;
510
- }
481
+ this.calibration = calibration;
511
482
  this._publishCalibratedEvent = true;
512
483
  this._calibrationEvent = {
513
- rowScale: calibratedRowSpacing / rowPixelSpacing,
514
- columnScale: calibratedColumnSpacing / columnPixelSpacing,
484
+ scale,
485
+ calibration,
515
486
  };
516
487
  return imagePlaneModule;
517
488
  }
@@ -1472,21 +1443,17 @@ class StackViewport extends Viewport {
1472
1443
  _getImagePlaneModule(imageId) {
1473
1444
  const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
1474
1445
  const calibratedPixelSpacing = metaData.get('calibratedPixelSpacing', imageId);
1446
+ this.calibration ||= imagePlaneModule.calibration;
1475
1447
  const newImagePlaneModule = {
1476
1448
  ...imagePlaneModule,
1477
1449
  };
1478
- if (calibratedPixelSpacing?.appliedSpacing) {
1479
- const { rowPixelSpacing, columnPixelSpacing } = calibratedPixelSpacing.appliedSpacing;
1480
- newImagePlaneModule.rowPixelSpacing = rowPixelSpacing;
1481
- newImagePlaneModule.columnPixelSpacing = columnPixelSpacing;
1482
- }
1483
1450
  if (!newImagePlaneModule.columnPixelSpacing) {
1484
1451
  newImagePlaneModule.columnPixelSpacing = 1;
1485
- this.hasPixelSpacing = false;
1452
+ this.hasPixelSpacing = this.calibration?.scale > 0;
1486
1453
  }
1487
1454
  if (!newImagePlaneModule.rowPixelSpacing) {
1488
1455
  newImagePlaneModule.rowPixelSpacing = 1;
1489
- this.hasPixelSpacing = false;
1456
+ this.hasPixelSpacing = this.calibration?.scale > 0;
1490
1457
  }
1491
1458
  if (!newImagePlaneModule.columnCosines) {
1492
1459
  newImagePlaneModule.columnCosines = [0, 1, 0];