@cornerstonejs/core 1.54.2 → 1.56.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 (115) hide show
  1. package/dist/cjs/RenderingEngine/CanvasActor/CanvasMapper.d.ts +6 -0
  2. package/dist/cjs/RenderingEngine/CanvasActor/CanvasMapper.js +12 -0
  3. package/dist/cjs/RenderingEngine/CanvasActor/CanvasMapper.js.map +1 -0
  4. package/dist/cjs/RenderingEngine/CanvasActor/CanvasProperties.d.ts +15 -0
  5. package/dist/cjs/RenderingEngine/CanvasActor/CanvasProperties.js +33 -0
  6. package/dist/cjs/RenderingEngine/CanvasActor/CanvasProperties.js.map +1 -0
  7. package/dist/cjs/RenderingEngine/CanvasActor/index.d.ts +23 -0
  8. package/dist/cjs/RenderingEngine/CanvasActor/index.js +163 -0
  9. package/dist/cjs/RenderingEngine/CanvasActor/index.js.map +1 -0
  10. package/dist/cjs/RenderingEngine/VideoViewport.d.ts +28 -6
  11. package/dist/cjs/RenderingEngine/VideoViewport.js +55 -13
  12. package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -1
  13. package/dist/cjs/RenderingEngine/Viewport.js +3 -2
  14. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  15. package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js +2 -3
  16. package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -1
  17. package/dist/cjs/enums/{VideoViewport.js → VideoEnums.js} +1 -1
  18. package/dist/cjs/enums/VideoEnums.js.map +1 -0
  19. package/dist/cjs/enums/index.d.ts +2 -2
  20. package/dist/cjs/enums/index.js +3 -3
  21. package/dist/cjs/enums/index.js.map +1 -1
  22. package/dist/cjs/loaders/imageLoader.d.ts +9 -7
  23. package/dist/cjs/loaders/imageLoader.js +9 -7
  24. package/dist/cjs/loaders/imageLoader.js.map +1 -1
  25. package/dist/cjs/types/IActor.d.ts +8 -1
  26. package/dist/cjs/types/IImage.d.ts +3 -0
  27. package/dist/cjs/types/IImageVolume.d.ts +3 -1
  28. package/dist/cjs/types/IVideoViewport.d.ts +1 -0
  29. package/dist/cjs/types/index.d.ts +2 -2
  30. package/dist/cjs/utilities/RLEVoxelMap.d.ts +26 -0
  31. package/dist/cjs/utilities/RLEVoxelMap.js +178 -0
  32. package/dist/cjs/utilities/RLEVoxelMap.js.map +1 -0
  33. package/dist/cjs/utilities/VoxelManager.d.ts +11 -3
  34. package/dist/cjs/utilities/VoxelManager.js +76 -1
  35. package/dist/cjs/utilities/VoxelManager.js.map +1 -1
  36. package/dist/cjs/utilities/updateVTKImageDataWithCornerstoneImage.js +3 -0
  37. package/dist/cjs/utilities/updateVTKImageDataWithCornerstoneImage.js.map +1 -1
  38. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js +9 -0
  39. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js.map +1 -0
  40. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js +30 -0
  41. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js.map +1 -0
  42. package/dist/esm/RenderingEngine/CanvasActor/index.js +157 -0
  43. package/dist/esm/RenderingEngine/CanvasActor/index.js.map +1 -0
  44. package/dist/esm/RenderingEngine/VideoViewport.js +53 -12
  45. package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -1
  46. package/dist/esm/RenderingEngine/Viewport.js +2 -2
  47. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  48. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +2 -3
  49. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -1
  50. package/dist/esm/enums/{VideoViewport.js → VideoEnums.js} +1 -1
  51. package/dist/esm/enums/VideoEnums.js.map +1 -0
  52. package/dist/esm/enums/index.js +2 -2
  53. package/dist/esm/enums/index.js.map +1 -1
  54. package/dist/esm/loaders/imageLoader.js +7 -7
  55. package/dist/esm/loaders/imageLoader.js.map +1 -1
  56. package/dist/esm/utilities/RLEVoxelMap.js +175 -0
  57. package/dist/esm/utilities/RLEVoxelMap.js.map +1 -0
  58. package/dist/esm/utilities/VoxelManager.js +73 -1
  59. package/dist/esm/utilities/VoxelManager.js.map +1 -1
  60. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +3 -0
  61. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js.map +1 -1
  62. package/dist/types/RenderingEngine/CanvasActor/CanvasMapper.d.ts +7 -0
  63. package/dist/types/RenderingEngine/CanvasActor/CanvasMapper.d.ts.map +1 -0
  64. package/dist/types/RenderingEngine/CanvasActor/CanvasProperties.d.ts +16 -0
  65. package/dist/types/RenderingEngine/CanvasActor/CanvasProperties.d.ts.map +1 -0
  66. package/dist/types/RenderingEngine/CanvasActor/index.d.ts +24 -0
  67. package/dist/types/RenderingEngine/CanvasActor/index.d.ts.map +1 -0
  68. package/dist/types/RenderingEngine/VideoViewport.d.ts +28 -6
  69. package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -1
  70. package/dist/types/enums/{VideoViewport.d.ts → VideoEnums.d.ts} +1 -1
  71. package/dist/types/enums/VideoEnums.d.ts.map +1 -0
  72. package/dist/types/enums/index.d.ts +2 -2
  73. package/dist/types/enums/index.d.ts.map +1 -1
  74. package/dist/types/loaders/imageLoader.d.ts +9 -7
  75. package/dist/types/loaders/imageLoader.d.ts.map +1 -1
  76. package/dist/types/types/IActor.d.ts +8 -1
  77. package/dist/types/types/IActor.d.ts.map +1 -1
  78. package/dist/types/types/IImage.d.ts +3 -0
  79. package/dist/types/types/IImage.d.ts.map +1 -1
  80. package/dist/types/types/IImageVolume.d.ts +3 -1
  81. package/dist/types/types/IImageVolume.d.ts.map +1 -1
  82. package/dist/types/types/IVideoViewport.d.ts +1 -0
  83. package/dist/types/types/IVideoViewport.d.ts.map +1 -1
  84. package/dist/types/types/index.d.ts +2 -2
  85. package/dist/types/types/index.d.ts.map +1 -1
  86. package/dist/types/utilities/RLEVoxelMap.d.ts +27 -0
  87. package/dist/types/utilities/RLEVoxelMap.d.ts.map +1 -0
  88. package/dist/types/utilities/VoxelManager.d.ts +11 -3
  89. package/dist/types/utilities/VoxelManager.d.ts.map +1 -1
  90. package/dist/types/utilities/updateVTKImageDataWithCornerstoneImage.d.ts.map +1 -1
  91. package/dist/umd/index.js +1 -1
  92. package/dist/umd/index.js.map +1 -1
  93. package/package.json +2 -2
  94. package/src/RenderingEngine/CanvasActor/CanvasMapper.ts +17 -0
  95. package/src/RenderingEngine/CanvasActor/CanvasProperties.ts +49 -0
  96. package/src/RenderingEngine/CanvasActor/index.ts +231 -0
  97. package/src/RenderingEngine/VideoViewport.ts +83 -18
  98. package/src/RenderingEngine/Viewport.ts +2 -2
  99. package/src/RenderingEngine/helpers/addImageSlicesToViewports.ts +2 -2
  100. package/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +1 -1
  101. package/src/enums/index.ts +2 -2
  102. package/src/loaders/imageLoader.ts +39 -16
  103. package/src/types/IActor.ts +13 -1
  104. package/src/types/IImage.ts +4 -0
  105. package/src/types/IImageVolume.ts +5 -0
  106. package/src/types/IVideoViewport.ts +5 -0
  107. package/src/types/index.ts +8 -1
  108. package/src/utilities/RLEVoxelMap.ts +331 -0
  109. package/src/utilities/VoxelManager.ts +175 -5
  110. package/src/utilities/updateVTKImageDataWithCornerstoneImage.ts +4 -0
  111. package/dist/cjs/enums/VideoViewport.js.map +0 -1
  112. package/dist/esm/enums/VideoViewport.js.map +0 -1
  113. package/dist/types/enums/VideoViewport.d.ts.map +0 -1
  114. /package/dist/cjs/enums/{VideoViewport.d.ts → VideoEnums.d.ts} +0 -0
  115. /package/src/enums/{VideoViewport.ts → VideoEnums.ts} +0 -0
