@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.
- 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,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class CanvasMapper {
|
|
4
|
+
constructor(actor) {
|
|
5
|
+
this.actor = actor;
|
|
6
|
+
}
|
|
7
|
+
getInputData() {
|
|
8
|
+
return this.actor.getImage();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = CanvasMapper;
|
|
12
|
+
//# sourceMappingURL=CanvasMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasMapper.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/CanvasActor/CanvasMapper.ts"],"names":[],"mappings":";;AAMA,MAAqB,YAAY;IAG/B,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF;AAVD,+BAUC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class CanvasProperties {
|
|
4
|
+
constructor(actor) {
|
|
5
|
+
this.opacity = 0.4;
|
|
6
|
+
this.outlineOpacity = 0.4;
|
|
7
|
+
this.transferFunction = [];
|
|
8
|
+
this.actor = actor;
|
|
9
|
+
}
|
|
10
|
+
setRGBTransferFunction(index, cfun) {
|
|
11
|
+
this.transferFunction[index] = cfun;
|
|
12
|
+
}
|
|
13
|
+
setScalarOpacity(opacity) {
|
|
14
|
+
}
|
|
15
|
+
setInterpolationTypeToNearest() {
|
|
16
|
+
}
|
|
17
|
+
setUseLabelOutline() {
|
|
18
|
+
}
|
|
19
|
+
setLabelOutlineOpacity(opacity) {
|
|
20
|
+
this.outlineOpacity = opacity;
|
|
21
|
+
}
|
|
22
|
+
setLabelOutlineThickness() {
|
|
23
|
+
}
|
|
24
|
+
getColor(index) {
|
|
25
|
+
const cfun = this.transferFunction[0];
|
|
26
|
+
const r = cfun.getRedValue(index);
|
|
27
|
+
const g = cfun.getGreenValue(index);
|
|
28
|
+
const b = cfun.getBlueValue(index);
|
|
29
|
+
return [r, g, b, this.opacity];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.default = CanvasProperties;
|
|
33
|
+
//# sourceMappingURL=CanvasProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasProperties.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/CanvasActor/CanvasProperties.ts"],"names":[],"mappings":";;AAMA,MAAqB,gBAAgB;IAMnC,YAAY,KAAkB;QAJtB,YAAO,GAAG,GAAG,CAAC;QACd,mBAAc,GAAG,GAAG,CAAC;QACrB,qBAAgB,GAAG,EAAE,CAAC;QAG5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,sBAAsB,CAAC,KAAK,EAAE,IAAI;QACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACtC,CAAC;IAEM,gBAAgB,CAAC,OAAe;IAGvC,CAAC;IAEM,6BAA6B;IAEpC,CAAC;IAEM,kBAAkB;IAEzB,CAAC;IAEM,sBAAsB,CAAC,OAAO;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAEM,wBAAwB;IAE/B,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACF;AA1CD,mCA0CC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const CanvasProperties_1 = __importDefault(require("./CanvasProperties"));
|
|
7
|
+
const CanvasMapper_1 = __importDefault(require("./CanvasMapper"));
|
|
8
|
+
class CanvasActor {
|
|
9
|
+
constructor(viewport, derivedImage) {
|
|
10
|
+
this.canvasProperties = new CanvasProperties_1.default(this);
|
|
11
|
+
this.visibility = false;
|
|
12
|
+
this.mapper = new CanvasMapper_1.default(this);
|
|
13
|
+
this.className = 'CanvasActor';
|
|
14
|
+
this.derivedImage = derivedImage;
|
|
15
|
+
this.viewport = viewport;
|
|
16
|
+
}
|
|
17
|
+
renderRLE(viewport, context, voxelManager) {
|
|
18
|
+
const { width, height } = this.image;
|
|
19
|
+
let { canvas } = this;
|
|
20
|
+
if (!canvas || canvas.width !== width || canvas.height !== height) {
|
|
21
|
+
this.canvas = canvas = new window.OffscreenCanvas(width, height);
|
|
22
|
+
}
|
|
23
|
+
const localContext = canvas.getContext('2d');
|
|
24
|
+
const imageData = localContext.createImageData(width, height);
|
|
25
|
+
const { data: imageArray } = imageData;
|
|
26
|
+
imageArray.fill(0);
|
|
27
|
+
const { map } = voxelManager;
|
|
28
|
+
let dirtyX = Infinity;
|
|
29
|
+
let dirtyY = Infinity;
|
|
30
|
+
let dirtyX2 = -Infinity;
|
|
31
|
+
let dirtyY2 = -Infinity;
|
|
32
|
+
for (let y = 0; y < height; y++) {
|
|
33
|
+
const row = map.getRun(y, 0);
|
|
34
|
+
if (!row) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
dirtyY = Math.min(dirtyY, y);
|
|
38
|
+
dirtyY2 = Math.max(dirtyY2, y);
|
|
39
|
+
const baseOffset = (y * width) << 2;
|
|
40
|
+
let indicesToDelete;
|
|
41
|
+
for (const run of row) {
|
|
42
|
+
const { start: start, end, value: segmentIndex } = run;
|
|
43
|
+
if (segmentIndex === 0) {
|
|
44
|
+
indicesToDelete || (indicesToDelete = []);
|
|
45
|
+
indicesToDelete.push(row.indexOf(run));
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
dirtyX = Math.min(dirtyX, start);
|
|
49
|
+
dirtyX2 = Math.max(dirtyX2, end);
|
|
50
|
+
const rgb = this.canvasProperties
|
|
51
|
+
.getColor(segmentIndex)
|
|
52
|
+
.map((v) => v * 255);
|
|
53
|
+
let startOffset = baseOffset + (start << 2);
|
|
54
|
+
for (let i = start; i < end; i++) {
|
|
55
|
+
imageArray[startOffset++] = rgb[0];
|
|
56
|
+
imageArray[startOffset++] = rgb[1];
|
|
57
|
+
imageArray[startOffset++] = rgb[2];
|
|
58
|
+
imageArray[startOffset++] = rgb[3];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (dirtyX > width) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const dirtyWidth = dirtyX2 - dirtyX;
|
|
66
|
+
const dirtyHeight = dirtyY2 - dirtyY;
|
|
67
|
+
localContext.putImageData(imageData, 0, 0, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
|
|
68
|
+
context.drawImage(canvas, dirtyX, dirtyY, dirtyWidth, dirtyHeight, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
|
|
69
|
+
}
|
|
70
|
+
render(viewport, context) {
|
|
71
|
+
if (!this.visibility) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const image = this.image || this.getImage();
|
|
75
|
+
const { width, height } = image;
|
|
76
|
+
const data = image.getScalarData();
|
|
77
|
+
if (!data) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const { voxelManager } = image;
|
|
81
|
+
if (voxelManager) {
|
|
82
|
+
if (voxelManager.map.getRun) {
|
|
83
|
+
return this.renderRLE(viewport, context, voxelManager);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
let { canvas } = this;
|
|
87
|
+
if (!canvas || canvas.width !== width || canvas.height !== height) {
|
|
88
|
+
this.canvas = canvas = new window.OffscreenCanvas(width, height);
|
|
89
|
+
}
|
|
90
|
+
const localContext = canvas.getContext('2d');
|
|
91
|
+
const imageData = localContext.createImageData(width, height);
|
|
92
|
+
const { data: imageArray } = imageData;
|
|
93
|
+
let offset = 0;
|
|
94
|
+
let destOffset = 0;
|
|
95
|
+
let dirtyX = Infinity;
|
|
96
|
+
let dirtyY = Infinity;
|
|
97
|
+
let dirtyX2 = -Infinity;
|
|
98
|
+
let dirtyY2 = -Infinity;
|
|
99
|
+
for (let y = 0; y < height; y++) {
|
|
100
|
+
for (let x = 0; x < width; x++) {
|
|
101
|
+
const segmentIndex = data[offset++];
|
|
102
|
+
if (segmentIndex) {
|
|
103
|
+
dirtyX = Math.min(x, dirtyX);
|
|
104
|
+
dirtyY = Math.min(y, dirtyY);
|
|
105
|
+
dirtyX2 = Math.max(x, dirtyX2);
|
|
106
|
+
dirtyY2 = Math.max(y, dirtyY2);
|
|
107
|
+
const rgb = this.canvasProperties.getColor(segmentIndex);
|
|
108
|
+
imageArray[destOffset] = rgb[0] * 255;
|
|
109
|
+
imageArray[destOffset + 1] = rgb[1] * 255;
|
|
110
|
+
imageArray[destOffset + 2] = rgb[2] * 255;
|
|
111
|
+
imageArray[destOffset + 3] = 127;
|
|
112
|
+
}
|
|
113
|
+
destOffset += 4;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (dirtyX > width) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const dirtyWidth = dirtyX2 - dirtyX + 1;
|
|
120
|
+
const dirtyHeight = dirtyY2 - dirtyY + 1;
|
|
121
|
+
localContext.putImageData(imageData, 0, 0, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
|
|
122
|
+
context.drawImage(canvas, dirtyX, dirtyY, dirtyWidth, dirtyHeight, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
|
|
123
|
+
}
|
|
124
|
+
getClassName() {
|
|
125
|
+
return this.className;
|
|
126
|
+
}
|
|
127
|
+
getProperty() {
|
|
128
|
+
return this.canvasProperties;
|
|
129
|
+
}
|
|
130
|
+
setVisibility(visibility) {
|
|
131
|
+
this.visibility = visibility;
|
|
132
|
+
}
|
|
133
|
+
getMapper() {
|
|
134
|
+
return this.mapper;
|
|
135
|
+
}
|
|
136
|
+
isA(actorType) {
|
|
137
|
+
return actorType === this.className;
|
|
138
|
+
}
|
|
139
|
+
getImage() {
|
|
140
|
+
if (this.image) {
|
|
141
|
+
return this.image;
|
|
142
|
+
}
|
|
143
|
+
this.image = Object.assign({}, this.derivedImage);
|
|
144
|
+
const imageData = this.viewport.getImageData();
|
|
145
|
+
Object.assign(this.image, {
|
|
146
|
+
worldToIndex: (worldPos) => imageData.imageData.worldToIndex(worldPos),
|
|
147
|
+
indexToWorld: (index) => imageData.imageData.indexToWorld(index),
|
|
148
|
+
getDimensions: () => imageData.dimensions,
|
|
149
|
+
getScalarData: () => { var _a; return (_a = this.derivedImage) === null || _a === void 0 ? void 0 : _a.getPixelData(); },
|
|
150
|
+
getDirection: () => imageData.direction,
|
|
151
|
+
getSpacing: () => imageData.spacing,
|
|
152
|
+
setOrigin: () => null,
|
|
153
|
+
setDerivedImage: (image) => {
|
|
154
|
+
this.derivedImage = image;
|
|
155
|
+
this.image = null;
|
|
156
|
+
},
|
|
157
|
+
modified: () => null,
|
|
158
|
+
});
|
|
159
|
+
return this.image;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.default = CanvasActor;
|
|
163
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/CanvasActor/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
}
|
|
@@ -42,6 +42,8 @@ const transform_1 = require("./helpers/cpuFallback/rendering/transform");
|
|
|
42
42
|
const utilities_1 = require("../utilities");
|
|
43
43
|
const Viewport_1 = __importDefault(require("./Viewport"));
|
|
44
44
|
const helpers_1 = require("./helpers");
|
|
45
|
+
const CanvasActor_1 = __importDefault(require("./CanvasActor"));
|
|
46
|
+
const cache_1 = __importDefault(require("../cache"));
|
|
45
47
|
class VideoViewport extends Viewport_1.default {
|
|
46
48
|
constructor(props) {
|
|
47
49
|
super(Object.assign(Object.assign({}, props), { canvas: props.canvas || (0, helpers_1.getOrCreateCanvas)(props.element) }));
|
|
@@ -144,8 +146,11 @@ class VideoViewport extends Viewport_1.default {
|
|
|
144
146
|
const transformationMatrix = transform.getMatrix();
|
|
145
147
|
this.canvasContext.transform(transformationMatrix[0], transformationMatrix[1], transformationMatrix[2], transformationMatrix[3], transformationMatrix[4], transformationMatrix[5]);
|
|
146
148
|
this.canvasContext.drawImage(this.videoElement, 0, 0, this.videoWidth, this.videoHeight);
|
|
149
|
+
for (const actor of this.getActors()) {
|
|
150
|
+
actor.actor.render(this, this.canvasContext);
|
|
151
|
+
}
|
|
147
152
|
this.canvasContext.resetTransform();
|
|
148
|
-
(0, utilities_1.triggerEvent)(this.element, enums_1.Events.
|
|
153
|
+
(0, utilities_1.triggerEvent)(this.element, enums_1.Events.STACK_NEW_IMAGE, {
|
|
149
154
|
element: this.element,
|
|
150
155
|
viewportId: this.id,
|
|
151
156
|
viewport: this,
|
|
@@ -198,8 +203,9 @@ class VideoViewport extends Viewport_1.default {
|
|
|
198
203
|
this.removeEventListeners();
|
|
199
204
|
this.videoElement.remove();
|
|
200
205
|
}
|
|
201
|
-
|
|
202
|
-
const
|
|
206
|
+
getImageDataMetadata(image) {
|
|
207
|
+
const imageId = typeof image === 'string' ? image : image.imageId;
|
|
208
|
+
const imagePlaneModule = metaData.get(enums_1.MetadataModules.IMAGE_PLANE, imageId);
|
|
203
209
|
let rowCosines = imagePlaneModule.rowCosines;
|
|
204
210
|
let columnCosines = imagePlaneModule.columnCosines;
|
|
205
211
|
if (rowCosines == null || columnCosines == null) {
|
|
@@ -209,8 +215,6 @@ class VideoViewport extends Viewport_1.default {
|
|
|
209
215
|
const rowCosineVec = gl_matrix_1.vec3.fromValues(rowCosines[0], rowCosines[1], rowCosines[2]);
|
|
210
216
|
const colCosineVec = gl_matrix_1.vec3.fromValues(columnCosines[0], columnCosines[1], columnCosines[2]);
|
|
211
217
|
const { rows, columns } = imagePlaneModule;
|
|
212
|
-
this.videoWidth = columns;
|
|
213
|
-
this.videoHeight = rows;
|
|
214
218
|
const scanAxisNormal = gl_matrix_1.vec3.create();
|
|
215
219
|
gl_matrix_1.vec3.cross(scanAxisNormal, rowCosineVec, colCosineVec);
|
|
216
220
|
let origin = imagePlaneModule.imagePositionPatient;
|
|
@@ -228,6 +232,8 @@ class VideoViewport extends Viewport_1.default {
|
|
|
228
232
|
bitsAllocated: 8,
|
|
229
233
|
numComps: 3,
|
|
230
234
|
origin,
|
|
235
|
+
rows,
|
|
236
|
+
columns,
|
|
231
237
|
direction: [...rowCosineVec, ...colCosineVec, ...scanAxisNormal],
|
|
232
238
|
dimensions: [xVoxels, yVoxels, zVoxels],
|
|
233
239
|
spacing: [xSpacing, ySpacing, zSpacing],
|
|
@@ -241,7 +247,7 @@ class VideoViewport extends Viewport_1.default {
|
|
|
241
247
|
const { rendered } = metaData.get(enums_1.MetadataModules.IMAGE_URL, imageId);
|
|
242
248
|
const generalSeries = metaData.get(enums_1.MetadataModules.GENERAL_SERIES, imageId);
|
|
243
249
|
this.modality = generalSeries === null || generalSeries === void 0 ? void 0 : generalSeries.Modality;
|
|
244
|
-
this.metadata = this.
|
|
250
|
+
this.metadata = this.getImageDataMetadata(imageId);
|
|
245
251
|
return this.setVideoURL(rendered).then(() => {
|
|
246
252
|
let { cineRate, numberOfFrames } = metaData.get(enums_1.MetadataModules.CINE, imageId);
|
|
247
253
|
if (!numberOfFrames) {
|
|
@@ -254,10 +260,13 @@ class VideoViewport extends Viewport_1.default {
|
|
|
254
260
|
this.numberOfFrames = numberOfFrames;
|
|
255
261
|
this.setFrameRange([1, numberOfFrames]);
|
|
256
262
|
this.play();
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
263
|
+
return new Promise((resolve) => {
|
|
264
|
+
window.setTimeout(() => {
|
|
265
|
+
this.pause();
|
|
266
|
+
this.setFrameNumber(frameNumber || 1);
|
|
267
|
+
resolve(this);
|
|
268
|
+
}, 100);
|
|
269
|
+
});
|
|
261
270
|
});
|
|
262
271
|
}
|
|
263
272
|
setVideoURL(videoURL) {
|
|
@@ -276,6 +285,14 @@ class VideoViewport extends Viewport_1.default {
|
|
|
276
285
|
});
|
|
277
286
|
});
|
|
278
287
|
}
|
|
288
|
+
getImageIds() {
|
|
289
|
+
const imageIds = new Array(this.numberOfFrames);
|
|
290
|
+
const baseImageId = this.imageId.replace(/[0-9]+$/, '');
|
|
291
|
+
for (let i = 0; i < this.numberOfFrames; i++) {
|
|
292
|
+
imageIds[i] = `${baseImageId}${i + 1}`;
|
|
293
|
+
}
|
|
294
|
+
return imageIds;
|
|
295
|
+
}
|
|
279
296
|
togglePlayPause() {
|
|
280
297
|
if (this.isPlaying) {
|
|
281
298
|
this.pause();
|
|
@@ -413,9 +430,9 @@ class VideoViewport extends Viewport_1.default {
|
|
|
413
430
|
this.videoElement.playbackRate = rate;
|
|
414
431
|
this.play();
|
|
415
432
|
}
|
|
416
|
-
setScrollSpeed(scrollSpeed = 1, unit = enums_1.
|
|
433
|
+
setScrollSpeed(scrollSpeed = 1, unit = enums_1.VideoEnums.SpeedUnit.FRAME) {
|
|
417
434
|
this.scrollSpeed =
|
|
418
|
-
unit === enums_1.
|
|
435
|
+
unit === enums_1.VideoEnums.SpeedUnit.SECOND
|
|
419
436
|
? scrollSpeed * this.fps
|
|
420
437
|
: scrollSpeed;
|
|
421
438
|
}
|
|
@@ -426,14 +443,20 @@ class VideoViewport extends Viewport_1.default {
|
|
|
426
443
|
});
|
|
427
444
|
}
|
|
428
445
|
getScalarData() {
|
|
446
|
+
var _a;
|
|
447
|
+
if (((_a = this.scalarData) === null || _a === void 0 ? void 0 : _a.frameNumber) === this.getFrameNumber()) {
|
|
448
|
+
return this.scalarData;
|
|
449
|
+
}
|
|
429
450
|
const canvas = document.createElement('canvas');
|
|
430
451
|
canvas.width = this.videoWidth;
|
|
431
452
|
canvas.height = this.videoHeight;
|
|
432
453
|
const context = canvas.getContext('2d');
|
|
433
454
|
context.drawImage(this.videoElement, 0, 0);
|
|
434
455
|
const canvasData = context.getImageData(0, 0, this.videoWidth, this.videoHeight);
|
|
435
|
-
const
|
|
456
|
+
const scalarData = canvasData.data;
|
|
436
457
|
scalarData.getRange = () => [0, 255];
|
|
458
|
+
scalarData.frameNumber = this.getFrameNumber();
|
|
459
|
+
this.scalarData = scalarData;
|
|
437
460
|
return scalarData;
|
|
438
461
|
}
|
|
439
462
|
getImageData() {
|
|
@@ -624,6 +647,25 @@ class VideoViewport extends Viewport_1.default {
|
|
|
624
647
|
transform.translate(-halfCanvasWorldCoordinates[0], -halfCanvasWorldCoordinates[1]);
|
|
625
648
|
return transform;
|
|
626
649
|
}
|
|
650
|
+
updateCameraClippingPlanesAndRange() {
|
|
651
|
+
}
|
|
652
|
+
addImages(stackInputs) {
|
|
653
|
+
const actors = this.getActors();
|
|
654
|
+
stackInputs.forEach((stackInput) => {
|
|
655
|
+
const image = cache_1.default.getImage(stackInput.imageId);
|
|
656
|
+
const imageActor = this.createActorMapper(image);
|
|
657
|
+
if (imageActor) {
|
|
658
|
+
actors.push({ uid: stackInput.actorUID, actor: imageActor });
|
|
659
|
+
if (stackInput.callback) {
|
|
660
|
+
stackInput.callback({ imageActor, imageId: stackInput.imageId });
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
});
|
|
664
|
+
this.setActors(actors);
|
|
665
|
+
}
|
|
666
|
+
createActorMapper(image) {
|
|
667
|
+
return new CanvasActor_1.default(this, image);
|
|
668
|
+
}
|
|
627
669
|
}
|
|
628
670
|
VideoViewport.frameRangeExtractor = /(\/frames\/|[&?]frameNumber=)([^/&?]*)/i;
|
|
629
671
|
exports.default = VideoViewport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VideoViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -213,12 +213,13 @@ class Viewport {
|
|
|
213
213
|
return;
|
|
214
214
|
}
|
|
215
215
|
const renderer = this.getRenderer();
|
|
216
|
-
renderer.addActor(actor);
|
|
216
|
+
renderer === null || renderer === void 0 ? void 0 : renderer.addActor(actor);
|
|
217
217
|
this._actors.set(actorUID, Object.assign({}, actorEntry));
|
|
218
218
|
this.updateCameraClippingPlanesAndRange();
|
|
219
219
|
}
|
|
220
220
|
removeAllActors() {
|
|
221
|
-
|
|
221
|
+
var _a;
|
|
222
|
+
(_a = this.getRenderer()) === null || _a === void 0 ? void 0 : _a.removeAllViewProps();
|
|
222
223
|
this._actors = new Map();
|
|
223
224
|
return;
|
|
224
225
|
}
|