@cornerstonejs/core 1.55.0 → 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
@@ -0,0 +1,175 @@
1
+ export default class RLEVoxelMap {
2
+ constructor(width, height, depth = 1) {
3
+ this.rows = new Map();
4
+ this.height = 1;
5
+ this.width = 1;
6
+ this.depth = 1;
7
+ this.jMultiple = 1;
8
+ this.kMultiple = 1;
9
+ this.numComps = 1;
10
+ this.defaultValue = 0;
11
+ this.pixelDataConstructor = Uint8Array;
12
+ this.get = (index) => {
13
+ const i = index % this.jMultiple;
14
+ const j = (index - i) / this.jMultiple;
15
+ const rle = this.getRLE(i, j);
16
+ return rle?.value || this.defaultValue;
17
+ };
18
+ this.getRun = (j, k) => {
19
+ const runIndex = j + k * this.height;
20
+ return this.rows.get(runIndex);
21
+ };
22
+ this.set = (index, value) => {
23
+ if (value === undefined) {
24
+ throw new Error(`Can't set undefined at ${index % this.width}`);
25
+ }
26
+ const i = index % this.width;
27
+ const j = (index - i) / this.width;
28
+ const row = this.rows.get(j);
29
+ if (!row) {
30
+ this.rows.set(j, [{ start: i, end: i + 1, value }]);
31
+ return;
32
+ }
33
+ const rleIndex = this.findIndex(row, i);
34
+ const rle1 = row[rleIndex];
35
+ const rle0 = row[rleIndex - 1];
36
+ if (!rle1) {
37
+ if (!rle0 || rle0.value !== value || rle0.end !== i) {
38
+ row[rleIndex] = { start: i, end: i + 1, value };
39
+ return;
40
+ }
41
+ rle0.end++;
42
+ return;
43
+ }
44
+ const { start, end, value: oldValue } = rle1;
45
+ if (value === oldValue && i >= start) {
46
+ return;
47
+ }
48
+ const rleInsert = { start: i, end: i + 1, value };
49
+ const isAfter = i > start;
50
+ const insertIndex = isAfter ? rleIndex + 1 : rleIndex;
51
+ const rlePrev = isAfter ? rle1 : rle0;
52
+ let rleNext = isAfter ? row[rleIndex + 1] : rle1;
53
+ if (rlePrev?.value === value && rlePrev?.end === i) {
54
+ rlePrev.end++;
55
+ if (rleNext?.value === value && rleNext.start === i + 1) {
56
+ rlePrev.end = rleNext.end;
57
+ row.splice(rleIndex, 1);
58
+ }
59
+ else if (rleNext?.start === i) {
60
+ rleNext.start++;
61
+ if (rleNext.start === rleNext.end) {
62
+ row.splice(rleIndex, 1);
63
+ rleNext = row[rleIndex];
64
+ if (rleNext?.start === i + 1 && rleNext.value === value) {
65
+ rlePrev.end = rleNext.end;
66
+ row.splice(rleIndex, 1);
67
+ }
68
+ }
69
+ }
70
+ return;
71
+ }
72
+ if (rleNext?.value === value && rleNext.start === i + 1) {
73
+ rleNext.start--;
74
+ if (rlePrev?.end > i) {
75
+ rlePrev.end = i;
76
+ if (rlePrev.end === rlePrev.start) {
77
+ row.splice(rleIndex, 1);
78
+ }
79
+ }
80
+ return;
81
+ }
82
+ if (rleNext?.start === i && rleNext.end === i + 1) {
83
+ rleNext.value = value;
84
+ const nextnext = row[rleIndex + 1];
85
+ if (nextnext?.start == i + 1 && nextnext.value === value) {
86
+ row.splice(rleIndex + 1, 1);
87
+ rleNext.end = nextnext.end;
88
+ }
89
+ return;
90
+ }
91
+ if (i === rleNext?.start) {
92
+ rleNext.start++;
93
+ }
94
+ if (isAfter && end > i + 1) {
95
+ row.splice(insertIndex, 0, rleInsert, {
96
+ start: i + 1,
97
+ end: rlePrev.end,
98
+ value: rlePrev.value,
99
+ });
100
+ }
101
+ else {
102
+ row.splice(insertIndex, 0, rleInsert);
103
+ }
104
+ if (rlePrev?.end > i) {
105
+ rlePrev.end = i;
106
+ }
107
+ };
108
+ this.width = width;
109
+ this.height = height;
110
+ this.depth = depth;
111
+ this.jMultiple = width;
112
+ this.kMultiple = this.jMultiple * height;
113
+ }
114
+ getRLE(i, j, k = 0) {
115
+ const row = this.rows.get(j + k * this.height);
116
+ if (!row) {
117
+ return;
118
+ }
119
+ const index = this.findIndex(row, i);
120
+ const rle = row[index];
121
+ return i >= rle?.start ? rle : undefined;
122
+ }
123
+ findIndex(row, i) {
124
+ for (let index = 0; index < row.length; index++) {
125
+ const { end: iEnd } = row[index];
126
+ if (i < iEnd) {
127
+ return index;
128
+ }
129
+ }
130
+ return row.length;
131
+ }
132
+ clear() {
133
+ this.rows.clear();
134
+ }
135
+ keys() {
136
+ return [...this.rows.keys()];
137
+ }
138
+ getPixelData(k = 0, pixelData) {
139
+ if (!pixelData) {
140
+ pixelData = new this.pixelDataConstructor(this.width * this.height * this.numComps);
141
+ }
142
+ else {
143
+ pixelData.fill(0);
144
+ }
145
+ const { width, height, numComps } = this;
146
+ for (let j = 0; j < height; j++) {
147
+ const row = this.getRun(j, k);
148
+ if (!row) {
149
+ continue;
150
+ }
151
+ if (numComps === 1) {
152
+ for (const rle of row) {
153
+ const rowOffset = j * width;
154
+ const { start, end, value } = rle;
155
+ for (let i = start; i < end; i++) {
156
+ pixelData[rowOffset + i] = value;
157
+ }
158
+ }
159
+ }
160
+ else {
161
+ for (const rle of row) {
162
+ const rowOffset = j * width * numComps;
163
+ const { start, end, value } = rle;
164
+ for (let i = start; i < end; i += numComps) {
165
+ for (let comp = 0; comp < numComps; comp++) {
166
+ pixelData[rowOffset + i + comp] = value[comp];
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+ return pixelData;
173
+ }
174
+ }
175
+ //# sourceMappingURL=RLEVoxelMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RLEVoxelMap.js","sourceRoot":"","sources":["../../../src/utilities/RLEVoxelMap.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import RLEVoxelMap from './RLEVoxelMap';
2
+ import isEqual from './isEqual';
3
+ const DEFAULT_RLE_SIZE = 5 * 1024;
1
4
  export default class VoxelManager {
2
5
  constructor(dimensions, _get, _set) {
3
6
  this.modifiedSlices = new Set();
@@ -6,6 +9,7 @@ export default class VoxelManager {
6
9
  [Infinity, -Infinity],
7
10
  [Infinity, -Infinity],
8
11
  ];
12
+ this.numComps = 1;
9
13
  this.getAtIJK = (i, j, k) => {
10
14
  const index = i + j * this.width + k * this.frameSize;
11
15
  return this._get(index);
@@ -126,10 +130,39 @@ export default class VoxelManager {
126
130
  bounds[2][0] = Math.min(point[2], bounds[2][0]);
127
131
  bounds[2][1] = Math.max(point[2], bounds[2][1]);
128
132
  }
129
- static createVolumeVoxelManager(dimensions, scalarData) {
133
+ static createRGBVolumeVoxelManager(dimensions, scalarData, numComponents) {
134
+ const voxels = new VoxelManager(dimensions, (index) => {
135
+ index *= numComponents;
136
+ return [scalarData[index++], scalarData[index++], scalarData[index++]];
137
+ }, (index, v) => {
138
+ index *= 3;
139
+ const isChanged = !isEqual(scalarData[index], v);
140
+ scalarData[index++] = v[0];
141
+ scalarData[index++] = v[1];
142
+ scalarData[index++] = v[2];
143
+ return isChanged;
144
+ });
145
+ voxels.numComps = numComponents;
146
+ voxels.scalarData = scalarData;
147
+ return voxels;
148
+ }
149
+ static createVolumeVoxelManager(dimensions, scalarData, numComponents = 0) {
130
150
  if (dimensions.length !== 3) {
131
151
  throw new Error('Dimensions must be provided as [number, number, number] for [width, height, depth]');
132
152
  }
153
+ if (!numComponents) {
154
+ numComponents =
155
+ scalarData.length / dimensions[0] / dimensions[1] / dimensions[2];
156
+ if (numComponents > 4 || numComponents < 1 || numComponents === 2) {
157
+ throw new Error(`Number of components ${numComponents} must be 1, 3 or 4`);
158
+ }
159
+ }
160
+ if (numComponents > 1) {
161
+ return VoxelManager.createRGBVolumeVoxelManager(dimensions, scalarData, numComponents);
162
+ }
163
+ return VoxelManager.createNumberVolumeVoxelManager(dimensions, scalarData);
164
+ }
165
+ static createNumberVolumeVoxelManager(dimensions, scalarData) {
133
166
  const voxels = new VoxelManager(dimensions, (index) => scalarData[index], (index, v) => {
134
167
  const isChanged = scalarData[index] !== v;
135
168
  scalarData[index] = v;
@@ -165,5 +198,44 @@ export default class VoxelManager {
165
198
  voxelManager.sourceVoxelManager = sourceVoxelManager;
166
199
  return voxelManager;
167
200
  }
201
+ static createLazyVoxelManager(dimensions, planeFactory) {
202
+ const map = new Map();
203
+ const [width, height, depth] = dimensions;
204
+ const planeSize = width * height;
205
+ const voxelManager = new VoxelManager(dimensions, (index) => map.get(Math.floor(index / planeSize))?.[index % planeSize], (index, v) => {
206
+ const k = Math.floor(index / planeSize);
207
+ let layer = map.get(k);
208
+ if (!layer) {
209
+ layer = planeFactory(width, height);
210
+ map.set(k, layer);
211
+ }
212
+ layer[index % planeSize] = v;
213
+ });
214
+ voxelManager.map = map;
215
+ return voxelManager;
216
+ }
217
+ static createRLEVoxelManager(dimensions) {
218
+ const [width, height, depth] = dimensions;
219
+ const map = new RLEVoxelMap(width, height, depth);
220
+ const voxelManager = new VoxelManager(dimensions, (index) => map.get(index), (index, v) => map.set(index, v));
221
+ voxelManager.map = map;
222
+ voxelManager.getPixelData = map.getPixelData.bind(map);
223
+ return voxelManager;
224
+ }
225
+ static addInstanceToImage(image) {
226
+ const { width, height } = image;
227
+ const scalarData = image.getPixelData();
228
+ if (scalarData?.length >= width * height) {
229
+ image.voxelManager = VoxelManager.createVolumeVoxelManager([width, height, 1], scalarData);
230
+ return;
231
+ }
232
+ image.voxelManager = VoxelManager.createRLEVoxelManager([
233
+ width,
234
+ height,
235
+ 1,
236
+ ]);
237
+ image.getPixelData = image.voxelManager.getPixelData;
238
+ image.sizeInBytes = DEFAULT_RLE_SIZE;
239
+ }
168
240
  }
169
241
  //# sourceMappingURL=VoxelManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoxelManager.js","sourceRoot":"","sources":["../../../src/utilities/VoxelManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VoxelManager.js","sourceRoot":"","sources":["../../../src/utilities/VoxelManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  function updateVTKImageDataWithCornerstoneImage(sourceImageData, image) {
2
2
  const pixelData = image.getPixelData();
3
+ if (!sourceImageData.getPointData) {
4
+ return;
5
+ }
3
6
  const scalarData = sourceImageData
4
7
  .getPointData()
5
8
  .getScalars()
@@ -1 +1 @@
1
- {"version":3,"file":"updateVTKImageDataWithCornerstoneImage.js","sourceRoot":"","sources":["../../../src/utilities/updateVTKImageDataWithCornerstoneImage.ts"],"names":[],"mappings":"AAGA,SAAS,sCAAsC,CAC7C,eAA6B,EAC7B,KAAa;IAEb,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,eAAe;SAC/B,YAAY,EAAE;SACd,UAAU,EAAE;SACZ,OAAO,EAAyB,CAAC;IAKpC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;QAC7B,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnD,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAChD;QAGD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;QACxC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC9B;SAAM;QACL,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC3B;IAID,eAAe,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,OAAO,EAAE,sCAAsC,EAAE,CAAC"}
1
+ {"version":3,"file":"updateVTKImageDataWithCornerstoneImage.js","sourceRoot":"","sources":["../../../src/utilities/updateVTKImageDataWithCornerstoneImage.ts"],"names":[],"mappings":"AAGA,SAAS,sCAAsC,CAC7C,eAA6B,EAC7B,KAAa;IAEb,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACvC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;QAEjC,OAAO;KACR;IACD,MAAM,UAAU,GAAG,eAAe;SAC/B,YAAY,EAAE;SACd,UAAU,EAAE;SACZ,OAAO,EAAyB,CAAC;IAKpC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;QAC7B,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnD,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAChD;QAGD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;QACxC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC9B;SAAM;QACL,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC3B;IAID,eAAe,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,OAAO,EAAE,sCAAsC,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import CanvasActor from '.';
2
+ export default class CanvasMapper {
3
+ private actor;
4
+ constructor(actor: CanvasActor);
5
+ getInputData(): any;
6
+ }
7
+ //# sourceMappingURL=CanvasMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasMapper.d.ts","sourceRoot":"","sources":["../../../../src/RenderingEngine/CanvasActor/CanvasMapper.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,GAAG,CAAC;AAM5B,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,KAAK,CAAc;gBAEf,KAAK,EAAE,WAAW;IAI9B,YAAY;CAGb"}
@@ -0,0 +1,16 @@
1
+ import CanvasActor from '.';
2
+ export default class CanvasProperties {
3
+ private actor;
4
+ private opacity;
5
+ private outlineOpacity;
6
+ private transferFunction;
7
+ constructor(actor: CanvasActor);
8
+ setRGBTransferFunction(index: any, cfun: any): void;
9
+ setScalarOpacity(opacity: number): void;
10
+ setInterpolationTypeToNearest(): void;
11
+ setUseLabelOutline(): void;
12
+ setLabelOutlineOpacity(opacity: any): void;
13
+ setLabelOutlineThickness(): void;
14
+ getColor(index: number): any[];
15
+ }
16
+ //# sourceMappingURL=CanvasProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasProperties.d.ts","sourceRoot":"","sources":["../../../../src/RenderingEngine/CanvasActor/CanvasProperties.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,GAAG,CAAC;AAM5B,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,gBAAgB,CAAM;gBAElB,KAAK,EAAE,WAAW;IAIvB,sBAAsB,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;IAIlC,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAKhC,6BAA6B;IAI7B,kBAAkB;IAIlB,sBAAsB,CAAC,OAAO,KAAA;IAI9B,wBAAwB;IAIxB,QAAQ,CAAC,KAAK,EAAE,MAAM;CAO9B"}
@@ -0,0 +1,24 @@
1
+ import type { IViewport } from '../../types/IViewport';
2
+ import type { ICanvasActor } from '../../types/IActor';
3
+ import CanvasProperties from './CanvasProperties';
4
+ import CanvasMapper from './CanvasMapper';
5
+ export default class CanvasActor implements ICanvasActor {
6
+ private image;
7
+ private derivedImage;
8
+ private canvasProperties;
9
+ private visibility;
10
+ private mapper;
11
+ private viewport;
12
+ protected className: string;
13
+ protected canvas: any;
14
+ constructor(viewport: IViewport, derivedImage: any);
15
+ protected renderRLE(viewport: any, context: any, voxelManager: any): void;
16
+ render(viewport: IViewport, context: CanvasRenderingContext2D): void;
17
+ getClassName(): string;
18
+ getProperty(): CanvasProperties;
19
+ setVisibility(visibility: boolean): void;
20
+ getMapper(): CanvasMapper;
21
+ isA(actorType: any): boolean;
22
+ getImage(): any;
23
+ }
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/RenderingEngine/CanvasActor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAS1C,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,YAAY;IACtD,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC;IACjB,SAAS,CAAC,SAAS,SAAiB;IACpC,SAAS,CAAC,MAAM,MAAC;gBAEL,QAAQ,EAAE,SAAS,EAAE,YAAY,KAAA;IAS7C,SAAS,CAAC,SAAS,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,EAAE,YAAY,KAAA;IA0E5C,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI;IA8EpE,YAAY;IAIZ,WAAW;IAIX,aAAa,CAAC,UAAU,EAAE,OAAO;IAIjC,SAAS;IAIT,GAAG,CAAC,SAAS,KAAA;IAIb,QAAQ;CA2BhB"}
@@ -1,7 +1,12 @@
1
- import { VideoViewport as VideoViewportEnum } from '../enums';
2
- import type { IVideoViewport, VideoViewportProperties, Point3, Point2, ICamera, VideoViewportInput, VOIRange, TargetSpecifier } from '../types';
1
+ import { VideoEnums as VideoViewportEnum } from '../enums';
2
+ import type { IVideoViewport, VideoViewportProperties, Point3, Point2, ICamera, VideoViewportInput, VOIRange, IImage, TargetSpecifier } from '../types';
3
3
  import { Transform } from './helpers/cpuFallback/rendering/transform';
4
4
  import Viewport from './Viewport';
5
+ import CanvasActor from './CanvasActor';
6
+ export declare type CanvasScalarData = Uint8ClampedArray & {
7
+ frameNumber?: number;
8
+ getRange?: () => [number, number];
9
+ };
5
10
  declare class VideoViewport extends Viewport implements IVideoViewport {
6
11
  static frameRangeExtractor: RegExp;
7
12
  modality: any;
@@ -17,6 +22,7 @@ declare class VideoViewport extends Viewport implements IVideoViewport {
17
22
  private isPlaying;
18
23
  private scrollSpeed;
19
24
  private playbackRate;
25
+ private scalarData;
20
26
  private frameRange;
21
27
  protected metadata: any;
22
28
  private fps;
@@ -30,9 +36,22 @@ declare class VideoViewport extends Viewport implements IVideoViewport {
30
36
  private addEventListeners;
31
37
  private removeEventListeners;
32
38
  private elementDisabledHandler;
33
- private _getImageDataMetadata;
39
+ getImageDataMetadata(image: IImage | string): {
40
+ bitsAllocated: number;
41
+ numComps: number;
42
+ origin: any;
43
+ rows: any;
44
+ columns: any;
45
+ direction: number[];
46
+ dimensions: any[];
47
+ spacing: any[];
48
+ hasPixelSpacing: boolean;
49
+ numVoxels: number;
50
+ imagePlaneModule: any;
51
+ };
34
52
  setVideo(imageId: string, frameNumber?: number): Promise<unknown>;
35
53
  setVideoURL(videoURL: string): Promise<unknown>;
54
+ getImageIds(): string[];
36
55
  togglePlayPause(): boolean;
37
56
  play(): Promise<void>;
38
57
  pause(): Promise<void>;
@@ -48,7 +67,7 @@ declare class VideoViewport extends Viewport implements IVideoViewport {
48
67
  setScrollSpeed(scrollSpeed?: number, unit?: VideoViewportEnum.SpeedUnit): void;
49
68
  getProperties: () => VideoViewportProperties;
50
69
  resetProperties(): void;
51
- protected getScalarData(): Uint8ClampedArray;
70
+ protected getScalarData(): CanvasScalarData;
52
71
  getImageData(): {
53
72
  dimensions: any;
54
73
  spacing: any;
@@ -57,12 +76,12 @@ declare class VideoViewport extends Viewport implements IVideoViewport {
57
76
  metadata: {
58
77
  Modality: any;
59
78
  };
60
- getScalarData: () => Uint8ClampedArray;
79
+ getScalarData: () => CanvasScalarData;
61
80
  imageData: {
62
81
  getDirection: () => any;
63
82
  getDimensions: () => any;
64
83
  getRange: () => number[];
65
- getScalarData: () => Uint8ClampedArray;
84
+ getScalarData: () => CanvasScalarData;
66
85
  getSpacing: () => any;
67
86
  worldToIndex: (point: Point3) => number[];
68
87
  indexToWorld: (point: Point3) => Point3;
@@ -99,6 +118,9 @@ declare class VideoViewport extends Viewport implements IVideoViewport {
99
118
  private getCanvasToWorldRatio;
100
119
  customRenderViewportToCanvas: () => void;
101
120
  protected getTransform(): Transform;
121
+ updateCameraClippingPlanesAndRange(): void;
122
+ addImages(stackInputs: Array<any>): void;
123
+ protected createActorMapper(image: any): CanvasActor;
102
124
  private renderFrame;
103
125
  private renderWhilstPlaying;
104
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VideoViewport.d.ts","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoViewport.d.ts","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@ declare enum SpeedUnit {
3
3
  SECOND = "s"
4
4
  }
5
5
  export { SpeedUnit };
6
- //# sourceMappingURL=VideoViewport.d.ts.map
6
+ //# sourceMappingURL=VideoEnums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoEnums.d.ts","sourceRoot":"","sources":["../../../src/enums/VideoEnums.ts"],"names":[],"mappings":"AAGA,aAAK,SAAS;IACZ,KAAK,MAAM;IACX,MAAM,MAAM;CACb;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -12,7 +12,7 @@ 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, };
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,eAAe,EACf,kBAAkB,GACnB,CAAC"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"imageLoader.d.ts","sourceRoot":"","sources":["../../../src/loaders/imageLoader.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,MAAM,EACN,aAAa,EAGb,MAAM,EACN,MAAM,EACN,IAAI,EACJ,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CAC9C;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CAClC;AAED,UAAU,iBAAiB;IACzB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAgHD,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAA6D,GACrE,OAAO,CAAC,MAAM,CAAC,CAMjB;AAYD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAA6D,GACrE,OAAO,CAAC,MAAM,CAAC,CAgBjB;AASD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,OAAO,GAAE,kBAA6D,GACrE,OAAO,CAAC,MAAM,CAAC,EAAE,CAYnB;AAYD,wBAAgB,0BAA0B,CACxC,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE,mBAAwB,EACjC,YAAY,UAAQ,GACnB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAUD,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,EACjC,OAAO,GAAE;IACP,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CACzC,GACL,aAAa,CAoBf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,GACnB,MAAM,CAkER;AASD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAuBrD;AASD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAE9D;AAOD,wBAAgB,aAAa,IAAI,IAAI,CA2BpC;AAQD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,aAAa,GACzB,IAAI,CAEN;AAQD,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,aAAa,GACzB,aAAa,CAIf;AAMD,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD;AAYD,wBAAgB,uCAAuC,CACrD,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,EACjC,OAAO,GAAE,mBAER,GACA,aAAa,CAEf;AAYD,wBAAgB,sCAAsC,CACpD,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE,mBAER,GACA,OAAO,CAAC,MAAM,CAAC,CAEjB"}
1
+ {"version":3,"file":"imageLoader.d.ts","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;
@@ -1 +1 @@
1
- {"version":3,"file":"IActor.d.ts","sourceRoot":"","sources":["../../../src/types/IActor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sCAAsC,CAAC;AACjE,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,uCAAuC,CAAC;AAEnE,oBAAY,KAAK,GAAG,QAAQ,CAAC;AAC7B,oBAAY,WAAW,GAAG,SAAS,CAAC;AACpC,oBAAY,UAAU,GAAG,aAAa,CAAC;AAOvC,oBAAY,UAAU,GAAG;IAEvB,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;IAExC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,cAAc,CAAC,EAAE,GAAG,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"IActor.d.ts","sourceRoot":"","sources":["../../../src/types/IActor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sCAAsC,CAAC;AACjE,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,uCAAuC,CAAC;AAEnE,oBAAY,KAAK,GAAG,QAAQ,CAAC;AAC7B,oBAAY,WAAW,GAAG,SAAS,CAAC;AACpC,oBAAY,UAAU,GAAG,aAAa,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,GAAG,IAAI,CAAC;IAEhC,SAAS,QAAG;IAEZ,WAAW,QAAG;IAEd,GAAG,CAAC,SAAS,KAAA,GAAG,OAAO,CAAC;IAExB,YAAY,IAAI,MAAM,CAAC;CACxB;AAOD,oBAAY,UAAU,GAAG;IAEvB,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IAEvD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,cAAc,CAAC,EAAE,GAAG,CAAC;CACtB,CAAC"}
@@ -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;