@@ -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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"}
@@ -9,7 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const __1 = require("..");
13
12
  function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds, immediateRender = false, suppressEvents = false) {
14
13
  return __awaiter(this, void 0, void 0, function* () {
15
14
  for (const viewportId of viewportIds) {
@@ -17,8 +16,8 @@ function addImageSlicesToViewports(renderingEngine, stackInputs, viewportIds, im
17
16
  if (!viewport) {
18
17
  throw new Error(`Viewport with Id ${viewportId} does not exist`);
19
18
  }
20
- if (!(viewport instanceof __1.StackViewport)) {
21
- console.warn(`Viewport with Id ${viewportId} is not a StackViewport. Cannot add image segmentation to this viewport.`);
19
+ if (!viewport.addImages) {
20
+ console.warn(`Viewport with Id ${viewportId} does not have addImages. Cannot add image segmentation to this viewport.`);
22
21
  return;
23
22
  }
24
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"addImageSlicesToViewports.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/addImageSlicesToViewports.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0BAAmC;AAmBnC,SAAe,yBAAyB,CACtC,eAAiC,EACjC,WAA+B,EAC/B,WAA0B,EAC1B,eAAe,GAAG,KAAK,EACvB,cAAc,GAAG,KAAK;;QAGtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,iBAAiB,CAAC,CAAC;aAClE;YAGD,IAAI,CAAC,CAAC,QAAQ,YAAY,iBAAa,CAAC,EAAE;gBACxC,OAAO,CAAC,IAAI,CACV,oBAAoB,UAAU,0EAA0E,CACzG,CAAC;gBAEF,OAAO;aACR;SACF;QAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAO,UAAU,EAAE,EAAE;YAC5D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAmB,CAAC;YAE3E,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC1E,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;CAAA;AAED,kBAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"addImageSlicesToViewports.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/addImageSlicesToViewports.ts"],"names":[],"mappings":";;;;;;;;;;;AAmBA,SAAe,yBAAyB,CACtC,eAAiC,EACjC,WAA+B,EAC/B,WAA0B,EAC1B,eAAe,GAAG,KAAK,EACvB,cAAc,GAAG,KAAK;;QAGtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,iBAAiB,CAAC,CAAC;aAClE;YAGD,IAAI,CAAE,QAA2B,CAAC,SAAS,EAAE;gBAC3C,OAAO,CAAC,IAAI,CACV,oBAAoB,UAAU,2EAA2E,CAC1G,CAAC;gBAEF,OAAO;aACR;SACF;QAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAO,UAAU,EAAE,EAAE;YAC5D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAmB,CAAC;YAE3E,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC1E,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;CAAA;AAED,kBAAe,yBAAyB,CAAC"}
@@ -7,4 +7,4 @@ var SpeedUnit;
7
7
  SpeedUnit["SECOND"] = "s";
8
8
  })(SpeedUnit || (SpeedUnit = {}));
9
9
  exports.SpeedUnit = SpeedUnit;
10
- //# sourceMappingURL=VideoViewport.js.map
10
+ //# sourceMappingURL=VideoEnums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoEnums.js","sourceRoot":"","sources":["../../../src/enums/VideoEnums.ts"],"names":[],"mappings":";;;AAGA,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,wBAAW,CAAA;IACX,yBAAY,CAAA;AACd,CAAC,EAHI,SAAS,KAAT,SAAS,QAGb;AAEQ,8BAAS"}
@@ -12,6 +12,6 @@ import DynamicOperatorType from './DynamicOperatorType';
12
12
  import CalibrationTypes from './CalibrationTypes';
13
13
  import ViewportStatus from './ViewportStatus';
14
14
  import ImageQualityStatus from './ImageQualityStatus';
15
- import * as VideoViewport from './VideoViewport';
15
+ import * as VideoEnums from './VideoEnums';
16
16
  import MetadataModules from './MetadataModules';
17
- export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoViewport, MetadataModules, ImageQualityStatus, };
17
+ export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoEnums, MetadataModules, ImageQualityStatus, };
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ImageQualityStatus = exports.MetadataModules = exports.VideoViewport = 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;
29
+ exports.ImageQualityStatus = exports.MetadataModules = exports.VideoEnums = 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;
30
30
  const Events_1 = __importDefault(require("./Events"));
31
31
  exports.Events = Events_1.default;
32
32
  const RequestType_1 = __importDefault(require("./RequestType"));
@@ -55,8 +55,8 @@ const ViewportStatus_1 = __importDefault(require("./ViewportStatus"));
55
55
  exports.ViewportStatus = ViewportStatus_1.default;
56
56
  const ImageQualityStatus_1 = __importDefault(require("./ImageQualityStatus"));
57
57
  exports.ImageQualityStatus = ImageQualityStatus_1.default;
58
- const VideoViewport = __importStar(require("./VideoViewport"));
59
- exports.VideoViewport = VideoViewport;
58
+ const VideoEnums = __importStar(require("./VideoEnums"));
59
+ exports.VideoEnums = VideoEnums;
60
60
  const MetadataModules_1 = __importDefault(require("./MetadataModules"));
61
61
  exports.MetadataModules = MetadataModules_1.default;
62
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA8B;AAkB5B,iBAlBK,gBAAM,CAkBL;AAjBR,gEAAwC;AAqBtC,sBArBK,qBAAW,CAqBL;AApBb,kEAA0C;AAqBxC,uBArBK,sBAAY,CAqBL;AApBd,4EAAoD;AAkBlD,4BAlBK,2BAAiB,CAkBL;AAjBnB,8DAAsC;AAepC,qBAfK,oBAAU,CAeL;AAdZ,wEAAgD;AAmB9C,0BAnBK,yBAAe,CAmBL;AAlBjB,sFAA8D;AAmB5D,iCAnBK,gCAAsB,CAmBL;AAlBxB,kEAA0C;AAmBxC,uBAnBK,sBAAY,CAmBL;AAlBd,gEAAwC;AAmBtC,sBAnBK,qBAAW,CAmBL;AAlBb,8EAAsD;AAmBpD,6BAnBK,4BAAkB,CAmBL;AAlBpB,gFAAwD;AAmBtD,8BAnBK,6BAAmB,CAmBL;AAlBrB,0EAAkD;AAShD,2BATK,0BAAgB,CASL;AARlB,sEAA8C;AAkB5C,yBAlBK,wBAAc,CAkBL;AAjBhB,8EAAsD;AAoBpD,6BApBK,4BAAkB,CAoBL;AAnBpB,+DAAiD;AAiB/C,sCAAa;AAhBf,wEAAgD;AAiB9C,0BAjBK,yBAAe,CAiBL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA8B;AAkB5B,iBAlBK,gBAAM,CAkBL;AAjBR,gEAAwC;AAqBtC,sBArBK,qBAAW,CAqBL;AApBb,kEAA0C;AAqBxC,uBArBK,sBAAY,CAqBL;AApBd,4EAAoD;AAkBlD,4BAlBK,2BAAiB,CAkBL;AAjBnB,8DAAsC;AAepC,qBAfK,oBAAU,CAeL;AAdZ,wEAAgD;AAmB9C,0BAnBK,yBAAe,CAmBL;AAlBjB,sFAA8D;AAmB5D,iCAnBK,gCAAsB,CAmBL;AAlBxB,kEAA0C;AAmBxC,uBAnBK,sBAAY,CAmBL;AAlBd,gEAAwC;AAmBtC,sBAnBK,qBAAW,CAmBL;AAlBb,8EAAsD;AAmBpD,6BAnBK,4BAAkB,CAmBL;AAlBpB,gFAAwD;AAmBtD,8BAnBK,6BAAmB,CAmBL;AAlBrB,0EAAkD;AAShD,2BATK,0BAAgB,CASL;AARlB,sEAA8C;AAkB5C,yBAlBK,wBAAc,CAkBL;AAjBhB,8EAAsD;AAoBpD,6BApBK,4BAAkB,CAoBL;AAnBpB,yDAA2C;AAiBzC,gCAAU;AAhBZ,wEAAgD;AAiB9C,0BAjBK,yBAAe,CAiBL"}
@@ -4,27 +4,29 @@ export interface ImageLoaderOptions {
4
4
  requestType: string;
5
5
  additionalDetails?: Record<string, unknown>;
6
6
  }
7
- interface DerivedImageOptions {
8
- imageId?: string;
9
- targetBufferType?: PixelDataTypedArrayString;
10
- }
11
7
  interface DerivedImages {
12
8
  imageIds: Array<string>;
13
9
  promises: Array<Promise<IImage>>;
14
10
  }
15
- interface LocalImageOptions {
11
+ declare type LocalImageOptions = {
16
12
  scalarData?: PixelDataTypedArray;
17
13
  targetBufferType?: PixelDataTypedArrayString;
18
14
  dimensions?: Point2;
19
15
  spacing?: Point3;
20
16
  origin?: Point3;
21
17
  direction?: Mat3;
22
- }
18
+ skipCreateBuffer?: boolean;
19
+ onCacheAdd?: (image: IImage) => void;
20
+ };
21
+ declare type DerivedImageOptions = LocalImageOptions & {
22
+ imageId?: string;
23
+ targetBufferType?: PixelDataTypedArrayString;
24
+ };
23
25
  export declare function loadImage(imageId: string, options?: ImageLoaderOptions): Promise<IImage>;
24
26
  export declare function loadAndCacheImage(imageId: string, options?: ImageLoaderOptions): Promise<IImage>;
25
27
  export declare function loadAndCacheImages(imageIds: Array<string>, options?: ImageLoaderOptions): Promise<IImage>[];
26
28
  export declare function createAndCacheDerivedImage(referencedImageId: string, options?: DerivedImageOptions, preventCache?: boolean): Promise<IImage>;
27
- export declare function createAndCacheDerivedImages(referencedImageIds: Array<string>, options?: {
29
+ export declare function createAndCacheDerivedImages(referencedImageIds: Array<string>, options?: DerivedImageOptions & {
28
30
  getDerivedImageId?: (referencedImageId: string) => string;
29
31
  targetBufferType?: PixelDataTypedArrayString;
30
32
  }): DerivedImages;
@@ -94,18 +94,19 @@ function createAndCacheDerivedImage(referencedImageId, options = {}, preventCach
94
94
  if (options.imageId === undefined) {
95
95
  options.imageId = `derived:${(0, utilities_1.uuidv4)()}`;
96
96
  }
97
+ const { imageId, skipCreateBuffer, onCacheAdd } = options;
97
98
  const imagePlaneModule = __1.metaData.get('imagePlaneModule', referencedImageId);
98
99
  const length = imagePlaneModule.rows * imagePlaneModule.columns;
99
100
  const { TypedArrayConstructor } = (0, utilities_1.getBufferConfiguration)(options.targetBufferType, length);
100
- const imageScalarData = new TypedArrayConstructor(length);
101
- const derivedImageId = options.imageId;
101
+ const imageScalarData = new TypedArrayConstructor(skipCreateBuffer ? 1 : length);
102
+ const derivedImageId = imageId;
102
103
  ['imagePixelModule', 'imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
103
104
  utilities_1.genericMetadataProvider.add(derivedImageId, {
104
105
  type,
105
106
  metadata: __1.metaData.get(type, referencedImageId),
106
107
  });
107
108
  });
108
- const localImage = createAndCacheLocalImage({ scalarData: imageScalarData }, options.imageId, true);
109
+ const localImage = createAndCacheLocalImage({ scalarData: imageScalarData, onCacheAdd, skipCreateBuffer }, imageId, true);
109
110
  const imageLoadObject = {
110
111
  promise: Promise.resolve(localImage),
111
112
  };
@@ -121,9 +122,8 @@ function createAndCacheDerivedImages(referencedImageIds, options = {}) {
121
122
  }
122
123
  const derivedImageIds = [];
123
124
  const allPromises = referencedImageIds.map((referencedImageId) => {
124
- const newOptions = Object.assign({ imageId: options.getDerivedImageId
125
- ? options.getDerivedImageId(referencedImageId)
126
- : `derived:${(0, utilities_1.uuidv4)()}` }, options);
125
+ var _a;
126
+ const newOptions = Object.assign({ imageId: ((_a = options.getDerivedImageId) === null || _a === void 0 ? void 0 : _a.call(options, referencedImageId)) || `derived:${(0, utilities_1.uuidv4)()}` }, options);
127
127
  derivedImageIds.push(newOptions.imageId);
128
128
  return createAndCacheDerivedImage(referencedImageId, newOptions);
129
129
  });
@@ -131,6 +131,7 @@ function createAndCacheDerivedImages(referencedImageIds, options = {}) {
131
131
  }
132
132
  exports.createAndCacheDerivedImages = createAndCacheDerivedImages;
133
133
  function createAndCacheLocalImage(options, imageId, preventCache = false) {
134
+ var _a;
134
135
  const imagePlaneModule = __1.metaData.get('imagePlaneModule', imageId);
135
136
  const length = imagePlaneModule.rows * imagePlaneModule.columns;
136
137
  const image = {
@@ -165,12 +166,13 @@ function createAndCacheLocalImage(options, imageId, preventCache = false) {
165
166
  image.sizeInBytes = imageScalarData.byteLength;
166
167
  image.getPixelData = () => imageScalarData;
167
168
  }
168
- else {
169
+ else if (options.skipCreateBuffer !== true) {
169
170
  const { numBytes, TypedArrayConstructor } = (0, utilities_1.getBufferConfiguration)(options.targetBufferType, length);
170
171
  const imageScalarData = new TypedArrayConstructor(length);
171
172
  image.sizeInBytes = numBytes;
172
173
  image.getPixelData = () => imageScalarData;
173
174
  }
175
+ (_a = options.onCacheAdd) === null || _a === void 0 ? void 0 : _a.call(options, image);
174
176
  const imageLoadObject = {
175
177
  promise: Promise.resolve(image),
176
178
  };
@@ -1 +1 @@
1
- {"version":3,"file":"imageLoader.js","sourceRoot":"","sources":["../../../src/loaders/imageLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imageLoader.js","sourceRoot":"","sources":["../../../src/loaders/imageLoader.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,16 @@ import type vtkVolume from '@kitware/vtk.js/Rendering/Core/Volume';
4
4
  export declare type Actor = vtkActor;
5
5
  export declare type VolumeActor = vtkVolume;
6
6
  export declare type ImageActor = vtkImageSlice;
7
+ export interface ICanvasActor {
8
+ render(viewport: any, context: any): void;
9
+ getMapper(): any;
10
+ getProperty(): any;
11
+ isA(actorType: any): boolean;
12
+ getClassName(): string;
13
+ }
7
14
  export declare type ActorEntry = {
8
15
  uid: string;
9
- actor: Actor | VolumeActor | ImageActor;
16
+ actor: Actor | VolumeActor | ImageActor | ICanvasActor;
10
17
  referenceId?: string;
11
18
  slabThickness?: number;
12
19
  clippingFilter?: any;
@@ -2,8 +2,10 @@ import type CPUFallbackLUT from './CPUFallbackLUT';
2
2
  import type CPUFallbackColormap from './CPUFallbackColormap';
3
3
  import type CPUFallbackEnabledElement from './CPUFallbackEnabledElement';
4
4
  import type { PixelDataTypedArray } from './PixelDataTypedArray';
5
+ import type VoxelManager from '../utilities/VoxelManager';
5
6
  import { ImageQualityStatus } from '../enums';
6
7
  import IImageCalibration from './IImageCalibration';
8
+ import RGB from './RGB';
7
9
  interface IImage {
8
10
  imageId: string;
9
11
  referencedImageId?: string;
@@ -73,6 +75,7 @@ interface IImage {
73
75
  imageQualityStatus?: ImageQualityStatus;
74
76
  calibration?: IImageCalibration;
75
77
  imageFrame?: any;
78
+ voxelManager?: VoxelManager<number> | VoxelManager<RGB>;
76
79
  bufferView?: {
77
80
  buffer: ArrayBuffer;
78
81
  offset: number;
@@ -1,5 +1,6 @@
1
1
  import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
2
- import { Metadata, PixelDataTypedArray, Point3, IImageLoadObject, Mat3 } from '../types';
2
+ import type { VoxelManager } from '../utilities';
3
+ import { Metadata, PixelDataTypedArray, Point3, IImageLoadObject, Mat3, RGB } from '../types';
3
4
  interface IImageVolume {
4
5
  readonly volumeId: string;
5
6
  dimensions: Point3;
@@ -30,6 +31,7 @@ interface IImageVolume {
30
31
  convertToCornerstoneImage?: (imageId: string, imageIdIndex: number) => IImageLoadObject;
31
32
  cancelLoading?: () => void;
32
33
  getScalarData(): PixelDataTypedArray;
34
+ voxelManager?: VoxelManager<number> | VoxelManager<RGB>;
33
35
  convertToImageSlicesAndCache(): string[];
34
36
  getImageIdIndex(imageId: string): number;
35
37
  getImageURIIndex(imageURI: string): number;
@@ -12,6 +12,7 @@ export default interface IVideoViewport extends IViewport {
12
12
  getCurrentImageId(): string;
13
13
  getFrameNumber(): number;
14
14
  setFrameNumber(frameNo: number): any;
15
+ setTime(time: number): any;
15
16
  setFrameRange(range?: [number, number]): any;
16
17
  getFrameRange(): [number, number];
17
18
  resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
@@ -13,7 +13,7 @@ import type IRegisterImageLoader from './IRegisterImageLoader';
13
13
  import type IStreamingVolumeProperties from './IStreamingVolumeProperties';
14
14
  import type CustomEventType from './CustomEventType';
15
15
  import type { IViewport, PublicViewportInput, TargetSpecifier } from './IViewport';
16
- import type { VolumeActor, Actor, ActorEntry, ImageActor } from './IActor';
16
+ import type { VolumeActor, Actor, ActorEntry, ImageActor, ICanvasActor } from './IActor';
17
17
  import type { IImageLoadObject, IVolumeLoadObject, IGeometryLoadObject } from './ILoadObject';
18
18
  import type Metadata from './Metadata';
19
19
  import type OrientationVectors from './OrientationVectors';
@@ -83,4 +83,4 @@ import type { ImageVolumeProps } from './ImageVolumeProps';
83
83
  import type { VolumeProps } from './VolumeProps';
84
84
  import type BoundsLPS from './BoundsLPS';
85
85
  import type PointsManager from '../utilities/PointsManager';
86
- export type { Cornerstone3DConfig, ICamera, IStackViewport, IVideoViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, IViewportId, IImageVolume, ImageVolumeProps, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, PointsManager, Scaling, IStreamingImageVolume, IImage, IImageData, IImageCalibration, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, TargetSpecifier, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, ImageActor, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, IStackInput, StackInputCallback, ViewportPreset, Metadata, OrientationVectors, AABB2, Point2, Point3, PointsXYZ, Point4, Mat3, Plane, ViewportInputOptions, VideoViewportProperties, 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, PublicSurfaceData, SurfaceData, ISurface, RGB, ColormapPublic, ColormapRegistration, PixelDataTypedArray, PixelDataTypedArrayString, ImagePixelModule, ImagePlaneModule, AffineMatrix, ImageLoadListener, InternalVideoCamera, VideoViewportInput, BoundsIJK, BoundsLPS, Color, ColorLUT, VolumeProps, };
86
+ export type { Cornerstone3DConfig, ICamera, IStackViewport, IVideoViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, IViewportId, IImageVolume, ImageVolumeProps, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, PointsManager, Scaling, IStreamingImageVolume, IImage, IImageData, IImageCalibration, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, TargetSpecifier, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, ImageActor, ICanvasActor, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, IStackInput, StackInputCallback, ViewportPreset, Metadata, OrientationVectors, AABB2, Point2, Point3, PointsXYZ, Point4, Mat3, Plane, ViewportInputOptions, VideoViewportProperties, 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, PublicSurfaceData, SurfaceData, ISurface, RGB, ColormapPublic, ColormapRegistration, PixelDataTypedArray, PixelDataTypedArrayString, ImagePixelModule, ImagePlaneModule, AffineMatrix, ImageLoadListener, InternalVideoCamera, VideoViewportInput, BoundsIJK, BoundsLPS, Color, ColorLUT, VolumeProps, };
@@ -0,0 +1,26 @@
1
+ import { PixelDataTypedArray } from '../types';
2
+ export declare type RLERun<T> = {
3
+ value: T;
4
+ start: number;
5
+ end: number;
6
+ };
7
+ export default class RLEVoxelMap<T> {
8
+ protected rows: Map<number, RLERun<T>[]>;
9
+ protected height: number;
10
+ protected width: number;
11
+ protected depth: number;
12
+ protected jMultiple: number;
13
+ protected kMultiple: number;
14
+ protected numComps: number;
15
+ defaultValue: T;
16
+ pixelDataConstructor: Uint8ArrayConstructor;
17
+ constructor(width: number, height: number, depth?: number);
18
+ get: (index: number) => T;
19
+ protected getRLE(i: number, j: number, k?: number): RLERun<T>;
20
+ protected findIndex(row: RLERun<T>[], i: number): number;
21
+ getRun: (j: number, k: number) => RLERun<T>[];
22
+ set: (index: number, value: T) => void;
23
+ clear(): void;
24
+ keys(): number[];
25
+ getPixelData(k?: number, pixelData?: PixelDataTypedArray): PixelDataTypedArray;
26
+ }