@cornerstonejs/core 1.55.0 → 1.56.1
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.
- package/dist/cjs/RenderingEngine/CanvasActor/CanvasMapper.d.ts +6 -0
- package/dist/cjs/RenderingEngine/CanvasActor/CanvasMapper.js +12 -0
- package/dist/cjs/RenderingEngine/CanvasActor/CanvasMapper.js.map +1 -0
- package/dist/cjs/RenderingEngine/CanvasActor/CanvasProperties.d.ts +15 -0
- package/dist/cjs/RenderingEngine/CanvasActor/CanvasProperties.js +33 -0
- package/dist/cjs/RenderingEngine/CanvasActor/CanvasProperties.js.map +1 -0
- package/dist/cjs/RenderingEngine/CanvasActor/index.d.ts +23 -0
- package/dist/cjs/RenderingEngine/CanvasActor/index.js +163 -0
- package/dist/cjs/RenderingEngine/CanvasActor/index.js.map +1 -0
- package/dist/cjs/RenderingEngine/VideoViewport.d.ts +28 -6
- package/dist/cjs/RenderingEngine/VideoViewport.js +55 -13
- package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/Viewport.js +3 -2
- package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js +2 -3
- package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -1
- package/dist/cjs/enums/{VideoViewport.js → VideoEnums.js} +1 -1
- package/dist/cjs/enums/VideoEnums.js.map +1 -0
- package/dist/cjs/enums/index.d.ts +2 -2
- package/dist/cjs/enums/index.js +3 -3
- package/dist/cjs/enums/index.js.map +1 -1
- package/dist/cjs/loaders/imageLoader.d.ts +9 -7
- package/dist/cjs/loaders/imageLoader.js +9 -7
- package/dist/cjs/loaders/imageLoader.js.map +1 -1
- package/dist/cjs/types/IActor.d.ts +8 -1
- package/dist/cjs/types/IImage.d.ts +3 -0
- package/dist/cjs/types/IImageVolume.d.ts +3 -1
- package/dist/cjs/types/IVideoViewport.d.ts +1 -0
- package/dist/cjs/types/index.d.ts +2 -2
- package/dist/cjs/utilities/RLEVoxelMap.d.ts +26 -0
- package/dist/cjs/utilities/RLEVoxelMap.js +178 -0
- package/dist/cjs/utilities/RLEVoxelMap.js.map +1 -0
- package/dist/cjs/utilities/VoxelManager.d.ts +11 -3
- package/dist/cjs/utilities/VoxelManager.js +76 -1
- package/dist/cjs/utilities/VoxelManager.js.map +1 -1
- package/dist/cjs/utilities/updateVTKImageDataWithCornerstoneImage.js +3 -0
- package/dist/cjs/utilities/updateVTKImageDataWithCornerstoneImage.js.map +1 -1
- package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js +9 -0
- package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js.map +1 -0
- package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js +30 -0
- package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js.map +1 -0
- package/dist/esm/RenderingEngine/CanvasActor/index.js +157 -0
- package/dist/esm/RenderingEngine/CanvasActor/index.js.map +1 -0
- package/dist/esm/RenderingEngine/VideoViewport.js +53 -12
- package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/Viewport.js +2 -2
- package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +2 -3
- package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -1
- package/dist/esm/enums/{VideoViewport.js → VideoEnums.js} +1 -1
- package/dist/esm/enums/VideoEnums.js.map +1 -0
- package/dist/esm/enums/index.js +2 -2
- package/dist/esm/enums/index.js.map +1 -1
- package/dist/esm/loaders/imageLoader.js +7 -7
- package/dist/esm/loaders/imageLoader.js.map +1 -1
- package/dist/esm/utilities/RLEVoxelMap.js +175 -0
- package/dist/esm/utilities/RLEVoxelMap.js.map +1 -0
- package/dist/esm/utilities/VoxelManager.js +73 -1
- package/dist/esm/utilities/VoxelManager.js.map +1 -1
- package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +3 -0
- package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js.map +1 -1
- package/dist/types/RenderingEngine/CanvasActor/CanvasMapper.d.ts +7 -0
- package/dist/types/RenderingEngine/CanvasActor/CanvasMapper.d.ts.map +1 -0
- package/dist/types/RenderingEngine/CanvasActor/CanvasProperties.d.ts +16 -0
- package/dist/types/RenderingEngine/CanvasActor/CanvasProperties.d.ts.map +1 -0
- package/dist/types/RenderingEngine/CanvasActor/index.d.ts +24 -0
- package/dist/types/RenderingEngine/CanvasActor/index.d.ts.map +1 -0
- package/dist/types/RenderingEngine/VideoViewport.d.ts +28 -6
- package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -1
- package/dist/types/enums/{VideoViewport.d.ts → VideoEnums.d.ts} +1 -1
- package/dist/types/enums/VideoEnums.d.ts.map +1 -0
- package/dist/types/enums/index.d.ts +2 -2
- package/dist/types/enums/index.d.ts.map +1 -1
- package/dist/types/loaders/imageLoader.d.ts +9 -7
- package/dist/types/loaders/imageLoader.d.ts.map +1 -1
- package/dist/types/types/IActor.d.ts +8 -1
- package/dist/types/types/IActor.d.ts.map +1 -1
- package/dist/types/types/IImage.d.ts +3 -0
- package/dist/types/types/IImage.d.ts.map +1 -1
- package/dist/types/types/IImageVolume.d.ts +3 -1
- package/dist/types/types/IImageVolume.d.ts.map +1 -1
- package/dist/types/types/IVideoViewport.d.ts +1 -0
- package/dist/types/types/IVideoViewport.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +2 -2
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utilities/RLEVoxelMap.d.ts +27 -0
- package/dist/types/utilities/RLEVoxelMap.d.ts.map +1 -0
- package/dist/types/utilities/VoxelManager.d.ts +11 -3
- package/dist/types/utilities/VoxelManager.d.ts.map +1 -1
- package/dist/types/utilities/updateVTKImageDataWithCornerstoneImage.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/src/RenderingEngine/CanvasActor/CanvasMapper.ts +17 -0
- package/src/RenderingEngine/CanvasActor/CanvasProperties.ts +49 -0
- package/src/RenderingEngine/CanvasActor/index.ts +231 -0
- package/src/RenderingEngine/VideoViewport.ts +83 -18
- package/src/RenderingEngine/Viewport.ts +2 -2
- package/src/RenderingEngine/helpers/addImageSlicesToViewports.ts +2 -2
- package/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +1 -1
- package/src/enums/index.ts +2 -2
- package/src/loaders/imageLoader.ts +39 -16
- package/src/types/IActor.ts +13 -1
- package/src/types/IImage.ts +4 -0
- package/src/types/IImageVolume.ts +5 -0
- package/src/types/IVideoViewport.ts +5 -0
- package/src/types/index.ts +8 -1
- package/src/utilities/RLEVoxelMap.ts +331 -0
- package/src/utilities/VoxelManager.ts +175 -5
- package/src/utilities/updateVTKImageDataWithCornerstoneImage.ts +4 -0
- package/dist/cjs/enums/VideoViewport.js.map +0 -1
- package/dist/esm/enums/VideoViewport.js.map +0 -1
- package/dist/types/enums/VideoViewport.d.ts.map +0 -1
- /package/dist/cjs/enums/{VideoViewport.d.ts → VideoEnums.d.ts} +0 -0
- /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
|
|
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 +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 @@
|
|
|
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 {
|
|
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
|
-
|
|
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():
|
|
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: () =>
|
|
79
|
+
getScalarData: () => CanvasScalarData;
|
|
61
80
|
imageData: {
|
|
62
81
|
getDirection: () => any;
|
|
63
82
|
getDimensions: () => any;
|
|
64
83
|
getRange: () => number[];
|
|
65
|
-
getScalarData: () =>
|
|
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":"AACA,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"VideoViewport.d.ts","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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,aAAa;IACrB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CAClC;AAED,aAAK,iBAAiB,GAAG;IACvB,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;IAOjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,aAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CAC9C,CAAC;AAgHF,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,CAmDjB;AAWD,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,EACjC,OAAO,GAAE,mBAAmB,GAAG;IAC7B,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CACzC,GACL,aAAa,CAmBf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,GACnB,MAAM,CAuER;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"}
|
|
@@ -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;
|
|
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;
|