@cornerstonejs/core 1.4.6 → 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 (85) hide show
  1. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +1 -0
  2. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/RenderingEngine.js +2 -0
  4. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
  5. package/dist/cjs/RenderingEngine/StackViewport.d.ts +2 -0
  6. package/dist/cjs/RenderingEngine/StackViewport.js +51 -75
  7. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  8. package/dist/cjs/RenderingEngine/Viewport.d.ts +5 -0
  9. package/dist/cjs/RenderingEngine/Viewport.js +9 -0
  10. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  11. package/dist/cjs/enums/CalibrationTypes.d.ts +10 -0
  12. package/dist/cjs/enums/CalibrationTypes.js +15 -0
  13. package/dist/cjs/enums/CalibrationTypes.js.map +1 -0
  14. package/dist/cjs/enums/ViewportStatus.d.ts +8 -0
  15. package/dist/cjs/enums/ViewportStatus.js +12 -0
  16. package/dist/cjs/enums/ViewportStatus.js.map +1 -0
  17. package/dist/cjs/enums/index.d.ts +3 -1
  18. package/dist/cjs/enums/index.js +5 -1
  19. package/dist/cjs/enums/index.js.map +1 -1
  20. package/dist/cjs/types/CPUIImageData.d.ts +2 -0
  21. package/dist/cjs/types/EventTypes.d.ts +4 -2
  22. package/dist/cjs/types/IImageCalibration.d.ts +11 -0
  23. package/dist/cjs/types/IImageCalibration.js +3 -0
  24. package/dist/cjs/types/IImageCalibration.js.map +1 -0
  25. package/dist/cjs/types/IImageData.d.ts +2 -0
  26. package/dist/cjs/types/IViewport.d.ts +3 -0
  27. package/dist/cjs/types/index.d.ts +2 -1
  28. package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.d.ts +3 -7
  29. package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.js.map +1 -1
  30. package/dist/cjs/utilities/imageToWorldCoords.js +4 -1
  31. package/dist/cjs/utilities/imageToWorldCoords.js.map +1 -1
  32. package/dist/cjs/utilities/worldToImageCoords.js +4 -1
  33. package/dist/cjs/utilities/worldToImageCoords.js.map +1 -1
  34. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +2 -1
  35. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  36. package/dist/esm/RenderingEngine/RenderingEngine.js +2 -0
  37. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  38. package/dist/esm/RenderingEngine/StackViewport.d.ts +2 -0
  39. package/dist/esm/RenderingEngine/StackViewport.js +24 -49
  40. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  41. package/dist/esm/RenderingEngine/Viewport.d.ts +5 -0
  42. package/dist/esm/RenderingEngine/Viewport.js +9 -0
  43. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  44. package/dist/esm/enums/CalibrationTypes.d.ts +10 -0
  45. package/dist/esm/enums/CalibrationTypes.js +12 -0
  46. package/dist/esm/enums/CalibrationTypes.js.map +1 -0
  47. package/dist/esm/enums/ViewportStatus.d.ts +8 -0
  48. package/dist/esm/enums/ViewportStatus.js +10 -0
  49. package/dist/esm/enums/ViewportStatus.js.map +1 -0
  50. package/dist/esm/enums/index.d.ts +3 -1
  51. package/dist/esm/enums/index.js +3 -1
  52. package/dist/esm/enums/index.js.map +1 -1
  53. package/dist/esm/types/CPUIImageData.d.ts +2 -0
  54. package/dist/esm/types/EventTypes.d.ts +4 -2
  55. package/dist/esm/types/IImageCalibration.d.ts +11 -0
  56. package/dist/esm/types/IImageCalibration.js +2 -0
  57. package/dist/esm/types/IImageCalibration.js.map +1 -0
  58. package/dist/esm/types/IImageData.d.ts +2 -0
  59. package/dist/esm/types/IViewport.d.ts +3 -0
  60. package/dist/esm/types/index.d.ts +2 -1
  61. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +3 -7
  62. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js.map +1 -1
  63. package/dist/esm/utilities/imageToWorldCoords.js +4 -1
  64. package/dist/esm/utilities/imageToWorldCoords.js.map +1 -1
  65. package/dist/esm/utilities/worldToImageCoords.js +4 -1
  66. package/dist/esm/utilities/worldToImageCoords.js.map +1 -1
  67. package/dist/umd/index.js +1 -1
  68. package/dist/umd/index.js.map +1 -1
  69. package/package.json +2 -2
  70. package/src/RenderingEngine/BaseVolumeViewport.ts +2 -0
  71. package/src/RenderingEngine/RenderingEngine.ts +3 -1
  72. package/src/RenderingEngine/StackViewport.ts +36 -97
  73. package/src/RenderingEngine/Viewport.ts +23 -0
  74. package/src/enums/CalibrationTypes.ts +55 -0
  75. package/src/enums/ViewportStatus.ts +14 -0
  76. package/src/enums/index.ts +4 -0
  77. package/src/types/CPUIImageData.ts +3 -0
  78. package/src/types/EventTypes.ts +6 -2
  79. package/src/types/IImageCalibration.ts +41 -0
  80. package/src/types/IImageData.ts +4 -0
  81. package/src/types/IViewport.ts +5 -0
  82. package/src/types/index.ts +2 -0
  83. package/src/utilities/calibratedPixelSpacingMetadataProvider.ts +4 -10
  84. package/src/utilities/imageToWorldCoords.ts +5 -2
  85. package/src/utilities/worldToImageCoords.ts +5 -4
