@cornerstonejs/tools 0.46.2 → 0.46.3
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/tools/segmentation/strategies/fillSphere.js +8 -2
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/cjs/utilities/math/sphere/pointInSphere.js +4 -3
- package/dist/cjs/utilities/math/sphere/pointInSphere.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +8 -2
- package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/esm/utilities/math/sphere/pointInSphere.js +4 -3
- package/dist/esm/utilities/math/sphere/pointInSphere.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,15 +6,21 @@ const utilities_1 = require("../../../utilities");
|
|
|
6
6
|
function fillSphere(enabledElement, operationData, _inside = true) {
|
|
7
7
|
const { viewport } = enabledElement;
|
|
8
8
|
const { volume: segmentation, segmentsLocked, segmentIndex, segmentationId, points, } = operationData;
|
|
9
|
-
const { scalarData, imageData } = segmentation;
|
|
9
|
+
const { scalarData, imageData, dimensions } = segmentation;
|
|
10
|
+
const scalarIndex = [];
|
|
10
11
|
const callback = ({ index, value }) => {
|
|
11
12
|
if (segmentsLocked.includes(value)) {
|
|
12
13
|
return;
|
|
13
14
|
}
|
|
14
15
|
scalarData[index] = segmentIndex;
|
|
16
|
+
scalarIndex.push(index);
|
|
15
17
|
};
|
|
16
18
|
(0, utilities_1.pointInSurroundingSphereCallback)(imageData, [points[0], points[1]], callback, viewport);
|
|
17
|
-
|
|
19
|
+
const zMultiple = dimensions[0] * dimensions[1];
|
|
20
|
+
const minSlice = Math.floor(scalarIndex[0] / zMultiple);
|
|
21
|
+
const maxSlice = Math.floor(scalarIndex[scalarIndex.length - 1] / zMultiple);
|
|
22
|
+
const sliceArray = Array.from({ length: maxSlice - minSlice + 1 }, (v, k) => k + minSlice);
|
|
23
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationDataModified)(segmentationId, sliceArray);
|
|
18
24
|
}
|
|
19
25
|
function fillInsideSphere(enabledElement, operationData) {
|
|
20
26
|
fillSphere(enabledElement, operationData, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":";;;AAEA,+GAAkH;AAClH,kDAAsE;AAatE,SAAS,UAAU,CACjB,cAAqC,EACrC,aAA4B,EAC5B,OAAO,GAAG,IAAI;IAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IACpC,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,GACP,GAAG,aAAa,CAAC;IAElB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":";;;AAEA,+GAAkH;AAClH,kDAAsE;AAatE,SAAS,UAAU,CACjB,cAAqC,EACrC,aAA4B,EAC5B,OAAO,GAAG,IAAI;IAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IACpC,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,GACP,GAAG,aAAa,CAAC;IAElB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IAC3D,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO;SACR;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAA,4CAAgC,EAC9B,SAAS,EACT,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACtB,QAAQ,EACR,QAAiC,CAClC,CAAC;IAKF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,CAAC,EAAE,EACnC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CACvB,CAAC;IAEF,IAAA,2DAA+B,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAQD,SAAgB,gBAAgB,CAC9B,cAAqC,EACrC,aAA4B;IAE5B,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AALD,4CAKC;AAQD,SAAgB,iBAAiB,CAC/B,cAAqC,EACrC,aAA4B;IAE5B,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AALD,8CAKC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
function pointInSphere(sphere, pointLPS) {
|
|
4
4
|
const { center, radius } = sphere;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
return (Math.pow((pointLPS[0] - center[0]), 2) +
|
|
6
|
+
Math.pow((pointLPS[1] - center[1]), 2) +
|
|
7
|
+
Math.pow((pointLPS[2] - center[2]), 2) <=
|
|
8
|
+
Math.pow(radius, 2));
|
|
8
9
|
}
|
|
9
10
|
exports.default = pointInSphere;
|
|
10
11
|
//# sourceMappingURL=pointInSphere.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointInSphere.js","sourceRoot":"","sources":["../../../../../src/utilities/math/sphere/pointInSphere.ts"],"names":[],"mappings":";;AAkBA,SAAwB,aAAa,CACnC,MAAc,EACd,QAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pointInSphere.js","sourceRoot":"","sources":["../../../../../src/utilities/math/sphere/pointInSphere.ts"],"names":[],"mappings":";;AAkBA,SAAwB,aAAa,CACnC,MAAc,EACd,QAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAElC,OAAO,CACL,SAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAI,CAAC,CAAA;QAC5B,SAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAI,CAAC,CAAA;QAC9B,SAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAI,CAAC,CAAA;QAChC,SAAA,MAAM,EAAI,CAAC,CAAA,CACZ,CAAC;AACJ,CAAC;AAZD,gCAYC"}
|
|
@@ -3,15 +3,21 @@ import { pointInSurroundingSphereCallback } from '../../../utilities';
|
|
|
3
3
|
function fillSphere(enabledElement, operationData, _inside = true) {
|
|
4
4
|
const { viewport } = enabledElement;
|
|
5
5
|
const { volume: segmentation, segmentsLocked, segmentIndex, segmentationId, points, } = operationData;
|
|
6
|
-
const { scalarData, imageData } = segmentation;
|
|
6
|
+
const { scalarData, imageData, dimensions } = segmentation;
|
|
7
|
+
const scalarIndex = [];
|
|
7
8
|
const callback = ({ index, value }) => {
|
|
8
9
|
if (segmentsLocked.includes(value)) {
|
|
9
10
|
return;
|
|
10
11
|
}
|
|
11
12
|
scalarData[index] = segmentIndex;
|
|
13
|
+
scalarIndex.push(index);
|
|
12
14
|
};
|
|
13
15
|
pointInSurroundingSphereCallback(imageData, [points[0], points[1]], callback, viewport);
|
|
14
|
-
|
|
16
|
+
const zMultiple = dimensions[0] * dimensions[1];
|
|
17
|
+
const minSlice = Math.floor(scalarIndex[0] / zMultiple);
|
|
18
|
+
const maxSlice = Math.floor(scalarIndex[scalarIndex.length - 1] / zMultiple);
|
|
19
|
+
const sliceArray = Array.from({ length: maxSlice - minSlice + 1 }, (v, k) => k + minSlice);
|
|
20
|
+
triggerSegmentationDataModified(segmentationId, sliceArray);
|
|
15
21
|
}
|
|
16
22
|
export function fillInsideSphere(enabledElement, operationData) {
|
|
17
23
|
fillSphere(enabledElement, operationData, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAClH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAatE,SAAS,UAAU,CACjB,cAAqC,EACrC,aAA4B,EAC5B,OAAO,GAAG,IAAI;IAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IACpC,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,GACP,GAAG,aAAa,CAAC;IAElB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"fillSphere.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillSphere.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAClH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAatE,SAAS,UAAU,CACjB,cAAqC,EACrC,aAA4B,EAC5B,OAAO,GAAG,IAAI;IAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IACpC,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,GACP,GAAG,aAAa,CAAC;IAElB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IAC3D,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO;SACR;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,gCAAgC,CAC9B,SAAS,EACT,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACtB,QAAQ,EACR,QAAiC,CAClC,CAAC;IAKF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,CAAC,EAAE,EACnC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CACvB,CAAC;IAEF,+BAA+B,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAC9B,cAAqC,EACrC,aAA4B;IAE5B,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAQD,MAAM,UAAU,iBAAiB,CAC/B,cAAqC,EACrC,aAA4B;IAE5B,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export default function pointInSphere(sphere, pointLPS) {
|
|
2
2
|
const { center, radius } = sphere;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
return ((pointLPS[0] - center[0]) ** 2 +
|
|
4
|
+
(pointLPS[1] - center[1]) ** 2 +
|
|
5
|
+
(pointLPS[2] - center[2]) ** 2 <=
|
|
6
|
+
radius ** 2);
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=pointInSphere.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointInSphere.js","sourceRoot":"","sources":["../../../../../src/utilities/math/sphere/pointInSphere.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,MAAc,EACd,QAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pointInSphere.js","sourceRoot":"","sources":["../../../../../src/utilities/math/sphere/pointInSphere.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,MAAc,EACd,QAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAElC,OAAO,CACL,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5B,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,MAAM,IAAI,CAAC,CACZ,CAAC;AACJ,CAAC"}
|