@cornerstonejs/tools 0.57.1 → 0.58.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/utilities/dynamicVolume/generateImageFromTimeData.d.ts +3 -0
- package/dist/cjs/utilities/dynamicVolume/generateImageFromTimeData.js +45 -0
- package/dist/cjs/utilities/dynamicVolume/generateImageFromTimeData.js.map +1 -0
- package/dist/cjs/utilities/dynamicVolume/getDataInTime.js +6 -6
- package/dist/cjs/utilities/dynamicVolume/getDataInTime.js.map +1 -1
- package/dist/cjs/utilities/dynamicVolume/index.d.ts +2 -0
- package/dist/cjs/utilities/dynamicVolume/index.js +3 -1
- package/dist/cjs/utilities/dynamicVolume/index.js.map +1 -1
- package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.d.ts +3 -0
- package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.js +43 -0
- package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.js.map +1 -0
- package/dist/esm/utilities/dynamicVolume/getDataInTime.js +6 -6
- package/dist/esm/utilities/dynamicVolume/getDataInTime.js.map +1 -1
- package/dist/esm/utilities/dynamicVolume/index.d.ts +2 -0
- package/dist/esm/utilities/dynamicVolume/index.js +2 -0
- package/dist/esm/utilities/dynamicVolume/index.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/utilities/dynamicVolume/generateImageFromTimeData.ts +68 -0
- package/src/utilities/dynamicVolume/getDataInTime.ts +6 -6
- package/src/utilities/dynamicVolume/index.ts +3 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@cornerstonejs/core");
|
|
4
|
+
function generateImageFromTimeData(dynamicVolume, operation, frameNumbers) {
|
|
5
|
+
const frames = frameNumbers || [...Array(dynamicVolume.numTimePoints).keys()];
|
|
6
|
+
const numFrames = frames.length;
|
|
7
|
+
if (frames.length <= 1) {
|
|
8
|
+
throw new Error('Please provide two or more time points');
|
|
9
|
+
}
|
|
10
|
+
const typedArrays = dynamicVolume.getScalarDataArrays();
|
|
11
|
+
const arrayLength = typedArrays[0].length;
|
|
12
|
+
const finalArray = new Float32Array(arrayLength);
|
|
13
|
+
if (operation === core_1.Enums.DynamicOperatorType.SUM) {
|
|
14
|
+
for (let i = 0; i < numFrames; i++) {
|
|
15
|
+
const currentArray = typedArrays[frames[i]];
|
|
16
|
+
for (let j = 0; j < arrayLength; j++) {
|
|
17
|
+
finalArray[j] += currentArray[j];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return finalArray;
|
|
21
|
+
}
|
|
22
|
+
if (operation === core_1.Enums.DynamicOperatorType.SUBTRACT) {
|
|
23
|
+
if (frames.length > 2) {
|
|
24
|
+
throw new Error('Please provide only 2 time points for subtraction.');
|
|
25
|
+
}
|
|
26
|
+
for (let j = 0; j < arrayLength; j++) {
|
|
27
|
+
finalArray[j] += typedArrays[frames[0]][j] - typedArrays[frames[1]][j];
|
|
28
|
+
}
|
|
29
|
+
return finalArray;
|
|
30
|
+
}
|
|
31
|
+
if (operation === core_1.Enums.DynamicOperatorType.AVERAGE) {
|
|
32
|
+
for (let i = 0; i < numFrames; i++) {
|
|
33
|
+
const currentArray = typedArrays[frames[i]];
|
|
34
|
+
for (let j = 0; j < arrayLength; j++) {
|
|
35
|
+
finalArray[j] += currentArray[j];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
for (let k = 0; k < arrayLength; k++) {
|
|
39
|
+
finalArray[k] = finalArray[k] / numFrames;
|
|
40
|
+
}
|
|
41
|
+
return finalArray;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.default = generateImageFromTimeData;
|
|
45
|
+
//# sourceMappingURL=generateImageFromTimeData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateImageFromTimeData.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/generateImageFromTimeData.ts"],"names":[],"mappings":";;AAAA,8CAAmD;AAcnD,SAAS,yBAAyB,CAChC,aAAwC,EACxC,SAAiB,EACjB,YAAuB;IAGvB,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAEhC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAGD,MAAM,WAAW,GAAG,aAAa,CAAC,mBAAmB,EAAE,CAAC;IAExD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,SAAS,KAAK,YAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;gBACpC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;aAClC;SACF;QACD,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,SAAS,KAAK,YAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE;QACpD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxE;QACD,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,SAAS,KAAK,YAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;gBACpC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;aAClC;SACF;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;SAC3C;QACD,OAAO,UAAU,CAAC;KACnB;AACH,CAAC;AAED,kBAAe,yBAAyB,CAAC"}
|
|
@@ -40,11 +40,11 @@ function _getTimePointDataCoordinate(frames, coordinate, volume) {
|
|
|
40
40
|
const zMultiple = dimensions[0] * dimensions[1];
|
|
41
41
|
const allScalarData = volume.getScalarDataArrays();
|
|
42
42
|
const value = [];
|
|
43
|
-
|
|
44
|
-
const activeScalarData = allScalarData[
|
|
43
|
+
frames.forEach((frame) => {
|
|
44
|
+
const activeScalarData = allScalarData[frame];
|
|
45
45
|
const scalarIndex = index[2] * zMultiple + index[1] * yMultiple + index[0];
|
|
46
46
|
value.push(activeScalarData[scalarIndex]);
|
|
47
|
-
}
|
|
47
|
+
});
|
|
48
48
|
return value;
|
|
49
49
|
}
|
|
50
50
|
function _getTimePointDataMask(frames, indexArray, volume) {
|
|
@@ -52,10 +52,10 @@ function _getTimePointDataMask(frames, indexArray, volume) {
|
|
|
52
52
|
const value = [];
|
|
53
53
|
for (let i = 0; i < indexArray.length; i++) {
|
|
54
54
|
const indexValues = [];
|
|
55
|
-
|
|
56
|
-
const activeScalarData = allScalarData[
|
|
55
|
+
frames.forEach((frame) => {
|
|
56
|
+
const activeScalarData = allScalarData[frame];
|
|
57
57
|
indexValues.push(activeScalarData[indexArray[i]]);
|
|
58
|
-
}
|
|
58
|
+
});
|
|
59
59
|
value.push(indexValues);
|
|
60
60
|
}
|
|
61
61
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataInTime.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/getDataInTime.ts"],"names":[],"mappings":";;AAAA,8CAA8D;AAc9D,SAAS,aAAa,CACpB,aAAwC,EACxC,OAIC;IAED,IAAI,UAAU,CAAC;IAGf,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI;QACrC,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;KAC7C,CAAC;IAKF,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACpC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE;QACnD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IAED,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,MAAM,kBAAkB,GAAG,YAAK,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAIjE,MAAM,UAAU,GAAG,kBAAkB;aAClC,aAAa,EAAE;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAE5E,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,OAAO,CAAC,eAAe,EAAE;QAC3B,MAAM,UAAU,GAAG,2BAA2B,CAC5C,MAAM,EACN,OAAO,CAAC,eAAe,EACvB,aAAa,CACd,CAAC;QAEF,OAAO,UAAU,CAAC;KACnB;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM;IAC7D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAEjD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,gBAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACnC;IAGD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,
|
|
1
|
+
{"version":3,"file":"getDataInTime.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/getDataInTime.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@ 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.getDataInTime = void 0;
|
|
6
|
+
exports.generateImageFromTimeData = exports.getDataInTime = void 0;
|
|
7
7
|
const getDataInTime_1 = __importDefault(require("./getDataInTime"));
|
|
8
8
|
exports.getDataInTime = getDataInTime_1.default;
|
|
9
|
+
const generateImageFromTimeData_1 = __importDefault(require("./generateImageFromTimeData"));
|
|
10
|
+
exports.generateImageFromTimeData = generateImageFromTimeData_1.default;
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/index.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/index.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAGnC,wBAHF,uBAAa,CAGE;AAFtB,4FAAoE;AAG3D,oCAHF,mCAAyB,CAGE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Enums } from '@cornerstonejs/core';
|
|
2
|
+
function generateImageFromTimeData(dynamicVolume, operation, frameNumbers) {
|
|
3
|
+
const frames = frameNumbers || [...Array(dynamicVolume.numTimePoints).keys()];
|
|
4
|
+
const numFrames = frames.length;
|
|
5
|
+
if (frames.length <= 1) {
|
|
6
|
+
throw new Error('Please provide two or more time points');
|
|
7
|
+
}
|
|
8
|
+
const typedArrays = dynamicVolume.getScalarDataArrays();
|
|
9
|
+
const arrayLength = typedArrays[0].length;
|
|
10
|
+
const finalArray = new Float32Array(arrayLength);
|
|
11
|
+
if (operation === Enums.DynamicOperatorType.SUM) {
|
|
12
|
+
for (let i = 0; i < numFrames; i++) {
|
|
13
|
+
const currentArray = typedArrays[frames[i]];
|
|
14
|
+
for (let j = 0; j < arrayLength; j++) {
|
|
15
|
+
finalArray[j] += currentArray[j];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return finalArray;
|
|
19
|
+
}
|
|
20
|
+
if (operation === Enums.DynamicOperatorType.SUBTRACT) {
|
|
21
|
+
if (frames.length > 2) {
|
|
22
|
+
throw new Error('Please provide only 2 time points for subtraction.');
|
|
23
|
+
}
|
|
24
|
+
for (let j = 0; j < arrayLength; j++) {
|
|
25
|
+
finalArray[j] += typedArrays[frames[0]][j] - typedArrays[frames[1]][j];
|
|
26
|
+
}
|
|
27
|
+
return finalArray;
|
|
28
|
+
}
|
|
29
|
+
if (operation === Enums.DynamicOperatorType.AVERAGE) {
|
|
30
|
+
for (let i = 0; i < numFrames; i++) {
|
|
31
|
+
const currentArray = typedArrays[frames[i]];
|
|
32
|
+
for (let j = 0; j < arrayLength; j++) {
|
|
33
|
+
finalArray[j] += currentArray[j];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
for (let k = 0; k < arrayLength; k++) {
|
|
37
|
+
finalArray[k] = finalArray[k] / numFrames;
|
|
38
|
+
}
|
|
39
|
+
return finalArray;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export default generateImageFromTimeData;
|
|
43
|
+
//# sourceMappingURL=generateImageFromTimeData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateImageFromTimeData.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/generateImageFromTimeData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAS,MAAM,qBAAqB,CAAC;AAcnD,SAAS,yBAAyB,CAChC,aAAwC,EACxC,SAAiB,EACjB,YAAuB;IAGvB,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAEhC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAGD,MAAM,WAAW,GAAG,aAAa,CAAC,mBAAmB,EAAE,CAAC;IAExD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,SAAS,KAAK,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;gBACpC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;aAClC;SACF;QACD,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE;QACpD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxE;QACD,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;gBACpC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;aAClC;SACF;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;SAC3C;QACD,OAAO,UAAU,CAAC;KACnB;AACH,CAAC;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -38,11 +38,11 @@ function _getTimePointDataCoordinate(frames, coordinate, volume) {
|
|
|
38
38
|
const zMultiple = dimensions[0] * dimensions[1];
|
|
39
39
|
const allScalarData = volume.getScalarDataArrays();
|
|
40
40
|
const value = [];
|
|
41
|
-
|
|
42
|
-
const activeScalarData = allScalarData[
|
|
41
|
+
frames.forEach((frame) => {
|
|
42
|
+
const activeScalarData = allScalarData[frame];
|
|
43
43
|
const scalarIndex = index[2] * zMultiple + index[1] * yMultiple + index[0];
|
|
44
44
|
value.push(activeScalarData[scalarIndex]);
|
|
45
|
-
}
|
|
45
|
+
});
|
|
46
46
|
return value;
|
|
47
47
|
}
|
|
48
48
|
function _getTimePointDataMask(frames, indexArray, volume) {
|
|
@@ -50,10 +50,10 @@ function _getTimePointDataMask(frames, indexArray, volume) {
|
|
|
50
50
|
const value = [];
|
|
51
51
|
for (let i = 0; i < indexArray.length; i++) {
|
|
52
52
|
const indexValues = [];
|
|
53
|
-
|
|
54
|
-
const activeScalarData = allScalarData[
|
|
53
|
+
frames.forEach((frame) => {
|
|
54
|
+
const activeScalarData = allScalarData[frame];
|
|
55
55
|
indexValues.push(activeScalarData[indexArray[i]]);
|
|
56
|
-
}
|
|
56
|
+
});
|
|
57
57
|
value.push(indexValues);
|
|
58
58
|
}
|
|
59
59
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataInTime.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/getDataInTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAS,MAAM,qBAAqB,CAAC;AAc9D,SAAS,aAAa,CACpB,aAAwC,EACxC,OAIC;IAED,IAAI,UAAU,CAAC;IAGf,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI;QACrC,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;KAC7C,CAAC;IAKF,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACpC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE;QACnD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IAED,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAIjE,MAAM,UAAU,GAAG,kBAAkB;aAClC,aAAa,EAAE;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAE5E,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,OAAO,CAAC,eAAe,EAAE;QAC3B,MAAM,UAAU,GAAG,2BAA2B,CAC5C,MAAM,EACN,OAAO,CAAC,eAAe,EACvB,aAAa,CACd,CAAC;QAEF,OAAO,UAAU,CAAC;KACnB;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM;IAC7D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAEjD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACnC;IAGD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,
|
|
1
|
+
{"version":3,"file":"getDataInTime.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/getDataInTime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/dynamicVolume/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
|