@@ -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?: {
@@ -4,6 +4,7 @@ import Point3 from './Point3';
4
4
  import ViewportInputOptions from './ViewportInputOptions';
5
5
  import { ActorEntry } from './IActor';
6
6
  import ViewportType from '../enums/ViewportType';
7
+ import ViewportStatus from '../enums/ViewportStatus';
7
8
  import DisplayArea from './displayArea';
8
9
  interface IViewport {
9
10
  id: string;
@@ -20,6 +21,7 @@ interface IViewport {
20
21
  options: ViewportInputOptions;
21
22
  suppressEvents: boolean;
22
23
  isDisabled: boolean;
24
+ viewportStatus: ViewportStatus;
23
25
  getRotation: () => number;
24
26
  getFrameOfReferenceUID: () => string;
25
27
  canvasToWorld: (canvasPos: Point2) => Point3;
@@ -43,6 +45,7 @@ interface IViewport {
43
45
  reset(immediate: boolean): void;
44
46
  getCanvas(): HTMLCanvasElement;
45
47
  getCamera(): ICamera;
48
+ setRendered(): void;
46
49
  getZoom(): number;
47
50
  setZoom(zoom: number, storeAsInitialCamera?: boolean): any;
48
51
  getPan(): Point2;
@@ -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"}
@@ -3,7 +3,7 @@ import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/C
3
3
  import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
4
4
  import cache from '../cache';
5
5
  import { MPR_CAMERA_VALUES, RENDERING_DEFAULTS, VIEWPORT_PRESETS, } from '../constants';
6
- import { Events, VOILUTFunctionType, } from '../enums';
6
+ import { Events, ViewportStatus, VOILUTFunctionType, } from '../enums';
7
7
  import ViewportType from '../enums/ViewportType';
8
8
  import eventTarget from '../eventTarget';
9
9
  import { getShouldUseCPURendering } from '../init';
@@ -347,6 +347,7 @@ class BaseVolumeViewport extends Viewport {
347
347
  });
348
348
  }
349
349
  this._setVolumeActors(volumeActors);
350
+ this.viewportStatus = ViewportStatus.PRE_RENDER;
350
351
  triggerEvent(this.element, Events.VOLUME_VIEWPORT_NEW_VOLUME, {
351
352
  viewportId: this.id,
352
353
  volumeActors,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ class RenderingEngine {
39
39
  if (this._needsRender.has(viewport.id)) {
40
40
  const eventDetail = this.renderViewportUsingCustomOrVtkPipeline(viewport);
41
41
  eventDetailArray.push(eventDetail);
42
+ viewport.setRendered();
42
43
  this._needsRender.delete(viewport.id);
43
44
  if (this._needsRender.size === 0) {
44
45
  break;
@@ -554,6 +555,7 @@ class RenderingEngine {
554
555
  suppressEvents,
555
556
  viewportId,
556
557
  renderingEngineId,
558
+ viewportStatus: viewport.viewportStatus,
557
559
  };
558
560
  }
559
561
  _resetViewport(viewport) {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderingEngine.js","sourceRoot":"","sources":["../../../src/RenderingEngine/RenderingEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderingEngine.js","sourceRoot":"","sources":["../../../src/RenderingEngine/RenderingEngine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import Viewport from './Viewport';
2
2
  import { Point2, Point3, ICamera, IImage, IImageData, CPUIImageData, Scaling, StackViewportProperties, ActorEntry, CPUFallbackColormapData, IStackViewport, ColormapRegistration } from '../types';
3
3
  import { ViewportInput } from '../types/IViewport';
4
+ import ViewportStatus from '../enums/ViewportStatus';
4
5
  declare class StackViewport extends Viewport implements IStackViewport {
5
6
  private imageIds;
6
7
  private currentImageIdIndex;
@@ -132,6 +133,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
132
133
  element: HTMLDivElement;
133
134
  viewportId: string;
134
135
  renderingEngineId: string;
136
+ viewportStatus: ViewportStatus;
135
137
  };
136
138
  private unsetColormapCPU;
137
139
  private setColormapCPU;
@@ -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,10 +23,10 @@ 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';
29
+ import ViewportStatus from '../enums/ViewportStatus';
32
30
  const EPSILON = 1;
33
31
  class StackViewport extends Viewport {
34
32
  constructor(props) {
@@ -228,6 +226,7 @@ class StackViewport extends Viewport {
228
226
  element: this.element,
229
227
  viewportId: this.id,
230
228
  renderingEngineId: this.renderingEngineId,
229
+ viewportStatus: this.viewportStatus,
231
230
  };
232
231
  };
233
232
  this.renderingPipelineFunctions = {
@@ -396,6 +395,7 @@ class StackViewport extends Viewport {
396
395
  metadata: { Modality: this.modality },
397
396
  scaling: this.scaling,
398
397
  hasPixelSpacing: this.hasPixelSpacing,
398
+ calibration: this.calibration,
399
399
  preScale: {
400
400
  ...this.csImage.preScale,
401
401
  },
@@ -431,6 +431,7 @@ class StackViewport extends Viewport {
431
431
  },
432
432
  scalarData: this.cpuImagePixelData,
433
433
  hasPixelSpacing: this.hasPixelSpacing,
434
+ calibration: this.calibration,
434
435
  preScale: {
435
436
  ...this.csImage.preScale,
436
437
  },
@@ -448,6 +449,7 @@ class StackViewport extends Viewport {
448
449
  this.modality = modality;
449
450
  const voiLUTFunctionEnum = this._getValidVOILUTFunction(voiLUTFunction);
450
451
  this.VOILUTFunction = voiLUTFunctionEnum;
452
+ this.calibration = null;
451
453
  let imagePlaneModule = this._getImagePlaneModule(imageId);
452
454
  if (!this.useCPURendering) {
453
455
  imagePlaneModule = this.calibrateIfNecessary(imageId, imagePlaneModule);
@@ -469,51 +471,25 @@ class StackViewport extends Viewport {
469
471
  };
470
472
  }
471
473
  calibrateIfNecessary(imageId, imagePlaneModule) {
472
- const calibratedPixelSpacing = metaData.get('calibratedPixelSpacing', imageId);
473
- if (!calibratedPixelSpacing) {
474
- return imagePlaneModule;
475
- }
476
- const { rowPixelSpacing: calibratedRowSpacing, columnPixelSpacing: calibratedColumnSpacing, } = calibratedPixelSpacing;
477
- if (imagePlaneModule.rowPixelSpacing === calibratedRowSpacing &&
478
- 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)
479
480
  return imagePlaneModule;
480
- }
481
- const imageDataMetadata = this.getImageData();
482
- if (!imageDataMetadata &&
483
- imagePlaneModule.rowPixelSpacing === calibratedRowSpacing &&
484
- imagePlaneModule.columnPixelSpacing === calibratedColumnSpacing) {
485
- return imagePlaneModule;
486
- }
487
- if (!imageDataMetadata &&
488
- (imagePlaneModule.rowPixelSpacing !== calibratedRowSpacing ||
489
- imagePlaneModule.columnPixelSpacing !== calibratedColumnSpacing)) {
490
- this._publishCalibratedEvent = true;
491
- this._calibrationEvent = {
492
- rowScale: calibratedRowSpacing / imagePlaneModule.rowPixelSpacing,
493
- columnScale: calibratedColumnSpacing / imagePlaneModule.columnPixelSpacing,
494
- };
495
- calibratedPixelSpacing.appliedSpacing = calibratedPixelSpacing;
496
- imagePlaneModule.rowPixelSpacing = calibratedRowSpacing;
497
- imagePlaneModule.columnPixelSpacing = calibratedColumnSpacing;
498
- return imagePlaneModule;
499
- }
500
- const { imageData } = imageDataMetadata;
501
- const [columnPixelSpacing, rowPixelSpacing] = imageData.getSpacing();
502
- calibratedPixelSpacing.appliedSpacing = calibratedPixelSpacing;
503
- imagePlaneModule.rowPixelSpacing = calibratedRowSpacing;
504
- imagePlaneModule.columnPixelSpacing = calibratedColumnSpacing;
505
- if (rowPixelSpacing === calibratedRowSpacing &&
506
- columnPixelSpacing === calibratedPixelSpacing) {
507
- return imagePlaneModule;
508
- }
481
+ this.calibration = calibration;
509
482
  this._publishCalibratedEvent = true;
510
483
  this._calibrationEvent = {
511
- rowScale: calibratedRowSpacing / rowPixelSpacing,
512
- columnScale: calibratedColumnSpacing / columnPixelSpacing,
484
+ scale,
485
+ calibration,
513
486
  };
514
487
  return imagePlaneModule;
515
488
  }
516
489
  setProperties({ voiRange, VOILUTFunction, invert, interpolationType, rotation, } = {}, suppressEvents = false) {
490
+ this.viewportStatus = this.csImage
491
+ ? ViewportStatus.PRE_RENDER
492
+ : ViewportStatus.LOADING;
517
493
  if (typeof voiRange !== 'undefined') {
518
494
  const voiUpdatedWithSetProperties = true;
519
495
  this.setVOI(voiRange, { suppressEvents, voiUpdatedWithSetProperties });
@@ -536,6 +512,7 @@ class StackViewport extends Viewport {
536
512
  resetProperties() {
537
513
  this.cpuRenderingInvalidated = true;
538
514
  this.voiUpdatedWithSetProperties = false;
515
+ this.viewportStatus = ViewportStatus.PRE_RENDER;
539
516
  this.fillWithBackgroundColor();
540
517
  if (this.useCPURendering) {
541
518
  this._cpuFallbackEnabledElement.renderingTools = {};
@@ -945,6 +922,7 @@ class StackViewport extends Viewport {
945
922
  this.voiRange = null;
946
923
  this.interpolationType = InterpolationType.LINEAR;
947
924
  this.invert = false;
925
+ this.viewportStatus = ViewportStatus.LOADING;
948
926
  this.fillWithBackgroundColor();
949
927
  if (this.useCPURendering) {
950
928
  this._cpuFallbackEnabledElement.renderingTools = {};
@@ -1067,6 +1045,7 @@ class StackViewport extends Viewport {
1067
1045
  };
1068
1046
  }
1069
1047
  this._setCSImage(image);
1048
+ this.viewportStatus = ViewportStatus.PRE_RENDER;
1070
1049
  const eventDetail = {
1071
1050
  image,
1072
1051
  imageId,
@@ -1464,21 +1443,17 @@ class StackViewport extends Viewport {
1464
1443
  _getImagePlaneModule(imageId) {
1465
1444
  const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
1466
1445
  const calibratedPixelSpacing = metaData.get('calibratedPixelSpacing', imageId);
1446
+ this.calibration ||= imagePlaneModule.calibration;
1467
1447
  const newImagePlaneModule = {
1468
1448
  ...imagePlaneModule,
1469
1449
  };
1470
- if (calibratedPixelSpacing?.appliedSpacing) {
1471
- const { rowPixelSpacing, columnPixelSpacing } = calibratedPixelSpacing.appliedSpacing;
1472
- newImagePlaneModule.rowPixelSpacing = rowPixelSpacing;
1473
- newImagePlaneModule.columnPixelSpacing = columnPixelSpacing;
1474
- }
1475
1450
  if (!newImagePlaneModule.columnPixelSpacing) {
1476
1451
  newImagePlaneModule.columnPixelSpacing = 1;
1477
- this.hasPixelSpacing = false;
1452
+ this.hasPixelSpacing = this.calibration?.scale > 0;
1478
1453
  }
1479
1454
  if (!newImagePlaneModule.rowPixelSpacing) {
1480
1455
  newImagePlaneModule.rowPixelSpacing = 1;
1481
- this.hasPixelSpacing = false;
1456
+ this.hasPixelSpacing = this.calibration?.scale > 0;
1482
1457
  }
1483
1458
  if (!newImagePlaneModule.columnCosines) {
1484
1459
  newImagePlaneModule.columnCosines = [0, 1, 0];