@cornerstonejs/core 0.30.1 → 0.31.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/BaseVolumeViewport.d.ts +5 -1
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +60 -9
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.d.ts +3 -1
- package/dist/cjs/RenderingEngine/StackViewport.js +53 -21
- package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/cjs/enums/VOILUTFunctionType.d.ts +5 -0
- package/dist/cjs/enums/VOILUTFunctionType.js +9 -0
- package/dist/cjs/enums/VOILUTFunctionType.js.map +1 -0
- package/dist/cjs/enums/index.d.ts +2 -1
- package/dist/cjs/enums/index.js +3 -1
- package/dist/cjs/enums/index.js.map +1 -1
- package/dist/cjs/types/EventTypes.d.ts +2 -0
- package/dist/cjs/types/IImage.d.ts +1 -0
- package/dist/cjs/types/IVolumeViewport.d.ts +1 -1
- package/dist/cjs/types/Metadata.d.ts +1 -0
- package/dist/cjs/types/StackViewportProperties.d.ts +2 -0
- package/dist/cjs/types/VolumeViewportProperties.d.ts +2 -0
- package/dist/cjs/utilities/createLinearRGBTransferFunction.d.ts +3 -0
- package/dist/cjs/utilities/createLinearRGBTransferFunction.js +22 -0
- package/dist/cjs/utilities/createLinearRGBTransferFunction.js.map +1 -0
- package/dist/cjs/utilities/createSigmoidRGBTransferFunction.d.ts +3 -0
- package/dist/cjs/utilities/createSigmoidRGBTransferFunction.js +29 -0
- package/dist/cjs/utilities/createSigmoidRGBTransferFunction.js.map +1 -0
- package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +2 -0
- package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.js +22 -0
- package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.js.map +1 -0
- package/dist/cjs/utilities/index.d.ts +4 -1
- package/dist/cjs/utilities/index.js +7 -1
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +5 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +61 -11
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.d.ts +3 -1
- package/dist/esm/RenderingEngine/StackViewport.js +54 -22
- package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/esm/enums/VOILUTFunctionType.d.ts +5 -0
- package/dist/esm/enums/VOILUTFunctionType.js +7 -0
- package/dist/esm/enums/VOILUTFunctionType.js.map +1 -0
- package/dist/esm/enums/index.d.ts +2 -1
- package/dist/esm/enums/index.js +2 -1
- package/dist/esm/enums/index.js.map +1 -1
- package/dist/esm/types/EventTypes.d.ts +2 -0
- package/dist/esm/types/IImage.d.ts +1 -0
- package/dist/esm/types/IVolumeViewport.d.ts +1 -1
- package/dist/esm/types/Metadata.d.ts +1 -0
- package/dist/esm/types/StackViewportProperties.d.ts +2 -0
- package/dist/esm/types/VolumeViewportProperties.d.ts +2 -0
- package/dist/esm/utilities/createLinearRGBTransferFunction.d.ts +3 -0
- package/dist/esm/utilities/createLinearRGBTransferFunction.js +16 -0
- package/dist/esm/utilities/createLinearRGBTransferFunction.js.map +1 -0
- package/dist/esm/utilities/createSigmoidRGBTransferFunction.d.ts +3 -0
- package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +23 -0
- package/dist/esm/utilities/createSigmoidRGBTransferFunction.js.map +1 -0
- package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +2 -0
- package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.js +19 -0
- package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.js.map +1 -0
- package/dist/esm/utilities/index.d.ts +4 -1
- package/dist/esm/utilities/index.js +4 -1
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
package/dist/cjs/enums/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ContourType = exports.GeometryType = exports.SharedArrayBufferModes = exports.OrientationAxis = exports.ViewportType = exports.RequestType = exports.InterpolationType = exports.BlendModes = exports.Events = void 0;
|
|
6
|
+
exports.VOILUTFunctionType = exports.ContourType = exports.GeometryType = exports.SharedArrayBufferModes = exports.OrientationAxis = exports.ViewportType = exports.RequestType = exports.InterpolationType = exports.BlendModes = exports.Events = void 0;
|
|
7
7
|
const Events_1 = __importDefault(require("./Events"));
|
|
8
8
|
exports.Events = Events_1.default;
|
|
9
9
|
const RequestType_1 = __importDefault(require("./RequestType"));
|
|
@@ -22,4 +22,6 @@ const GeometryType_1 = __importDefault(require("./GeometryType"));
|
|
|
22
22
|
exports.GeometryType = GeometryType_1.default;
|
|
23
23
|
const ContourType_1 = __importDefault(require("./ContourType"));
|
|
24
24
|
exports.ContourType = ContourType_1.default;
|
|
25
|
+
const VOILUTFunctionType_1 = __importDefault(require("./VOILUTFunctionType"));
|
|
26
|
+
exports.VOILUTFunctionType = VOILUTFunctionType_1.default;
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAY5B,iBAZK,gBAAM,CAYL;AAXR,gEAAwC;AActC,sBAdK,qBAAW,CAcL;AAbb,kEAA0C;AAcxC,uBAdK,sBAAY,CAcL;AAbd,4EAAoD;AAWlD,4BAXK,2BAAiB,CAWL;AAVnB,8DAAsC;AASpC,qBATK,oBAAU,CASL;AARZ,wEAAgD;AAY9C,0BAZK,yBAAe,CAYL;AAXjB,sFAA8D;AAY5D,iCAZK,gCAAsB,CAYL;AAXxB,kEAA0C;AAYxC,uBAZK,sBAAY,CAYL;AAXd,gEAAwC;AAYtC,sBAZK,qBAAW,CAYL;AAXb,8EAAsD;AAYpD,6BAZK,4BAAkB,CAYL"}
|
|
@@ -7,6 +7,7 @@ import type ICamera from './ICamera';
|
|
|
7
7
|
import type IImage from './IImage';
|
|
8
8
|
import type IImageVolume from './IImageVolume';
|
|
9
9
|
import type { VOIRange } from './voi';
|
|
10
|
+
import type VOILUTFunctionType from '../enums/VOILUTFunctionType';
|
|
10
11
|
declare type CameraModifiedEventDetail = {
|
|
11
12
|
previousCamera: ICamera;
|
|
12
13
|
camera: ICamera;
|
|
@@ -19,6 +20,7 @@ declare type VoiModifiedEventDetail = {
|
|
|
19
20
|
viewportId: string;
|
|
20
21
|
range: VOIRange;
|
|
21
22
|
volumeId?: string;
|
|
23
|
+
VOILUTFunction?: VOILUTFunctionType;
|
|
22
24
|
};
|
|
23
25
|
declare type ElementDisabledEventDetail = {
|
|
24
26
|
element: HTMLDivElement;
|
|
@@ -9,7 +9,7 @@ import { VolumeViewportProperties } from '.';
|
|
|
9
9
|
export default interface IVolumeViewport extends IViewport {
|
|
10
10
|
useCPURendering: boolean;
|
|
11
11
|
getFrameOfReferenceUID: () => string;
|
|
12
|
-
getProperties: () =>
|
|
12
|
+
getProperties: () => VolumeViewportProperties;
|
|
13
13
|
canvasToWorld: (canvasPos: Point2) => Point3;
|
|
14
14
|
worldToCanvas: (worldPos: Point3) => Point2;
|
|
15
15
|
getCurrentImageIdIndex: () => number;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import InterpolationType from '../enums/InterpolationType';
|
|
2
|
+
import VOILUTFunctionType from '../enums/VOILUTFunctionType';
|
|
2
3
|
import { VOIRange } from './voi';
|
|
3
4
|
declare type StackViewportProperties = {
|
|
4
5
|
voiRange?: VOIRange;
|
|
6
|
+
VOILUTFunction?: VOILUTFunctionType;
|
|
5
7
|
invert?: boolean;
|
|
6
8
|
interpolationType?: InterpolationType;
|
|
7
9
|
rotation?: number;
|
|
@@ -0,0 +1,22 @@
|
|
|
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 ColorTransferFunction_1 = __importDefault(require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"));
|
|
7
|
+
function createLinearRGBTransferFunction(voiRange) {
|
|
8
|
+
const cfun = ColorTransferFunction_1.default.newInstance();
|
|
9
|
+
let lower = 0;
|
|
10
|
+
let upper = 1024;
|
|
11
|
+
if (voiRange &&
|
|
12
|
+
voiRange.lower !== undefined &&
|
|
13
|
+
voiRange.upper !== undefined) {
|
|
14
|
+
lower = voiRange.lower;
|
|
15
|
+
upper = voiRange.upper;
|
|
16
|
+
}
|
|
17
|
+
cfun.addRGBPoint(lower, 0.0, 0.0, 0.0);
|
|
18
|
+
cfun.addRGBPoint(upper, 1.0, 1.0, 1.0);
|
|
19
|
+
return cfun;
|
|
20
|
+
}
|
|
21
|
+
exports.default = createLinearRGBTransferFunction;
|
|
22
|
+
//# sourceMappingURL=createLinearRGBTransferFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createLinearRGBTransferFunction.js","sourceRoot":"","sources":["../../../src/utilities/createLinearRGBTransferFunction.ts"],"names":[],"mappings":";;;;;AAAA,iHAA4F;AAG5F,SAAwB,+BAA+B,CACrD,QAAkB;IAElB,MAAM,IAAI,GAAG,+BAAwB,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IACE,QAAQ;QACR,QAAQ,CAAC,KAAK,KAAK,SAAS;QAC5B,QAAQ,CAAC,KAAK,KAAK,SAAS,EAC5B;QACA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACvB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;KACxB;IACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAEvC,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,kDAkBC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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 ColorTransferFunction_1 = __importDefault(require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"));
|
|
7
|
+
const DataArray_1 = __importDefault(require("@kitware/vtk.js/Common/Core/DataArray"));
|
|
8
|
+
const _1 = require(".");
|
|
9
|
+
function createSigmoidRGBTransferFunction(voiRange, approximationNodes = 1024) {
|
|
10
|
+
const { windowWidth, windowCenter } = _1.windowLevel.toWindowLevel(voiRange.lower, voiRange.upper);
|
|
11
|
+
const sigmoid = (x, wc, ww) => {
|
|
12
|
+
return 1 / (1 + Math.exp((-4 * (x - wc)) / ww));
|
|
13
|
+
};
|
|
14
|
+
const logit = (y, wc, ww) => {
|
|
15
|
+
return wc - (ww / 4) * Math.log((1 - y) / y);
|
|
16
|
+
};
|
|
17
|
+
const range = [...Array(approximationNodes + 2).keys()]
|
|
18
|
+
.map((v) => v / (approximationNodes + 2))
|
|
19
|
+
.slice(1, -1);
|
|
20
|
+
const table = range.reduce((res, y) => {
|
|
21
|
+
const x = logit(y, windowCenter, windowWidth);
|
|
22
|
+
return res.concat(x, y, y, y, 0.5, 0.0);
|
|
23
|
+
}, []);
|
|
24
|
+
const cfun = ColorTransferFunction_1.default.newInstance();
|
|
25
|
+
cfun.buildFunctionFromArray(DataArray_1.default.newInstance({ values: table, numberOfComponents: 6 }));
|
|
26
|
+
return cfun;
|
|
27
|
+
}
|
|
28
|
+
exports.default = createSigmoidRGBTransferFunction;
|
|
29
|
+
//# sourceMappingURL=createSigmoidRGBTransferFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigmoidRGBTransferFunction.js","sourceRoot":"","sources":["../../../src/utilities/createSigmoidRGBTransferFunction.ts"],"names":[],"mappings":";;;;;AAAA,iHAA4F;AAC5F,sFAAiE;AAEjE,wBAAmD;AAoBnD,SAAwB,gCAAgC,CACtD,QAAkB,EAClB,kBAAkB,GAAG,IAAI;IAEzB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,cAAe,CAAC,aAAa,CACjE,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,KAAK,CACf,CAAC;IAIF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;QACpD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;IAQF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;QAClD,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IAGF,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,+BAAwB,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,CAAC,sBAAsB,CACzB,mBAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CACnE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAvCD,mDAuCC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function getVoiFromSigmoidRGBTransferFunction(cfun) {
|
|
4
|
+
let cfunRange = [];
|
|
5
|
+
const [lower, upper] = cfun.getRange();
|
|
6
|
+
cfun.getTable(lower, upper, 1024, cfunRange);
|
|
7
|
+
cfunRange = cfunRange.filter((v, k) => k % 3 === 0);
|
|
8
|
+
const cfunDomain = [...Array(1024).keys()].map((v, k) => {
|
|
9
|
+
return lower + ((upper - lower) / (1024 - 1)) * k;
|
|
10
|
+
});
|
|
11
|
+
const y1 = cfunRange[256];
|
|
12
|
+
const logy1 = Math.log((1 - y1) / y1);
|
|
13
|
+
const x1 = cfunDomain[256];
|
|
14
|
+
const y2 = cfunRange[256 * 3];
|
|
15
|
+
const logy2 = Math.log((1 - y2) / y2);
|
|
16
|
+
const x2 = cfunDomain[256 * 3];
|
|
17
|
+
const ww = Math.round((4 * (x2 - x1)) / (logy1 - logy2));
|
|
18
|
+
const wc = Math.round(x1 + (ww * logy1) / 4);
|
|
19
|
+
return [Math.round(wc - ww / 2), Math.round(wc + ww / 2)];
|
|
20
|
+
}
|
|
21
|
+
exports.default = getVoiFromSigmoidRGBTransferFunction;
|
|
22
|
+
//# sourceMappingURL=getVoiFromSigmoidRGBTransferFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVoiFromSigmoidRGBTransferFunction.js","sourceRoot":"","sources":["../../../src/utilities/getVoiFromSigmoidRGBTransferFunction.ts"],"names":[],"mappings":";;AAEA,SAAwB,oCAAoC,CAC1D,IAA8B;IAE9B,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,OAAO,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AApBD,uDAoBC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import csUtils from './invertRgbTransferFunction';
|
|
2
|
+
import createSigmoidRGBTransferFunction from './createSigmoidRGBTransferFunction';
|
|
3
|
+
import getVoiFromSigmoidRGBTransferFunction from './getVoiFromSigmoidRGBTransferFunction';
|
|
4
|
+
import createLinearRGBTransferFunction from './createLinearRGBTransferFunction';
|
|
2
5
|
import scaleRgbTransferFunction from './scaleRgbTransferFunction';
|
|
3
6
|
import triggerEvent from './triggerEvent';
|
|
4
7
|
import uuidv4 from './uuidv4';
|
|
@@ -35,4 +38,4 @@ import hasNaNValues from './hasNaNValues';
|
|
|
35
38
|
import applyPreset from './applyPreset';
|
|
36
39
|
import * as planar from './planar';
|
|
37
40
|
import * as windowLevel from './windowLevel';
|
|
38
|
-
export { csUtils as invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, };
|
|
41
|
+
export { csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, };
|
|
@@ -26,9 +26,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvas = exports.loadImageToCanvas = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.invertRgbTransferFunction = void 0;
|
|
29
|
+
exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvas = exports.loadImageToCanvas = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.createLinearRGBTransferFunction = exports.getVoiFromSigmoidRGBTransferFunction = exports.createSigmoidRGBTransferFunction = exports.invertRgbTransferFunction = void 0;
|
|
30
30
|
const invertRgbTransferFunction_1 = __importDefault(require("./invertRgbTransferFunction"));
|
|
31
31
|
exports.invertRgbTransferFunction = invertRgbTransferFunction_1.default;
|
|
32
|
+
const createSigmoidRGBTransferFunction_1 = __importDefault(require("./createSigmoidRGBTransferFunction"));
|
|
33
|
+
exports.createSigmoidRGBTransferFunction = createSigmoidRGBTransferFunction_1.default;
|
|
34
|
+
const getVoiFromSigmoidRGBTransferFunction_1 = __importDefault(require("./getVoiFromSigmoidRGBTransferFunction"));
|
|
35
|
+
exports.getVoiFromSigmoidRGBTransferFunction = getVoiFromSigmoidRGBTransferFunction_1.default;
|
|
36
|
+
const createLinearRGBTransferFunction_1 = __importDefault(require("./createLinearRGBTransferFunction"));
|
|
37
|
+
exports.createLinearRGBTransferFunction = createLinearRGBTransferFunction_1.default;
|
|
32
38
|
const scaleRgbTransferFunction_1 = __importDefault(require("./scaleRgbTransferFunction"));
|
|
33
39
|
exports.scaleRgbTransferFunction = scaleRgbTransferFunction_1.default;
|
|
34
40
|
const triggerEvent_1 = __importDefault(require("./triggerEvent"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;AA4CrC,oCA5CN,mCAAO,CA4CwB;AA3CtC,0GAAkF;AA4ChF,2CA5CK,0CAAgC,CA4CL;AA3ClC,kHAA0F;AA4CxF,+CA5CK,8CAAoC,CA4CL;AA3CtC,wGAAgF;AA4C9E,0CA5CK,yCAA+B,CA4CL;AA3CjC,0FAAkE;AA4ChE,mCA5CK,kCAAwB,CA4CL;AA3C1B,kEAA0C;AA4CxC,uBA5CK,sBAAY,CA4CL;AA3Cd,sDAA8B;AA8C5B,iBA9CK,gBAAM,CA8CL;AA7CR,4DAAoC;AA+ClC,oBA/CK,mBAAS,CA+CL;AA9CX,kEAA0C;AA+CxC,uBA/CK,sBAAY,CA+CL;AA9Cd,kEAA0C;AAyCxC,uBAzCK,sBAAY,CAyCL;AAxCd,sHAA8F;AAyC5F,iDAzCK,gDAAsC,CAyCL;AAxCxC,wDAAgC;AA6C9B,kBA7CK,iBAAO,CA6CL;AA5CT,8DAAsC;AA6CpC,qBA7CK,oBAAU,CA6CL;AA5CZ,sFAA8D;AA8C5D,iCA9CK,gCAAsB,CA8CL;AA7CxB,0FAAkE;AA4ChE,mCA5CK,kCAAwB,CA4CL;AA3C1B,4EAAoD;AA8ClD,4BA9CK,2BAAiB,CA8CL;AA7CnB,gGAAwE;AA8CtE,sCA9CK,qCAA2B,CA8CL;AA7C7B,kHAA0F;AA8CxF,+CA9CK,8CAAoC,CA8CL;AA7CtC,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,wHAAgG;AA8C9F,kDA9CK,iDAAuC,CA8CL;AA7CzC,0FAAkE;AA8ChE,mCA9CK,kCAAwB,CA8CL;AA7C1B,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,4EAAoD;AA8ClD,4BA9CK,2BAAiB,CA8CL;AA7CnB,sEAA8C;AA8C5C,yBA9CK,wBAAc,CA8CL;AA7ChB,8EAAsD;AA8CpD,6BA9CK,4BAAkB,CA8CL;AA7CpB,8EAAsD;AA8CpD,6BA9CK,4BAAkB,CA8CL;AA7CpB,oEAA4C;AA8C1C,wBA9CK,uBAAa,CA8CL;AA7Cf,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,8GAAsF;AA8CpF,6CA9CK,4CAAkC,CA8CL;AA7CpC,6CAAsD;AA8CpD,6FA9CO,yBAAY,OA8CP;AACZ,yFA/CqB,qBAAQ,OA+CrB;AA9CV,0FAAkE;AA+ChE,mCA/CK,kCAAwB,CA+CL;AA9C1B,4GAAoF;AA+ClF,4CA/CK,2CAAiC,CA+CL;AA9CnC,oHAA4F;AA+C1F,gDA/CK,+CAAqC,CA+CL;AA9CvC,gHAAwF;AA+CtF,8CA/CK,6CAAmC,CA+CL;AA9CrC,sGAA8E;AA+C5E,yCA/CK,wCAA8B,CA+CL;AA9ChC,kEAA0C;AA+CxC,uBA/CK,sBAAY,CA+CL;AA9Cd,gEAAwC;AA+CtC,sBA/CK,qBAAW,CA+CL;AA5Cb,iDAAmC;AAajC,wBAAM;AAZR,2DAA6C;AAmB3C,kCAAW"}
|
|
@@ -6,11 +6,15 @@ import { BlendModes, OrientationAxis } from '../enums';
|
|
|
6
6
|
declare abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
7
7
|
useCPURendering: boolean;
|
|
8
8
|
private _FrameOfReferenceUID;
|
|
9
|
+
private VOILUTFunction;
|
|
9
10
|
constructor(props: ViewportInput);
|
|
10
11
|
static get useCustomRenderingPipeline(): boolean;
|
|
11
12
|
private initializeVolumeNewImageEventDispatcher;
|
|
12
13
|
protected resetVolumeViewportClippingRange(): void;
|
|
13
|
-
|
|
14
|
+
private setVOILUTFunction;
|
|
15
|
+
private setVOI;
|
|
16
|
+
setProperties({ voiRange, VOILUTFunction }?: VolumeViewportProperties, volumeId?: string, suppressEvents?: boolean): void;
|
|
17
|
+
getProperties: () => VolumeViewportProperties;
|
|
14
18
|
setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
15
19
|
addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
16
20
|
removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
|
|
@@ -6,14 +6,37 @@ import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './help
|
|
|
6
6
|
import { loadVolume } from '../loaders/volumeLoader';
|
|
7
7
|
import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
|
|
8
8
|
import { getShouldUseCPURendering } from '../init';
|
|
9
|
-
import { Events } from '../enums';
|
|
9
|
+
import { Events, VOILUTFunctionType, } from '../enums';
|
|
10
10
|
import eventTarget from '../eventTarget';
|
|
11
|
-
import { actorIsA, imageIdToURI, triggerEvent } from '../utilities';
|
|
11
|
+
import { actorIsA, imageIdToURI, triggerEvent, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, } from '../utilities';
|
|
12
12
|
import { RENDERING_DEFAULTS } from '../constants';
|
|
13
13
|
class BaseVolumeViewport extends Viewport {
|
|
14
14
|
constructor(props) {
|
|
15
15
|
super(props);
|
|
16
16
|
this.useCPURendering = false;
|
|
17
|
+
this.getProperties = () => {
|
|
18
|
+
const actorEntries = this.getActors();
|
|
19
|
+
const voiRanges = actorEntries.map((actorEntry) => {
|
|
20
|
+
const volumeActor = actorEntry.actor;
|
|
21
|
+
const volumeId = actorEntry.uid;
|
|
22
|
+
const cfun = volumeActor.getProperty().getRGBTransferFunction(0);
|
|
23
|
+
let lower, upper;
|
|
24
|
+
if (this.VOILUTFunction === 'SIGMOID') {
|
|
25
|
+
[lower, upper] = getVoiFromSigmoidRGBTransferFunction(cfun);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
[lower, upper] = cfun.getRange();
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
volumeId,
|
|
32
|
+
voiRange: { lower, upper },
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
voiRange: voiRanges[0].voiRange,
|
|
37
|
+
VOILUTFunction: this.VOILUTFunction,
|
|
38
|
+
};
|
|
39
|
+
};
|
|
17
40
|
this.getFrameOfReferenceUID = () => {
|
|
18
41
|
return this._FrameOfReferenceUID;
|
|
19
42
|
};
|
|
@@ -137,7 +160,15 @@ class BaseVolumeViewport extends Viewport {
|
|
|
137
160
|
activeCamera.setClippingRange(RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
|
|
138
161
|
}
|
|
139
162
|
}
|
|
140
|
-
|
|
163
|
+
setVOILUTFunction(voiLUTFunction, volumeId, suppressEvents) {
|
|
164
|
+
if (Object.values(VOILUTFunctionType).indexOf(voiLUTFunction) === -1) {
|
|
165
|
+
voiLUTFunction = VOILUTFunctionType.LINEAR;
|
|
166
|
+
}
|
|
167
|
+
const { voiRange } = this.getProperties();
|
|
168
|
+
this.VOILUTFunction = voiLUTFunction;
|
|
169
|
+
this.setVOI(voiRange, volumeId, suppressEvents);
|
|
170
|
+
}
|
|
171
|
+
setVOI(voiRange, volumeId, suppressEvents = false) {
|
|
141
172
|
if (volumeId !== undefined && !this.getActor(volumeId)) {
|
|
142
173
|
return;
|
|
143
174
|
}
|
|
@@ -147,29 +178,48 @@ class BaseVolumeViewport extends Viewport {
|
|
|
147
178
|
}
|
|
148
179
|
let volumeActor;
|
|
149
180
|
if (volumeId) {
|
|
150
|
-
|
|
151
|
-
return entry.uid === volumeId;
|
|
152
|
-
});
|
|
153
|
-
volumeActor = actorEntry?.actor;
|
|
181
|
+
volumeActor = this.getActor(volumeId)?.actor;
|
|
154
182
|
}
|
|
155
183
|
if (!volumeActor) {
|
|
156
184
|
volumeActor = actorEntries[0].actor;
|
|
157
185
|
volumeId = actorEntries[0].uid;
|
|
158
186
|
}
|
|
159
|
-
|
|
160
|
-
|
|
187
|
+
let voiRangeToUse = voiRange;
|
|
188
|
+
if (typeof voiRangeToUse === 'undefined') {
|
|
189
|
+
const imageData = volumeActor.getMapper().getInputData();
|
|
190
|
+
const range = imageData.getPointData().getScalars().getRange();
|
|
191
|
+
const maxVoiRange = { lower: range[0], upper: range[1] };
|
|
192
|
+
voiRangeToUse = maxVoiRange;
|
|
193
|
+
}
|
|
194
|
+
if (this.VOILUTFunction === VOILUTFunctionType.SAMPLED_SIGMOID) {
|
|
195
|
+
const cfun = createSigmoidRGBTransferFunction(voiRangeToUse);
|
|
196
|
+
volumeActor.getProperty().setRGBTransferFunction(0, cfun);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
const { lower, upper } = voiRangeToUse;
|
|
200
|
+
volumeActor
|
|
201
|
+
.getProperty()
|
|
202
|
+
.getRGBTransferFunction(0)
|
|
203
|
+
.setRange(lower, upper);
|
|
161
204
|
}
|
|
162
|
-
const { lower, upper } = voiRange;
|
|
163
|
-
volumeActor.getProperty().getRGBTransferFunction(0).setRange(lower, upper);
|
|
164
205
|
if (!suppressEvents) {
|
|
165
206
|
const eventDetail = {
|
|
166
207
|
viewportId: this.id,
|
|
167
208
|
range: voiRange,
|
|
168
209
|
volumeId: volumeId,
|
|
210
|
+
VOILUTFunction: this.VOILUTFunction,
|
|
169
211
|
};
|
|
170
212
|
triggerEvent(this.element, Events.VOI_MODIFIED, eventDetail);
|
|
171
213
|
}
|
|
172
214
|
}
|
|
215
|
+
setProperties({ voiRange, VOILUTFunction } = {}, volumeId, suppressEvents = false) {
|
|
216
|
+
if (voiRange) {
|
|
217
|
+
this.setVOI(voiRange, volumeId, suppressEvents);
|
|
218
|
+
}
|
|
219
|
+
if (VOILUTFunction) {
|
|
220
|
+
this.setVOILUTFunction(VOILUTFunction, volumeId, suppressEvents);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
173
223
|
async setVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
|
|
174
224
|
const firstImageVolume = cache.getVolume(volumeInputArray[0].volumeId);
|
|
175
225
|
if (!firstImageVolume) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,6BAA6B,EAAE,EACpC,wBAAwB,GACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAYnD,OAAO,EAAE,MAAM,EAA+B,MAAM,UAAU,CAAC;AAC/D,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAWlD,MAAe,kBAAmB,SAAQ,QAAQ;IAIhD,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAJf,oBAAe,GAAG,KAAK,CAAC;QA6XjB,2BAAsB,GAAG,GAAW,EAAE;YAC3C,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC,CAAC;QAgFK,kBAAa,GAAG,CAAC,SAAiB,EAAU,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAuB,CAAC;YAwBjE,SAAS,CAAC,uCAAuC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE1D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,0BAA0B,GAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC,0BAA0B,CAAC;YACvD,MAAM,kBAAkB,GACtB,0BAA0B,CAAC,qBAAqB,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG;gBACvB,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB;gBAC/B,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB;aAChC,CAAC;YACF,MAAM,YAAY,GAAG;gBACnB,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;gBAC7B,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;aAC9B,CAAC;YAGF,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAClD,YAAY,CAAC,CAAC,CAAC,EACf,YAAY,CAAC,CAAC,CAAC,EACf,CAAC,EACD,QAAQ,CACT,CAAC;YAEF,SAAS,CAAC,uCAAuC,EAAE,CAAC,KAAK,CAAC,CAAC;YAE3D,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;QAUK,kBAAa,GAAG,CAAC,QAAgB,EAAU,EAAE;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAuB,CAAC;YAwBjE,SAAS,CAAC,uCAAuC,EAAE,CAAC,IAAI,CAAC,CAAC;YAE1D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,0BAA0B,GAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC,0BAA0B,CAAC;YACvD,MAAM,kBAAkB,GACtB,0BAA0B,CAAC,qBAAqB,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,CACpD,GAAG,QAAQ,EACX,QAAQ,CACT,CAAC;YAGF,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,WAAW,GAAW;gBAC1B,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;gBACzB,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;aAC1B,CAAC;YAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YACtD,MAAM,kBAAkB,GAAW;gBACjC,WAAW,CAAC,CAAC,CAAC,GAAG,gBAAgB;gBACjC,WAAW,CAAC,CAAC,CAAC,GAAG,gBAAgB;aAClC,CAAC;YAEF,SAAS,CAAC,uCAAuC,EAAE,CAAC,KAAK,CAAC,CAAC;YAE3D,OAAO,kBAAkB,CAAC;QAC5B,CAAC,CAAC;QAYK,gBAAW,GAAG,CAAC,QAAgB,EAAW,EAAE;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAC1D,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAClC,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAEpC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC/B,OAAO,KAAK,CAAC;iBACd;gBAED,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAE1D,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAaF,2BAAsB,GAAG,GAAW,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,sBAAiB,GAAG,GAAW,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC,CAAC;QAjnBA,IAAI,CAAC,eAAe,GAAG,wBAAwB,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC3C,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEjC,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,YAAY,CAAC,YAAY;gBAC5B,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,YAAY,CAAC,SAAS;gBACzB,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,YAAY,CAAC,WAAW;gBAC3B,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,uCAAuC,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,0BAA0B;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,uCAAuC;QAC7C,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpE,SAAS,qBAAqB,CAAC,WAAW;YACxC,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;YAE1C,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC7C,OAAO;aACR;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAE9C,IAAI,CAAC,iBAAiB,EAAE;gBACtB,OAAO;aACR;YAED,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QAED,SAAS,qBAAqB,CAAC,GAAG;YAChC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YAElC,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE;gBAC1B,OAAO;aACR;YAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAC9B,MAAM,CAAC,eAAe,EACtB,0BAA0B,CAC3B,CAAC;YAEF,WAAW,CAAC,mBAAmB,CAC7B,MAAM,CAAC,gBAAgB,EACvB,0BAA0B,CAC3B,CAAC;YAEF,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAC9B,MAAM,CAAC,eAAe,EACtB,0BAA0B,CAC3B,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAC3B,MAAM,CAAC,eAAe,EACtB,0BAA0B,CAC3B,CAAC;QAEF,WAAW,CAAC,gBAAgB,CAC1B,MAAM,CAAC,gBAAgB,EACvB,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAES,gCAAgC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE/C,IAAI,YAAY,CAAC,qBAAqB,EAAE,EAAE;YACxC,YAAY,CAAC,gBAAgB,CAC3B,CAAC,kBAAkB,CAAC,oBAAoB,EACxC,kBAAkB,CAAC,oBAAoB,CACxC,CAAC;SACH;aAAM;YACL,YAAY,CAAC,gBAAgB,CAC3B,kBAAkB,CAAC,sBAAsB,EACzC,kBAAkB,CAAC,oBAAoB,CACxC,CAAC;SACH;IACH,CAAC;IAUM,aAAa,CAClB,EAAE,QAAQ,KAA+B,EAAE,EAC3C,QAAiB,EACjB,cAAc,GAAG,KAAK;QAEtB,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACtD,OAAO;SACR;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,OAAO;SACR;QAED,IAAI,WAAW,CAAC;QAEhB,IAAI,QAAQ,EAAE;YACZ,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAiB,EAAE,EAAE;gBACzD,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,WAAW,GAAG,UAAU,EAAE,KAAkB,CAAC;SAC9C;QAGD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAkB,CAAC;YACjD,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAChC;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAGD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;QAClC,WAAW,CAAC,WAAW,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3E,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,WAAW,GAA2B;gBAC1C,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;SAC9D;IACH,CAAC;IAWM,KAAK,CAAC,UAAU,CACrB,gBAAqC,EACrC,SAAS,GAAG,KAAK,EACjB,cAAc,GAAG,KAAK;QAEtB,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,KAAK,CACb,wBAAwB,gBAAgB,CAAC,QAAQ,iBAAiB,CACnE,CAAC;SACH;QAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAE1E,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAE3E,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAEhD,MAAM,YAAY,GAAG,EAAE,CAAC;QAGxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAElE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACnC,gBAAgB,CAAC,CAAC,CAAC,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YAOF,MAAM,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG;gBACH,KAAK;gBACL,aAAa;gBACb,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAEpC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,0BAA0B,EAAE;YAC5D,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,YAAY;SACb,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IASM,KAAK,CAAC,UAAU,CACrB,gBAAqC,EACrC,SAAS,GAAG,KAAK,EACjB,cAAc,GAAG,KAAK;QAEtB,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,KAAK,CACb,wBAAwB,gBAAgB,CAAC,QAAQ,iBAAiB,CACnE,CAAC;SACH;QAED,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,IAAI,CAAC,wBAAwB,CACjC,gBAAgB,EAChB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QAGF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,GACrD,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEtB,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACnC,gBAAgB,CAAC,CAAC,CAAC,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YAEF,IAAI,UAAU,KAAK,KAAK,EAAE;gBACxB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC5B;YAOD,MAAM,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG;gBACH,KAAK;gBACL,aAAa;gBAMb,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE7B,IAAI,SAAS,EAAE;YAEb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IAUM,kBAAkB,CAAC,SAAwB,EAAE,SAAS,GAAG,KAAK;QAEnE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IAWM,cAAc,CAAC,WAA4B,EAAE,SAAS,GAAG,IAAI;QAClE,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,gBAAqC,EACrC,mBAA2B;QAE3B,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAG3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAExC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE3D,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,CAAC,QAAQ,iBAAiB,CAC9D,CAAC;aACH;YAED,IAAI,mBAAmB,KAAK,WAAW,CAAC,QAAQ,CAAC,mBAAmB,EAAE;gBACpE,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,EAAE,uEAAuE,CAClH,CAAC;aACH;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAKM,SAAS;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAMM,IAAI,CAAC,aAA4B;QACtC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAWM,WAAW,CAAC,QAAgB;QAGjC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YACtC,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAaM,YAAY,CAAC,QAAiB;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QAED,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,YAAY,CAAC;QAC9C,QAAQ,GAAG,QAAQ,IAAI,eAAe,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YACtC,OAAO;SACR;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QACtD,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,aAAa,EAAE;YACxC,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE;YAClC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;YAChC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE;YACtC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;YAC9D,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE;YAC3C,QAAQ,EAAE;gBACR,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;aACrC;YACD,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAQO,gBAAgB,CAAC,kBAAqC;QAC5D,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IAqKD,WAAW,CACT,QAAkB,EAClB,SAAmB,EACnB,aAAuB;QAEvB,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAUD,qBAAqB,CAAC,KAAa;QACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,CACV,SAAqB,EACrB,eAA0B,EAC1B,SAAmB;QAEnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB,CAAC,aAAqB,EAAE,eAA0B;QAChE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,eAAe,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
|
|
|
7
7
|
private targetImageIdIndex;
|
|
8
8
|
private debouncedTimeout;
|
|
9
9
|
private voiRange;
|
|
10
|
+
private VOILUTFunction;
|
|
10
11
|
private initialVOIRange;
|
|
11
12
|
private invert;
|
|
12
13
|
private interpolationType;
|
|
@@ -36,7 +37,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
|
|
|
36
37
|
private createActorMapper;
|
|
37
38
|
private buildMetadata;
|
|
38
39
|
private calibrateIfNecessary;
|
|
39
|
-
setProperties({ voiRange, invert, interpolationType, rotation, }?: StackViewportProperties, suppressEvents?: boolean): void;
|
|
40
|
+
setProperties({ voiRange, VOILUTFunction, invert, interpolationType, rotation, }?: StackViewportProperties, suppressEvents?: boolean): void;
|
|
40
41
|
getProperties: () => StackViewportProperties;
|
|
41
42
|
resetProperties(): void;
|
|
42
43
|
getCamera(): ICamera;
|
|
@@ -51,6 +52,7 @@ declare class StackViewport extends Viewport implements IStackViewport {
|
|
|
51
52
|
private getRotationCPU;
|
|
52
53
|
private getRotationGPU;
|
|
53
54
|
private setRotation;
|
|
55
|
+
private setVOILUTFunction;
|
|
54
56
|
private setInterpolationType;
|
|
55
57
|
private setInvertColor;
|
|
56
58
|
private setRotationCPU;
|